diff --git a/amd64/bin/tcl86t.dll b/amd64/bin/tcl86t.dll index 9844092..a03e047 100644 Binary files a/amd64/bin/tcl86t.dll and b/amd64/bin/tcl86t.dll differ diff --git a/amd64/bin/tclsh86t.exe b/amd64/bin/tclsh86t.exe index a803703..7a9cfb5 100644 Binary files a/amd64/bin/tclsh86t.exe and b/amd64/bin/tclsh86t.exe differ diff --git a/amd64/bin/tk86t.dll b/amd64/bin/tk86t.dll index 910bbef..1c8d3f4 100644 Binary files a/amd64/bin/tk86t.dll and b/amd64/bin/tk86t.dll differ diff --git a/amd64/bin/wish86t.exe b/amd64/bin/wish86t.exe index a4f6b44..e801bdd 100644 Binary files a/amd64/bin/wish86t.exe and b/amd64/bin/wish86t.exe differ diff --git a/amd64/include/X11/Xlib.h b/amd64/include/X11/Xlib.h index b027e28..8d8ec68 100644 --- a/amd64/include/X11/Xlib.h +++ b/amd64/include/X11/Xlib.h @@ -203,9 +203,6 @@ typedef struct { int class; /* class of screen (monochrome, etc.) */ #endif unsigned long red_mask, green_mask, blue_mask; /* mask values */ -#if defined(MAC_OSX_TK) - unsigned long alpha_mask; -#endif int bits_per_rgb; /* log base 2 of distinct color values */ int map_entries; /* color map entries */ } Visual; @@ -335,7 +332,6 @@ typedef struct _XImage { XPointer obdata; /* hook for the object routines to hang on */ #if defined(MAC_OSX_TK) int pixelpower; /* n such that pixels are 2^n x 2^n blocks*/ - unsigned long alpha_mask; #endif struct funcs { /* image manipulation routines */ struct _XImage *(*create_image)(); diff --git a/amd64/include/tcl.h b/amd64/include/tcl.h index b43b2d7..17ab2d3 100644 --- a/amd64/include/tcl.h +++ b/amd64/include/tcl.h @@ -42,10 +42,6 @@ extern "C" { * win/configure.in (as above) * win/tcl.m4 (not patchlevel) * README (sections 0 and 2, with and without separator) - * macosx/Tcl.pbproj/project.pbxproj (not patchlevel) 1 LOC - * macosx/Tcl.pbproj/default.pbxuser (not patchlevel) 1 LOC - * macosx/Tcl.xcode/project.pbxproj (not patchlevel) 2 LOC - * macosx/Tcl.xcode/default.pbxuser (not patchlevel) 1 LOC * macosx/Tcl-Common.xcconfig (not patchlevel) 1 LOC * win/README (not patchlevel) (sections 0 and 2) * unix/tcl.spec (1 LOC patch) @@ -55,10 +51,10 @@ extern "C" { #define TCL_MAJOR_VERSION 8 #define TCL_MINOR_VERSION 6 #define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE -#define TCL_RELEASE_SERIAL 8 +#define TCL_RELEASE_SERIAL 9 #define TCL_VERSION "8.6" -#define TCL_PATCH_LEVEL "8.6.8" +#define TCL_PATCH_LEVEL "8.6.9" /* *---------------------------------------------------------------------------- @@ -1986,7 +1982,7 @@ typedef struct Tcl_Token { * TCL_TOKEN_OPERATOR - The token describes one expression operator. * An operator might be the name of a math * function such as "abs". A TCL_TOKEN_OPERATOR - * token is always preceeded by one + * token is always preceded by one * TCL_TOKEN_SUB_EXPR token for the operator's * subexpression, and is followed by zero or more * TCL_TOKEN_SUB_EXPR tokens for the operator's @@ -2622,7 +2618,7 @@ EXTERN void Tcl_GetMemoryInfo(Tcl_DString *dsPtr); #ifndef TCL_NO_DEPRECATED /* * These function have been renamed. The old names are deprecated, but we - * define these macros for backwards compatibilty. + * define these macros for backwards compatibility. */ # define Tcl_Ckalloc Tcl_Alloc diff --git a/amd64/include/tk.h b/amd64/include/tk.h index 87150e9..c94882c 100644 --- a/amd64/include/tk.h +++ b/amd64/include/tk.h @@ -75,10 +75,10 @@ extern "C" { #define TK_MAJOR_VERSION 8 #define TK_MINOR_VERSION 6 #define TK_RELEASE_LEVEL TCL_FINAL_RELEASE -#define TK_RELEASE_SERIAL 8 +#define TK_RELEASE_SERIAL 9 #define TK_VERSION "8.6" -#define TK_PATCH_LEVEL "8.6.8" +#define TK_PATCH_LEVEL "8.6.9" /* * A special definition used to allow this header file to be included from @@ -1174,7 +1174,7 @@ typedef struct Tk_TSOffset { } Tk_TSOffset; /* - * Bit fields in Tk_Offset->flags: + * Bit fields in Tk_TSOffset->flags: */ #define TK_OFFSET_INDEX 1 diff --git a/amd64/lib/dde1.4/pkgIndex.tcl b/amd64/lib/dde1.4/pkgIndex.tcl index 4cf73d0..7aa67fa 100644 --- a/amd64/lib/dde1.4/pkgIndex.tcl +++ b/amd64/lib/dde1.4/pkgIndex.tcl @@ -1,7 +1,7 @@ if {([info commands ::tcl::pkgconfig] eq "") || ([info sharedlibextension] ne ".dll")} return if {[::tcl::pkgconfig get debug]} { - package ifneeded dde 1.4.0 [list load [file join $dir tcldde14g.dll] dde] + package ifneeded dde 1.4.1 [list load [file join $dir tcldde14g.dll] dde] } else { - package ifneeded dde 1.4.0 [list load [file join $dir tcldde14.dll] dde] + package ifneeded dde 1.4.1 [list load [file join $dir tcldde14.dll] dde] } diff --git a/amd64/lib/dde1.4/tcldde14.dll b/amd64/lib/dde1.4/tcldde14.dll index 44dfc6f..6c85ac1 100644 Binary files a/amd64/lib/dde1.4/tcldde14.dll and b/amd64/lib/dde1.4/tcldde14.dll differ diff --git a/amd64/lib/nmake/nmakehlp.c b/amd64/lib/nmake/nmakehlp.c index 025bb99..b759020 100644 --- a/amd64/lib/nmake/nmakehlp.c +++ b/amd64/lib/nmake/nmakehlp.c @@ -14,13 +14,8 @@ #define _CRT_SECURE_NO_DEPRECATE #include -#define NO_SHLWAPI_GDI -#define NO_SHLWAPI_STREAM -#define NO_SHLWAPI_REG -#include #pragma comment (lib, "user32.lib") #pragma comment (lib, "kernel32.lib") -#pragma comment (lib, "shlwapi.lib") #include #include @@ -74,7 +69,7 @@ main( char msg[300]; DWORD dwWritten; int chars; - char *s; + const char *s; /* * Make sure children (cl.exe and link.exe) are kept quiet. @@ -688,6 +683,17 @@ SubstituteFile( return 0; } +BOOL FileExists(LPCTSTR szPath) +{ +#ifndef INVALID_FILE_ATTRIBUTES + #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) +#endif + DWORD pathAttr = GetFileAttributes(szPath); + return (pathAttr != INVALID_FILE_ATTRIBUTES && + !(pathAttr & FILE_ATTRIBUTE_DIRECTORY)); +} + + /* * QualifyPath -- * @@ -701,13 +707,8 @@ QualifyPath( const char *szPath) { char szCwd[MAX_PATH + 1]; - char szTmp[MAX_PATH + 1]; - char *p; - GetCurrentDirectory(MAX_PATH, szCwd); - while ((p = strchr(szPath, '/')) && *p) - *p = '\\'; - PathCombine(szTmp, szCwd, szPath); - PathCanonicalize(szCwd, szTmp); + + GetFullPathName(szPath, sizeof(szCwd)-1, szCwd, NULL); printf("%s\n", szCwd); return 0; } @@ -765,7 +766,7 @@ static int LocateDependencyHelper(const char *dir, const char *keypath) strncpy(path+dirlen+1, finfo.cFileName, sublen); path[dirlen+1+sublen] = '\\'; strncpy(path+dirlen+1+sublen+1, keypath, keylen+1); - if (PathFileExists(path)) { + if (FileExists(path)) { /* Found a match, print to stdout */ path[dirlen+1+sublen] = '\0'; QualifyPath(path); diff --git a/amd64/lib/nmake/rules.vc b/amd64/lib/nmake/rules.vc index bbb412d..370d71b 100644 --- a/amd64/lib/nmake/rules.vc +++ b/amd64/lib/nmake/rules.vc @@ -24,7 +24,7 @@ _RULES_VC = 1 # For modifications that are not backward-compatible, you *must* change # the major version. RULES_VERSION_MAJOR = 1 -RULES_VERSION_MINOR = 0 +RULES_VERSION_MINOR = 2 # The PROJECT macro must be defined by parent makefile. !if "$(PROJECT)" == "" @@ -393,7 +393,7 @@ MSG = ^ !endif -# If INSTALLDIR set to tcl installation root dir then reset to the +# If INSTALLDIR set to Tcl installation root dir then reset to the # lib dir for installing extensions !if exist("$(_INSTALLDIR)\include\tcl.h") _INSTALLDIR=$(_INSTALLDIR)\lib @@ -535,7 +535,6 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!message *** Using $(NMAKEHLPC) !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif @@ -590,7 +589,6 @@ FPOPTS = $(FPOPTS) -QI0f OPTIMIZATIONS = $(FPOPTS) !if [nmakehlp -c -O2] -!message *** Compiler has 'Optimizations' OPTIMIZING = 1 OPTIMIZATIONS = $(OPTIMIZATIONS) -O2 !else @@ -1077,12 +1075,24 @@ TCL_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)" !if $(TCLINSTALL) # Building against an installed Tcl +# When building extensions, we need to locate tclsh. Depending on version +# of Tcl we are building against, this may or may not have a "t" suffix. +# Try various possibilities in turn. TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX).exe !if !exist("$(TCLSH)") && $(TCL_THREADS) TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)t$(SUFX).exe !endif +!if !exist("$(TCLSH)") +TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX:t=).exe +!endif + TCLSTUBLIB = $(_TCLDIR)\lib\tclstub$(TCL_VERSION).lib TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX).lib +# When building extensions, may be linking against Tcl that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TCLIMPLIB)") +TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX:t=).lib +!endif TCL_LIBRARY = $(_TCLDIR)\lib TCLREGLIB = $(_TCLDIR)\lib\tclreg13$(SUFX:t=).lib TCLDDELIB = $(_TCLDIR)\lib\tcldde14$(SUFX:t=).lib @@ -1095,8 +1105,16 @@ TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX).exe !if !exist($(TCLSH)) && $(TCL_THREADS) TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)t$(SUFX).exe !endif +!if !exist($(TCLSH)) +TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX:t=).exe +!endif TCLSTUBLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX).lib +# When building extensions, may be linking against Tcl that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TCLIMPLIB)") +TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX:t=).lib +!endif TCL_LIBRARY = $(_TCLDIR)\library TCLREGLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclreg13$(SUFX:t=).lib TCLDDELIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcldde14$(SUFX:t=).lib @@ -1140,11 +1158,23 @@ TK_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)" WISH = $(_TKDIR)\bin\$(WISHNAME) TKSTUBLIB = $(_TKDIR)\lib\$(TKSTUBLIBNAME) TKIMPLIB = $(_TKDIR)\lib\$(TKIMPLIBNAME) +# When building extensions, may be linking against Tk that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TKIMPLIB)") +TKIMPLIBNAME = tk$(TK_VERSION)$(SUFX:t=).lib +TKIMPLIB = $(_TKDIR)\lib\$(TKIMPLIBNAME) +!endif TK_INCLUDES = -I"$(_TKDIR)\include" !else # Building against Tk sources WISH = $(_TKDIR)\win\$(BUILDDIRTOP)\$(WISHNAME) TKSTUBLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKSTUBLIBNAME) TKIMPLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKIMPLIBNAME) +# When building extensions, may be linking against Tk that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TKIMPLIB)") +TKIMPLIBNAME = tk$(TK_VERSION)$(SUFX:t=).lib +TKIMPLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKIMPLIBNAME) +!endif TK_INCLUDES = -I"$(_TKDIR)\generic" -I"$(_TKDIR)\win" -I"$(_TKDIR)\xlib" !endif # TKINSTALL tklibs = "$(TKSTUBLIB)" "$(TKIMPLIB)" @@ -1179,7 +1209,7 @@ RESFILE = $(TMP_DIR)\$(PROJECT).res # SCRIPT_INSTALL_DIR - where scripts should be installed # INCLUDE_INSTALL_DIR - where C include files should be installed # DEMO_INSTALL_DIR - where demos should be installed -# PRJ_INSTALL_DIR - where package will be installed (not set for tcl and tk) +# PRJ_INSTALL_DIR - where package will be installed (not set for Tcl and Tk) !if $(DOING_TCL) || $(DOING_TK) LIB_INSTALL_DIR = $(_INSTALLDIR)\lib @@ -1201,7 +1231,7 @@ BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR) DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR) SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR) DEMO_INSTALL_DIR = $(PRJ_INSTALL_DIR)\demos -INCLUDE_INSTALL_DIR = $(_TCLDIR)\include +INCLUDE_INSTALL_DIR = $(_INSTALLDIR)\..\include !endif @@ -1717,7 +1747,6 @@ TCLNMAKECONFIG = "$(OUT_DIR)\tcl.nmake" !message *** Output directory will be '$(OUT_DIR)' !message *** Installation, if selected, will be in '$(_INSTALLDIR)' !message *** Suffix for binaries will be '$(SUFX)' -!message *** Compiler version $(VCVER). Target machine is $(MACHINE) -!message *** Host architecture is $(NATIVE_ARCH) +!message *** Compiler version $(VCVER). Target $(MACHINE), host $(NATIVE_ARCH). !endif # ifdef _RULES_VC diff --git a/amd64/lib/reg1.3/pkgIndex.tcl b/amd64/lib/reg1.3/pkgIndex.tcl index b1fe234..ee559b5 100644 --- a/amd64/lib/reg1.3/pkgIndex.tcl +++ b/amd64/lib/reg1.3/pkgIndex.tcl @@ -1,9 +1,9 @@ if {([info commands ::tcl::pkgconfig] eq "") || ([info sharedlibextension] ne ".dll")} return if {[::tcl::pkgconfig get debug]} { - package ifneeded registry 1.3.2 \ + package ifneeded registry 1.3.3 \ [list load [file join $dir tclreg13g.dll] registry] } else { - package ifneeded registry 1.3.2 \ + package ifneeded registry 1.3.3 \ [list load [file join $dir tclreg13.dll] registry] } diff --git a/amd64/lib/reg1.3/tclreg13.dll b/amd64/lib/reg1.3/tclreg13.dll index 42e45f8..b5a5eda 100644 Binary files a/amd64/lib/reg1.3/tclreg13.dll and b/amd64/lib/reg1.3/tclreg13.dll differ diff --git a/amd64/lib/tcl8.6/init.tcl b/amd64/lib/tcl8.6/init.tcl index b3990df..8952172 100644 --- a/amd64/lib/tcl8.6/init.tcl +++ b/amd64/lib/tcl8.6/init.tcl @@ -16,7 +16,7 @@ if {[info commands package] == ""} { error "version mismatch: library\nscripts expect Tcl version 7.5b1 or later but the loaded version is\nonly [info patchlevel]" } -package require -exact Tcl 8.6.8 +package require -exact Tcl 8.6.9 # Compute the auto path to use in this interpreter. # The values on the path come from several locations: diff --git a/amd64/lib/tcl8.6/tzdata/Africa/Accra b/amd64/lib/tcl8.6/tzdata/Africa/Accra index 18f4522..f43f751 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/Accra +++ b/amd64/lib/tcl8.6/tzdata/Africa/Accra @@ -2,51 +2,51 @@ set TZData(:Africa/Accra) { {-9223372036854775808 -52 0 LMT} - {-1640995148 0 0 +0020} - {-1556841600 1200 1 +0020} - {-1546388400 0 0 +0020} - {-1525305600 1200 1 +0020} - {-1514852400 0 0 +0020} - {-1493769600 1200 1 +0020} - {-1483316400 0 0 +0020} - {-1462233600 1200 1 +0020} - {-1451780400 0 0 +0020} - {-1430611200 1200 1 +0020} - {-1420158000 0 0 +0020} - {-1399075200 1200 1 +0020} - {-1388622000 0 0 +0020} - {-1367539200 1200 1 +0020} - {-1357086000 0 0 +0020} - {-1336003200 1200 1 +0020} - {-1325550000 0 0 +0020} - {-1304380800 1200 1 +0020} - {-1293927600 0 0 +0020} - {-1272844800 1200 1 +0020} - {-1262391600 0 0 +0020} - {-1241308800 1200 1 +0020} - {-1230855600 0 0 +0020} - {-1209772800 1200 1 +0020} - {-1199319600 0 0 +0020} - {-1178150400 1200 1 +0020} - {-1167697200 0 0 +0020} - {-1146614400 1200 1 +0020} - {-1136161200 0 0 +0020} - {-1115078400 1200 1 +0020} - {-1104625200 0 0 +0020} - {-1083542400 1200 1 +0020} - {-1073089200 0 0 +0020} - {-1051920000 1200 1 +0020} - {-1041466800 0 0 +0020} - {-1020384000 1200 1 +0020} - {-1009930800 0 0 +0020} - {-988848000 1200 1 +0020} - {-978394800 0 0 +0020} - {-957312000 1200 1 +0020} - {-946858800 0 0 +0020} - {-925689600 1200 1 +0020} - {-915236400 0 0 +0020} - {-894153600 1200 1 +0020} - {-883700400 0 0 +0020} - {-862617600 1200 1 +0020} - {-852164400 0 0 +0020} + {-1640995148 0 0 GMT} + {-1556841600 1200 1 GMT} + {-1546388400 0 0 GMT} + {-1525305600 1200 1 GMT} + {-1514852400 0 0 GMT} + {-1493769600 1200 1 GMT} + {-1483316400 0 0 GMT} + {-1462233600 1200 1 GMT} + {-1451780400 0 0 GMT} + {-1430611200 1200 1 GMT} + {-1420158000 0 0 GMT} + {-1399075200 1200 1 GMT} + {-1388622000 0 0 GMT} + {-1367539200 1200 1 GMT} + {-1357086000 0 0 GMT} + {-1336003200 1200 1 GMT} + {-1325550000 0 0 GMT} + {-1304380800 1200 1 GMT} + {-1293927600 0 0 GMT} + {-1272844800 1200 1 GMT} + {-1262391600 0 0 GMT} + {-1241308800 1200 1 GMT} + {-1230855600 0 0 GMT} + {-1209772800 1200 1 GMT} + {-1199319600 0 0 GMT} + {-1178150400 1200 1 GMT} + {-1167697200 0 0 GMT} + {-1146614400 1200 1 GMT} + {-1136161200 0 0 GMT} + {-1115078400 1200 1 GMT} + {-1104625200 0 0 GMT} + {-1083542400 1200 1 GMT} + {-1073089200 0 0 GMT} + {-1051920000 1200 1 GMT} + {-1041466800 0 0 GMT} + {-1020384000 1200 1 GMT} + {-1009930800 0 0 GMT} + {-988848000 1200 1 GMT} + {-978394800 0 0 GMT} + {-957312000 1200 1 GMT} + {-946858800 0 0 GMT} + {-925689600 1200 1 GMT} + {-915236400 0 0 GMT} + {-894153600 1200 1 GMT} + {-883700400 0 0 GMT} + {-862617600 1200 1 GMT} + {-852164400 0 0 GMT} } diff --git a/amd64/lib/tcl8.6/tzdata/Africa/Bissau b/amd64/lib/tcl8.6/tzdata/Africa/Bissau index 88d9d03..e0568fb 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/Bissau +++ b/amd64/lib/tcl8.6/tzdata/Africa/Bissau @@ -2,6 +2,6 @@ set TZData(:Africa/Bissau) { {-9223372036854775808 -3740 0 LMT} - {-1830380260 -3600 0 -01} + {-1830380400 -3600 0 -01} {157770000 0 0 GMT} } diff --git a/amd64/lib/tcl8.6/tzdata/Africa/Casablanca b/amd64/lib/tcl8.6/tzdata/Africa/Casablanca index 33ad99b..3207e59 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/Casablanca +++ b/amd64/lib/tcl8.6/tzdata/Africa/Casablanca @@ -2,229 +2,59 @@ set TZData(:Africa/Casablanca) { {-9223372036854775808 -1820 0 LMT} - {-1773012580 0 0 WET} - {-956361600 3600 1 WEST} - {-950490000 0 0 WET} - {-942019200 3600 1 WEST} - {-761187600 0 0 WET} - {-617241600 3600 1 WEST} - {-605149200 0 0 WET} - {-81432000 3600 1 WEST} - {-71110800 0 0 WET} - {141264000 3600 1 WEST} - {147222000 0 0 WET} - {199756800 3600 1 WEST} - {207702000 0 0 WET} - {231292800 3600 1 WEST} - {244249200 0 0 WET} - {265507200 3600 1 WEST} - {271033200 0 0 WET} - {448243200 3600 0 CET} - {504918000 0 0 WET} - {1212278400 3600 1 WEST} - {1220223600 0 0 WET} - {1243814400 3600 1 WEST} - {1250809200 0 0 WET} - {1272758400 3600 1 WEST} - {1281222000 0 0 WET} - {1301788800 3600 1 WEST} - {1312066800 0 0 WET} - {1335664800 3600 1 WEST} - {1342749600 0 0 WET} - {1345428000 3600 1 WEST} - {1348970400 0 0 WET} - {1367114400 3600 1 WEST} - {1373162400 0 0 WET} - {1376100000 3600 1 WEST} - {1382839200 0 0 WET} - {1396144800 3600 1 WEST} - {1403920800 0 0 WET} - {1406944800 3600 1 WEST} - {1414288800 0 0 WET} - {1427594400 3600 1 WEST} - {1434247200 0 0 WET} - {1437271200 3600 1 WEST} - {1445738400 0 0 WET} - {1459044000 3600 1 WEST} - {1465092000 0 0 WET} - {1468116000 3600 1 WEST} - {1477792800 0 0 WET} - {1490493600 3600 1 WEST} - {1495332000 0 0 WET} - {1498960800 3600 1 WEST} - {1509242400 0 0 WET} - {1521943200 3600 1 WEST} - {1526176800 0 0 WET} - {1529200800 3600 1 WEST} - {1540692000 0 0 WET} - {1553997600 3600 1 WEST} - {1557021600 0 0 WET} - {1560045600 3600 1 WEST} - {1572141600 0 0 WET} - {1585447200 3600 1 WEST} - {1587261600 0 0 WET} - {1590285600 3600 1 WEST} - {1603591200 0 0 WET} - {1616896800 3600 1 WEST} - {1618106400 0 0 WET} - {1621130400 3600 1 WEST} - {1635645600 0 0 WET} - {1651975200 3600 1 WEST} - {1667095200 0 0 WET} - {1682215200 3600 1 WEST} - {1698544800 0 0 WET} - {1713060000 3600 1 WEST} - {1729994400 0 0 WET} - {1743904800 3600 1 WEST} - {1761444000 0 0 WET} - {1774749600 3600 1 WEST} - {1792893600 0 0 WET} - {1806199200 3600 1 WEST} - {1824948000 0 0 WET} - {1837648800 3600 1 WEST} - {1856397600 0 0 WET} - {1869098400 3600 1 WEST} - {1887847200 0 0 WET} - {1901152800 3600 1 WEST} - {1919296800 0 0 WET} - {1932602400 3600 1 WEST} - {1950746400 0 0 WET} - {1964052000 3600 1 WEST} - {1982800800 0 0 WET} - {1995501600 3600 1 WEST} - {2014250400 0 0 WET} - {2026951200 3600 1 WEST} - {2045700000 0 0 WET} - {2058400800 3600 1 WEST} - {2077149600 0 0 WET} - {2090455200 3600 1 WEST} - {2107994400 0 0 WET} - {2108602800 0 0 WET} - {2121904800 3600 1 WEST} - {2138234400 0 0 WET} - {2140052400 0 0 WET} - {2153354400 3600 1 WEST} - {2172103200 0 0 WET} - {2184804000 3600 1 WEST} - {2203552800 0 0 WET} - {2216253600 3600 1 WEST} - {2235002400 0 0 WET} - {2248308000 3600 1 WEST} - {2266452000 0 0 WET} - {2279757600 3600 1 WEST} - {2297901600 0 0 WET} - {2311207200 3600 1 WEST} - {2329351200 0 0 WET} - {2342656800 3600 1 WEST} - {2361405600 0 0 WET} - {2374106400 3600 1 WEST} - {2392855200 0 0 WET} - {2405556000 3600 1 WEST} - {2424304800 0 0 WET} - {2437610400 3600 1 WEST} - {2455754400 0 0 WET} - {2469060000 3600 1 WEST} - {2487204000 0 0 WET} - {2500509600 3600 1 WEST} - {2519258400 0 0 WET} - {2531959200 3600 1 WEST} - {2550708000 0 0 WET} - {2563408800 3600 1 WEST} - {2582157600 0 0 WET} - {2595463200 3600 1 WEST} - {2613607200 0 0 WET} - {2626912800 3600 1 WEST} - {2645056800 0 0 WET} - {2658362400 3600 1 WEST} - {2676506400 0 0 WET} - {2689812000 3600 1 WEST} - {2708560800 0 0 WET} - {2721261600 3600 1 WEST} - {2740010400 0 0 WET} - {2752711200 3600 1 WEST} - {2771460000 0 0 WET} - {2784765600 3600 1 WEST} - {2802909600 0 0 WET} - {2816215200 3600 1 WEST} - {2834359200 0 0 WET} - {2847664800 3600 1 WEST} - {2866413600 0 0 WET} - {2879114400 3600 1 WEST} - {2897863200 0 0 WET} - {2910564000 3600 1 WEST} - {2929312800 0 0 WET} - {2942013600 3600 1 WEST} - {2960762400 0 0 WET} - {2974068000 3600 1 WEST} - {2992212000 0 0 WET} - {3005517600 3600 1 WEST} - {3023661600 0 0 WET} - {3036967200 3600 1 WEST} - {3055716000 0 0 WET} - {3068416800 3600 1 WEST} - {3087165600 0 0 WET} - {3099866400 3600 1 WEST} - {3118615200 0 0 WET} - {3131920800 3600 1 WEST} - {3150064800 0 0 WET} - {3163370400 3600 1 WEST} - {3181514400 0 0 WET} - {3194820000 3600 1 WEST} - {3212964000 0 0 WET} - {3226269600 3600 1 WEST} - {3245018400 0 0 WET} - {3257719200 3600 1 WEST} - {3276468000 0 0 WET} - {3289168800 3600 1 WEST} - {3307917600 0 0 WET} - {3321223200 3600 1 WEST} - {3339367200 0 0 WET} - {3352672800 3600 1 WEST} - {3370816800 0 0 WET} - {3384122400 3600 1 WEST} - {3402871200 0 0 WET} - {3415572000 3600 1 WEST} - {3434320800 0 0 WET} - {3447021600 3600 1 WEST} - {3465770400 0 0 WET} - {3479076000 3600 1 WEST} - {3497220000 0 0 WET} - {3510525600 3600 1 WEST} - {3528669600 0 0 WET} - {3541975200 3600 1 WEST} - {3560119200 0 0 WET} - {3573424800 3600 1 WEST} - {3592173600 0 0 WET} - {3604874400 3600 1 WEST} - {3623623200 0 0 WET} - {3636324000 3600 1 WEST} - {3655072800 0 0 WET} - {3668378400 3600 1 WEST} - {3686522400 0 0 WET} - {3699828000 3600 1 WEST} - {3717972000 0 0 WET} - {3731277600 3600 1 WEST} - {3750026400 0 0 WET} - {3762727200 3600 1 WEST} - {3781476000 0 0 WET} - {3794176800 3600 1 WEST} - {3812925600 0 0 WET} - {3825626400 3600 1 WEST} - {3844375200 0 0 WET} - {3857680800 3600 1 WEST} - {3875824800 0 0 WET} - {3889130400 3600 1 WEST} - {3907274400 0 0 WET} - {3920580000 3600 1 WEST} - {3939328800 0 0 WET} - {3952029600 3600 1 WEST} - {3970778400 0 0 WET} - {3983479200 3600 1 WEST} - {4002228000 0 0 WET} - {4015533600 3600 1 WEST} - {4033677600 0 0 WET} - {4046983200 3600 1 WEST} - {4065127200 0 0 WET} - {4078432800 3600 1 WEST} - {4096576800 0 0 WET} + {-1773012580 0 0 +00} + {-956361600 3600 1 +00} + {-950490000 0 0 +00} + {-942019200 3600 1 +00} + {-761187600 0 0 +00} + {-617241600 3600 1 +00} + {-605149200 0 0 +00} + {-81432000 3600 1 +00} + {-71110800 0 0 +00} + {141264000 3600 1 +00} + {147222000 0 0 +00} + {199756800 3600 1 +00} + {207702000 0 0 +00} + {231292800 3600 1 +00} + {244249200 0 0 +00} + {265507200 3600 1 +00} + {271033200 0 0 +00} + {448243200 3600 0 +01} + {504918000 0 0 +00} + {1212278400 3600 1 +00} + {1220223600 0 0 +00} + {1243814400 3600 1 +00} + {1250809200 0 0 +00} + {1272758400 3600 1 +00} + {1281222000 0 0 +00} + {1301788800 3600 1 +00} + {1312066800 0 0 +00} + {1335664800 3600 1 +00} + {1342749600 0 0 +00} + {1345428000 3600 1 +00} + {1348970400 0 0 +00} + {1367114400 3600 1 +00} + {1373162400 0 0 +00} + {1376100000 3600 1 +00} + {1382839200 0 0 +00} + {1396144800 3600 1 +00} + {1403920800 0 0 +00} + {1406944800 3600 1 +00} + {1414288800 0 0 +00} + {1427594400 3600 1 +00} + {1434247200 0 0 +00} + {1437271200 3600 1 +00} + {1445738400 0 0 +00} + {1459044000 3600 1 +00} + {1465092000 0 0 +00} + {1468116000 3600 1 +00} + {1477792800 0 0 +00} + {1490493600 3600 1 +00} + {1495332000 0 0 +00} + {1498960800 3600 1 +00} + {1509242400 0 0 +00} + {1521943200 3600 1 +00} + {1526176800 0 0 +00} + {1529200800 3600 1 +00} + {1540598400 3600 0 +01} } diff --git a/amd64/lib/tcl8.6/tzdata/Africa/Ceuta b/amd64/lib/tcl8.6/tzdata/Africa/Ceuta index 057ca22..18af8c1 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/Ceuta +++ b/amd64/lib/tcl8.6/tzdata/Africa/Ceuta @@ -15,6 +15,7 @@ set TZData(:Africa/Ceuta) { {-1316390400 3600 1 WEST} {-1301270400 0 0 WET} {-1293840000 0 0 WET} + {-94694400 0 0 WET} {-81432000 3600 1 WEST} {-71110800 0 0 WET} {141264000 3600 1 WEST} diff --git a/amd64/lib/tcl8.6/tzdata/Africa/El_Aaiun b/amd64/lib/tcl8.6/tzdata/Africa/El_Aaiun index 7bdc496..e0f5e1c 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/El_Aaiun +++ b/amd64/lib/tcl8.6/tzdata/Africa/El_Aaiun @@ -3,217 +3,47 @@ set TZData(:Africa/El_Aaiun) { {-9223372036854775808 -3168 0 LMT} {-1136070432 -3600 0 -01} - {198291600 0 0 WET} - {199756800 3600 1 WEST} - {207702000 0 0 WET} - {231292800 3600 1 WEST} - {244249200 0 0 WET} - {265507200 3600 1 WEST} - {271033200 0 0 WET} - {1212278400 3600 1 WEST} - {1220223600 0 0 WET} - {1243814400 3600 1 WEST} - {1250809200 0 0 WET} - {1272758400 3600 1 WEST} - {1281222000 0 0 WET} - {1301788800 3600 1 WEST} - {1312066800 0 0 WET} - {1335664800 3600 1 WEST} - {1342749600 0 0 WET} - {1345428000 3600 1 WEST} - {1348970400 0 0 WET} - {1367114400 3600 1 WEST} - {1373162400 0 0 WET} - {1376100000 3600 1 WEST} - {1382839200 0 0 WET} - {1396144800 3600 1 WEST} - {1403920800 0 0 WET} - {1406944800 3600 1 WEST} - {1414288800 0 0 WET} - {1427594400 3600 1 WEST} - {1434247200 0 0 WET} - {1437271200 3600 1 WEST} - {1445738400 0 0 WET} - {1459044000 3600 1 WEST} - {1465092000 0 0 WET} - {1468116000 3600 1 WEST} - {1477792800 0 0 WET} - {1490493600 3600 1 WEST} - {1495332000 0 0 WET} - {1498960800 3600 1 WEST} - {1509242400 0 0 WET} - {1521943200 3600 1 WEST} - {1526176800 0 0 WET} - {1529200800 3600 1 WEST} - {1540692000 0 0 WET} - {1553997600 3600 1 WEST} - {1557021600 0 0 WET} - {1560045600 3600 1 WEST} - {1572141600 0 0 WET} - {1585447200 3600 1 WEST} - {1587261600 0 0 WET} - {1590285600 3600 1 WEST} - {1603591200 0 0 WET} - {1616896800 3600 1 WEST} - {1618106400 0 0 WET} - {1621130400 3600 1 WEST} - {1635645600 0 0 WET} - {1651975200 3600 1 WEST} - {1667095200 0 0 WET} - {1682215200 3600 1 WEST} - {1698544800 0 0 WET} - {1713060000 3600 1 WEST} - {1729994400 0 0 WET} - {1743904800 3600 1 WEST} - {1761444000 0 0 WET} - {1774749600 3600 1 WEST} - {1792893600 0 0 WET} - {1806199200 3600 1 WEST} - {1824948000 0 0 WET} - {1837648800 3600 1 WEST} - {1856397600 0 0 WET} - {1869098400 3600 1 WEST} - {1887847200 0 0 WET} - {1901152800 3600 1 WEST} - {1919296800 0 0 WET} - {1932602400 3600 1 WEST} - {1950746400 0 0 WET} - {1964052000 3600 1 WEST} - {1982800800 0 0 WET} - {1995501600 3600 1 WEST} - {2014250400 0 0 WET} - {2026951200 3600 1 WEST} - {2045700000 0 0 WET} - {2058400800 3600 1 WEST} - {2077149600 0 0 WET} - {2090455200 3600 1 WEST} - {2107994400 0 0 WET} - {2108602800 0 0 WET} - {2121904800 3600 1 WEST} - {2138234400 0 0 WET} - {2140052400 0 0 WET} - {2153354400 3600 1 WEST} - {2172103200 0 0 WET} - {2184804000 3600 1 WEST} - {2203552800 0 0 WET} - {2216253600 3600 1 WEST} - {2235002400 0 0 WET} - {2248308000 3600 1 WEST} - {2266452000 0 0 WET} - {2279757600 3600 1 WEST} - {2297901600 0 0 WET} - {2311207200 3600 1 WEST} - {2329351200 0 0 WET} - {2342656800 3600 1 WEST} - {2361405600 0 0 WET} - {2374106400 3600 1 WEST} - {2392855200 0 0 WET} - {2405556000 3600 1 WEST} - {2424304800 0 0 WET} - {2437610400 3600 1 WEST} - {2455754400 0 0 WET} - {2469060000 3600 1 WEST} - {2487204000 0 0 WET} - {2500509600 3600 1 WEST} - {2519258400 0 0 WET} - {2531959200 3600 1 WEST} - {2550708000 0 0 WET} - {2563408800 3600 1 WEST} - {2582157600 0 0 WET} - {2595463200 3600 1 WEST} - {2613607200 0 0 WET} - {2626912800 3600 1 WEST} - {2645056800 0 0 WET} - {2658362400 3600 1 WEST} - {2676506400 0 0 WET} - {2689812000 3600 1 WEST} - {2708560800 0 0 WET} - {2721261600 3600 1 WEST} - {2740010400 0 0 WET} - {2752711200 3600 1 WEST} - {2771460000 0 0 WET} - {2784765600 3600 1 WEST} - {2802909600 0 0 WET} - {2816215200 3600 1 WEST} - {2834359200 0 0 WET} - {2847664800 3600 1 WEST} - {2866413600 0 0 WET} - {2879114400 3600 1 WEST} - {2897863200 0 0 WET} - {2910564000 3600 1 WEST} - {2929312800 0 0 WET} - {2942013600 3600 1 WEST} - {2960762400 0 0 WET} - {2974068000 3600 1 WEST} - {2992212000 0 0 WET} - {3005517600 3600 1 WEST} - {3023661600 0 0 WET} - {3036967200 3600 1 WEST} - {3055716000 0 0 WET} - {3068416800 3600 1 WEST} - {3087165600 0 0 WET} - {3099866400 3600 1 WEST} - {3118615200 0 0 WET} - {3131920800 3600 1 WEST} - {3150064800 0 0 WET} - {3163370400 3600 1 WEST} - {3181514400 0 0 WET} - {3194820000 3600 1 WEST} - {3212964000 0 0 WET} - {3226269600 3600 1 WEST} - {3245018400 0 0 WET} - {3257719200 3600 1 WEST} - {3276468000 0 0 WET} - {3289168800 3600 1 WEST} - {3307917600 0 0 WET} - {3321223200 3600 1 WEST} - {3339367200 0 0 WET} - {3352672800 3600 1 WEST} - {3370816800 0 0 WET} - {3384122400 3600 1 WEST} - {3402871200 0 0 WET} - {3415572000 3600 1 WEST} - {3434320800 0 0 WET} - {3447021600 3600 1 WEST} - {3465770400 0 0 WET} - {3479076000 3600 1 WEST} - {3497220000 0 0 WET} - {3510525600 3600 1 WEST} - {3528669600 0 0 WET} - {3541975200 3600 1 WEST} - {3560119200 0 0 WET} - {3573424800 3600 1 WEST} - {3592173600 0 0 WET} - {3604874400 3600 1 WEST} - {3623623200 0 0 WET} - {3636324000 3600 1 WEST} - {3655072800 0 0 WET} - {3668378400 3600 1 WEST} - {3686522400 0 0 WET} - {3699828000 3600 1 WEST} - {3717972000 0 0 WET} - {3731277600 3600 1 WEST} - {3750026400 0 0 WET} - {3762727200 3600 1 WEST} - {3781476000 0 0 WET} - {3794176800 3600 1 WEST} - {3812925600 0 0 WET} - {3825626400 3600 1 WEST} - {3844375200 0 0 WET} - {3857680800 3600 1 WEST} - {3875824800 0 0 WET} - {3889130400 3600 1 WEST} - {3907274400 0 0 WET} - {3920580000 3600 1 WEST} - {3939328800 0 0 WET} - {3952029600 3600 1 WEST} - {3970778400 0 0 WET} - {3983479200 3600 1 WEST} - {4002228000 0 0 WET} - {4015533600 3600 1 WEST} - {4033677600 0 0 WET} - {4046983200 3600 1 WEST} - {4065127200 0 0 WET} - {4078432800 3600 1 WEST} - {4096576800 0 0 WET} + {198291600 0 0 +00} + {199756800 3600 1 +00} + {207702000 0 0 +00} + {231292800 3600 1 +00} + {244249200 0 0 +00} + {265507200 3600 1 +00} + {271033200 0 0 +00} + {1212278400 3600 1 +00} + {1220223600 0 0 +00} + {1243814400 3600 1 +00} + {1250809200 0 0 +00} + {1272758400 3600 1 +00} + {1281222000 0 0 +00} + {1301788800 3600 1 +00} + {1312066800 0 0 +00} + {1335664800 3600 1 +00} + {1342749600 0 0 +00} + {1345428000 3600 1 +00} + {1348970400 0 0 +00} + {1367114400 3600 1 +00} + {1373162400 0 0 +00} + {1376100000 3600 1 +00} + {1382839200 0 0 +00} + {1396144800 3600 1 +00} + {1403920800 0 0 +00} + {1406944800 3600 1 +00} + {1414288800 0 0 +00} + {1427594400 3600 1 +00} + {1434247200 0 0 +00} + {1437271200 3600 1 +00} + {1445738400 0 0 +00} + {1459044000 3600 1 +00} + {1465092000 0 0 +00} + {1468116000 3600 1 +00} + {1477792800 0 0 +00} + {1490493600 3600 1 +00} + {1495332000 0 0 +00} + {1498960800 3600 1 +00} + {1509242400 0 0 +00} + {1521943200 3600 1 +00} + {1526176800 0 0 +00} + {1529200800 3600 1 +00} + {1540598400 3600 0 +01} } diff --git a/amd64/lib/tcl8.6/tzdata/Africa/Sao_Tome b/amd64/lib/tcl8.6/tzdata/Africa/Sao_Tome index 078591d..6a60f5c 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/Sao_Tome +++ b/amd64/lib/tcl8.6/tzdata/Africa/Sao_Tome @@ -1,5 +1,8 @@ # created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Africa/Abidjan)]} { - LoadTimeZoneFile Africa/Abidjan + +set TZData(:Africa/Sao_Tome) { + {-9223372036854775808 1616 0 LMT} + {-2713912016 -2205 0 LMT} + {-1830384000 0 0 GMT} + {1514768400 3600 0 WAT} } -set TZData(:Africa/Sao_Tome) $TZData(:Africa/Abidjan) diff --git a/amd64/lib/tcl8.6/tzdata/Africa/Windhoek b/amd64/lib/tcl8.6/tzdata/Africa/Windhoek index 974ebda..d03c8b8 100644 --- a/amd64/lib/tcl8.6/tzdata/Africa/Windhoek +++ b/amd64/lib/tcl8.6/tzdata/Africa/Windhoek @@ -7,53 +7,52 @@ set TZData(:Africa/Windhoek) { {-860976000 10800 1 SAST} {-845254800 7200 0 SAST} {637970400 7200 0 CAT} - {764200800 3600 0 WAT} - {764204400 3600 0 WAT} - {778640400 7200 1 WAST} - {796780800 3600 0 WAT} - {810090000 7200 1 WAST} - {828835200 3600 0 WAT} - {841539600 7200 1 WAST} - {860284800 3600 0 WAT} - {873594000 7200 1 WAST} - {891734400 3600 0 WAT} - {905043600 7200 1 WAST} - {923184000 3600 0 WAT} - {936493200 7200 1 WAST} - {954633600 3600 0 WAT} - {967942800 7200 1 WAST} - {986083200 3600 0 WAT} - {999392400 7200 1 WAST} - {1018137600 3600 0 WAT} - {1030842000 7200 1 WAST} - {1049587200 3600 0 WAT} - {1062896400 7200 1 WAST} - {1081036800 3600 0 WAT} - {1094346000 7200 1 WAST} - {1112486400 3600 0 WAT} - {1125795600 7200 1 WAST} - {1143936000 3600 0 WAT} - {1157245200 7200 1 WAST} - {1175385600 3600 0 WAT} - {1188694800 7200 1 WAST} - {1207440000 3600 0 WAT} - {1220749200 7200 1 WAST} - {1238889600 3600 0 WAT} - {1252198800 7200 1 WAST} - {1270339200 3600 0 WAT} - {1283648400 7200 1 WAST} - {1301788800 3600 0 WAT} - {1315098000 7200 1 WAST} - {1333238400 3600 0 WAT} - {1346547600 7200 1 WAST} - {1365292800 3600 0 WAT} - {1377997200 7200 1 WAST} - {1396742400 3600 0 WAT} - {1410051600 7200 1 WAST} - {1428192000 3600 0 WAT} - {1441501200 7200 1 WAST} - {1459641600 3600 0 WAT} - {1472950800 7200 1 WAST} - {1491091200 3600 0 WAT} + {764200800 3600 1 WAT} + {778640400 7200 0 CAT} + {796780800 3600 1 WAT} + {810090000 7200 0 CAT} + {828835200 3600 1 WAT} + {841539600 7200 0 CAT} + {860284800 3600 1 WAT} + {873594000 7200 0 CAT} + {891734400 3600 1 WAT} + {905043600 7200 0 CAT} + {923184000 3600 1 WAT} + {936493200 7200 0 CAT} + {954633600 3600 1 WAT} + {967942800 7200 0 CAT} + {986083200 3600 1 WAT} + {999392400 7200 0 CAT} + {1018137600 3600 1 WAT} + {1030842000 7200 0 CAT} + {1049587200 3600 1 WAT} + {1062896400 7200 0 CAT} + {1081036800 3600 1 WAT} + {1094346000 7200 0 CAT} + {1112486400 3600 1 WAT} + {1125795600 7200 0 CAT} + {1143936000 3600 1 WAT} + {1157245200 7200 0 CAT} + {1175385600 3600 1 WAT} + {1188694800 7200 0 CAT} + {1207440000 3600 1 WAT} + {1220749200 7200 0 CAT} + {1238889600 3600 1 WAT} + {1252198800 7200 0 CAT} + {1270339200 3600 1 WAT} + {1283648400 7200 0 CAT} + {1301788800 3600 1 WAT} + {1315098000 7200 0 CAT} + {1333238400 3600 1 WAT} + {1346547600 7200 0 CAT} + {1365292800 3600 1 WAT} + {1377997200 7200 0 CAT} + {1396742400 3600 1 WAT} + {1410051600 7200 0 CAT} + {1428192000 3600 1 WAT} + {1441501200 7200 0 CAT} + {1459641600 3600 1 WAT} + {1472950800 7200 0 CAT} + {1491091200 3600 1 WAT} {1504400400 7200 0 CAT} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Araguaina b/amd64/lib/tcl8.6/tzdata/America/Araguaina index b9e2aec..ca64292 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Araguaina +++ b/amd64/lib/tcl8.6/tzdata/America/Araguaina @@ -3,58 +3,58 @@ set TZData(:America/Araguaina) { {-9223372036854775808 -11568 0 LMT} {-1767214032 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {811047600 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} - {844570800 -7200 1 -02} + {844570800 -7200 1 -03} {856058400 -10800 0 -03} - {876106800 -7200 1 -02} + {876106800 -7200 1 -03} {888717600 -10800 0 -03} - {908074800 -7200 1 -02} + {908074800 -7200 1 -03} {919562400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {982461600 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} - {1036292400 -7200 1 -02} + {1036292400 -7200 1 -03} {1045360800 -10800 0 -03} {1064368800 -10800 0 -03} - {1350788400 -7200 0 -02} + {1350788400 -7200 0 -03} {1361066400 -10800 0 -03} {1378000800 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires b/amd64/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires index 8be2c45..40f1912 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires @@ -4,64 +4,64 @@ set TZData(:America/Argentina/Buenos_Aires) { {-9223372036854775808 -14028 0 LMT} {-2372097972 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1237082400 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Catamarca b/amd64/lib/tcl8.6/tzdata/America/Argentina/Catamarca index a546bfc..da5b42a 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Catamarca +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Catamarca @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Catamarca) { {-9223372036854775808 -15788 0 LMT} {-2372096212 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Cordoba b/amd64/lib/tcl8.6/tzdata/America/Argentina/Cordoba index ec6978e..6a1426e 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Cordoba +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Cordoba @@ -4,64 +4,64 @@ set TZData(:America/Argentina/Cordoba) { {-9223372036854775808 -15408 0 LMT} {-2372096592 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1237082400 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Jujuy b/amd64/lib/tcl8.6/tzdata/America/Argentina/Jujuy index 0e11ba2..72080f5 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Jujuy +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Jujuy @@ -4,64 +4,64 @@ set TZData(:America/Argentina/Jujuy) { {-9223372036854775808 -15672 0 LMT} {-2372096328 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -14400 0 -04} {657086400 -10800 1 -03} {669178800 -14400 0 -04} {686721600 -7200 1 -02} {694231200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/La_Rioja b/amd64/lib/tcl8.6/tzdata/America/Argentina/La_Rioja index 90e0030..fb7b237 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/La_Rioja +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/La_Rioja @@ -4,66 +4,66 @@ set TZData(:America/Argentina/La_Rioja) { {-9223372036854775808 -16044 0 LMT} {-2372095956 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667792800 -14400 0 -04} {673588800 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Mendoza b/amd64/lib/tcl8.6/tzdata/America/Argentina/Mendoza index 8dfcd2b..af7342e 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Mendoza +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Mendoza @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Mendoza) { {-9223372036854775808 -16516 0 LMT} {-2372095484 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -14400 0 -04} {655963200 -10800 1 -03} {667796400 -14400 0 -04} {687499200 -10800 1 -03} {699418800 -14400 0 -04} - {719380800 -7200 0 -02} + {719380800 -7200 0 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1085281200 -14400 0 -04} {1096171200 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos b/amd64/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos index 4b2a348..2a197a4 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Rio_Gallegos) { {-9223372036854775808 -16612 0 LMT} {-2372095388 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Salta b/amd64/lib/tcl8.6/tzdata/America/Argentina/Salta index 4f9ccf9..d49e82f 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Salta +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Salta @@ -4,63 +4,63 @@ set TZData(:America/Argentina/Salta) { {-9223372036854775808 -15700 0 LMT} {-2372096300 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Juan b/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Juan index 1f0530a..d67f688 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Juan +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Juan @@ -4,66 +4,66 @@ set TZData(:America/Argentina/San_Juan) { {-9223372036854775808 -16444 0 LMT} {-2372095556 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667792800 -14400 0 -04} {673588800 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1085972400 -14400 0 -04} {1090728000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Luis b/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Luis index 3583a39..4d27c32 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Luis +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/San_Luis @@ -4,52 +4,52 @@ set TZData(:America/Argentina/San_Luis) { {-9223372036854775808 -15924 0 LMT} {-2372096076 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {631159200 -7200 1 -02} {637380000 -14400 0 -04} {655963200 -10800 1 -03} @@ -59,10 +59,10 @@ set TZData(:America/Argentina/San_Luis) { {952052400 -10800 0 -03} {1085972400 -14400 0 -04} {1090728000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1200880800 -10800 0 -04} {1205031600 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1236481200 -14400 0 -04} {1255233600 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Tucuman b/amd64/lib/tcl8.6/tzdata/America/Argentina/Tucuman index 15c5c63..6809800 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Tucuman +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Tucuman @@ -4,66 +4,66 @@ set TZData(:America/Argentina/Tucuman) { {-9223372036854775808 -15652 0 LMT} {-2372096348 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087099200 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1237082400 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Argentina/Ushuaia b/amd64/lib/tcl8.6/tzdata/America/Argentina/Ushuaia index 4214c1d..c62ca0d 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Argentina/Ushuaia +++ b/amd64/lib/tcl8.6/tzdata/America/Argentina/Ushuaia @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Ushuaia) { {-9223372036854775808 -16392 0 LMT} {-2372095608 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1085886000 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Asuncion b/amd64/lib/tcl8.6/tzdata/America/Asuncion index 606db57..8e6c1b0 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Asuncion +++ b/amd64/lib/tcl8.6/tzdata/America/Asuncion @@ -7,253 +7,253 @@ set TZData(:America/Asuncion) { {86760000 -10800 0 -03} {134017200 -14400 0 -04} {162878400 -14400 0 -04} - {181368000 -10800 1 -03} + {181368000 -10800 1 -04} {194497200 -14400 0 -04} - {212990400 -10800 1 -03} + {212990400 -10800 1 -04} {226033200 -14400 0 -04} - {244526400 -10800 1 -03} + {244526400 -10800 1 -04} {257569200 -14400 0 -04} - {276062400 -10800 1 -03} + {276062400 -10800 1 -04} {291783600 -14400 0 -04} - {307598400 -10800 1 -03} + {307598400 -10800 1 -04} {323406000 -14400 0 -04} - {339220800 -10800 1 -03} + {339220800 -10800 1 -04} {354942000 -14400 0 -04} - {370756800 -10800 1 -03} + {370756800 -10800 1 -04} {386478000 -14400 0 -04} - {402292800 -10800 1 -03} + {402292800 -10800 1 -04} {418014000 -14400 0 -04} - {433828800 -10800 1 -03} + {433828800 -10800 1 -04} {449636400 -14400 0 -04} - {465451200 -10800 1 -03} + {465451200 -10800 1 -04} {481172400 -14400 0 -04} - {496987200 -10800 1 -03} + {496987200 -10800 1 -04} {512708400 -14400 0 -04} - {528523200 -10800 1 -03} + {528523200 -10800 1 -04} {544244400 -14400 0 -04} - {560059200 -10800 1 -03} + {560059200 -10800 1 -04} {575866800 -14400 0 -04} - {591681600 -10800 1 -03} + {591681600 -10800 1 -04} {607402800 -14400 0 -04} - {625032000 -10800 1 -03} + {625032000 -10800 1 -04} {638938800 -14400 0 -04} - {654753600 -10800 1 -03} + {654753600 -10800 1 -04} {670474800 -14400 0 -04} - {686721600 -10800 1 -03} + {686721600 -10800 1 -04} {699418800 -14400 0 -04} - {718257600 -10800 1 -03} + {718257600 -10800 1 -04} {733546800 -14400 0 -04} - {749448000 -10800 1 -03} + {749448000 -10800 1 -04} {762318000 -14400 0 -04} - {780984000 -10800 1 -03} + {780984000 -10800 1 -04} {793767600 -14400 0 -04} - {812520000 -10800 1 -03} + {812520000 -10800 1 -04} {825649200 -14400 0 -04} - {844574400 -10800 1 -03} + {844574400 -10800 1 -04} {856666800 -14400 0 -04} - {876024000 -10800 1 -03} + {876024000 -10800 1 -04} {888721200 -14400 0 -04} - {907473600 -10800 1 -03} + {907473600 -10800 1 -04} {920775600 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {952225200 -14400 0 -04} - {970372800 -10800 1 -03} + {970372800 -10800 1 -04} {983674800 -14400 0 -04} - {1002427200 -10800 1 -03} + {1002427200 -10800 1 -04} {1018148400 -14400 0 -04} - {1030852800 -10800 1 -03} + {1030852800 -10800 1 -04} {1049598000 -14400 0 -04} - {1062907200 -10800 1 -03} + {1062907200 -10800 1 -04} {1081047600 -14400 0 -04} - {1097985600 -10800 1 -03} + {1097985600 -10800 1 -04} {1110682800 -14400 0 -04} - {1129435200 -10800 1 -03} + {1129435200 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192939200 -10800 1 -03} + {1192939200 -10800 1 -04} {1205031600 -14400 0 -04} - {1224388800 -10800 1 -03} + {1224388800 -10800 1 -04} {1236481200 -14400 0 -04} - {1255838400 -10800 1 -03} + {1255838400 -10800 1 -04} {1270954800 -14400 0 -04} - {1286078400 -10800 1 -03} + {1286078400 -10800 1 -04} {1302404400 -14400 0 -04} - {1317528000 -10800 1 -03} + {1317528000 -10800 1 -04} {1333854000 -14400 0 -04} - {1349582400 -10800 1 -03} + {1349582400 -10800 1 -04} {1364094000 -14400 0 -04} - {1381032000 -10800 1 -03} + {1381032000 -10800 1 -04} {1395543600 -14400 0 -04} - {1412481600 -10800 1 -03} + {1412481600 -10800 1 -04} {1426993200 -14400 0 -04} - {1443931200 -10800 1 -03} + {1443931200 -10800 1 -04} {1459047600 -14400 0 -04} - {1475380800 -10800 1 -03} + {1475380800 -10800 1 -04} {1490497200 -14400 0 -04} - {1506830400 -10800 1 -03} + {1506830400 -10800 1 -04} {1521946800 -14400 0 -04} - {1538884800 -10800 1 -03} + {1538884800 -10800 1 -04} {1553396400 -14400 0 -04} - {1570334400 -10800 1 -03} + {1570334400 -10800 1 -04} {1584846000 -14400 0 -04} - {1601784000 -10800 1 -03} + {1601784000 -10800 1 -04} {1616900400 -14400 0 -04} - {1633233600 -10800 1 -03} + {1633233600 -10800 1 -04} {1648350000 -14400 0 -04} - {1664683200 -10800 1 -03} + {1664683200 -10800 1 -04} {1679799600 -14400 0 -04} - {1696132800 -10800 1 -03} + {1696132800 -10800 1 -04} {1711249200 -14400 0 -04} - {1728187200 -10800 1 -03} + {1728187200 -10800 1 -04} {1742698800 -14400 0 -04} - {1759636800 -10800 1 -03} + {1759636800 -10800 1 -04} {1774148400 -14400 0 -04} - {1791086400 -10800 1 -03} + {1791086400 -10800 1 -04} {1806202800 -14400 0 -04} - {1822536000 -10800 1 -03} + {1822536000 -10800 1 -04} {1837652400 -14400 0 -04} - {1853985600 -10800 1 -03} + {1853985600 -10800 1 -04} {1869102000 -14400 0 -04} - {1886040000 -10800 1 -03} + {1886040000 -10800 1 -04} {1900551600 -14400 0 -04} - {1917489600 -10800 1 -03} + {1917489600 -10800 1 -04} {1932001200 -14400 0 -04} - {1948939200 -10800 1 -03} + {1948939200 -10800 1 -04} {1964055600 -14400 0 -04} - {1980388800 -10800 1 -03} + {1980388800 -10800 1 -04} {1995505200 -14400 0 -04} - {2011838400 -10800 1 -03} + {2011838400 -10800 1 -04} {2026954800 -14400 0 -04} - {2043288000 -10800 1 -03} + {2043288000 -10800 1 -04} {2058404400 -14400 0 -04} - {2075342400 -10800 1 -03} + {2075342400 -10800 1 -04} {2089854000 -14400 0 -04} - {2106792000 -10800 1 -03} + {2106792000 -10800 1 -04} {2121303600 -14400 0 -04} - {2138241600 -10800 1 -03} + {2138241600 -10800 1 -04} {2153358000 -14400 0 -04} - {2169691200 -10800 1 -03} + {2169691200 -10800 1 -04} {2184807600 -14400 0 -04} - {2201140800 -10800 1 -03} + {2201140800 -10800 1 -04} {2216257200 -14400 0 -04} - {2233195200 -10800 1 -03} + {2233195200 -10800 1 -04} {2247706800 -14400 0 -04} - {2264644800 -10800 1 -03} + {2264644800 -10800 1 -04} {2279156400 -14400 0 -04} - {2296094400 -10800 1 -03} + {2296094400 -10800 1 -04} {2310606000 -14400 0 -04} - {2327544000 -10800 1 -03} + {2327544000 -10800 1 -04} {2342660400 -14400 0 -04} - {2358993600 -10800 1 -03} + {2358993600 -10800 1 -04} {2374110000 -14400 0 -04} - {2390443200 -10800 1 -03} + {2390443200 -10800 1 -04} {2405559600 -14400 0 -04} - {2422497600 -10800 1 -03} + {2422497600 -10800 1 -04} {2437009200 -14400 0 -04} - {2453947200 -10800 1 -03} + {2453947200 -10800 1 -04} {2468458800 -14400 0 -04} - {2485396800 -10800 1 -03} + {2485396800 -10800 1 -04} {2500513200 -14400 0 -04} - {2516846400 -10800 1 -03} + {2516846400 -10800 1 -04} {2531962800 -14400 0 -04} - {2548296000 -10800 1 -03} + {2548296000 -10800 1 -04} {2563412400 -14400 0 -04} - {2579745600 -10800 1 -03} + {2579745600 -10800 1 -04} {2594862000 -14400 0 -04} - {2611800000 -10800 1 -03} + {2611800000 -10800 1 -04} {2626311600 -14400 0 -04} - {2643249600 -10800 1 -03} + {2643249600 -10800 1 -04} {2657761200 -14400 0 -04} - {2674699200 -10800 1 -03} + {2674699200 -10800 1 -04} {2689815600 -14400 0 -04} - {2706148800 -10800 1 -03} + {2706148800 -10800 1 -04} {2721265200 -14400 0 -04} - {2737598400 -10800 1 -03} + {2737598400 -10800 1 -04} {2752714800 -14400 0 -04} - {2769652800 -10800 1 -03} + {2769652800 -10800 1 -04} {2784164400 -14400 0 -04} - {2801102400 -10800 1 -03} + {2801102400 -10800 1 -04} {2815614000 -14400 0 -04} - {2832552000 -10800 1 -03} + {2832552000 -10800 1 -04} {2847668400 -14400 0 -04} - {2864001600 -10800 1 -03} + {2864001600 -10800 1 -04} {2879118000 -14400 0 -04} - {2895451200 -10800 1 -03} + {2895451200 -10800 1 -04} {2910567600 -14400 0 -04} - {2926900800 -10800 1 -03} + {2926900800 -10800 1 -04} {2942017200 -14400 0 -04} - {2958955200 -10800 1 -03} + {2958955200 -10800 1 -04} {2973466800 -14400 0 -04} - {2990404800 -10800 1 -03} + {2990404800 -10800 1 -04} {3004916400 -14400 0 -04} - {3021854400 -10800 1 -03} + {3021854400 -10800 1 -04} {3036970800 -14400 0 -04} - {3053304000 -10800 1 -03} + {3053304000 -10800 1 -04} {3068420400 -14400 0 -04} - {3084753600 -10800 1 -03} + {3084753600 -10800 1 -04} {3099870000 -14400 0 -04} - {3116808000 -10800 1 -03} + {3116808000 -10800 1 -04} {3131319600 -14400 0 -04} - {3148257600 -10800 1 -03} + {3148257600 -10800 1 -04} {3162769200 -14400 0 -04} - {3179707200 -10800 1 -03} + {3179707200 -10800 1 -04} {3194218800 -14400 0 -04} - {3211156800 -10800 1 -03} + {3211156800 -10800 1 -04} {3226273200 -14400 0 -04} - {3242606400 -10800 1 -03} + {3242606400 -10800 1 -04} {3257722800 -14400 0 -04} - {3274056000 -10800 1 -03} + {3274056000 -10800 1 -04} {3289172400 -14400 0 -04} - {3306110400 -10800 1 -03} + {3306110400 -10800 1 -04} {3320622000 -14400 0 -04} - {3337560000 -10800 1 -03} + {3337560000 -10800 1 -04} {3352071600 -14400 0 -04} - {3369009600 -10800 1 -03} + {3369009600 -10800 1 -04} {3384126000 -14400 0 -04} - {3400459200 -10800 1 -03} + {3400459200 -10800 1 -04} {3415575600 -14400 0 -04} - {3431908800 -10800 1 -03} + {3431908800 -10800 1 -04} {3447025200 -14400 0 -04} - {3463358400 -10800 1 -03} + {3463358400 -10800 1 -04} {3478474800 -14400 0 -04} - {3495412800 -10800 1 -03} + {3495412800 -10800 1 -04} {3509924400 -14400 0 -04} - {3526862400 -10800 1 -03} + {3526862400 -10800 1 -04} {3541374000 -14400 0 -04} - {3558312000 -10800 1 -03} + {3558312000 -10800 1 -04} {3573428400 -14400 0 -04} - {3589761600 -10800 1 -03} + {3589761600 -10800 1 -04} {3604878000 -14400 0 -04} - {3621211200 -10800 1 -03} + {3621211200 -10800 1 -04} {3636327600 -14400 0 -04} - {3653265600 -10800 1 -03} + {3653265600 -10800 1 -04} {3667777200 -14400 0 -04} - {3684715200 -10800 1 -03} + {3684715200 -10800 1 -04} {3699226800 -14400 0 -04} - {3716164800 -10800 1 -03} + {3716164800 -10800 1 -04} {3731281200 -14400 0 -04} - {3747614400 -10800 1 -03} + {3747614400 -10800 1 -04} {3762730800 -14400 0 -04} - {3779064000 -10800 1 -03} + {3779064000 -10800 1 -04} {3794180400 -14400 0 -04} - {3810513600 -10800 1 -03} + {3810513600 -10800 1 -04} {3825630000 -14400 0 -04} - {3842568000 -10800 1 -03} + {3842568000 -10800 1 -04} {3857079600 -14400 0 -04} - {3874017600 -10800 1 -03} + {3874017600 -10800 1 -04} {3888529200 -14400 0 -04} - {3905467200 -10800 1 -03} + {3905467200 -10800 1 -04} {3920583600 -14400 0 -04} - {3936916800 -10800 1 -03} + {3936916800 -10800 1 -04} {3952033200 -14400 0 -04} - {3968366400 -10800 1 -03} + {3968366400 -10800 1 -04} {3983482800 -14400 0 -04} - {4000420800 -10800 1 -03} + {4000420800 -10800 1 -04} {4014932400 -14400 0 -04} - {4031870400 -10800 1 -03} + {4031870400 -10800 1 -04} {4046382000 -14400 0 -04} - {4063320000 -10800 1 -03} + {4063320000 -10800 1 -04} {4077831600 -14400 0 -04} - {4094769600 -10800 1 -03} + {4094769600 -10800 1 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Bahia b/amd64/lib/tcl8.6/tzdata/America/Bahia index 7dbcb90..7aaf834 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Bahia +++ b/amd64/lib/tcl8.6/tzdata/America/Bahia @@ -3,66 +3,66 @@ set TZData(:America/Bahia) { {-9223372036854775808 -9244 0 LMT} {-1767216356 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {666756000 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {697600800 -10800 0 -03} - {719982000 -7200 1 -02} + {719982000 -7200 1 -03} {728445600 -10800 0 -03} - {750826800 -7200 1 -02} + {750826800 -7200 1 -03} {761709600 -10800 0 -03} - {782276400 -7200 1 -02} + {782276400 -7200 1 -03} {793159200 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} - {844570800 -7200 1 -02} + {844570800 -7200 1 -03} {856058400 -10800 0 -03} - {876106800 -7200 1 -02} + {876106800 -7200 1 -03} {888717600 -10800 0 -03} - {908074800 -7200 1 -02} + {908074800 -7200 1 -03} {919562400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {982461600 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} - {1036292400 -7200 1 -02} + {1036292400 -7200 1 -03} {1045360800 -10800 0 -03} {1064368800 -10800 0 -03} - {1318734000 -7200 0 -02} + {1318734000 -7200 0 -03} {1330221600 -10800 0 -03} {1350784800 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Belem b/amd64/lib/tcl8.6/tzdata/America/Belem index b2bf3a6..42a3ec5 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Belem +++ b/amd64/lib/tcl8.6/tzdata/America/Belem @@ -3,33 +3,33 @@ set TZData(:America/Belem) { {-9223372036854775808 -11636 0 LMT} {-1767213964 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} {590032800 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Boa_Vista b/amd64/lib/tcl8.6/tzdata/America/Boa_Vista index 982249b..0af989e 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Boa_Vista +++ b/amd64/lib/tcl8.6/tzdata/America/Boa_Vista @@ -3,38 +3,38 @@ set TZData(:America/Boa_Vista) { {-9223372036854775808 -14560 0 LMT} {-1767211040 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} {938664000 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {951620400 -14400 0 -04} - {970977600 -10800 1 -03} + {970977600 -10800 1 -04} {971578800 -14400 0 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Bogota b/amd64/lib/tcl8.6/tzdata/America/Bogota index 69e4557..8ca39ba 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Bogota +++ b/amd64/lib/tcl8.6/tzdata/America/Bogota @@ -4,6 +4,6 @@ set TZData(:America/Bogota) { {-9223372036854775808 -17776 0 LMT} {-2707671824 -17776 0 BMT} {-1739041424 -18000 0 -05} - {704869200 -14400 1 -04} + {704869200 -14400 1 -05} {733896000 -18000 0 -05} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Campo_Grande b/amd64/lib/tcl8.6/tzdata/America/Campo_Grande index 77cb4d1..5ec7112 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Campo_Grande +++ b/amd64/lib/tcl8.6/tzdata/America/Campo_Grande @@ -3,255 +3,255 @@ set TZData(:America/Campo_Grande) { {-9223372036854775808 -13108 0 LMT} {-1767212492 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} - {592977600 -10800 1 -03} + {592977600 -10800 1 -04} {602046000 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {634705200 -14400 0 -04} - {656481600 -10800 1 -03} + {656481600 -10800 1 -04} {666759600 -14400 0 -04} - {687931200 -10800 1 -03} + {687931200 -10800 1 -04} {697604400 -14400 0 -04} - {719985600 -10800 1 -03} + {719985600 -10800 1 -04} {728449200 -14400 0 -04} - {750830400 -10800 1 -03} + {750830400 -10800 1 -04} {761713200 -14400 0 -04} - {782280000 -10800 1 -03} + {782280000 -10800 1 -04} {793162800 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {824007600 -14400 0 -04} - {844574400 -10800 1 -03} + {844574400 -10800 1 -04} {856062000 -14400 0 -04} - {876110400 -10800 1 -03} + {876110400 -10800 1 -04} {888721200 -14400 0 -04} - {908078400 -10800 1 -03} + {908078400 -10800 1 -04} {919566000 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {951620400 -14400 0 -04} - {970977600 -10800 1 -03} + {970977600 -10800 1 -04} {982465200 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1013914800 -14400 0 -04} - {1036296000 -10800 1 -03} + {1036296000 -10800 1 -04} {1045364400 -14400 0 -04} - {1066536000 -10800 1 -03} + {1066536000 -10800 1 -04} {1076814000 -14400 0 -04} - {1099368000 -10800 1 -03} + {1099368000 -10800 1 -04} {1108868400 -14400 0 -04} - {1129435200 -10800 1 -03} + {1129435200 -10800 1 -04} {1140318000 -14400 0 -04} - {1162699200 -10800 1 -03} + {1162699200 -10800 1 -04} {1172372400 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1203217200 -14400 0 -04} - {1224388800 -10800 1 -03} + {1224388800 -10800 1 -04} {1234666800 -14400 0 -04} - {1255838400 -10800 1 -03} + {1255838400 -10800 1 -04} {1266721200 -14400 0 -04} - {1287288000 -10800 1 -03} + {1287288000 -10800 1 -04} {1298170800 -14400 0 -04} - {1318737600 -10800 1 -03} + {1318737600 -10800 1 -04} {1330225200 -14400 0 -04} - {1350792000 -10800 1 -03} + {1350792000 -10800 1 -04} {1361070000 -14400 0 -04} - {1382241600 -10800 1 -03} + {1382241600 -10800 1 -04} {1392519600 -14400 0 -04} - {1413691200 -10800 1 -03} + {1413691200 -10800 1 -04} {1424574000 -14400 0 -04} - {1445140800 -10800 1 -03} + {1445140800 -10800 1 -04} {1456023600 -14400 0 -04} - {1476590400 -10800 1 -03} + {1476590400 -10800 1 -04} {1487473200 -14400 0 -04} - {1508040000 -10800 1 -03} + {1508040000 -10800 1 -04} {1518922800 -14400 0 -04} - {1540094400 -10800 1 -03} + {1541304000 -10800 1 -04} {1550372400 -14400 0 -04} - {1571544000 -10800 1 -03} + {1572753600 -10800 1 -04} {1581822000 -14400 0 -04} - {1602993600 -10800 1 -03} + {1604203200 -10800 1 -04} {1613876400 -14400 0 -04} - {1634443200 -10800 1 -03} + {1636257600 -10800 1 -04} {1645326000 -14400 0 -04} - {1665892800 -10800 1 -03} + {1667707200 -10800 1 -04} {1677380400 -14400 0 -04} - {1697342400 -10800 1 -03} + {1699156800 -10800 1 -04} {1708225200 -14400 0 -04} - {1729396800 -10800 1 -03} + {1730606400 -10800 1 -04} {1739674800 -14400 0 -04} - {1760846400 -10800 1 -03} + {1762056000 -10800 1 -04} {1771729200 -14400 0 -04} - {1792296000 -10800 1 -03} + {1793505600 -10800 1 -04} {1803178800 -14400 0 -04} - {1823745600 -10800 1 -03} + {1825560000 -10800 1 -04} {1834628400 -14400 0 -04} - {1855195200 -10800 1 -03} + {1857009600 -10800 1 -04} {1866078000 -14400 0 -04} - {1887249600 -10800 1 -03} + {1888459200 -10800 1 -04} {1897527600 -14400 0 -04} - {1918699200 -10800 1 -03} + {1919908800 -10800 1 -04} {1928977200 -14400 0 -04} - {1950148800 -10800 1 -03} + {1951358400 -10800 1 -04} {1960426800 -14400 0 -04} - {1981598400 -10800 1 -03} + {1983412800 -10800 1 -04} {1992481200 -14400 0 -04} - {2013048000 -10800 1 -03} + {2014862400 -10800 1 -04} {2024535600 -14400 0 -04} - {2044497600 -10800 1 -03} + {2046312000 -10800 1 -04} {2055380400 -14400 0 -04} - {2076552000 -10800 1 -03} + {2077761600 -10800 1 -04} {2086830000 -14400 0 -04} - {2108001600 -10800 1 -03} + {2109211200 -10800 1 -04} {2118884400 -14400 0 -04} - {2139451200 -10800 1 -03} + {2140660800 -10800 1 -04} {2150334000 -14400 0 -04} - {2170900800 -10800 1 -03} + {2172715200 -10800 1 -04} {2181783600 -14400 0 -04} - {2202350400 -10800 1 -03} + {2204164800 -10800 1 -04} {2213233200 -14400 0 -04} - {2234404800 -10800 1 -03} + {2235614400 -10800 1 -04} {2244682800 -14400 0 -04} - {2265854400 -10800 1 -03} + {2267064000 -10800 1 -04} {2276132400 -14400 0 -04} - {2297304000 -10800 1 -03} + {2298513600 -10800 1 -04} {2307582000 -14400 0 -04} - {2328753600 -10800 1 -03} + {2329963200 -10800 1 -04} {2339636400 -14400 0 -04} - {2360203200 -10800 1 -03} + {2362017600 -10800 1 -04} {2371086000 -14400 0 -04} - {2391652800 -10800 1 -03} + {2393467200 -10800 1 -04} {2402535600 -14400 0 -04} - {2423707200 -10800 1 -03} + {2424916800 -10800 1 -04} {2433985200 -14400 0 -04} - {2455156800 -10800 1 -03} + {2456366400 -10800 1 -04} {2465434800 -14400 0 -04} - {2486606400 -10800 1 -03} + {2487816000 -10800 1 -04} {2497489200 -14400 0 -04} - {2518056000 -10800 1 -03} + {2519870400 -10800 1 -04} {2528938800 -14400 0 -04} - {2549505600 -10800 1 -03} + {2551320000 -10800 1 -04} {2560388400 -14400 0 -04} - {2580955200 -10800 1 -03} + {2582769600 -10800 1 -04} {2591838000 -14400 0 -04} - {2613009600 -10800 1 -03} + {2614219200 -10800 1 -04} {2623287600 -14400 0 -04} - {2644459200 -10800 1 -03} + {2645668800 -10800 1 -04} {2654737200 -14400 0 -04} - {2675908800 -10800 1 -03} + {2677118400 -10800 1 -04} {2686791600 -14400 0 -04} - {2707358400 -10800 1 -03} + {2709172800 -10800 1 -04} {2718241200 -14400 0 -04} - {2738808000 -10800 1 -03} + {2740622400 -10800 1 -04} {2749690800 -14400 0 -04} - {2770862400 -10800 1 -03} + {2772072000 -10800 1 -04} {2781140400 -14400 0 -04} - {2802312000 -10800 1 -03} + {2803521600 -10800 1 -04} {2812590000 -14400 0 -04} - {2833761600 -10800 1 -03} + {2834971200 -10800 1 -04} {2844039600 -14400 0 -04} - {2865211200 -10800 1 -03} + {2867025600 -10800 1 -04} {2876094000 -14400 0 -04} - {2896660800 -10800 1 -03} + {2898475200 -10800 1 -04} {2907543600 -14400 0 -04} - {2928110400 -10800 1 -03} + {2929924800 -10800 1 -04} {2938993200 -14400 0 -04} - {2960164800 -10800 1 -03} + {2961374400 -10800 1 -04} {2970442800 -14400 0 -04} - {2991614400 -10800 1 -03} + {2992824000 -10800 1 -04} {3001892400 -14400 0 -04} - {3023064000 -10800 1 -03} + {3024273600 -10800 1 -04} {3033946800 -14400 0 -04} - {3054513600 -10800 1 -03} + {3056328000 -10800 1 -04} {3065396400 -14400 0 -04} - {3085963200 -10800 1 -03} + {3087777600 -10800 1 -04} {3096846000 -14400 0 -04} - {3118017600 -10800 1 -03} + {3119227200 -10800 1 -04} {3128295600 -14400 0 -04} - {3149467200 -10800 1 -03} + {3150676800 -10800 1 -04} {3159745200 -14400 0 -04} - {3180916800 -10800 1 -03} + {3182126400 -10800 1 -04} {3191194800 -14400 0 -04} - {3212366400 -10800 1 -03} + {3213576000 -10800 1 -04} {3223249200 -14400 0 -04} - {3243816000 -10800 1 -03} + {3245630400 -10800 1 -04} {3254698800 -14400 0 -04} - {3275265600 -10800 1 -03} + {3277080000 -10800 1 -04} {3286148400 -14400 0 -04} - {3307320000 -10800 1 -03} + {3308529600 -10800 1 -04} {3317598000 -14400 0 -04} - {3338769600 -10800 1 -03} + {3339979200 -10800 1 -04} {3349047600 -14400 0 -04} - {3370219200 -10800 1 -03} + {3371428800 -10800 1 -04} {3381102000 -14400 0 -04} - {3401668800 -10800 1 -03} + {3403483200 -10800 1 -04} {3412551600 -14400 0 -04} - {3433118400 -10800 1 -03} + {3434932800 -10800 1 -04} {3444001200 -14400 0 -04} - {3464568000 -10800 1 -03} + {3466382400 -10800 1 -04} {3475450800 -14400 0 -04} - {3496622400 -10800 1 -03} + {3497832000 -10800 1 -04} {3506900400 -14400 0 -04} - {3528072000 -10800 1 -03} + {3529281600 -10800 1 -04} {3538350000 -14400 0 -04} - {3559521600 -10800 1 -03} + {3560731200 -10800 1 -04} {3570404400 -14400 0 -04} - {3590971200 -10800 1 -03} + {3592785600 -10800 1 -04} {3601854000 -14400 0 -04} - {3622420800 -10800 1 -03} + {3624235200 -10800 1 -04} {3633303600 -14400 0 -04} - {3654475200 -10800 1 -03} + {3655684800 -10800 1 -04} {3664753200 -14400 0 -04} - {3685924800 -10800 1 -03} + {3687134400 -10800 1 -04} {3696202800 -14400 0 -04} - {3717374400 -10800 1 -03} + {3718584000 -10800 1 -04} {3727652400 -14400 0 -04} - {3748824000 -10800 1 -03} + {3750638400 -10800 1 -04} {3759706800 -14400 0 -04} - {3780273600 -10800 1 -03} + {3782088000 -10800 1 -04} {3791156400 -14400 0 -04} - {3811723200 -10800 1 -03} + {3813537600 -10800 1 -04} {3822606000 -14400 0 -04} - {3843777600 -10800 1 -03} + {3844987200 -10800 1 -04} {3854055600 -14400 0 -04} - {3875227200 -10800 1 -03} + {3876436800 -10800 1 -04} {3885505200 -14400 0 -04} - {3906676800 -10800 1 -03} + {3907886400 -10800 1 -04} {3917559600 -14400 0 -04} - {3938126400 -10800 1 -03} + {3939940800 -10800 1 -04} {3949009200 -14400 0 -04} - {3969576000 -10800 1 -03} + {3971390400 -10800 1 -04} {3980458800 -14400 0 -04} - {4001630400 -10800 1 -03} + {4002840000 -10800 1 -04} {4011908400 -14400 0 -04} - {4033080000 -10800 1 -03} + {4034289600 -10800 1 -04} {4043358000 -14400 0 -04} - {4064529600 -10800 1 -03} + {4065739200 -10800 1 -04} {4074807600 -14400 0 -04} - {4095979200 -10800 1 -03} + {4097188800 -10800 1 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Cuiaba b/amd64/lib/tcl8.6/tzdata/America/Cuiaba index 57cd38c..09f5b1f 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Cuiaba +++ b/amd64/lib/tcl8.6/tzdata/America/Cuiaba @@ -3,255 +3,255 @@ set TZData(:America/Cuiaba) { {-9223372036854775808 -13460 0 LMT} {-1767212140 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} - {592977600 -10800 1 -03} + {592977600 -10800 1 -04} {602046000 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {634705200 -14400 0 -04} - {656481600 -10800 1 -03} + {656481600 -10800 1 -04} {666759600 -14400 0 -04} - {687931200 -10800 1 -03} + {687931200 -10800 1 -04} {697604400 -14400 0 -04} - {719985600 -10800 1 -03} + {719985600 -10800 1 -04} {728449200 -14400 0 -04} - {750830400 -10800 1 -03} + {750830400 -10800 1 -04} {761713200 -14400 0 -04} - {782280000 -10800 1 -03} + {782280000 -10800 1 -04} {793162800 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {824007600 -14400 0 -04} - {844574400 -10800 1 -03} + {844574400 -10800 1 -04} {856062000 -14400 0 -04} - {876110400 -10800 1 -03} + {876110400 -10800 1 -04} {888721200 -14400 0 -04} - {908078400 -10800 1 -03} + {908078400 -10800 1 -04} {919566000 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {951620400 -14400 0 -04} - {970977600 -10800 1 -03} + {970977600 -10800 1 -04} {982465200 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1013914800 -14400 0 -04} - {1036296000 -10800 1 -03} + {1036296000 -10800 1 -04} {1045364400 -14400 0 -04} {1064372400 -14400 0 -04} {1096603200 -14400 0 -04} - {1099368000 -10800 1 -03} + {1099368000 -10800 1 -04} {1108868400 -14400 0 -04} - {1129435200 -10800 1 -03} + {1129435200 -10800 1 -04} {1140318000 -14400 0 -04} - {1162699200 -10800 1 -03} + {1162699200 -10800 1 -04} {1172372400 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1203217200 -14400 0 -04} - {1224388800 -10800 1 -03} + {1224388800 -10800 1 -04} {1234666800 -14400 0 -04} - {1255838400 -10800 1 -03} + {1255838400 -10800 1 -04} {1266721200 -14400 0 -04} - {1287288000 -10800 1 -03} + {1287288000 -10800 1 -04} {1298170800 -14400 0 -04} - {1318737600 -10800 1 -03} + {1318737600 -10800 1 -04} {1330225200 -14400 0 -04} - {1350792000 -10800 1 -03} + {1350792000 -10800 1 -04} {1361070000 -14400 0 -04} - {1382241600 -10800 1 -03} + {1382241600 -10800 1 -04} {1392519600 -14400 0 -04} - {1413691200 -10800 1 -03} + {1413691200 -10800 1 -04} {1424574000 -14400 0 -04} - {1445140800 -10800 1 -03} + {1445140800 -10800 1 -04} {1456023600 -14400 0 -04} - {1476590400 -10800 1 -03} + {1476590400 -10800 1 -04} {1487473200 -14400 0 -04} - {1508040000 -10800 1 -03} + {1508040000 -10800 1 -04} {1518922800 -14400 0 -04} - {1540094400 -10800 1 -03} + {1541304000 -10800 1 -04} {1550372400 -14400 0 -04} - {1571544000 -10800 1 -03} + {1572753600 -10800 1 -04} {1581822000 -14400 0 -04} - {1602993600 -10800 1 -03} + {1604203200 -10800 1 -04} {1613876400 -14400 0 -04} - {1634443200 -10800 1 -03} + {1636257600 -10800 1 -04} {1645326000 -14400 0 -04} - {1665892800 -10800 1 -03} + {1667707200 -10800 1 -04} {1677380400 -14400 0 -04} - {1697342400 -10800 1 -03} + {1699156800 -10800 1 -04} {1708225200 -14400 0 -04} - {1729396800 -10800 1 -03} + {1730606400 -10800 1 -04} {1739674800 -14400 0 -04} - {1760846400 -10800 1 -03} + {1762056000 -10800 1 -04} {1771729200 -14400 0 -04} - {1792296000 -10800 1 -03} + {1793505600 -10800 1 -04} {1803178800 -14400 0 -04} - {1823745600 -10800 1 -03} + {1825560000 -10800 1 -04} {1834628400 -14400 0 -04} - {1855195200 -10800 1 -03} + {1857009600 -10800 1 -04} {1866078000 -14400 0 -04} - {1887249600 -10800 1 -03} + {1888459200 -10800 1 -04} {1897527600 -14400 0 -04} - {1918699200 -10800 1 -03} + {1919908800 -10800 1 -04} {1928977200 -14400 0 -04} - {1950148800 -10800 1 -03} + {1951358400 -10800 1 -04} {1960426800 -14400 0 -04} - {1981598400 -10800 1 -03} + {1983412800 -10800 1 -04} {1992481200 -14400 0 -04} - {2013048000 -10800 1 -03} + {2014862400 -10800 1 -04} {2024535600 -14400 0 -04} - {2044497600 -10800 1 -03} + {2046312000 -10800 1 -04} {2055380400 -14400 0 -04} - {2076552000 -10800 1 -03} + {2077761600 -10800 1 -04} {2086830000 -14400 0 -04} - {2108001600 -10800 1 -03} + {2109211200 -10800 1 -04} {2118884400 -14400 0 -04} - {2139451200 -10800 1 -03} + {2140660800 -10800 1 -04} {2150334000 -14400 0 -04} - {2170900800 -10800 1 -03} + {2172715200 -10800 1 -04} {2181783600 -14400 0 -04} - {2202350400 -10800 1 -03} + {2204164800 -10800 1 -04} {2213233200 -14400 0 -04} - {2234404800 -10800 1 -03} + {2235614400 -10800 1 -04} {2244682800 -14400 0 -04} - {2265854400 -10800 1 -03} + {2267064000 -10800 1 -04} {2276132400 -14400 0 -04} - {2297304000 -10800 1 -03} + {2298513600 -10800 1 -04} {2307582000 -14400 0 -04} - {2328753600 -10800 1 -03} + {2329963200 -10800 1 -04} {2339636400 -14400 0 -04} - {2360203200 -10800 1 -03} + {2362017600 -10800 1 -04} {2371086000 -14400 0 -04} - {2391652800 -10800 1 -03} + {2393467200 -10800 1 -04} {2402535600 -14400 0 -04} - {2423707200 -10800 1 -03} + {2424916800 -10800 1 -04} {2433985200 -14400 0 -04} - {2455156800 -10800 1 -03} + {2456366400 -10800 1 -04} {2465434800 -14400 0 -04} - {2486606400 -10800 1 -03} + {2487816000 -10800 1 -04} {2497489200 -14400 0 -04} - {2518056000 -10800 1 -03} + {2519870400 -10800 1 -04} {2528938800 -14400 0 -04} - {2549505600 -10800 1 -03} + {2551320000 -10800 1 -04} {2560388400 -14400 0 -04} - {2580955200 -10800 1 -03} + {2582769600 -10800 1 -04} {2591838000 -14400 0 -04} - {2613009600 -10800 1 -03} + {2614219200 -10800 1 -04} {2623287600 -14400 0 -04} - {2644459200 -10800 1 -03} + {2645668800 -10800 1 -04} {2654737200 -14400 0 -04} - {2675908800 -10800 1 -03} + {2677118400 -10800 1 -04} {2686791600 -14400 0 -04} - {2707358400 -10800 1 -03} + {2709172800 -10800 1 -04} {2718241200 -14400 0 -04} - {2738808000 -10800 1 -03} + {2740622400 -10800 1 -04} {2749690800 -14400 0 -04} - {2770862400 -10800 1 -03} + {2772072000 -10800 1 -04} {2781140400 -14400 0 -04} - {2802312000 -10800 1 -03} + {2803521600 -10800 1 -04} {2812590000 -14400 0 -04} - {2833761600 -10800 1 -03} + {2834971200 -10800 1 -04} {2844039600 -14400 0 -04} - {2865211200 -10800 1 -03} + {2867025600 -10800 1 -04} {2876094000 -14400 0 -04} - {2896660800 -10800 1 -03} + {2898475200 -10800 1 -04} {2907543600 -14400 0 -04} - {2928110400 -10800 1 -03} + {2929924800 -10800 1 -04} {2938993200 -14400 0 -04} - {2960164800 -10800 1 -03} + {2961374400 -10800 1 -04} {2970442800 -14400 0 -04} - {2991614400 -10800 1 -03} + {2992824000 -10800 1 -04} {3001892400 -14400 0 -04} - {3023064000 -10800 1 -03} + {3024273600 -10800 1 -04} {3033946800 -14400 0 -04} - {3054513600 -10800 1 -03} + {3056328000 -10800 1 -04} {3065396400 -14400 0 -04} - {3085963200 -10800 1 -03} + {3087777600 -10800 1 -04} {3096846000 -14400 0 -04} - {3118017600 -10800 1 -03} + {3119227200 -10800 1 -04} {3128295600 -14400 0 -04} - {3149467200 -10800 1 -03} + {3150676800 -10800 1 -04} {3159745200 -14400 0 -04} - {3180916800 -10800 1 -03} + {3182126400 -10800 1 -04} {3191194800 -14400 0 -04} - {3212366400 -10800 1 -03} + {3213576000 -10800 1 -04} {3223249200 -14400 0 -04} - {3243816000 -10800 1 -03} + {3245630400 -10800 1 -04} {3254698800 -14400 0 -04} - {3275265600 -10800 1 -03} + {3277080000 -10800 1 -04} {3286148400 -14400 0 -04} - {3307320000 -10800 1 -03} + {3308529600 -10800 1 -04} {3317598000 -14400 0 -04} - {3338769600 -10800 1 -03} + {3339979200 -10800 1 -04} {3349047600 -14400 0 -04} - {3370219200 -10800 1 -03} + {3371428800 -10800 1 -04} {3381102000 -14400 0 -04} - {3401668800 -10800 1 -03} + {3403483200 -10800 1 -04} {3412551600 -14400 0 -04} - {3433118400 -10800 1 -03} + {3434932800 -10800 1 -04} {3444001200 -14400 0 -04} - {3464568000 -10800 1 -03} + {3466382400 -10800 1 -04} {3475450800 -14400 0 -04} - {3496622400 -10800 1 -03} + {3497832000 -10800 1 -04} {3506900400 -14400 0 -04} - {3528072000 -10800 1 -03} + {3529281600 -10800 1 -04} {3538350000 -14400 0 -04} - {3559521600 -10800 1 -03} + {3560731200 -10800 1 -04} {3570404400 -14400 0 -04} - {3590971200 -10800 1 -03} + {3592785600 -10800 1 -04} {3601854000 -14400 0 -04} - {3622420800 -10800 1 -03} + {3624235200 -10800 1 -04} {3633303600 -14400 0 -04} - {3654475200 -10800 1 -03} + {3655684800 -10800 1 -04} {3664753200 -14400 0 -04} - {3685924800 -10800 1 -03} + {3687134400 -10800 1 -04} {3696202800 -14400 0 -04} - {3717374400 -10800 1 -03} + {3718584000 -10800 1 -04} {3727652400 -14400 0 -04} - {3748824000 -10800 1 -03} + {3750638400 -10800 1 -04} {3759706800 -14400 0 -04} - {3780273600 -10800 1 -03} + {3782088000 -10800 1 -04} {3791156400 -14400 0 -04} - {3811723200 -10800 1 -03} + {3813537600 -10800 1 -04} {3822606000 -14400 0 -04} - {3843777600 -10800 1 -03} + {3844987200 -10800 1 -04} {3854055600 -14400 0 -04} - {3875227200 -10800 1 -03} + {3876436800 -10800 1 -04} {3885505200 -14400 0 -04} - {3906676800 -10800 1 -03} + {3907886400 -10800 1 -04} {3917559600 -14400 0 -04} - {3938126400 -10800 1 -03} + {3939940800 -10800 1 -04} {3949009200 -14400 0 -04} - {3969576000 -10800 1 -03} + {3971390400 -10800 1 -04} {3980458800 -14400 0 -04} - {4001630400 -10800 1 -03} + {4002840000 -10800 1 -04} {4011908400 -14400 0 -04} - {4033080000 -10800 1 -03} + {4034289600 -10800 1 -04} {4043358000 -14400 0 -04} - {4064529600 -10800 1 -03} + {4065739200 -10800 1 -04} {4074807600 -14400 0 -04} - {4095979200 -10800 1 -03} + {4097188800 -10800 1 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Eirunepe b/amd64/lib/tcl8.6/tzdata/America/Eirunepe index 41b4cc9..a81b09e 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Eirunepe +++ b/amd64/lib/tcl8.6/tzdata/America/Eirunepe @@ -3,37 +3,37 @@ set TZData(:America/Eirunepe) { {-9223372036854775808 -16768 0 LMT} {-1767208832 -18000 0 -05} - {-1206950400 -14400 1 -04} + {-1206950400 -14400 1 -05} {-1191355200 -18000 0 -05} - {-1175367600 -14400 1 -04} + {-1175367600 -14400 1 -05} {-1159819200 -18000 0 -05} - {-633812400 -14400 1 -04} + {-633812400 -14400 1 -05} {-622062000 -18000 0 -05} - {-602276400 -14400 1 -04} + {-602276400 -14400 1 -05} {-591825600 -18000 0 -05} - {-570740400 -14400 1 -04} + {-570740400 -14400 1 -05} {-560203200 -18000 0 -05} - {-539118000 -14400 1 -04} + {-539118000 -14400 1 -05} {-531345600 -18000 0 -05} - {-191358000 -14400 1 -04} + {-191358000 -14400 1 -05} {-184190400 -18000 0 -05} - {-155156400 -14400 1 -04} + {-155156400 -14400 1 -05} {-150062400 -18000 0 -05} - {-128890800 -14400 1 -04} + {-128890800 -14400 1 -05} {-121118400 -18000 0 -05} - {-99946800 -14400 1 -04} + {-99946800 -14400 1 -05} {-89582400 -18000 0 -05} - {-68410800 -14400 1 -04} + {-68410800 -14400 1 -05} {-57960000 -18000 0 -05} - {499755600 -14400 1 -04} + {499755600 -14400 1 -05} {511243200 -18000 0 -05} - {530600400 -14400 1 -04} + {530600400 -14400 1 -05} {540273600 -18000 0 -05} - {562136400 -14400 1 -04} + {562136400 -14400 1 -05} {571204800 -18000 0 -05} {590040000 -18000 0 -05} {749192400 -18000 0 -05} - {750834000 -14400 1 -04} + {750834000 -14400 1 -05} {761716800 -18000 0 -05} {780206400 -18000 0 -05} {1214283600 -14400 0 -04} diff --git a/amd64/lib/tcl8.6/tzdata/America/Fortaleza b/amd64/lib/tcl8.6/tzdata/America/Fortaleza index 06c7b84..bd806f1 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Fortaleza +++ b/amd64/lib/tcl8.6/tzdata/America/Fortaleza @@ -3,46 +3,46 @@ set TZData(:America/Fortaleza) { {-9223372036854775808 -9240 0 LMT} {-1767216360 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {938660400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {972180000 -10800 0 -03} {1000350000 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} {1033437600 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Grand_Turk b/amd64/lib/tcl8.6/tzdata/America/Grand_Turk index c963adc..da5f09b 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Grand_Turk +++ b/amd64/lib/tcl8.6/tzdata/America/Grand_Turk @@ -2,8 +2,8 @@ set TZData(:America/Grand_Turk) { {-9223372036854775808 -17072 0 LMT} - {-2524504528 -18431 0 KMT} - {-1827687169 -18000 0 EST} + {-2524504528 -18430 0 KMT} + {-1827687170 -18000 0 EST} {284014800 -18000 0 EST} {294217200 -14400 1 EDT} {309938400 -18000 0 EST} diff --git a/amd64/lib/tcl8.6/tzdata/America/Guayaquil b/amd64/lib/tcl8.6/tzdata/America/Guayaquil index 353eb69..6ba7b93 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Guayaquil +++ b/amd64/lib/tcl8.6/tzdata/America/Guayaquil @@ -4,6 +4,6 @@ set TZData(:America/Guayaquil) { {-9223372036854775808 -19160 0 LMT} {-2524502440 -18840 0 QMT} {-1230749160 -18000 0 -05} - {722926800 -14400 1 -04} + {722926800 -14400 1 -05} {728884800 -18000 0 -05} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Jamaica b/amd64/lib/tcl8.6/tzdata/America/Jamaica index f752842..0f758bd 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Jamaica +++ b/amd64/lib/tcl8.6/tzdata/America/Jamaica @@ -1,9 +1,9 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Jamaica) { - {-9223372036854775808 -18431 0 LMT} - {-2524503169 -18431 0 KMT} - {-1827687169 -18000 0 EST} + {-9223372036854775808 -18430 0 LMT} + {-2524503170 -18430 0 KMT} + {-1827687170 -18000 0 EST} {126248400 -18000 0 EST} {126687600 -14400 1 EDT} {152085600 -18000 0 EST} diff --git a/amd64/lib/tcl8.6/tzdata/America/La_Paz b/amd64/lib/tcl8.6/tzdata/America/La_Paz index a245afd..ea2f711 100644 --- a/amd64/lib/tcl8.6/tzdata/America/La_Paz +++ b/amd64/lib/tcl8.6/tzdata/America/La_Paz @@ -3,6 +3,6 @@ set TZData(:America/La_Paz) { {-9223372036854775808 -16356 0 LMT} {-2524505244 -16356 0 CMT} - {-1205954844 -12756 1 BOST} + {-1205954844 -12756 1 BST} {-1192307244 -14400 0 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Lima b/amd64/lib/tcl8.6/tzdata/America/Lima index b224a64..e8b69d6 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Lima +++ b/amd64/lib/tcl8.6/tzdata/America/Lima @@ -3,11 +3,11 @@ set TZData(:America/Lima) { {-9223372036854775808 -18492 0 LMT} {-2524503108 -18516 0 LMT} - {-1938538284 -14400 0 -04} + {-1938538284 -14400 0 -05} {-1002052800 -18000 0 -05} - {-986756400 -14400 1 -04} + {-986756400 -14400 1 -05} {-971035200 -18000 0 -05} - {-955306800 -14400 1 -04} + {-955306800 -14400 1 -05} {-939585600 -18000 0 -05} {512712000 -18000 0 -05} {544248000 -18000 0 -05} diff --git a/amd64/lib/tcl8.6/tzdata/America/Maceio b/amd64/lib/tcl8.6/tzdata/America/Maceio index e6ed548..eab534e 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Maceio +++ b/amd64/lib/tcl8.6/tzdata/America/Maceio @@ -3,50 +3,50 @@ set TZData(:America/Maceio) { {-9223372036854775808 -8572 0 LMT} {-1767217028 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {813553200 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} {841802400 -10800 0 -03} {938660400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {972180000 -10800 0 -03} {1000350000 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} {1033437600 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Manaus b/amd64/lib/tcl8.6/tzdata/America/Manaus index f17023c..a855062 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Manaus +++ b/amd64/lib/tcl8.6/tzdata/America/Manaus @@ -3,37 +3,37 @@ set TZData(:America/Manaus) { {-9223372036854775808 -14404 0 LMT} {-1767211196 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} {749188800 -14400 0 -04} - {750830400 -10800 1 -03} + {750830400 -10800 1 -04} {761713200 -14400 0 -04} {780202800 -14400 0 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Montevideo b/amd64/lib/tcl8.6/tzdata/America/Montevideo index ff85fb3..27fb76e 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Montevideo +++ b/amd64/lib/tcl8.6/tzdata/America/Montevideo @@ -1,96 +1,96 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Montevideo) { - {-9223372036854775808 -13484 0 LMT} - {-2256668116 -13484 0 MMT} - {-1567455316 -12600 0 -0330} - {-1459542600 -10800 1 -03} + {-9223372036854775808 -13491 0 LMT} + {-1942690509 -13491 0 MMT} + {-1567455309 -14400 0 -04} + {-1459627200 -10800 0 -0330} {-1443819600 -12600 0 -0330} - {-1428006600 -10800 1 -03} + {-1428006600 -10800 1 -0330} {-1412283600 -12600 0 -0330} - {-1396470600 -10800 1 -03} + {-1396470600 -10800 1 -0330} {-1380747600 -12600 0 -0330} - {-1141590600 -10800 1 -03} + {-1141590600 -10800 1 -0330} {-1128286800 -12600 0 -0330} - {-1110141000 -10800 1 -03} + {-1110141000 -10800 1 -0330} {-1096837200 -12600 0 -0330} - {-1078691400 -10800 1 -03} + {-1078691400 -10800 1 -0330} {-1065387600 -12600 0 -0330} - {-1046637000 -10800 1 -03} + {-1047241800 -10800 1 -0330} {-1033938000 -12600 0 -0330} - {-1015187400 -10800 1 -03} + {-1015187400 -10800 1 -0330} {-1002488400 -12600 0 -0330} - {-983737800 -10800 1 -03} + {-983737800 -10800 1 -0330} {-971038800 -12600 0 -0330} - {-952288200 -10800 1 -03} + {-954707400 -10800 1 -0330} {-938984400 -12600 0 -0330} - {-920838600 -10800 1 -03} + {-920838600 -10800 1 -0330} {-907534800 -12600 0 -0330} - {-896819400 -10800 1 -03} - {-853623000 -10800 0 -03} - {-853621200 -7200 1 -02} - {-845848800 -10800 0 -03} - {-334789200 -7200 1 -02} - {-319672800 -10800 0 -03} - {-314226000 -7200 1 -02} + {-896819400 -10800 1 -0330} + {-853621200 -9000 0 -03} + {-845847000 -10800 0 -03} + {-334789200 -9000 1 -03} + {-319671000 -10800 0 -03} + {-315608400 -10800 0 -03} + {-314226000 -7200 1 -03} {-309996000 -10800 0 -03} - {-149720400 -7200 1 -02} + {-149720400 -7200 1 -03} {-134604000 -10800 0 -03} - {-118270800 -7200 1 -02} - {-100044000 -10800 0 -03} - {-86821200 -7200 1 -02} - {-68508000 -10800 0 -03} {-63147600 -10800 0 -03} - {-50446800 -9000 1 -0230} - {-34119000 -10800 0 -03} - {-18910800 -9000 1 -0230} - {-2583000 -10800 0 -03} - {12625200 -9000 1 -0230} - {28953000 -10800 0 -03} - {31546800 -10800 0 -03} - {72932400 -7200 1 -02} - {82692000 -10800 0 -03} + {-50446800 -9000 1 -03} + {-34205400 -10800 0 -03} + {10800 -10800 0 -03} + {9860400 -7200 1 -03} + {14176800 -10800 0 -03} + {72846000 -7200 1 -03} + {80100000 -10800 0 -03} {126241200 -10800 0 -03} - {132116400 -9000 1 -0230} - {156909600 -9000 0 -02} - {156911400 -7200 1 -02} - {212983200 -10800 0 -03} - {250052400 -7200 1 -02} - {260244000 -10800 0 -03} - {307594800 -7200 1 -02} - {325994400 -10800 0 -03} - {566449200 -7200 1 -02} - {574308000 -10800 0 -03} - {597812400 -7200 1 -02} - {605671200 -10800 0 -03} - {625633200 -7200 1 -02} - {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {127278000 -5400 1 -03} + {132112800 -9000 0 -03} + {147234600 -10800 0 -03} + {156909600 -10800 0 -03} + {156913200 -7200 1 -03} + {165376800 -10800 0 -03} + {219812400 -7200 1 -03} + {226461600 -10800 0 -03} + {250052400 -7200 1 -03} + {257911200 -10800 0 -03} + {282711600 -7200 1 -03} + {289360800 -10800 0 -03} + {294202800 -7200 1 -03} + {322020000 -10800 0 -03} + {566449200 -7200 1 -03} + {573012000 -10800 0 -03} + {597812400 -7200 1 -03} + {605066400 -10800 0 -03} + {625633200 -7200 1 -03} + {635911200 -10800 0 -03} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {688532400 -7200 1 -02} + {688532400 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {730864800 -10800 0 -03} - {1095562800 -7200 1 -02} + {1095562800 -7200 1 -03} {1111896000 -10800 0 -03} - {1128834000 -7200 1 -02} + {1128834000 -7200 1 -03} {1142136000 -10800 0 -03} - {1159678800 -7200 1 -02} + {1159678800 -7200 1 -03} {1173585600 -10800 0 -03} - {1191733200 -7200 1 -02} + {1191733200 -7200 1 -03} {1205035200 -10800 0 -03} - {1223182800 -7200 1 -02} + {1223182800 -7200 1 -03} {1236484800 -10800 0 -03} - {1254632400 -7200 1 -02} + {1254632400 -7200 1 -03} {1268539200 -10800 0 -03} - {1286082000 -7200 1 -02} + {1286082000 -7200 1 -03} {1299988800 -10800 0 -03} - {1317531600 -7200 1 -02} + {1317531600 -7200 1 -03} {1331438400 -10800 0 -03} - {1349586000 -7200 1 -02} + {1349586000 -7200 1 -03} {1362888000 -10800 0 -03} - {1381035600 -7200 1 -02} + {1381035600 -7200 1 -03} {1394337600 -10800 0 -03} - {1412485200 -7200 1 -02} + {1412485200 -7200 1 -03} {1425787200 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Noronha b/amd64/lib/tcl8.6/tzdata/America/Noronha index f24b412..01fb745 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Noronha +++ b/amd64/lib/tcl8.6/tzdata/America/Noronha @@ -3,46 +3,46 @@ set TZData(:America/Noronha) { {-9223372036854775808 -7780 0 LMT} {-1767217820 -7200 0 -02} - {-1206961200 -3600 1 -01} + {-1206961200 -3600 1 -02} {-1191366000 -7200 0 -02} - {-1175378400 -3600 1 -01} + {-1175378400 -3600 1 -02} {-1159830000 -7200 0 -02} - {-633823200 -3600 1 -01} + {-633823200 -3600 1 -02} {-622072800 -7200 0 -02} - {-602287200 -3600 1 -01} + {-602287200 -3600 1 -02} {-591836400 -7200 0 -02} - {-570751200 -3600 1 -01} + {-570751200 -3600 1 -02} {-560214000 -7200 0 -02} - {-539128800 -3600 1 -01} + {-539128800 -3600 1 -02} {-531356400 -7200 0 -02} - {-191368800 -3600 1 -01} + {-191368800 -3600 1 -02} {-184201200 -7200 0 -02} - {-155167200 -3600 1 -01} + {-155167200 -3600 1 -02} {-150073200 -7200 0 -02} - {-128901600 -3600 1 -01} + {-128901600 -3600 1 -02} {-121129200 -7200 0 -02} - {-99957600 -3600 1 -01} + {-99957600 -3600 1 -02} {-89593200 -7200 0 -02} - {-68421600 -3600 1 -01} + {-68421600 -3600 1 -02} {-57970800 -7200 0 -02} - {499744800 -3600 1 -01} + {499744800 -3600 1 -02} {511232400 -7200 0 -02} - {530589600 -3600 1 -01} + {530589600 -3600 1 -02} {540262800 -7200 0 -02} - {562125600 -3600 1 -01} + {562125600 -3600 1 -02} {571194000 -7200 0 -02} - {592970400 -3600 1 -01} + {592970400 -3600 1 -02} {602038800 -7200 0 -02} - {624420000 -3600 1 -01} + {624420000 -3600 1 -02} {634698000 -7200 0 -02} {653533200 -7200 0 -02} {938656800 -7200 0 -02} - {938916000 -3600 1 -01} + {938916000 -3600 1 -02} {951613200 -7200 0 -02} - {970970400 -3600 1 -01} + {970970400 -3600 1 -02} {971571600 -7200 0 -02} {1000346400 -7200 0 -02} - {1003024800 -3600 1 -01} + {1003024800 -3600 1 -02} {1013907600 -7200 0 -02} {1033434000 -7200 0 -02} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Porto_Velho b/amd64/lib/tcl8.6/tzdata/America/Porto_Velho index 42566ad..8d7c8fd 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Porto_Velho +++ b/amd64/lib/tcl8.6/tzdata/America/Porto_Velho @@ -3,33 +3,33 @@ set TZData(:America/Porto_Velho) { {-9223372036854775808 -15336 0 LMT} {-1767210264 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Punta_Arenas b/amd64/lib/tcl8.6/tzdata/America/Punta_Arenas index 75487e7..5e8202a 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Punta_Arenas +++ b/amd64/lib/tcl8.6/tzdata/America/Punta_Arenas @@ -8,115 +8,115 @@ set TZData(:America/Punta_Arenas) { {-1619205434 -14400 0 -04} {-1593806400 -16966 0 SMT} {-1335986234 -18000 0 -05} - {-1335985200 -14400 1 -04} + {-1335985200 -14400 1 -05} {-1317585600 -18000 0 -05} - {-1304362800 -14400 1 -04} + {-1304362800 -14400 1 -05} {-1286049600 -18000 0 -05} - {-1272826800 -14400 1 -04} + {-1272826800 -14400 1 -05} {-1254513600 -18000 0 -05} - {-1241290800 -14400 1 -04} + {-1241290800 -14400 1 -05} {-1222977600 -18000 0 -05} - {-1209754800 -14400 1 -04} + {-1209754800 -14400 1 -05} {-1191355200 -18000 0 -05} {-1178132400 -14400 0 -04} {-870552000 -18000 0 -05} {-865278000 -14400 0 -04} {-718056000 -18000 0 -05} {-713649600 -14400 0 -04} - {-36619200 -10800 1 -03} + {-36619200 -10800 1 -04} {-23922000 -14400 0 -04} - {-3355200 -10800 1 -03} + {-3355200 -10800 1 -04} {7527600 -14400 0 -04} - {24465600 -10800 1 -03} + {24465600 -10800 1 -04} {37767600 -14400 0 -04} - {55915200 -10800 1 -03} + {55915200 -10800 1 -04} {69217200 -14400 0 -04} - {87969600 -10800 1 -03} + {87969600 -10800 1 -04} {100666800 -14400 0 -04} - {118209600 -10800 1 -03} + {118209600 -10800 1 -04} {132116400 -14400 0 -04} - {150868800 -10800 1 -03} + {150868800 -10800 1 -04} {163566000 -14400 0 -04} - {182318400 -10800 1 -03} + {182318400 -10800 1 -04} {195620400 -14400 0 -04} - {213768000 -10800 1 -03} + {213768000 -10800 1 -04} {227070000 -14400 0 -04} - {245217600 -10800 1 -03} + {245217600 -10800 1 -04} {258519600 -14400 0 -04} - {277272000 -10800 1 -03} + {277272000 -10800 1 -04} {289969200 -14400 0 -04} - {308721600 -10800 1 -03} + {308721600 -10800 1 -04} {321418800 -14400 0 -04} - {340171200 -10800 1 -03} + {340171200 -10800 1 -04} {353473200 -14400 0 -04} - {371620800 -10800 1 -03} + {371620800 -10800 1 -04} {384922800 -14400 0 -04} - {403070400 -10800 1 -03} + {403070400 -10800 1 -04} {416372400 -14400 0 -04} - {434520000 -10800 1 -03} + {434520000 -10800 1 -04} {447822000 -14400 0 -04} - {466574400 -10800 1 -03} + {466574400 -10800 1 -04} {479271600 -14400 0 -04} - {498024000 -10800 1 -03} + {498024000 -10800 1 -04} {510721200 -14400 0 -04} - {529473600 -10800 1 -03} + {529473600 -10800 1 -04} {545194800 -14400 0 -04} - {560923200 -10800 1 -03} + {560923200 -10800 1 -04} {574225200 -14400 0 -04} - {592372800 -10800 1 -03} + {592372800 -10800 1 -04} {605674800 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {637124400 -14400 0 -04} - {653457600 -10800 1 -03} + {653457600 -10800 1 -04} {668574000 -14400 0 -04} - {687326400 -10800 1 -03} + {687326400 -10800 1 -04} {700628400 -14400 0 -04} - {718776000 -10800 1 -03} + {718776000 -10800 1 -04} {732078000 -14400 0 -04} - {750225600 -10800 1 -03} + {750225600 -10800 1 -04} {763527600 -14400 0 -04} - {781675200 -10800 1 -03} + {781675200 -10800 1 -04} {794977200 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {826426800 -14400 0 -04} - {845179200 -10800 1 -03} + {845179200 -10800 1 -04} {859690800 -14400 0 -04} - {876628800 -10800 1 -03} + {876628800 -10800 1 -04} {889930800 -14400 0 -04} - {906868800 -10800 1 -03} + {906868800 -10800 1 -04} {923194800 -14400 0 -04} - {939528000 -10800 1 -03} + {939528000 -10800 1 -04} {952830000 -14400 0 -04} - {971582400 -10800 1 -03} + {971582400 -10800 1 -04} {984279600 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1015729200 -14400 0 -04} - {1034481600 -10800 1 -03} + {1034481600 -10800 1 -04} {1047178800 -14400 0 -04} - {1065931200 -10800 1 -03} + {1065931200 -10800 1 -04} {1079233200 -14400 0 -04} - {1097380800 -10800 1 -03} + {1097380800 -10800 1 -04} {1110682800 -14400 0 -04} - {1128830400 -10800 1 -03} + {1128830400 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1206846000 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1237086000 -14400 0 -04} - {1255233600 -10800 1 -03} + {1255233600 -10800 1 -04} {1270350000 -14400 0 -04} - {1286683200 -10800 1 -03} + {1286683200 -10800 1 -04} {1304823600 -14400 0 -04} - {1313899200 -10800 1 -03} + {1313899200 -10800 1 -04} {1335668400 -14400 0 -04} - {1346558400 -10800 1 -03} + {1346558400 -10800 1 -04} {1367118000 -14400 0 -04} - {1378612800 -10800 1 -03} + {1378612800 -10800 1 -04} {1398567600 -14400 0 -04} - {1410062400 -10800 1 -03} + {1410062400 -10800 1 -04} {1463281200 -14400 0 -04} - {1471147200 -10800 1 -03} + {1471147200 -10800 1 -04} {1480820400 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Recife b/amd64/lib/tcl8.6/tzdata/America/Recife index 8eae571..db0a445 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Recife +++ b/amd64/lib/tcl8.6/tzdata/America/Recife @@ -3,46 +3,46 @@ set TZData(:America/Recife) { {-9223372036854775808 -8376 0 LMT} {-1767217224 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {938660400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {971575200 -10800 0 -03} {1000350000 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} {1033437600 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Rio_Branco b/amd64/lib/tcl8.6/tzdata/America/Rio_Branco index e3c2f31..088800b 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Rio_Branco +++ b/amd64/lib/tcl8.6/tzdata/America/Rio_Branco @@ -3,33 +3,33 @@ set TZData(:America/Rio_Branco) { {-9223372036854775808 -16272 0 LMT} {-1767209328 -18000 0 -05} - {-1206950400 -14400 1 -04} + {-1206950400 -14400 1 -05} {-1191355200 -18000 0 -05} - {-1175367600 -14400 1 -04} + {-1175367600 -14400 1 -05} {-1159819200 -18000 0 -05} - {-633812400 -14400 1 -04} + {-633812400 -14400 1 -05} {-622062000 -18000 0 -05} - {-602276400 -14400 1 -04} + {-602276400 -14400 1 -05} {-591825600 -18000 0 -05} - {-570740400 -14400 1 -04} + {-570740400 -14400 1 -05} {-560203200 -18000 0 -05} - {-539118000 -14400 1 -04} + {-539118000 -14400 1 -05} {-531345600 -18000 0 -05} - {-191358000 -14400 1 -04} + {-191358000 -14400 1 -05} {-184190400 -18000 0 -05} - {-155156400 -14400 1 -04} + {-155156400 -14400 1 -05} {-150062400 -18000 0 -05} - {-128890800 -14400 1 -04} + {-128890800 -14400 1 -05} {-121118400 -18000 0 -05} - {-99946800 -14400 1 -04} + {-99946800 -14400 1 -05} {-89582400 -18000 0 -05} - {-68410800 -14400 1 -04} + {-68410800 -14400 1 -05} {-57960000 -18000 0 -05} - {499755600 -14400 1 -04} + {499755600 -14400 1 -05} {511243200 -18000 0 -05} - {530600400 -14400 1 -04} + {530600400 -14400 1 -05} {540273600 -18000 0 -05} - {562136400 -14400 1 -04} + {562136400 -14400 1 -05} {571204800 -18000 0 -05} {590040000 -18000 0 -05} {1214283600 -14400 0 -04} diff --git a/amd64/lib/tcl8.6/tzdata/America/Santarem b/amd64/lib/tcl8.6/tzdata/America/Santarem index f81e9b6..5fa3551 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Santarem +++ b/amd64/lib/tcl8.6/tzdata/America/Santarem @@ -3,33 +3,33 @@ set TZData(:America/Santarem) { {-9223372036854775808 -13128 0 LMT} {-1767212472 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} {1214280000 -10800 0 -03} diff --git a/amd64/lib/tcl8.6/tzdata/America/Santiago b/amd64/lib/tcl8.6/tzdata/America/Santiago index 95e920d..55212b9 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Santiago +++ b/amd64/lib/tcl8.6/tzdata/America/Santiago @@ -8,15 +8,15 @@ set TZData(:America/Santiago) { {-1619205434 -14400 0 -04} {-1593806400 -16966 0 SMT} {-1335986234 -18000 0 -05} - {-1335985200 -14400 1 -04} + {-1335985200 -14400 1 -05} {-1317585600 -18000 0 -05} - {-1304362800 -14400 1 -04} + {-1304362800 -14400 1 -05} {-1286049600 -18000 0 -05} - {-1272826800 -14400 1 -04} + {-1272826800 -14400 1 -05} {-1254513600 -18000 0 -05} - {-1241290800 -14400 1 -04} + {-1241290800 -14400 1 -05} {-1222977600 -18000 0 -05} - {-1209754800 -14400 1 -04} + {-1209754800 -14400 1 -05} {-1191355200 -18000 0 -05} {-1178132400 -14400 0 -04} {-870552000 -18000 0 -05} @@ -25,265 +25,265 @@ set TZData(:America/Santiago) { {-736376400 -14400 0 -04} {-718056000 -18000 0 -05} {-713649600 -14400 0 -04} - {-36619200 -10800 1 -03} + {-36619200 -10800 1 -04} {-23922000 -14400 0 -04} - {-3355200 -10800 1 -03} + {-3355200 -10800 1 -04} {7527600 -14400 0 -04} - {24465600 -10800 1 -03} + {24465600 -10800 1 -04} {37767600 -14400 0 -04} - {55915200 -10800 1 -03} + {55915200 -10800 1 -04} {69217200 -14400 0 -04} - {87969600 -10800 1 -03} + {87969600 -10800 1 -04} {100666800 -14400 0 -04} - {118209600 -10800 1 -03} + {118209600 -10800 1 -04} {132116400 -14400 0 -04} - {150868800 -10800 1 -03} + {150868800 -10800 1 -04} {163566000 -14400 0 -04} - {182318400 -10800 1 -03} + {182318400 -10800 1 -04} {195620400 -14400 0 -04} - {213768000 -10800 1 -03} + {213768000 -10800 1 -04} {227070000 -14400 0 -04} - {245217600 -10800 1 -03} + {245217600 -10800 1 -04} {258519600 -14400 0 -04} - {277272000 -10800 1 -03} + {277272000 -10800 1 -04} {289969200 -14400 0 -04} - {308721600 -10800 1 -03} + {308721600 -10800 1 -04} {321418800 -14400 0 -04} - {340171200 -10800 1 -03} + {340171200 -10800 1 -04} {353473200 -14400 0 -04} - {371620800 -10800 1 -03} + {371620800 -10800 1 -04} {384922800 -14400 0 -04} - {403070400 -10800 1 -03} + {403070400 -10800 1 -04} {416372400 -14400 0 -04} - {434520000 -10800 1 -03} + {434520000 -10800 1 -04} {447822000 -14400 0 -04} - {466574400 -10800 1 -03} + {466574400 -10800 1 -04} {479271600 -14400 0 -04} - {498024000 -10800 1 -03} + {498024000 -10800 1 -04} {510721200 -14400 0 -04} - {529473600 -10800 1 -03} + {529473600 -10800 1 -04} {545194800 -14400 0 -04} - {560923200 -10800 1 -03} + {560923200 -10800 1 -04} {574225200 -14400 0 -04} - {592372800 -10800 1 -03} + {592372800 -10800 1 -04} {605674800 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {637124400 -14400 0 -04} - {653457600 -10800 1 -03} + {653457600 -10800 1 -04} {668574000 -14400 0 -04} - {687326400 -10800 1 -03} + {687326400 -10800 1 -04} {700628400 -14400 0 -04} - {718776000 -10800 1 -03} + {718776000 -10800 1 -04} {732078000 -14400 0 -04} - {750225600 -10800 1 -03} + {750225600 -10800 1 -04} {763527600 -14400 0 -04} - {781675200 -10800 1 -03} + {781675200 -10800 1 -04} {794977200 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {826426800 -14400 0 -04} - {845179200 -10800 1 -03} + {845179200 -10800 1 -04} {859690800 -14400 0 -04} - {876628800 -10800 1 -03} + {876628800 -10800 1 -04} {889930800 -14400 0 -04} - {906868800 -10800 1 -03} + {906868800 -10800 1 -04} {923194800 -14400 0 -04} - {939528000 -10800 1 -03} + {939528000 -10800 1 -04} {952830000 -14400 0 -04} - {971582400 -10800 1 -03} + {971582400 -10800 1 -04} {984279600 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1015729200 -14400 0 -04} - {1034481600 -10800 1 -03} + {1034481600 -10800 1 -04} {1047178800 -14400 0 -04} - {1065931200 -10800 1 -03} + {1065931200 -10800 1 -04} {1079233200 -14400 0 -04} - {1097380800 -10800 1 -03} + {1097380800 -10800 1 -04} {1110682800 -14400 0 -04} - {1128830400 -10800 1 -03} + {1128830400 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1206846000 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1237086000 -14400 0 -04} - {1255233600 -10800 1 -03} + {1255233600 -10800 1 -04} {1270350000 -14400 0 -04} - {1286683200 -10800 1 -03} + {1286683200 -10800 1 -04} {1304823600 -14400 0 -04} - {1313899200 -10800 1 -03} + {1313899200 -10800 1 -04} {1335668400 -14400 0 -04} - {1346558400 -10800 1 -03} + {1346558400 -10800 1 -04} {1367118000 -14400 0 -04} - {1378612800 -10800 1 -03} + {1378612800 -10800 1 -04} {1398567600 -14400 0 -04} - {1410062400 -10800 1 -03} + {1410062400 -10800 1 -04} {1463281200 -14400 0 -04} - {1471147200 -10800 1 -03} + {1471147200 -10800 1 -04} {1494730800 -14400 0 -04} - {1502596800 -10800 1 -03} + {1502596800 -10800 1 -04} {1526180400 -14400 0 -04} - {1534046400 -10800 1 -03} - {1557630000 -14400 0 -04} - {1565496000 -10800 1 -03} - {1589079600 -14400 0 -04} - {1596945600 -10800 1 -03} - {1620529200 -14400 0 -04} - {1629000000 -10800 1 -03} - {1652583600 -14400 0 -04} - {1660449600 -10800 1 -03} - {1684033200 -14400 0 -04} - {1691899200 -10800 1 -03} - {1715482800 -14400 0 -04} - {1723348800 -10800 1 -03} - {1746932400 -14400 0 -04} - {1754798400 -10800 1 -03} - {1778382000 -14400 0 -04} - {1786248000 -10800 1 -03} - {1809831600 -14400 0 -04} - {1818302400 -10800 1 -03} - {1841886000 -14400 0 -04} - {1849752000 -10800 1 -03} - {1873335600 -14400 0 -04} - {1881201600 -10800 1 -03} - {1904785200 -14400 0 -04} - {1912651200 -10800 1 -03} - {1936234800 -14400 0 -04} - {1944100800 -10800 1 -03} - {1967684400 -14400 0 -04} - {1976155200 -10800 1 -03} - {1999738800 -14400 0 -04} - {2007604800 -10800 1 -03} - {2031188400 -14400 0 -04} - {2039054400 -10800 1 -03} - {2062638000 -14400 0 -04} - {2070504000 -10800 1 -03} - {2094087600 -14400 0 -04} - {2101953600 -10800 1 -03} - {2125537200 -14400 0 -04} - {2133403200 -10800 1 -03} - {2156986800 -14400 0 -04} - {2165457600 -10800 1 -03} - {2189041200 -14400 0 -04} - {2196907200 -10800 1 -03} - {2220490800 -14400 0 -04} - {2228356800 -10800 1 -03} - {2251940400 -14400 0 -04} - {2259806400 -10800 1 -03} - {2283390000 -14400 0 -04} - {2291256000 -10800 1 -03} - {2314839600 -14400 0 -04} - {2322705600 -10800 1 -03} - {2346894000 -14400 0 -04} - {2354760000 -10800 1 -03} - {2378343600 -14400 0 -04} - {2386209600 -10800 1 -03} - {2409793200 -14400 0 -04} - {2417659200 -10800 1 -03} - {2441242800 -14400 0 -04} - {2449108800 -10800 1 -03} - {2472692400 -14400 0 -04} - {2480558400 -10800 1 -03} - {2504142000 -14400 0 -04} - {2512612800 -10800 1 -03} - {2536196400 -14400 0 -04} - {2544062400 -10800 1 -03} - {2567646000 -14400 0 -04} - {2575512000 -10800 1 -03} - {2599095600 -14400 0 -04} - {2606961600 -10800 1 -03} - {2630545200 -14400 0 -04} - {2638411200 -10800 1 -03} - {2661994800 -14400 0 -04} - {2669860800 -10800 1 -03} - {2693444400 -14400 0 -04} - {2701915200 -10800 1 -03} - {2725498800 -14400 0 -04} - {2733364800 -10800 1 -03} - {2756948400 -14400 0 -04} - {2764814400 -10800 1 -03} - {2788398000 -14400 0 -04} - {2796264000 -10800 1 -03} - {2819847600 -14400 0 -04} - {2827713600 -10800 1 -03} - {2851297200 -14400 0 -04} - {2859768000 -10800 1 -03} - {2883351600 -14400 0 -04} - {2891217600 -10800 1 -03} - {2914801200 -14400 0 -04} - {2922667200 -10800 1 -03} - {2946250800 -14400 0 -04} - {2954116800 -10800 1 -03} - {2977700400 -14400 0 -04} - {2985566400 -10800 1 -03} - {3009150000 -14400 0 -04} - {3017016000 -10800 1 -03} - {3040599600 -14400 0 -04} - {3049070400 -10800 1 -03} - {3072654000 -14400 0 -04} - {3080520000 -10800 1 -03} - {3104103600 -14400 0 -04} - {3111969600 -10800 1 -03} - {3135553200 -14400 0 -04} - {3143419200 -10800 1 -03} - {3167002800 -14400 0 -04} - {3174868800 -10800 1 -03} - {3198452400 -14400 0 -04} - {3206318400 -10800 1 -03} - {3230506800 -14400 0 -04} - {3238372800 -10800 1 -03} - {3261956400 -14400 0 -04} - {3269822400 -10800 1 -03} - {3293406000 -14400 0 -04} - {3301272000 -10800 1 -03} - {3324855600 -14400 0 -04} - {3332721600 -10800 1 -03} - {3356305200 -14400 0 -04} - {3364171200 -10800 1 -03} - {3387754800 -14400 0 -04} - {3396225600 -10800 1 -03} - {3419809200 -14400 0 -04} - {3427675200 -10800 1 -03} - {3451258800 -14400 0 -04} - {3459124800 -10800 1 -03} - {3482708400 -14400 0 -04} - {3490574400 -10800 1 -03} - {3514158000 -14400 0 -04} - {3522024000 -10800 1 -03} - {3545607600 -14400 0 -04} - {3553473600 -10800 1 -03} - {3577057200 -14400 0 -04} - {3585528000 -10800 1 -03} - {3609111600 -14400 0 -04} - {3616977600 -10800 1 -03} - {3640561200 -14400 0 -04} - {3648427200 -10800 1 -03} - {3672010800 -14400 0 -04} - {3679876800 -10800 1 -03} - {3703460400 -14400 0 -04} - {3711326400 -10800 1 -03} - {3734910000 -14400 0 -04} - {3743380800 -10800 1 -03} - {3766964400 -14400 0 -04} - {3774830400 -10800 1 -03} - {3798414000 -14400 0 -04} - {3806280000 -10800 1 -03} - {3829863600 -14400 0 -04} - {3837729600 -10800 1 -03} - {3861313200 -14400 0 -04} - {3869179200 -10800 1 -03} - {3892762800 -14400 0 -04} - {3900628800 -10800 1 -03} - {3924212400 -14400 0 -04} - {3932683200 -10800 1 -03} - {3956266800 -14400 0 -04} - {3964132800 -10800 1 -03} - {3987716400 -14400 0 -04} - {3995582400 -10800 1 -03} - {4019166000 -14400 0 -04} - {4027032000 -10800 1 -03} - {4050615600 -14400 0 -04} - {4058481600 -10800 1 -03} - {4082065200 -14400 0 -04} - {4089931200 -10800 1 -03} + {1534046400 -10800 1 -04} + {1554606000 -14400 0 -04} + {1567915200 -10800 1 -04} + {1586055600 -14400 0 -04} + {1599364800 -10800 1 -04} + {1617505200 -14400 0 -04} + {1630814400 -10800 1 -04} + {1648954800 -14400 0 -04} + {1662264000 -10800 1 -04} + {1680404400 -14400 0 -04} + {1693713600 -10800 1 -04} + {1712458800 -14400 0 -04} + {1725768000 -10800 1 -04} + {1743908400 -14400 0 -04} + {1757217600 -10800 1 -04} + {1775358000 -14400 0 -04} + {1788667200 -10800 1 -04} + {1806807600 -14400 0 -04} + {1820116800 -10800 1 -04} + {1838257200 -14400 0 -04} + {1851566400 -10800 1 -04} + {1870311600 -14400 0 -04} + {1883016000 -10800 1 -04} + {1901761200 -14400 0 -04} + {1915070400 -10800 1 -04} + {1933210800 -14400 0 -04} + {1946520000 -10800 1 -04} + {1964660400 -14400 0 -04} + {1977969600 -10800 1 -04} + {1996110000 -14400 0 -04} + {2009419200 -10800 1 -04} + {2027559600 -14400 0 -04} + {2040868800 -10800 1 -04} + {2059614000 -14400 0 -04} + {2072318400 -10800 1 -04} + {2091063600 -14400 0 -04} + {2104372800 -10800 1 -04} + {2122513200 -14400 0 -04} + {2135822400 -10800 1 -04} + {2153962800 -14400 0 -04} + {2167272000 -10800 1 -04} + {2185412400 -14400 0 -04} + {2198721600 -10800 1 -04} + {2217466800 -14400 0 -04} + {2230171200 -10800 1 -04} + {2248916400 -14400 0 -04} + {2262225600 -10800 1 -04} + {2280366000 -14400 0 -04} + {2293675200 -10800 1 -04} + {2311815600 -14400 0 -04} + {2325124800 -10800 1 -04} + {2343265200 -14400 0 -04} + {2356574400 -10800 1 -04} + {2374714800 -14400 0 -04} + {2388024000 -10800 1 -04} + {2406769200 -14400 0 -04} + {2419473600 -10800 1 -04} + {2438218800 -14400 0 -04} + {2451528000 -10800 1 -04} + {2469668400 -14400 0 -04} + {2482977600 -10800 1 -04} + {2501118000 -14400 0 -04} + {2514427200 -10800 1 -04} + {2532567600 -14400 0 -04} + {2545876800 -10800 1 -04} + {2564017200 -14400 0 -04} + {2577326400 -10800 1 -04} + {2596071600 -14400 0 -04} + {2609380800 -10800 1 -04} + {2627521200 -14400 0 -04} + {2640830400 -10800 1 -04} + {2658970800 -14400 0 -04} + {2672280000 -10800 1 -04} + {2690420400 -14400 0 -04} + {2703729600 -10800 1 -04} + {2721870000 -14400 0 -04} + {2735179200 -10800 1 -04} + {2753924400 -14400 0 -04} + {2766628800 -10800 1 -04} + {2785374000 -14400 0 -04} + {2798683200 -10800 1 -04} + {2816823600 -14400 0 -04} + {2830132800 -10800 1 -04} + {2848273200 -14400 0 -04} + {2861582400 -10800 1 -04} + {2879722800 -14400 0 -04} + {2893032000 -10800 1 -04} + {2911172400 -14400 0 -04} + {2924481600 -10800 1 -04} + {2943226800 -14400 0 -04} + {2955931200 -10800 1 -04} + {2974676400 -14400 0 -04} + {2987985600 -10800 1 -04} + {3006126000 -14400 0 -04} + {3019435200 -10800 1 -04} + {3037575600 -14400 0 -04} + {3050884800 -10800 1 -04} + {3069025200 -14400 0 -04} + {3082334400 -10800 1 -04} + {3101079600 -14400 0 -04} + {3113784000 -10800 1 -04} + {3132529200 -14400 0 -04} + {3145838400 -10800 1 -04} + {3163978800 -14400 0 -04} + {3177288000 -10800 1 -04} + {3195428400 -14400 0 -04} + {3208737600 -10800 1 -04} + {3226878000 -14400 0 -04} + {3240187200 -10800 1 -04} + {3258327600 -14400 0 -04} + {3271636800 -10800 1 -04} + {3290382000 -14400 0 -04} + {3303086400 -10800 1 -04} + {3321831600 -14400 0 -04} + {3335140800 -10800 1 -04} + {3353281200 -14400 0 -04} + {3366590400 -10800 1 -04} + {3384730800 -14400 0 -04} + {3398040000 -10800 1 -04} + {3416180400 -14400 0 -04} + {3429489600 -10800 1 -04} + {3447630000 -14400 0 -04} + {3460939200 -10800 1 -04} + {3479684400 -14400 0 -04} + {3492993600 -10800 1 -04} + {3511134000 -14400 0 -04} + {3524443200 -10800 1 -04} + {3542583600 -14400 0 -04} + {3555892800 -10800 1 -04} + {3574033200 -14400 0 -04} + {3587342400 -10800 1 -04} + {3605482800 -14400 0 -04} + {3618792000 -10800 1 -04} + {3637537200 -14400 0 -04} + {3650241600 -10800 1 -04} + {3668986800 -14400 0 -04} + {3682296000 -10800 1 -04} + {3700436400 -14400 0 -04} + {3713745600 -10800 1 -04} + {3731886000 -14400 0 -04} + {3745195200 -10800 1 -04} + {3763335600 -14400 0 -04} + {3776644800 -10800 1 -04} + {3794785200 -14400 0 -04} + {3808094400 -10800 1 -04} + {3826839600 -14400 0 -04} + {3839544000 -10800 1 -04} + {3858289200 -14400 0 -04} + {3871598400 -10800 1 -04} + {3889738800 -14400 0 -04} + {3903048000 -10800 1 -04} + {3921188400 -14400 0 -04} + {3934497600 -10800 1 -04} + {3952638000 -14400 0 -04} + {3965947200 -10800 1 -04} + {3984692400 -14400 0 -04} + {3997396800 -10800 1 -04} + {4016142000 -14400 0 -04} + {4029451200 -10800 1 -04} + {4047591600 -14400 0 -04} + {4060900800 -10800 1 -04} + {4079041200 -14400 0 -04} + {4092350400 -10800 1 -04} } diff --git a/amd64/lib/tcl8.6/tzdata/America/Sao_Paulo b/amd64/lib/tcl8.6/tzdata/America/Sao_Paulo index a61c638..235f57a 100644 --- a/amd64/lib/tcl8.6/tzdata/America/Sao_Paulo +++ b/amd64/lib/tcl8.6/tzdata/America/Sao_Paulo @@ -3,256 +3,256 @@ set TZData(:America/Sao_Paulo) { {-9223372036854775808 -11188 0 LMT} {-1767214412 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} {-195429600 -7200 1 -02} {-189381600 -7200 0 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {666756000 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {697600800 -10800 0 -03} - {719982000 -7200 1 -02} + {719982000 -7200 1 -03} {728445600 -10800 0 -03} - {750826800 -7200 1 -02} + {750826800 -7200 1 -03} {761709600 -10800 0 -03} - {782276400 -7200 1 -02} + {782276400 -7200 1 -03} {793159200 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} - {844570800 -7200 1 -02} + {844570800 -7200 1 -03} {856058400 -10800 0 -03} - {876106800 -7200 1 -02} + {876106800 -7200 1 -03} {888717600 -10800 0 -03} - {908074800 -7200 1 -02} + {908074800 -7200 1 -03} {919562400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {982461600 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} - {1036292400 -7200 1 -02} + {1036292400 -7200 1 -03} {1045360800 -10800 0 -03} - {1066532400 -7200 1 -02} + {1066532400 -7200 1 -03} {1076810400 -10800 0 -03} - {1099364400 -7200 1 -02} + {1099364400 -7200 1 -03} {1108864800 -10800 0 -03} - {1129431600 -7200 1 -02} + {1129431600 -7200 1 -03} {1140314400 -10800 0 -03} - {1162695600 -7200 1 -02} + {1162695600 -7200 1 -03} {1172368800 -10800 0 -03} - {1192330800 -7200 1 -02} + {1192330800 -7200 1 -03} {1203213600 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1234663200 -10800 0 -03} - {1255834800 -7200 1 -02} + {1255834800 -7200 1 -03} {1266717600 -10800 0 -03} - {1287284400 -7200 1 -02} + {1287284400 -7200 1 -03} {1298167200 -10800 0 -03} - {1318734000 -7200 1 -02} + {1318734000 -7200 1 -03} {1330221600 -10800 0 -03} - {1350788400 -7200 1 -02} + {1350788400 -7200 1 -03} {1361066400 -10800 0 -03} - {1382238000 -7200 1 -02} + {1382238000 -7200 1 -03} {1392516000 -10800 0 -03} - {1413687600 -7200 1 -02} + {1413687600 -7200 1 -03} {1424570400 -10800 0 -03} - {1445137200 -7200 1 -02} + {1445137200 -7200 1 -03} {1456020000 -10800 0 -03} - {1476586800 -7200 1 -02} + {1476586800 -7200 1 -03} {1487469600 -10800 0 -03} - {1508036400 -7200 1 -02} + {1508036400 -7200 1 -03} {1518919200 -10800 0 -03} - {1540090800 -7200 1 -02} + {1541300400 -7200 1 -03} {1550368800 -10800 0 -03} - {1571540400 -7200 1 -02} + {1572750000 -7200 1 -03} {1581818400 -10800 0 -03} - {1602990000 -7200 1 -02} + {1604199600 -7200 1 -03} {1613872800 -10800 0 -03} - {1634439600 -7200 1 -02} + {1636254000 -7200 1 -03} {1645322400 -10800 0 -03} - {1665889200 -7200 1 -02} + {1667703600 -7200 1 -03} {1677376800 -10800 0 -03} - {1697338800 -7200 1 -02} + {1699153200 -7200 1 -03} {1708221600 -10800 0 -03} - {1729393200 -7200 1 -02} + {1730602800 -7200 1 -03} {1739671200 -10800 0 -03} - {1760842800 -7200 1 -02} + {1762052400 -7200 1 -03} {1771725600 -10800 0 -03} - {1792292400 -7200 1 -02} + {1793502000 -7200 1 -03} {1803175200 -10800 0 -03} - {1823742000 -7200 1 -02} + {1825556400 -7200 1 -03} {1834624800 -10800 0 -03} - {1855191600 -7200 1 -02} + {1857006000 -7200 1 -03} {1866074400 -10800 0 -03} - {1887246000 -7200 1 -02} + {1888455600 -7200 1 -03} {1897524000 -10800 0 -03} - {1918695600 -7200 1 -02} + {1919905200 -7200 1 -03} {1928973600 -10800 0 -03} - {1950145200 -7200 1 -02} + {1951354800 -7200 1 -03} {1960423200 -10800 0 -03} - {1981594800 -7200 1 -02} + {1983409200 -7200 1 -03} {1992477600 -10800 0 -03} - {2013044400 -7200 1 -02} + {2014858800 -7200 1 -03} {2024532000 -10800 0 -03} - {2044494000 -7200 1 -02} + {2046308400 -7200 1 -03} {2055376800 -10800 0 -03} - {2076548400 -7200 1 -02} + {2077758000 -7200 1 -03} {2086826400 -10800 0 -03} - {2107998000 -7200 1 -02} + {2109207600 -7200 1 -03} {2118880800 -10800 0 -03} - {2139447600 -7200 1 -02} + {2140657200 -7200 1 -03} {2150330400 -10800 0 -03} - {2170897200 -7200 1 -02} + {2172711600 -7200 1 -03} {2181780000 -10800 0 -03} - {2202346800 -7200 1 -02} + {2204161200 -7200 1 -03} {2213229600 -10800 0 -03} - {2234401200 -7200 1 -02} + {2235610800 -7200 1 -03} {2244679200 -10800 0 -03} - {2265850800 -7200 1 -02} + {2267060400 -7200 1 -03} {2276128800 -10800 0 -03} - {2297300400 -7200 1 -02} + {2298510000 -7200 1 -03} {2307578400 -10800 0 -03} - {2328750000 -7200 1 -02} + {2329959600 -7200 1 -03} {2339632800 -10800 0 -03} - {2360199600 -7200 1 -02} + {2362014000 -7200 1 -03} {2371082400 -10800 0 -03} - {2391649200 -7200 1 -02} + {2393463600 -7200 1 -03} {2402532000 -10800 0 -03} - {2423703600 -7200 1 -02} + {2424913200 -7200 1 -03} {2433981600 -10800 0 -03} - {2455153200 -7200 1 -02} + {2456362800 -7200 1 -03} {2465431200 -10800 0 -03} - {2486602800 -7200 1 -02} + {2487812400 -7200 1 -03} {2497485600 -10800 0 -03} - {2518052400 -7200 1 -02} + {2519866800 -7200 1 -03} {2528935200 -10800 0 -03} - {2549502000 -7200 1 -02} + {2551316400 -7200 1 -03} {2560384800 -10800 0 -03} - {2580951600 -7200 1 -02} + {2582766000 -7200 1 -03} {2591834400 -10800 0 -03} - {2613006000 -7200 1 -02} + {2614215600 -7200 1 -03} {2623284000 -10800 0 -03} - {2644455600 -7200 1 -02} + {2645665200 -7200 1 -03} {2654733600 -10800 0 -03} - {2675905200 -7200 1 -02} + {2677114800 -7200 1 -03} {2686788000 -10800 0 -03} - {2707354800 -7200 1 -02} + {2709169200 -7200 1 -03} {2718237600 -10800 0 -03} - {2738804400 -7200 1 -02} + {2740618800 -7200 1 -03} {2749687200 -10800 0 -03} - {2770858800 -7200 1 -02} + {2772068400 -7200 1 -03} {2781136800 -10800 0 -03} - {2802308400 -7200 1 -02} + {2803518000 -7200 1 -03} {2812586400 -10800 0 -03} - {2833758000 -7200 1 -02} + {2834967600 -7200 1 -03} {2844036000 -10800 0 -03} - {2865207600 -7200 1 -02} + {2867022000 -7200 1 -03} {2876090400 -10800 0 -03} - {2896657200 -7200 1 -02} + {2898471600 -7200 1 -03} {2907540000 -10800 0 -03} - {2928106800 -7200 1 -02} + {2929921200 -7200 1 -03} {2938989600 -10800 0 -03} - {2960161200 -7200 1 -02} + {2961370800 -7200 1 -03} {2970439200 -10800 0 -03} - {2991610800 -7200 1 -02} + {2992820400 -7200 1 -03} {3001888800 -10800 0 -03} - {3023060400 -7200 1 -02} + {3024270000 -7200 1 -03} {3033943200 -10800 0 -03} - {3054510000 -7200 1 -02} + {3056324400 -7200 1 -03} {3065392800 -10800 0 -03} - {3085959600 -7200 1 -02} + {3087774000 -7200 1 -03} {3096842400 -10800 0 -03} - {3118014000 -7200 1 -02} + {3119223600 -7200 1 -03} {3128292000 -10800 0 -03} - {3149463600 -7200 1 -02} + {3150673200 -7200 1 -03} {3159741600 -10800 0 -03} - {3180913200 -7200 1 -02} + {3182122800 -7200 1 -03} {3191191200 -10800 0 -03} - {3212362800 -7200 1 -02} + {3213572400 -7200 1 -03} {3223245600 -10800 0 -03} - {3243812400 -7200 1 -02} + {3245626800 -7200 1 -03} {3254695200 -10800 0 -03} - {3275262000 -7200 1 -02} + {3277076400 -7200 1 -03} {3286144800 -10800 0 -03} - {3307316400 -7200 1 -02} + {3308526000 -7200 1 -03} {3317594400 -10800 0 -03} - {3338766000 -7200 1 -02} + {3339975600 -7200 1 -03} {3349044000 -10800 0 -03} - {3370215600 -7200 1 -02} + {3371425200 -7200 1 -03} {3381098400 -10800 0 -03} - {3401665200 -7200 1 -02} + {3403479600 -7200 1 -03} {3412548000 -10800 0 -03} - {3433114800 -7200 1 -02} + {3434929200 -7200 1 -03} {3443997600 -10800 0 -03} - {3464564400 -7200 1 -02} + {3466378800 -7200 1 -03} {3475447200 -10800 0 -03} - {3496618800 -7200 1 -02} + {3497828400 -7200 1 -03} {3506896800 -10800 0 -03} - {3528068400 -7200 1 -02} + {3529278000 -7200 1 -03} {3538346400 -10800 0 -03} - {3559518000 -7200 1 -02} + {3560727600 -7200 1 -03} {3570400800 -10800 0 -03} - {3590967600 -7200 1 -02} + {3592782000 -7200 1 -03} {3601850400 -10800 0 -03} - {3622417200 -7200 1 -02} + {3624231600 -7200 1 -03} {3633300000 -10800 0 -03} - {3654471600 -7200 1 -02} + {3655681200 -7200 1 -03} {3664749600 -10800 0 -03} - {3685921200 -7200 1 -02} + {3687130800 -7200 1 -03} {3696199200 -10800 0 -03} - {3717370800 -7200 1 -02} + {3718580400 -7200 1 -03} {3727648800 -10800 0 -03} - {3748820400 -7200 1 -02} + {3750634800 -7200 1 -03} {3759703200 -10800 0 -03} - {3780270000 -7200 1 -02} + {3782084400 -7200 1 -03} {3791152800 -10800 0 -03} - {3811719600 -7200 1 -02} + {3813534000 -7200 1 -03} {3822602400 -10800 0 -03} - {3843774000 -7200 1 -02} + {3844983600 -7200 1 -03} {3854052000 -10800 0 -03} - {3875223600 -7200 1 -02} + {3876433200 -7200 1 -03} {3885501600 -10800 0 -03} - {3906673200 -7200 1 -02} + {3907882800 -7200 1 -03} {3917556000 -10800 0 -03} - {3938122800 -7200 1 -02} + {3939937200 -7200 1 -03} {3949005600 -10800 0 -03} - {3969572400 -7200 1 -02} + {3971386800 -7200 1 -03} {3980455200 -10800 0 -03} - {4001626800 -7200 1 -02} + {4002836400 -7200 1 -03} {4011904800 -10800 0 -03} - {4033076400 -7200 1 -02} + {4034286000 -7200 1 -03} {4043354400 -10800 0 -03} - {4064526000 -7200 1 -02} + {4065735600 -7200 1 -03} {4074804000 -10800 0 -03} - {4095975600 -7200 1 -02} + {4097185200 -7200 1 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/Antarctica/Casey b/amd64/lib/tcl8.6/tzdata/Antarctica/Casey index beb0f9e..aa37480 100644 --- a/amd64/lib/tcl8.6/tzdata/Antarctica/Casey +++ b/amd64/lib/tcl8.6/tzdata/Antarctica/Casey @@ -8,4 +8,5 @@ set TZData(:Antarctica/Casey) { {1319738400 39600 0 +11} {1329843600 28800 0 +08} {1477065600 39600 0 +11} + {1520701200 28800 0 +08} } diff --git a/amd64/lib/tcl8.6/tzdata/Antarctica/Palmer b/amd64/lib/tcl8.6/tzdata/Antarctica/Palmer index bb2be4d..f450e3b 100644 --- a/amd64/lib/tcl8.6/tzdata/Antarctica/Palmer +++ b/amd64/lib/tcl8.6/tzdata/Antarctica/Palmer @@ -4,84 +4,84 @@ set TZData(:Antarctica/Palmer) { {-9223372036854775808 0 0 -00} {-157766400 -14400 0 -04} {-152654400 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} {389070000 -14400 0 -04} - {403070400 -10800 1 -03} + {403070400 -10800 1 -04} {416372400 -14400 0 -04} - {434520000 -10800 1 -03} + {434520000 -10800 1 -04} {447822000 -14400 0 -04} - {466574400 -10800 1 -03} + {466574400 -10800 1 -04} {479271600 -14400 0 -04} - {498024000 -10800 1 -03} + {498024000 -10800 1 -04} {510721200 -14400 0 -04} - {529473600 -10800 1 -03} + {529473600 -10800 1 -04} {545194800 -14400 0 -04} - {560923200 -10800 1 -03} + {560923200 -10800 1 -04} {574225200 -14400 0 -04} - {592372800 -10800 1 -03} + {592372800 -10800 1 -04} {605674800 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {637124400 -14400 0 -04} - {653457600 -10800 1 -03} + {653457600 -10800 1 -04} {668574000 -14400 0 -04} - {687326400 -10800 1 -03} + {687326400 -10800 1 -04} {700628400 -14400 0 -04} - {718776000 -10800 1 -03} + {718776000 -10800 1 -04} {732078000 -14400 0 -04} - {750225600 -10800 1 -03} + {750225600 -10800 1 -04} {763527600 -14400 0 -04} - {781675200 -10800 1 -03} + {781675200 -10800 1 -04} {794977200 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {826426800 -14400 0 -04} - {845179200 -10800 1 -03} + {845179200 -10800 1 -04} {859690800 -14400 0 -04} - {876628800 -10800 1 -03} + {876628800 -10800 1 -04} {889930800 -14400 0 -04} - {906868800 -10800 1 -03} + {906868800 -10800 1 -04} {923194800 -14400 0 -04} - {939528000 -10800 1 -03} + {939528000 -10800 1 -04} {952830000 -14400 0 -04} - {971582400 -10800 1 -03} + {971582400 -10800 1 -04} {984279600 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1015729200 -14400 0 -04} - {1034481600 -10800 1 -03} + {1034481600 -10800 1 -04} {1047178800 -14400 0 -04} - {1065931200 -10800 1 -03} + {1065931200 -10800 1 -04} {1079233200 -14400 0 -04} - {1097380800 -10800 1 -03} + {1097380800 -10800 1 -04} {1110682800 -14400 0 -04} - {1128830400 -10800 1 -03} + {1128830400 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1206846000 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1237086000 -14400 0 -04} - {1255233600 -10800 1 -03} + {1255233600 -10800 1 -04} {1270350000 -14400 0 -04} - {1286683200 -10800 1 -03} + {1286683200 -10800 1 -04} {1304823600 -14400 0 -04} - {1313899200 -10800 1 -03} + {1313899200 -10800 1 -04} {1335668400 -14400 0 -04} - {1346558400 -10800 1 -03} + {1346558400 -10800 1 -04} {1367118000 -14400 0 -04} - {1378612800 -10800 1 -03} + {1378612800 -10800 1 -04} {1398567600 -14400 0 -04} - {1410062400 -10800 1 -03} + {1410062400 -10800 1 -04} {1463281200 -14400 0 -04} - {1471147200 -10800 1 -03} + {1471147200 -10800 1 -04} {1480820400 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Almaty b/amd64/lib/tcl8.6/tzdata/Asia/Almaty index 2b83197..f42935d 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Almaty +++ b/amd64/lib/tcl8.6/tzdata/Asia/Almaty @@ -4,54 +4,54 @@ set TZData(:Asia/Almaty) { {-9223372036854775808 18468 0 LMT} {-1441170468 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {686091600 18000 0 +05} {695768400 21600 0 +06} - {701812800 25200 1 +07} + {701812800 25200 1 +06} {717537600 21600 0 +06} - {733262400 25200 1 +07} + {733262400 25200 1 +06} {748987200 21600 0 +06} - {764712000 25200 1 +07} + {764712000 25200 1 +06} {780436800 21600 0 +06} - {796161600 25200 1 +07} + {796161600 25200 1 +06} {811886400 21600 0 +06} - {828216000 25200 1 +07} + {828216000 25200 1 +06} {846360000 21600 0 +06} - {859665600 25200 1 +07} + {859665600 25200 1 +06} {877809600 21600 0 +06} - {891115200 25200 1 +07} + {891115200 25200 1 +06} {909259200 21600 0 +06} - {922564800 25200 1 +07} + {922564800 25200 1 +06} {941313600 21600 0 +06} - {954014400 25200 1 +07} + {954014400 25200 1 +06} {972763200 21600 0 +06} - {985464000 25200 1 +07} + {985464000 25200 1 +06} {1004212800 21600 0 +06} - {1017518400 25200 1 +07} + {1017518400 25200 1 +06} {1035662400 21600 0 +06} - {1048968000 25200 1 +07} + {1048968000 25200 1 +06} {1067112000 21600 0 +06} - {1080417600 25200 1 +07} + {1080417600 25200 1 +06} {1099166400 21600 0 +06} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Aqtau b/amd64/lib/tcl8.6/tzdata/Asia/Aqtau index c128b27..41da2ca 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Aqtau +++ b/amd64/lib/tcl8.6/tzdata/Asia/Aqtau @@ -6,53 +6,53 @@ set TZData(:Asia/Aqtau) { {-1247544000 18000 0 +05} {370724400 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} - {780440400 18000 0 +05} + {764715600 21600 1 +05} + {780440400 18000 0 +04} {780444000 14400 0 +04} - {796168800 18000 1 +05} + {796168800 18000 1 +04} {811893600 14400 0 +04} - {828223200 18000 1 +05} + {828223200 18000 1 +04} {846367200 14400 0 +04} - {859672800 18000 1 +05} + {859672800 18000 1 +04} {877816800 14400 0 +04} - {891122400 18000 1 +05} + {891122400 18000 1 +04} {909266400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Aqtobe b/amd64/lib/tcl8.6/tzdata/Asia/Aqtobe index 55ef556..2316e68 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Aqtobe +++ b/amd64/lib/tcl8.6/tzdata/Asia/Aqtobe @@ -7,52 +7,52 @@ set TZData(:Asia/Aqtobe) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} + {764715600 21600 1 +05} {780440400 18000 0 +05} - {796165200 21600 1 +06} + {796165200 21600 1 +05} {811890000 18000 0 +05} - {828219600 21600 1 +06} + {828219600 21600 1 +05} {846363600 18000 0 +05} - {859669200 21600 1 +06} + {859669200 21600 1 +05} {877813200 18000 0 +05} - {891118800 21600 1 +06} + {891118800 21600 1 +05} {909262800 18000 0 +05} - {922568400 21600 1 +06} + {922568400 21600 1 +05} {941317200 18000 0 +05} - {954018000 21600 1 +06} + {954018000 21600 1 +05} {972766800 18000 0 +05} - {985467600 21600 1 +06} + {985467600 21600 1 +05} {1004216400 18000 0 +05} - {1017522000 21600 1 +06} + {1017522000 21600 1 +05} {1035666000 18000 0 +05} - {1048971600 21600 1 +06} + {1048971600 21600 1 +05} {1067115600 18000 0 +05} - {1080421200 21600 1 +06} + {1080421200 21600 1 +05} {1099170000 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Ashgabat b/amd64/lib/tcl8.6/tzdata/Asia/Ashgabat index fa6a619..feb7725 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Ashgabat +++ b/amd64/lib/tcl8.6/tzdata/Asia/Ashgabat @@ -4,28 +4,28 @@ set TZData(:Asia/Ashgabat) { {-9223372036854775808 14012 0 LMT} {-1441166012 14400 0 +04} {-1247544000 18000 0 +05} - {354913200 21600 1 +06} + {354913200 21600 1 +05} {370720800 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Atyrau b/amd64/lib/tcl8.6/tzdata/Asia/Atyrau index c31ff11..b6d8253 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Atyrau +++ b/amd64/lib/tcl8.6/tzdata/Asia/Atyrau @@ -6,53 +6,53 @@ set TZData(:Asia/Atyrau) { {-1247540400 18000 0 +05} {370724400 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} + {764715600 21600 1 +05} {780440400 18000 0 +05} - {796165200 21600 1 +06} + {796165200 21600 1 +05} {811890000 18000 0 +05} - {828219600 21600 1 +06} + {828219600 21600 1 +05} {846363600 18000 0 +05} - {859669200 21600 1 +06} + {859669200 21600 1 +05} {877813200 18000 0 +05} - {891118800 21600 1 +06} + {891118800 21600 1 +05} {909262800 18000 0 +05} {922568400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Baghdad b/amd64/lib/tcl8.6/tzdata/Asia/Baghdad index 623e310..c76a6a1 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Baghdad +++ b/amd64/lib/tcl8.6/tzdata/Asia/Baghdad @@ -4,56 +4,56 @@ set TZData(:Asia/Baghdad) { {-9223372036854775808 10660 0 LMT} {-2524532260 10656 0 BMT} {-1641005856 10800 0 +03} - {389048400 14400 0 +04} - {402264000 10800 0 +04} - {417906000 14400 1 +04} - {433800000 10800 0 +04} - {449614800 14400 1 +04} - {465422400 10800 0 +04} - {481150800 14400 1 +04} - {496792800 10800 0 +04} - {512517600 14400 1 +04} - {528242400 10800 0 +04} - {543967200 14400 1 +04} - {559692000 10800 0 +04} - {575416800 14400 1 +04} - {591141600 10800 0 +04} - {606866400 14400 1 +04} - {622591200 10800 0 +04} - {638316000 14400 1 +04} - {654645600 10800 0 +04} - {670464000 14400 1 +04} - {686275200 10800 0 +04} - {702086400 14400 1 +04} - {717897600 10800 0 +04} - {733622400 14400 1 +04} - {749433600 10800 0 +04} - {765158400 14400 1 +04} - {780969600 10800 0 +04} - {796694400 14400 1 +04} - {812505600 10800 0 +04} - {828316800 14400 1 +04} - {844128000 10800 0 +04} - {859852800 14400 1 +04} - {875664000 10800 0 +04} - {891388800 14400 1 +04} - {907200000 10800 0 +04} - {922924800 14400 1 +04} - {938736000 10800 0 +04} - {954547200 14400 1 +04} - {970358400 10800 0 +04} - {986083200 14400 1 +04} - {1001894400 10800 0 +04} - {1017619200 14400 1 +04} - {1033430400 10800 0 +04} - {1049155200 14400 1 +04} - {1064966400 10800 0 +04} - {1080777600 14400 1 +04} - {1096588800 10800 0 +04} - {1112313600 14400 1 +04} - {1128124800 10800 0 +04} - {1143849600 14400 1 +04} - {1159660800 10800 0 +04} - {1175385600 14400 1 +04} - {1191196800 10800 0 +04} + {389048400 14400 0 +03} + {402264000 10800 0 +03} + {417906000 14400 1 +03} + {433800000 10800 0 +03} + {449614800 14400 1 +03} + {465422400 10800 0 +03} + {481150800 14400 1 +03} + {496792800 10800 0 +03} + {512517600 14400 1 +03} + {528242400 10800 0 +03} + {543967200 14400 1 +03} + {559692000 10800 0 +03} + {575416800 14400 1 +03} + {591141600 10800 0 +03} + {606866400 14400 1 +03} + {622591200 10800 0 +03} + {638316000 14400 1 +03} + {654645600 10800 0 +03} + {670464000 14400 1 +03} + {686275200 10800 0 +03} + {702086400 14400 1 +03} + {717897600 10800 0 +03} + {733622400 14400 1 +03} + {749433600 10800 0 +03} + {765158400 14400 1 +03} + {780969600 10800 0 +03} + {796694400 14400 1 +03} + {812505600 10800 0 +03} + {828316800 14400 1 +03} + {844128000 10800 0 +03} + {859852800 14400 1 +03} + {875664000 10800 0 +03} + {891388800 14400 1 +03} + {907200000 10800 0 +03} + {922924800 14400 1 +03} + {938736000 10800 0 +03} + {954547200 14400 1 +03} + {970358400 10800 0 +03} + {986083200 14400 1 +03} + {1001894400 10800 0 +03} + {1017619200 14400 1 +03} + {1033430400 10800 0 +03} + {1049155200 14400 1 +03} + {1064966400 10800 0 +03} + {1080777600 14400 1 +03} + {1096588800 10800 0 +03} + {1112313600 14400 1 +03} + {1128124800 10800 0 +03} + {1143849600 14400 1 +03} + {1159660800 10800 0 +03} + {1175385600 14400 1 +03} + {1191196800 10800 0 +03} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Baku b/amd64/lib/tcl8.6/tzdata/Asia/Baku index f945b89..03dee19 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Baku +++ b/amd64/lib/tcl8.6/tzdata/Asia/Baku @@ -4,71 +4,71 @@ set TZData(:Asia/Baku) { {-9223372036854775808 11964 0 LMT} {-1441163964 10800 0 +03} {-405140400 14400 0 +04} - {354916800 18000 1 +05} + {354916800 18000 1 +04} {370724400 14400 0 +04} - {386452800 18000 1 +05} + {386452800 18000 1 +04} {402260400 14400 0 +04} - {417988800 18000 1 +05} + {417988800 18000 1 +04} {433796400 14400 0 +04} - {449611200 18000 1 +05} + {449611200 18000 1 +04} {465343200 14400 0 +04} - {481068000 18000 1 +05} + {481068000 18000 1 +04} {496792800 14400 0 +04} - {512517600 18000 1 +05} + {512517600 18000 1 +04} {528242400 14400 0 +04} - {543967200 18000 1 +05} + {543967200 18000 1 +04} {559692000 14400 0 +04} - {575416800 18000 1 +05} + {575416800 18000 1 +04} {591141600 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} {670370400 10800 0 +03} - {670374000 14400 1 +04} + {670374000 14400 1 +03} {686098800 10800 0 +03} - {701823600 14400 1 +04} + {701823600 14400 1 +03} {717548400 14400 0 +04} {820440000 14400 0 +04} {828234000 18000 1 +05} {846378000 14400 0 +04} {852062400 14400 0 +04} - {859680000 18000 1 +05} + {859680000 18000 1 +04} {877824000 14400 0 +04} - {891129600 18000 1 +05} + {891129600 18000 1 +04} {909273600 14400 0 +04} - {922579200 18000 1 +05} + {922579200 18000 1 +04} {941328000 14400 0 +04} - {954028800 18000 1 +05} + {954028800 18000 1 +04} {972777600 14400 0 +04} - {985478400 18000 1 +05} + {985478400 18000 1 +04} {1004227200 14400 0 +04} - {1017532800 18000 1 +05} + {1017532800 18000 1 +04} {1035676800 14400 0 +04} - {1048982400 18000 1 +05} + {1048982400 18000 1 +04} {1067126400 14400 0 +04} - {1080432000 18000 1 +05} + {1080432000 18000 1 +04} {1099180800 14400 0 +04} - {1111881600 18000 1 +05} + {1111881600 18000 1 +04} {1130630400 14400 0 +04} - {1143331200 18000 1 +05} + {1143331200 18000 1 +04} {1162080000 14400 0 +04} - {1174780800 18000 1 +05} + {1174780800 18000 1 +04} {1193529600 14400 0 +04} - {1206835200 18000 1 +05} + {1206835200 18000 1 +04} {1224979200 14400 0 +04} - {1238284800 18000 1 +05} + {1238284800 18000 1 +04} {1256428800 14400 0 +04} - {1269734400 18000 1 +05} + {1269734400 18000 1 +04} {1288483200 14400 0 +04} - {1301184000 18000 1 +05} + {1301184000 18000 1 +04} {1319932800 14400 0 +04} - {1332633600 18000 1 +05} + {1332633600 18000 1 +04} {1351382400 14400 0 +04} - {1364688000 18000 1 +05} + {1364688000 18000 1 +04} {1382832000 14400 0 +04} - {1396137600 18000 1 +05} + {1396137600 18000 1 +04} {1414281600 14400 0 +04} - {1427587200 18000 1 +05} + {1427587200 18000 1 +04} {1445731200 14400 0 +04} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Bishkek b/amd64/lib/tcl8.6/tzdata/Asia/Bishkek index a02d789..bc4cbdd 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Bishkek +++ b/amd64/lib/tcl8.6/tzdata/Asia/Bishkek @@ -4,55 +4,55 @@ set TZData(:Asia/Bishkek) { {-9223372036854775808 17904 0 LMT} {-1441169904 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {683586000 18000 0 +05} - {703018800 21600 1 +06} + {703018800 21600 1 +05} {717530400 18000 0 +05} - {734468400 21600 1 +06} + {734468400 21600 1 +05} {748980000 18000 0 +05} - {765918000 21600 1 +06} + {765918000 21600 1 +05} {780429600 18000 0 +05} - {797367600 21600 1 +06} + {797367600 21600 1 +05} {811879200 18000 0 +05} - {828817200 21600 1 +06} + {828817200 21600 1 +05} {843933600 18000 0 +05} - {859671000 21600 1 +06} + {859671000 21600 1 +05} {877811400 18000 0 +05} - {891120600 21600 1 +06} + {891120600 21600 1 +05} {909261000 18000 0 +05} - {922570200 21600 1 +06} + {922570200 21600 1 +05} {941315400 18000 0 +05} - {954019800 21600 1 +06} + {954019800 21600 1 +05} {972765000 18000 0 +05} - {985469400 21600 1 +06} + {985469400 21600 1 +05} {1004214600 18000 0 +05} - {1017523800 21600 1 +06} + {1017523800 21600 1 +05} {1035664200 18000 0 +05} - {1048973400 21600 1 +06} + {1048973400 21600 1 +05} {1067113800 18000 0 +05} - {1080423000 21600 1 +06} + {1080423000 21600 1 +05} {1099168200 18000 0 +05} - {1111872600 21600 1 +06} + {1111872600 21600 1 +05} {1123783200 21600 0 +06} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Choibalsan b/amd64/lib/tcl8.6/tzdata/Asia/Choibalsan index 3db65de..b072c76 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Choibalsan +++ b/amd64/lib/tcl8.6/tzdata/Asia/Choibalsan @@ -4,53 +4,53 @@ set TZData(:Asia/Choibalsan) { {-9223372036854775808 27480 0 LMT} {-2032933080 25200 0 +07} {252435600 28800 0 +08} - {417974400 36000 0 +10} + {417974400 36000 0 +09} {433778400 32400 0 +09} - {449593200 36000 1 +10} + {449593200 36000 1 +09} {465314400 32400 0 +09} - {481042800 36000 1 +10} + {481042800 36000 1 +09} {496764000 32400 0 +09} - {512492400 36000 1 +10} + {512492400 36000 1 +09} {528213600 32400 0 +09} - {543942000 36000 1 +10} + {543942000 36000 1 +09} {559663200 32400 0 +09} - {575391600 36000 1 +10} + {575391600 36000 1 +09} {591112800 32400 0 +09} - {606841200 36000 1 +10} + {606841200 36000 1 +09} {622562400 32400 0 +09} - {638290800 36000 1 +10} + {638290800 36000 1 +09} {654616800 32400 0 +09} - {670345200 36000 1 +10} + {670345200 36000 1 +09} {686066400 32400 0 +09} - {701794800 36000 1 +10} + {701794800 36000 1 +09} {717516000 32400 0 +09} - {733244400 36000 1 +10} + {733244400 36000 1 +09} {748965600 32400 0 +09} - {764694000 36000 1 +10} + {764694000 36000 1 +09} {780415200 32400 0 +09} - {796143600 36000 1 +10} + {796143600 36000 1 +09} {811864800 32400 0 +09} - {828198000 36000 1 +10} + {828198000 36000 1 +09} {843919200 32400 0 +09} - {859647600 36000 1 +10} + {859647600 36000 1 +09} {875368800 32400 0 +09} - {891097200 36000 1 +10} + {891097200 36000 1 +09} {906818400 32400 0 +09} - {988390800 36000 1 +10} + {988390800 36000 1 +09} {1001692800 32400 0 +09} - {1017421200 36000 1 +10} + {1017421200 36000 1 +09} {1033142400 32400 0 +09} - {1048870800 36000 1 +10} + {1048870800 36000 1 +09} {1064592000 32400 0 +09} - {1080320400 36000 1 +10} + {1080320400 36000 1 +09} {1096041600 32400 0 +09} - {1111770000 36000 1 +10} + {1111770000 36000 1 +09} {1127491200 32400 0 +09} - {1143219600 36000 1 +10} + {1143219600 36000 1 +09} {1159545600 32400 0 +09} {1206889200 28800 0 +08} - {1427479200 32400 1 +09} + {1427479200 32400 1 +08} {1443193200 28800 0 +08} - {1458928800 32400 1 +09} + {1458928800 32400 1 +08} {1474642800 28800 0 +08} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Dhaka b/amd64/lib/tcl8.6/tzdata/Asia/Dhaka index 0dc3987..c044095 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Dhaka +++ b/amd64/lib/tcl8.6/tzdata/Asia/Dhaka @@ -8,6 +8,6 @@ set TZData(:Asia/Dhaka) { {-862637400 23400 0 +0630} {-576138600 21600 0 +06} {1230746400 21600 0 +06} - {1245430800 25200 1 +07} + {1245430800 25200 1 +06} {1262278800 21600 0 +06} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Dushanbe b/amd64/lib/tcl8.6/tzdata/Asia/Dushanbe index e9ed132..fe82ce7 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Dushanbe +++ b/amd64/lib/tcl8.6/tzdata/Asia/Dushanbe @@ -4,25 +4,25 @@ set TZData(:Asia/Dushanbe) { {-9223372036854775808 16512 0 LMT} {-1441168512 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 21600 1 +06} {684363600 18000 0 +05} diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Gaza b/amd64/lib/tcl8.6/tzdata/Asia/Gaza index 1149d51..85b9f67 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Gaza +++ b/amd64/lib/tcl8.6/tzdata/Asia/Gaza @@ -111,9 +111,9 @@ set TZData(:Asia/Gaza) { {1477692000 7200 0 EET} {1490396400 10800 1 EEST} {1509141600 7200 0 EET} - {1522450800 10800 1 EEST} + {1521846000 10800 1 EEST} {1540591200 7200 0 EET} - {1553900400 10800 1 EEST} + {1553295600 10800 1 EEST} {1572040800 7200 0 EET} {1585350000 10800 1 EEST} {1604095200 7200 0 EET} @@ -123,9 +123,9 @@ set TZData(:Asia/Gaza) { {1666994400 7200 0 EET} {1679698800 10800 1 EEST} {1698444000 7200 0 EET} - {1711753200 10800 1 EEST} + {1711148400 10800 1 EEST} {1729893600 7200 0 EET} - {1743202800 10800 1 EEST} + {1742598000 10800 1 EEST} {1761343200 7200 0 EET} {1774652400 10800 1 EEST} {1793397600 7200 0 EET} @@ -133,11 +133,11 @@ set TZData(:Asia/Gaza) { {1824847200 7200 0 EET} {1837551600 10800 1 EEST} {1856296800 7200 0 EET} - {1869606000 10800 1 EEST} + {1869001200 10800 1 EEST} {1887746400 7200 0 EET} - {1901055600 10800 1 EEST} + {1900450800 10800 1 EEST} {1919196000 7200 0 EET} - {1932505200 10800 1 EEST} + {1931900400 10800 1 EEST} {1950645600 7200 0 EET} {1963954800 10800 1 EEST} {1982700000 7200 0 EET} @@ -145,9 +145,9 @@ set TZData(:Asia/Gaza) { {2014149600 7200 0 EET} {2026854000 10800 1 EEST} {2045599200 7200 0 EET} - {2058908400 10800 1 EEST} + {2058303600 10800 1 EEST} {2077048800 7200 0 EET} - {2090358000 10800 1 EEST} + {2089753200 10800 1 EEST} {2108498400 7200 0 EET} {2121807600 10800 1 EEST} {2140552800 7200 0 EET} @@ -155,11 +155,11 @@ set TZData(:Asia/Gaza) { {2172002400 7200 0 EET} {2184706800 10800 1 EEST} {2203452000 7200 0 EET} - {2216761200 10800 1 EEST} + {2216156400 10800 1 EEST} {2234901600 7200 0 EET} - {2248210800 10800 1 EEST} + {2247606000 10800 1 EEST} {2266351200 7200 0 EET} - {2279660400 10800 1 EEST} + {2279055600 10800 1 EEST} {2297800800 7200 0 EET} {2311110000 10800 1 EEST} {2329855200 7200 0 EET} @@ -167,9 +167,9 @@ set TZData(:Asia/Gaza) { {2361304800 7200 0 EET} {2374009200 10800 1 EEST} {2392754400 7200 0 EET} - {2406063600 10800 1 EEST} + {2405458800 10800 1 EEST} {2424204000 7200 0 EET} - {2437513200 10800 1 EEST} + {2436908400 10800 1 EEST} {2455653600 7200 0 EET} {2468962800 10800 1 EEST} {2487708000 7200 0 EET} @@ -179,9 +179,9 @@ set TZData(:Asia/Gaza) { {2550607200 7200 0 EET} {2563311600 10800 1 EEST} {2582056800 7200 0 EET} - {2595366000 10800 1 EEST} + {2594761200 10800 1 EEST} {2613506400 7200 0 EET} - {2626815600 10800 1 EEST} + {2626210800 10800 1 EEST} {2644956000 7200 0 EET} {2658265200 10800 1 EEST} {2677010400 7200 0 EET} @@ -189,11 +189,11 @@ set TZData(:Asia/Gaza) { {2708460000 7200 0 EET} {2721164400 10800 1 EEST} {2739909600 7200 0 EET} - {2753218800 10800 1 EEST} + {2752614000 10800 1 EEST} {2771359200 7200 0 EET} - {2784668400 10800 1 EEST} + {2784063600 10800 1 EEST} {2802808800 7200 0 EET} - {2816118000 10800 1 EEST} + {2815513200 10800 1 EEST} {2834258400 7200 0 EET} {2847567600 10800 1 EEST} {2866312800 7200 0 EET} @@ -201,9 +201,9 @@ set TZData(:Asia/Gaza) { {2897762400 7200 0 EET} {2910466800 10800 1 EEST} {2929212000 7200 0 EET} - {2942521200 10800 1 EEST} + {2941916400 10800 1 EEST} {2960661600 7200 0 EET} - {2973970800 10800 1 EEST} + {2973366000 10800 1 EEST} {2992111200 7200 0 EET} {3005420400 10800 1 EEST} {3024165600 7200 0 EET} @@ -211,11 +211,11 @@ set TZData(:Asia/Gaza) { {3055615200 7200 0 EET} {3068319600 10800 1 EEST} {3087064800 7200 0 EET} - {3100374000 10800 1 EEST} + {3099769200 10800 1 EEST} {3118514400 7200 0 EET} - {3131823600 10800 1 EEST} + {3131218800 10800 1 EEST} {3149964000 7200 0 EET} - {3163273200 10800 1 EEST} + {3162668400 10800 1 EEST} {3181413600 7200 0 EET} {3194722800 10800 1 EEST} {3213468000 7200 0 EET} @@ -223,9 +223,9 @@ set TZData(:Asia/Gaza) { {3244917600 7200 0 EET} {3257622000 10800 1 EEST} {3276367200 7200 0 EET} - {3289676400 10800 1 EEST} + {3289071600 10800 1 EEST} {3307816800 7200 0 EET} - {3321126000 10800 1 EEST} + {3320521200 10800 1 EEST} {3339266400 7200 0 EET} {3352575600 10800 1 EEST} {3371320800 7200 0 EET} @@ -235,9 +235,9 @@ set TZData(:Asia/Gaza) { {3434220000 7200 0 EET} {3446924400 10800 1 EEST} {3465669600 7200 0 EET} - {3478978800 10800 1 EEST} + {3478374000 10800 1 EEST} {3497119200 7200 0 EET} - {3510428400 10800 1 EEST} + {3509823600 10800 1 EEST} {3528568800 7200 0 EET} {3541878000 10800 1 EEST} {3560623200 7200 0 EET} @@ -245,11 +245,11 @@ set TZData(:Asia/Gaza) { {3592072800 7200 0 EET} {3604777200 10800 1 EEST} {3623522400 7200 0 EET} - {3636831600 10800 1 EEST} + {3636226800 10800 1 EEST} {3654972000 7200 0 EET} - {3668281200 10800 1 EEST} + {3667676400 10800 1 EEST} {3686421600 7200 0 EET} - {3699730800 10800 1 EEST} + {3699126000 10800 1 EEST} {3717871200 7200 0 EET} {3731180400 10800 1 EEST} {3749925600 7200 0 EET} @@ -257,9 +257,9 @@ set TZData(:Asia/Gaza) { {3781375200 7200 0 EET} {3794079600 10800 1 EEST} {3812824800 7200 0 EET} - {3826134000 10800 1 EEST} + {3825529200 10800 1 EEST} {3844274400 7200 0 EET} - {3857583600 10800 1 EEST} + {3856978800 10800 1 EEST} {3875724000 7200 0 EET} {3889033200 10800 1 EEST} {3907778400 7200 0 EET} @@ -267,11 +267,11 @@ set TZData(:Asia/Gaza) { {3939228000 7200 0 EET} {3951932400 10800 1 EEST} {3970677600 7200 0 EET} - {3983986800 10800 1 EEST} + {3983382000 10800 1 EEST} {4002127200 7200 0 EET} - {4015436400 10800 1 EEST} + {4014831600 10800 1 EEST} {4033576800 7200 0 EET} - {4046886000 10800 1 EEST} + {4046281200 10800 1 EEST} {4065026400 7200 0 EET} {4078335600 10800 1 EEST} {4097080800 7200 0 EET} diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Hebron b/amd64/lib/tcl8.6/tzdata/Asia/Hebron index 5d312b8..c0f5447 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Hebron +++ b/amd64/lib/tcl8.6/tzdata/Asia/Hebron @@ -110,9 +110,9 @@ set TZData(:Asia/Hebron) { {1477692000 7200 0 EET} {1490396400 10800 1 EEST} {1509141600 7200 0 EET} - {1522450800 10800 1 EEST} + {1521846000 10800 1 EEST} {1540591200 7200 0 EET} - {1553900400 10800 1 EEST} + {1553295600 10800 1 EEST} {1572040800 7200 0 EET} {1585350000 10800 1 EEST} {1604095200 7200 0 EET} @@ -122,9 +122,9 @@ set TZData(:Asia/Hebron) { {1666994400 7200 0 EET} {1679698800 10800 1 EEST} {1698444000 7200 0 EET} - {1711753200 10800 1 EEST} + {1711148400 10800 1 EEST} {1729893600 7200 0 EET} - {1743202800 10800 1 EEST} + {1742598000 10800 1 EEST} {1761343200 7200 0 EET} {1774652400 10800 1 EEST} {1793397600 7200 0 EET} @@ -132,11 +132,11 @@ set TZData(:Asia/Hebron) { {1824847200 7200 0 EET} {1837551600 10800 1 EEST} {1856296800 7200 0 EET} - {1869606000 10800 1 EEST} + {1869001200 10800 1 EEST} {1887746400 7200 0 EET} - {1901055600 10800 1 EEST} + {1900450800 10800 1 EEST} {1919196000 7200 0 EET} - {1932505200 10800 1 EEST} + {1931900400 10800 1 EEST} {1950645600 7200 0 EET} {1963954800 10800 1 EEST} {1982700000 7200 0 EET} @@ -144,9 +144,9 @@ set TZData(:Asia/Hebron) { {2014149600 7200 0 EET} {2026854000 10800 1 EEST} {2045599200 7200 0 EET} - {2058908400 10800 1 EEST} + {2058303600 10800 1 EEST} {2077048800 7200 0 EET} - {2090358000 10800 1 EEST} + {2089753200 10800 1 EEST} {2108498400 7200 0 EET} {2121807600 10800 1 EEST} {2140552800 7200 0 EET} @@ -154,11 +154,11 @@ set TZData(:Asia/Hebron) { {2172002400 7200 0 EET} {2184706800 10800 1 EEST} {2203452000 7200 0 EET} - {2216761200 10800 1 EEST} + {2216156400 10800 1 EEST} {2234901600 7200 0 EET} - {2248210800 10800 1 EEST} + {2247606000 10800 1 EEST} {2266351200 7200 0 EET} - {2279660400 10800 1 EEST} + {2279055600 10800 1 EEST} {2297800800 7200 0 EET} {2311110000 10800 1 EEST} {2329855200 7200 0 EET} @@ -166,9 +166,9 @@ set TZData(:Asia/Hebron) { {2361304800 7200 0 EET} {2374009200 10800 1 EEST} {2392754400 7200 0 EET} - {2406063600 10800 1 EEST} + {2405458800 10800 1 EEST} {2424204000 7200 0 EET} - {2437513200 10800 1 EEST} + {2436908400 10800 1 EEST} {2455653600 7200 0 EET} {2468962800 10800 1 EEST} {2487708000 7200 0 EET} @@ -178,9 +178,9 @@ set TZData(:Asia/Hebron) { {2550607200 7200 0 EET} {2563311600 10800 1 EEST} {2582056800 7200 0 EET} - {2595366000 10800 1 EEST} + {2594761200 10800 1 EEST} {2613506400 7200 0 EET} - {2626815600 10800 1 EEST} + {2626210800 10800 1 EEST} {2644956000 7200 0 EET} {2658265200 10800 1 EEST} {2677010400 7200 0 EET} @@ -188,11 +188,11 @@ set TZData(:Asia/Hebron) { {2708460000 7200 0 EET} {2721164400 10800 1 EEST} {2739909600 7200 0 EET} - {2753218800 10800 1 EEST} + {2752614000 10800 1 EEST} {2771359200 7200 0 EET} - {2784668400 10800 1 EEST} + {2784063600 10800 1 EEST} {2802808800 7200 0 EET} - {2816118000 10800 1 EEST} + {2815513200 10800 1 EEST} {2834258400 7200 0 EET} {2847567600 10800 1 EEST} {2866312800 7200 0 EET} @@ -200,9 +200,9 @@ set TZData(:Asia/Hebron) { {2897762400 7200 0 EET} {2910466800 10800 1 EEST} {2929212000 7200 0 EET} - {2942521200 10800 1 EEST} + {2941916400 10800 1 EEST} {2960661600 7200 0 EET} - {2973970800 10800 1 EEST} + {2973366000 10800 1 EEST} {2992111200 7200 0 EET} {3005420400 10800 1 EEST} {3024165600 7200 0 EET} @@ -210,11 +210,11 @@ set TZData(:Asia/Hebron) { {3055615200 7200 0 EET} {3068319600 10800 1 EEST} {3087064800 7200 0 EET} - {3100374000 10800 1 EEST} + {3099769200 10800 1 EEST} {3118514400 7200 0 EET} - {3131823600 10800 1 EEST} + {3131218800 10800 1 EEST} {3149964000 7200 0 EET} - {3163273200 10800 1 EEST} + {3162668400 10800 1 EEST} {3181413600 7200 0 EET} {3194722800 10800 1 EEST} {3213468000 7200 0 EET} @@ -222,9 +222,9 @@ set TZData(:Asia/Hebron) { {3244917600 7200 0 EET} {3257622000 10800 1 EEST} {3276367200 7200 0 EET} - {3289676400 10800 1 EEST} + {3289071600 10800 1 EEST} {3307816800 7200 0 EET} - {3321126000 10800 1 EEST} + {3320521200 10800 1 EEST} {3339266400 7200 0 EET} {3352575600 10800 1 EEST} {3371320800 7200 0 EET} @@ -234,9 +234,9 @@ set TZData(:Asia/Hebron) { {3434220000 7200 0 EET} {3446924400 10800 1 EEST} {3465669600 7200 0 EET} - {3478978800 10800 1 EEST} + {3478374000 10800 1 EEST} {3497119200 7200 0 EET} - {3510428400 10800 1 EEST} + {3509823600 10800 1 EEST} {3528568800 7200 0 EET} {3541878000 10800 1 EEST} {3560623200 7200 0 EET} @@ -244,11 +244,11 @@ set TZData(:Asia/Hebron) { {3592072800 7200 0 EET} {3604777200 10800 1 EEST} {3623522400 7200 0 EET} - {3636831600 10800 1 EEST} + {3636226800 10800 1 EEST} {3654972000 7200 0 EET} - {3668281200 10800 1 EEST} + {3667676400 10800 1 EEST} {3686421600 7200 0 EET} - {3699730800 10800 1 EEST} + {3699126000 10800 1 EEST} {3717871200 7200 0 EET} {3731180400 10800 1 EEST} {3749925600 7200 0 EET} @@ -256,9 +256,9 @@ set TZData(:Asia/Hebron) { {3781375200 7200 0 EET} {3794079600 10800 1 EEST} {3812824800 7200 0 EET} - {3826134000 10800 1 EEST} + {3825529200 10800 1 EEST} {3844274400 7200 0 EET} - {3857583600 10800 1 EEST} + {3856978800 10800 1 EEST} {3875724000 7200 0 EET} {3889033200 10800 1 EEST} {3907778400 7200 0 EET} @@ -266,11 +266,11 @@ set TZData(:Asia/Hebron) { {3939228000 7200 0 EET} {3951932400 10800 1 EEST} {3970677600 7200 0 EET} - {3983986800 10800 1 EEST} + {3983382000 10800 1 EEST} {4002127200 7200 0 EET} - {4015436400 10800 1 EEST} + {4014831600 10800 1 EEST} {4033576800 7200 0 EET} - {4046886000 10800 1 EEST} + {4046281200 10800 1 EEST} {4065026400 7200 0 EET} {4078335600 10800 1 EEST} {4097080800 7200 0 EET} diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Hovd b/amd64/lib/tcl8.6/tzdata/Asia/Hovd index a9c995b..9b14d5b 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Hovd +++ b/amd64/lib/tcl8.6/tzdata/Asia/Hovd @@ -4,52 +4,52 @@ set TZData(:Asia/Hovd) { {-9223372036854775808 21996 0 LMT} {-2032927596 21600 0 +06} {252439200 25200 0 +07} - {417978000 28800 1 +08} + {417978000 28800 1 +07} {433785600 25200 0 +07} - {449600400 28800 1 +08} + {449600400 28800 1 +07} {465321600 25200 0 +07} - {481050000 28800 1 +08} + {481050000 28800 1 +07} {496771200 25200 0 +07} - {512499600 28800 1 +08} + {512499600 28800 1 +07} {528220800 25200 0 +07} - {543949200 28800 1 +08} + {543949200 28800 1 +07} {559670400 25200 0 +07} - {575398800 28800 1 +08} + {575398800 28800 1 +07} {591120000 25200 0 +07} - {606848400 28800 1 +08} + {606848400 28800 1 +07} {622569600 25200 0 +07} - {638298000 28800 1 +08} + {638298000 28800 1 +07} {654624000 25200 0 +07} - {670352400 28800 1 +08} + {670352400 28800 1 +07} {686073600 25200 0 +07} - {701802000 28800 1 +08} + {701802000 28800 1 +07} {717523200 25200 0 +07} - {733251600 28800 1 +08} + {733251600 28800 1 +07} {748972800 25200 0 +07} - {764701200 28800 1 +08} + {764701200 28800 1 +07} {780422400 25200 0 +07} - {796150800 28800 1 +08} + {796150800 28800 1 +07} {811872000 25200 0 +07} - {828205200 28800 1 +08} + {828205200 28800 1 +07} {843926400 25200 0 +07} - {859654800 28800 1 +08} + {859654800 28800 1 +07} {875376000 25200 0 +07} - {891104400 28800 1 +08} + {891104400 28800 1 +07} {906825600 25200 0 +07} - {988398000 28800 1 +08} + {988398000 28800 1 +07} {1001700000 25200 0 +07} - {1017428400 28800 1 +08} + {1017428400 28800 1 +07} {1033149600 25200 0 +07} - {1048878000 28800 1 +08} + {1048878000 28800 1 +07} {1064599200 25200 0 +07} - {1080327600 28800 1 +08} + {1080327600 28800 1 +07} {1096048800 25200 0 +07} - {1111777200 28800 1 +08} + {1111777200 28800 1 +07} {1127498400 25200 0 +07} - {1143226800 28800 1 +08} + {1143226800 28800 1 +07} {1159552800 25200 0 +07} - {1427482800 28800 1 +08} + {1427482800 28800 1 +07} {1443196800 25200 0 +07} - {1458932400 28800 1 +08} + {1458932400 28800 1 +07} {1474646400 25200 0 +07} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Kuching b/amd64/lib/tcl8.6/tzdata/Asia/Kuching index d6f5ad4..e5dc1b7 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Kuching +++ b/amd64/lib/tcl8.6/tzdata/Asia/Kuching @@ -4,19 +4,19 @@ set TZData(:Asia/Kuching) { {-9223372036854775808 26480 0 LMT} {-1383463280 27000 0 +0730} {-1167636600 28800 0 +08} - {-1082448000 30000 1 +0820} + {-1082448000 30000 1 +08} {-1074586800 28800 0 +08} - {-1050825600 30000 1 +0820} + {-1050825600 30000 1 +08} {-1042964400 28800 0 +08} - {-1019289600 30000 1 +0820} + {-1019289600 30000 1 +08} {-1011428400 28800 0 +08} - {-987753600 30000 1 +0820} + {-987753600 30000 1 +08} {-979892400 28800 0 +08} - {-956217600 30000 1 +0820} + {-956217600 30000 1 +08} {-948356400 28800 0 +08} - {-924595200 30000 1 +0820} + {-924595200 30000 1 +08} {-916734000 28800 0 +08} - {-893059200 30000 1 +0820} + {-893059200 30000 1 +08} {-885198000 28800 0 +08} {-879667200 32400 0 +09} {-767005200 28800 0 +08} diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Macau b/amd64/lib/tcl8.6/tzdata/Asia/Macau index 8458a8a..cbafd0e 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Macau +++ b/amd64/lib/tcl8.6/tzdata/Asia/Macau @@ -1,20 +1,56 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Macau) { - {-9223372036854775808 27260 0 LMT} - {-1830411260 28800 0 CST} + {-9223372036854775808 27250 0 LMT} + {-2056692850 28800 0 CST} + {-884509200 32400 0 +09} + {-873280800 36000 1 +09} + {-855918000 32400 0 +09} + {-841744800 36000 1 +09} + {-828529200 32400 0 +10} + {-765363600 28800 0 CT} + {-747046800 32400 1 CDT} + {-733827600 28800 0 CST} + {-716461200 32400 1 CDT} + {-697021200 28800 0 CST} + {-683715600 32400 1 CDT} + {-667990800 28800 0 CST} + {-654771600 32400 1 CDT} + {-636627600 28800 0 CST} + {-623322000 32400 1 CDT} + {-605178000 28800 0 CST} + {-591872400 32400 1 CDT} + {-573642000 28800 0 CST} + {-559818000 32400 1 CDT} + {-541674000 28800 0 CST} + {-528368400 32400 1 CDT} + {-510224400 28800 0 CST} + {-498128400 32400 1 CDT} + {-478774800 28800 0 CST} + {-466678800 32400 1 CDT} + {-446720400 28800 0 CST} + {-435229200 32400 1 CDT} + {-415258200 28800 0 CST} + {-403158600 32400 1 CDT} + {-383808600 28800 0 CST} + {-371709000 32400 1 CDT} + {-352359000 28800 0 CST} + {-340259400 32400 1 CDT} + {-320909400 28800 0 CST} + {-308809800 32400 1 CDT} + {-288855000 28800 0 CST} {-277360200 32400 1 CDT} {-257405400 28800 0 CST} {-245910600 32400 1 CDT} {-225955800 28800 0 CST} - {-214473600 32400 1 CDT} + {-213856200 32400 1 CDT} {-194506200 28800 0 CST} {-182406600 32400 1 CDT} {-163056600 28800 0 CST} - {-150969600 32400 1 CDT} - {-131619600 28800 0 CST} + {-148537800 32400 1 CDT} + {-132820200 28800 0 CST} {-117088200 32400 1 CDT} - {-101367000 28800 0 CST} + {-101370600 28800 0 CST} {-85638600 32400 1 CDT} {-69312600 28800 0 CST} {-53584200 32400 1 CDT} @@ -25,22 +61,16 @@ set TZData(:Asia/Macau) { {25036200 28800 0 CST} {40764600 32400 1 CDT} {56485800 28800 0 CST} - {72201600 32400 1 CDT} - {87922800 28800 0 CST} - {103651200 32400 1 CDT} - {119977200 28800 0 CST} - {135705600 32400 1 CDT} + {72214200 32400 1 CDT} + {88540200 28800 0 CST} + {104268600 32400 1 CDT} + {119989800 28800 0 CST} + {126041400 32400 1 CDT} {151439400 28800 0 CST} {167167800 32400 1 CDT} {182889000 28800 0 CST} {198617400 32400 1 CDT} {214338600 28800 0 CST} - {230067000 32400 1 CDT} - {245788200 28800 0 CST} - {261504000 32400 1 CDT} - {277225200 28800 0 CST} - {292953600 32400 1 CDT} - {309279600 28800 0 CST} - {325008000 32400 1 CDT} - {340729200 28800 0 CST} + {295385400 32400 1 CDT} + {309292200 28800 0 CST} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Manila b/amd64/lib/tcl8.6/tzdata/Asia/Manila index 987919a..6eb1db3 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Manila +++ b/amd64/lib/tcl8.6/tzdata/Asia/Manila @@ -3,13 +3,13 @@ set TZData(:Asia/Manila) { {-9223372036854775808 -57360 0 LMT} {-3944621040 29040 0 LMT} - {-2229321840 28800 0 +08} - {-1046678400 32400 1 +09} - {-1038733200 28800 0 +08} - {-873273600 32400 0 +09} - {-794221200 28800 0 +08} - {-496224000 32400 1 +09} - {-489315600 28800 0 +08} - {259344000 32400 1 +09} - {275151600 28800 0 +08} + {-2229321840 28800 0 PST} + {-1046678400 32400 1 PDT} + {-1038733200 28800 0 PST} + {-873273600 32400 0 JST} + {-794221200 28800 0 PST} + {-496224000 32400 1 PDT} + {-489315600 28800 0 PST} + {259344000 32400 1 PDT} + {275151600 28800 0 PST} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Oral b/amd64/lib/tcl8.6/tzdata/Asia/Oral index 624a59d..e781b60 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Oral +++ b/amd64/lib/tcl8.6/tzdata/Asia/Oral @@ -7,52 +7,52 @@ set TZData(:Asia/Oral) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} {606862800 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {701816400 14400 0 +04} - {701820000 18000 1 +05} + {701820000 18000 1 +04} {717544800 14400 0 +04} - {733269600 18000 1 +05} + {733269600 18000 1 +04} {748994400 14400 0 +04} - {764719200 18000 1 +05} + {764719200 18000 1 +04} {780444000 14400 0 +04} - {796168800 18000 1 +05} + {796168800 18000 1 +04} {811893600 14400 0 +04} - {828223200 18000 1 +05} + {828223200 18000 1 +04} {846367200 14400 0 +04} - {859672800 18000 1 +05} + {859672800 18000 1 +04} {877816800 14400 0 +04} - {891122400 18000 1 +05} + {891122400 18000 1 +04} {909266400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Pyongyang b/amd64/lib/tcl8.6/tzdata/Asia/Pyongyang index 72e7f23..5351736 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Pyongyang +++ b/amd64/lib/tcl8.6/tzdata/Asia/Pyongyang @@ -6,4 +6,5 @@ set TZData(:Asia/Pyongyang) { {-1830414600 32400 0 JST} {-768646800 32400 0 KST} {1439564400 30600 0 KST} + {1525446000 32400 0 KST} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Qyzylorda b/amd64/lib/tcl8.6/tzdata/Asia/Qyzylorda index b2e9472..7c6df32 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Qyzylorda +++ b/amd64/lib/tcl8.6/tzdata/Asia/Qyzylorda @@ -7,51 +7,51 @@ set TZData(:Asia/Qyzylorda) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {701812800 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} + {764715600 21600 1 +05} {780440400 18000 0 +05} - {796165200 21600 1 +06} + {796165200 21600 1 +05} {811890000 18000 0 +05} - {828219600 21600 1 +06} + {828219600 21600 1 +05} {846363600 18000 0 +05} - {859669200 21600 1 +06} + {859669200 21600 1 +05} {877813200 18000 0 +05} - {891118800 21600 1 +06} + {891118800 21600 1 +05} {909262800 18000 0 +05} - {922568400 21600 1 +06} + {922568400 21600 1 +05} {941317200 18000 0 +05} - {954018000 21600 1 +06} + {954018000 21600 1 +05} {972766800 18000 0 +05} - {985467600 21600 1 +06} + {985467600 21600 1 +05} {1004216400 18000 0 +05} - {1017522000 21600 1 +06} + {1017522000 21600 1 +05} {1035666000 18000 0 +05} - {1048971600 21600 1 +06} + {1048971600 21600 1 +05} {1067115600 18000 0 +05} - {1080421200 21600 1 +06} + {1080421200 21600 1 +05} {1099170000 21600 0 +06} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Samarkand b/amd64/lib/tcl8.6/tzdata/Asia/Samarkand index 43ad774..805bab7 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Samarkand +++ b/amd64/lib/tcl8.6/tzdata/Asia/Samarkand @@ -7,25 +7,25 @@ set TZData(:Asia/Samarkand) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {686091600 18000 0 +05} {694206000 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Shanghai b/amd64/lib/tcl8.6/tzdata/Asia/Shanghai index ff2d2b5..66bc433 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Shanghai +++ b/amd64/lib/tcl8.6/tzdata/Asia/Shanghai @@ -3,21 +3,30 @@ set TZData(:Asia/Shanghai) { {-9223372036854775808 29143 0 LMT} {-2177481943 28800 0 CST} - {-933494400 32400 1 CDT} - {-923130000 28800 0 CST} - {-908784000 32400 1 CDT} - {-891594000 28800 0 CST} - {-662716800 28800 0 CST} - {515520000 32400 1 CDT} - {527007600 28800 0 CST} - {545155200 32400 1 CDT} - {558457200 28800 0 CST} - {576604800 32400 1 CDT} - {589906800 28800 0 CST} - {608659200 32400 1 CDT} - {621961200 28800 0 CST} - {640108800 32400 1 CDT} - {653410800 28800 0 CST} - {671558400 32400 1 CDT} - {684860400 28800 0 CST} + {-933667200 32400 1 CDT} + {-922093200 28800 0 CST} + {-908870400 32400 1 CDT} + {-888829200 28800 0 CST} + {-881049600 32400 1 CDT} + {-767869200 28800 0 CST} + {-745833600 32400 1 CDT} + {-733827600 28800 0 CST} + {-716889600 32400 1 CDT} + {-699613200 28800 0 CST} + {-683884800 32400 1 CDT} + {-670669200 28800 0 CST} + {-652348800 32400 1 CDT} + {-650016000 28800 0 CST} + {515527200 32400 1 CDT} + {527014800 28800 0 CST} + {545162400 32400 1 CDT} + {558464400 28800 0 CST} + {577216800 32400 1 CDT} + {589914000 28800 0 CST} + {608666400 32400 1 CDT} + {621968400 28800 0 CST} + {640116000 32400 1 CDT} + {653418000 28800 0 CST} + {671565600 32400 1 CDT} + {684867600 28800 0 CST} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Tashkent b/amd64/lib/tcl8.6/tzdata/Asia/Tashkent index 7b6abe4..bd16c91 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Tashkent +++ b/amd64/lib/tcl8.6/tzdata/Asia/Tashkent @@ -4,28 +4,28 @@ set TZData(:Asia/Tashkent) { {-9223372036854775808 16631 0 LMT} {-1441168631 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {686091600 18000 0 +05} {694206000 18000 0 +05} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Tbilisi b/amd64/lib/tcl8.6/tzdata/Asia/Tbilisi index 60d253c..71e7695 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Tbilisi +++ b/amd64/lib/tcl8.6/tzdata/Asia/Tbilisi @@ -5,56 +5,56 @@ set TZData(:Asia/Tbilisi) { {-2840151551 10751 0 TBMT} {-1441162751 10800 0 +03} {-405140400 14400 0 +04} - {354916800 18000 1 +05} + {354916800 18000 1 +04} {370724400 14400 0 +04} - {386452800 18000 1 +05} + {386452800 18000 1 +04} {402260400 14400 0 +04} - {417988800 18000 1 +05} + {417988800 18000 1 +04} {433796400 14400 0 +04} - {449611200 18000 1 +05} + {449611200 18000 1 +04} {465343200 14400 0 +04} - {481068000 18000 1 +05} + {481068000 18000 1 +04} {496792800 14400 0 +04} - {512517600 18000 1 +05} + {512517600 18000 1 +04} {528242400 14400 0 +04} - {543967200 18000 1 +05} + {543967200 18000 1 +04} {559692000 14400 0 +04} - {575416800 18000 1 +05} + {575416800 18000 1 +04} {591141600 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} {670370400 10800 0 +03} - {670374000 14400 1 +04} + {670374000 14400 1 +03} {686098800 10800 0 +03} {694213200 10800 0 +03} - {701816400 14400 1 +04} + {701816400 14400 1 +03} {717537600 10800 0 +03} - {733266000 14400 1 +04} + {733266000 14400 1 +03} {748987200 10800 0 +03} - {764715600 14400 1 +04} + {764715600 14400 1 +03} {780440400 14400 0 +04} - {796161600 18000 1 +05} + {796161600 18000 1 +04} {811882800 14400 0 +04} - {828216000 18000 1 +05} + {828216000 18000 1 +04} {846360000 18000 1 +05} - {859662000 18000 0 +05} + {859662000 18000 0 +04} {877806000 14400 0 +04} - {891115200 18000 1 +05} + {891115200 18000 1 +04} {909255600 14400 0 +04} - {922564800 18000 1 +05} + {922564800 18000 1 +04} {941310000 14400 0 +04} - {954014400 18000 1 +05} + {954014400 18000 1 +04} {972759600 14400 0 +04} - {985464000 18000 1 +05} + {985464000 18000 1 +04} {1004209200 14400 0 +04} - {1017518400 18000 1 +05} + {1017518400 18000 1 +04} {1035658800 14400 0 +04} - {1048968000 18000 1 +05} + {1048968000 18000 1 +04} {1067108400 14400 0 +04} - {1080417600 18000 1 +05} - {1088280000 14400 0 +04} + {1080417600 18000 1 +04} + {1088280000 14400 0 +03} {1099177200 10800 0 +03} {1111878000 14400 0 +04} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Tehran b/amd64/lib/tcl8.6/tzdata/Asia/Tehran index a8912ce..3d44e42 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Tehran +++ b/amd64/lib/tcl8.6/tzdata/Asia/Tehran @@ -4,226 +4,226 @@ set TZData(:Asia/Tehran) { {-9223372036854775808 12344 0 LMT} {-1704165944 12344 0 TMT} {-757394744 12600 0 +0330} - {247177800 14400 0 +05} - {259272000 18000 1 +05} - {277758000 14400 0 +05} - {283982400 12600 0 +0430} - {290809800 16200 1 +0430} - {306531000 12600 0 +0430} - {322432200 16200 1 +0430} - {338499000 12600 0 +0430} - {673216200 16200 1 +0430} - {685481400 12600 0 +0430} - {701209800 16200 1 +0430} - {717103800 12600 0 +0430} - {732745800 16200 1 +0430} - {748639800 12600 0 +0430} - {764281800 16200 1 +0430} - {780175800 12600 0 +0430} - {795817800 16200 1 +0430} - {811711800 12600 0 +0430} - {827353800 16200 1 +0430} - {843247800 12600 0 +0430} - {858976200 16200 1 +0430} - {874870200 12600 0 +0430} - {890512200 16200 1 +0430} - {906406200 12600 0 +0430} - {922048200 16200 1 +0430} - {937942200 12600 0 +0430} - {953584200 16200 1 +0430} - {969478200 12600 0 +0430} - {985206600 16200 1 +0430} - {1001100600 12600 0 +0430} - {1016742600 16200 1 +0430} - {1032636600 12600 0 +0430} - {1048278600 16200 1 +0430} - {1064172600 12600 0 +0430} - {1079814600 16200 1 +0430} - {1095708600 12600 0 +0430} - {1111437000 16200 1 +0430} - {1127331000 12600 0 +0430} - {1206045000 16200 1 +0430} - {1221939000 12600 0 +0430} - {1237667400 16200 1 +0430} - {1253561400 12600 0 +0430} - {1269203400 16200 1 +0430} - {1285097400 12600 0 +0430} - {1300739400 16200 1 +0430} - {1316633400 12600 0 +0430} - {1332275400 16200 1 +0430} - {1348169400 12600 0 +0430} - {1363897800 16200 1 +0430} - {1379791800 12600 0 +0430} - {1395433800 16200 1 +0430} - {1411327800 12600 0 +0430} - {1426969800 16200 1 +0430} - {1442863800 12600 0 +0430} - {1458505800 16200 1 +0430} - {1474399800 12600 0 +0430} - {1490128200 16200 1 +0430} - {1506022200 12600 0 +0430} - {1521664200 16200 1 +0430} - {1537558200 12600 0 +0430} - {1553200200 16200 1 +0430} - {1569094200 12600 0 +0430} - {1584736200 16200 1 +0430} - {1600630200 12600 0 +0430} - {1616358600 16200 1 +0430} - {1632252600 12600 0 +0430} - {1647894600 16200 1 +0430} - {1663788600 12600 0 +0430} - {1679430600 16200 1 +0430} - {1695324600 12600 0 +0430} - {1710966600 16200 1 +0430} - {1726860600 12600 0 +0430} - {1742589000 16200 1 +0430} - {1758483000 12600 0 +0430} - {1774125000 16200 1 +0430} - {1790019000 12600 0 +0430} - {1805661000 16200 1 +0430} - {1821555000 12600 0 +0430} - {1837197000 16200 1 +0430} - {1853091000 12600 0 +0430} - {1868733000 16200 1 +0430} - {1884627000 12600 0 +0430} - {1900355400 16200 1 +0430} - {1916249400 12600 0 +0430} - {1931891400 16200 1 +0430} - {1947785400 12600 0 +0430} - {1963427400 16200 1 +0430} - {1979321400 12600 0 +0430} - {1994963400 16200 1 +0430} - {2010857400 12600 0 +0430} - {2026585800 16200 1 +0430} - {2042479800 12600 0 +0430} - {2058121800 16200 1 +0430} - {2074015800 12600 0 +0430} - {2089657800 16200 1 +0430} - {2105551800 12600 0 +0430} - {2121193800 16200 1 +0430} - {2137087800 12600 0 +0430} - {2152729800 16200 1 +0430} - {2168623800 12600 0 +0430} - {2184265800 16200 1 +0430} - {2200159800 12600 0 +0430} - {2215888200 16200 1 +0430} - {2231782200 12600 0 +0430} - {2247424200 16200 1 +0430} - {2263318200 12600 0 +0430} - {2278960200 16200 1 +0430} - {2294854200 12600 0 +0430} - {2310496200 16200 1 +0430} - {2326390200 12600 0 +0430} - {2342118600 16200 1 +0430} - {2358012600 12600 0 +0430} - {2373654600 16200 1 +0430} - {2389548600 12600 0 +0430} - {2405190600 16200 1 +0430} - {2421084600 12600 0 +0430} - {2436726600 16200 1 +0430} - {2452620600 12600 0 +0430} - {2468349000 16200 1 +0430} - {2484243000 12600 0 +0430} - {2499885000 16200 1 +0430} - {2515779000 12600 0 +0430} - {2531421000 16200 1 +0430} - {2547315000 12600 0 +0430} - {2562957000 16200 1 +0430} - {2578851000 12600 0 +0430} - {2594579400 16200 1 +0430} - {2610473400 12600 0 +0430} - {2626115400 16200 1 +0430} - {2642009400 12600 0 +0430} - {2657651400 16200 1 +0430} - {2673545400 12600 0 +0430} - {2689187400 16200 1 +0430} - {2705081400 12600 0 +0430} - {2720809800 16200 1 +0430} - {2736703800 12600 0 +0430} - {2752345800 16200 1 +0430} - {2768239800 12600 0 +0430} - {2783881800 16200 1 +0430} - {2799775800 12600 0 +0430} - {2815417800 16200 1 +0430} - {2831311800 12600 0 +0430} - {2847040200 16200 1 +0430} - {2862934200 12600 0 +0430} - {2878576200 16200 1 +0430} - {2894470200 12600 0 +0430} - {2910112200 16200 1 +0430} - {2926006200 12600 0 +0430} - {2941648200 16200 1 +0430} - {2957542200 12600 0 +0430} - {2973270600 16200 1 +0430} - {2989164600 12600 0 +0430} - {3004806600 16200 1 +0430} - {3020700600 12600 0 +0430} - {3036342600 16200 1 +0430} - {3052236600 12600 0 +0430} - {3067878600 16200 1 +0430} - {3083772600 12600 0 +0430} - {3099501000 16200 1 +0430} - {3115395000 12600 0 +0430} - {3131037000 16200 1 +0430} - {3146931000 12600 0 +0430} - {3162573000 16200 1 +0430} - {3178467000 12600 0 +0430} - {3194109000 16200 1 +0430} - {3210003000 12600 0 +0430} - {3225731400 16200 1 +0430} - {3241625400 12600 0 +0430} - {3257267400 16200 1 +0430} - {3273161400 12600 0 +0430} - {3288803400 16200 1 +0430} - {3304697400 12600 0 +0430} - {3320339400 16200 1 +0430} - {3336233400 12600 0 +0430} - {3351961800 16200 1 +0430} - {3367855800 12600 0 +0430} - {3383497800 16200 1 +0430} - {3399391800 12600 0 +0430} - {3415033800 16200 1 +0430} - {3430927800 12600 0 +0430} - {3446569800 16200 1 +0430} - {3462463800 12600 0 +0430} - {3478192200 16200 1 +0430} - {3494086200 12600 0 +0430} - {3509728200 16200 1 +0430} - {3525622200 12600 0 +0430} - {3541264200 16200 1 +0430} - {3557158200 12600 0 +0430} - {3572800200 16200 1 +0430} - {3588694200 12600 0 +0430} - {3604422600 16200 1 +0430} - {3620316600 12600 0 +0430} - {3635958600 16200 1 +0430} - {3651852600 12600 0 +0430} - {3667494600 16200 1 +0430} - {3683388600 12600 0 +0430} - {3699030600 16200 1 +0430} - {3714924600 12600 0 +0430} - {3730653000 16200 1 +0430} - {3746547000 12600 0 +0430} - {3762189000 16200 1 +0430} - {3778083000 12600 0 +0430} - {3793725000 16200 1 +0430} - {3809619000 12600 0 +0430} - {3825261000 16200 1 +0430} - {3841155000 12600 0 +0430} - {3856883400 16200 1 +0430} - {3872777400 12600 0 +0430} - {3888419400 16200 1 +0430} - {3904313400 12600 0 +0430} - {3919955400 16200 1 +0430} - {3935849400 12600 0 +0430} - {3951491400 16200 1 +0430} - {3967385400 12600 0 +0430} - {3983113800 16200 1 +0430} - {3999007800 12600 0 +0430} - {4014649800 16200 1 +0430} - {4030543800 12600 0 +0430} - {4046185800 16200 1 +0430} - {4062079800 12600 0 +0430} - {4077721800 16200 1 +0430} - {4093615800 12600 0 +0430} + {247177800 14400 0 +04} + {259272000 18000 1 +04} + {277758000 14400 0 +04} + {283982400 12600 0 +0330} + {290809800 16200 1 +0330} + {306531000 12600 0 +0330} + {322432200 16200 1 +0330} + {338499000 12600 0 +0330} + {673216200 16200 1 +0330} + {685481400 12600 0 +0330} + {701209800 16200 1 +0330} + {717103800 12600 0 +0330} + {732745800 16200 1 +0330} + {748639800 12600 0 +0330} + {764281800 16200 1 +0330} + {780175800 12600 0 +0330} + {795817800 16200 1 +0330} + {811711800 12600 0 +0330} + {827353800 16200 1 +0330} + {843247800 12600 0 +0330} + {858976200 16200 1 +0330} + {874870200 12600 0 +0330} + {890512200 16200 1 +0330} + {906406200 12600 0 +0330} + {922048200 16200 1 +0330} + {937942200 12600 0 +0330} + {953584200 16200 1 +0330} + {969478200 12600 0 +0330} + {985206600 16200 1 +0330} + {1001100600 12600 0 +0330} + {1016742600 16200 1 +0330} + {1032636600 12600 0 +0330} + {1048278600 16200 1 +0330} + {1064172600 12600 0 +0330} + {1079814600 16200 1 +0330} + {1095708600 12600 0 +0330} + {1111437000 16200 1 +0330} + {1127331000 12600 0 +0330} + {1206045000 16200 1 +0330} + {1221939000 12600 0 +0330} + {1237667400 16200 1 +0330} + {1253561400 12600 0 +0330} + {1269203400 16200 1 +0330} + {1285097400 12600 0 +0330} + {1300739400 16200 1 +0330} + {1316633400 12600 0 +0330} + {1332275400 16200 1 +0330} + {1348169400 12600 0 +0330} + {1363897800 16200 1 +0330} + {1379791800 12600 0 +0330} + {1395433800 16200 1 +0330} + {1411327800 12600 0 +0330} + {1426969800 16200 1 +0330} + {1442863800 12600 0 +0330} + {1458505800 16200 1 +0330} + {1474399800 12600 0 +0330} + {1490128200 16200 1 +0330} + {1506022200 12600 0 +0330} + {1521664200 16200 1 +0330} + {1537558200 12600 0 +0330} + {1553200200 16200 1 +0330} + {1569094200 12600 0 +0330} + {1584736200 16200 1 +0330} + {1600630200 12600 0 +0330} + {1616358600 16200 1 +0330} + {1632252600 12600 0 +0330} + {1647894600 16200 1 +0330} + {1663788600 12600 0 +0330} + {1679430600 16200 1 +0330} + {1695324600 12600 0 +0330} + {1710966600 16200 1 +0330} + {1726860600 12600 0 +0330} + {1742589000 16200 1 +0330} + {1758483000 12600 0 +0330} + {1774125000 16200 1 +0330} + {1790019000 12600 0 +0330} + {1805661000 16200 1 +0330} + {1821555000 12600 0 +0330} + {1837197000 16200 1 +0330} + {1853091000 12600 0 +0330} + {1868733000 16200 1 +0330} + {1884627000 12600 0 +0330} + {1900355400 16200 1 +0330} + {1916249400 12600 0 +0330} + {1931891400 16200 1 +0330} + {1947785400 12600 0 +0330} + {1963427400 16200 1 +0330} + {1979321400 12600 0 +0330} + {1994963400 16200 1 +0330} + {2010857400 12600 0 +0330} + {2026585800 16200 1 +0330} + {2042479800 12600 0 +0330} + {2058121800 16200 1 +0330} + {2074015800 12600 0 +0330} + {2089657800 16200 1 +0330} + {2105551800 12600 0 +0330} + {2121193800 16200 1 +0330} + {2137087800 12600 0 +0330} + {2152729800 16200 1 +0330} + {2168623800 12600 0 +0330} + {2184265800 16200 1 +0330} + {2200159800 12600 0 +0330} + {2215888200 16200 1 +0330} + {2231782200 12600 0 +0330} + {2247424200 16200 1 +0330} + {2263318200 12600 0 +0330} + {2278960200 16200 1 +0330} + {2294854200 12600 0 +0330} + {2310496200 16200 1 +0330} + {2326390200 12600 0 +0330} + {2342118600 16200 1 +0330} + {2358012600 12600 0 +0330} + {2373654600 16200 1 +0330} + {2389548600 12600 0 +0330} + {2405190600 16200 1 +0330} + {2421084600 12600 0 +0330} + {2436726600 16200 1 +0330} + {2452620600 12600 0 +0330} + {2468349000 16200 1 +0330} + {2484243000 12600 0 +0330} + {2499885000 16200 1 +0330} + {2515779000 12600 0 +0330} + {2531421000 16200 1 +0330} + {2547315000 12600 0 +0330} + {2562957000 16200 1 +0330} + {2578851000 12600 0 +0330} + {2594579400 16200 1 +0330} + {2610473400 12600 0 +0330} + {2626115400 16200 1 +0330} + {2642009400 12600 0 +0330} + {2657651400 16200 1 +0330} + {2673545400 12600 0 +0330} + {2689187400 16200 1 +0330} + {2705081400 12600 0 +0330} + {2720809800 16200 1 +0330} + {2736703800 12600 0 +0330} + {2752345800 16200 1 +0330} + {2768239800 12600 0 +0330} + {2783881800 16200 1 +0330} + {2799775800 12600 0 +0330} + {2815417800 16200 1 +0330} + {2831311800 12600 0 +0330} + {2847040200 16200 1 +0330} + {2862934200 12600 0 +0330} + {2878576200 16200 1 +0330} + {2894470200 12600 0 +0330} + {2910112200 16200 1 +0330} + {2926006200 12600 0 +0330} + {2941648200 16200 1 +0330} + {2957542200 12600 0 +0330} + {2973270600 16200 1 +0330} + {2989164600 12600 0 +0330} + {3004806600 16200 1 +0330} + {3020700600 12600 0 +0330} + {3036342600 16200 1 +0330} + {3052236600 12600 0 +0330} + {3067878600 16200 1 +0330} + {3083772600 12600 0 +0330} + {3099501000 16200 1 +0330} + {3115395000 12600 0 +0330} + {3131037000 16200 1 +0330} + {3146931000 12600 0 +0330} + {3162573000 16200 1 +0330} + {3178467000 12600 0 +0330} + {3194109000 16200 1 +0330} + {3210003000 12600 0 +0330} + {3225731400 16200 1 +0330} + {3241625400 12600 0 +0330} + {3257267400 16200 1 +0330} + {3273161400 12600 0 +0330} + {3288803400 16200 1 +0330} + {3304697400 12600 0 +0330} + {3320339400 16200 1 +0330} + {3336233400 12600 0 +0330} + {3351961800 16200 1 +0330} + {3367855800 12600 0 +0330} + {3383497800 16200 1 +0330} + {3399391800 12600 0 +0330} + {3415033800 16200 1 +0330} + {3430927800 12600 0 +0330} + {3446569800 16200 1 +0330} + {3462463800 12600 0 +0330} + {3478192200 16200 1 +0330} + {3494086200 12600 0 +0330} + {3509728200 16200 1 +0330} + {3525622200 12600 0 +0330} + {3541264200 16200 1 +0330} + {3557158200 12600 0 +0330} + {3572800200 16200 1 +0330} + {3588694200 12600 0 +0330} + {3604422600 16200 1 +0330} + {3620316600 12600 0 +0330} + {3635958600 16200 1 +0330} + {3651852600 12600 0 +0330} + {3667494600 16200 1 +0330} + {3683388600 12600 0 +0330} + {3699030600 16200 1 +0330} + {3714924600 12600 0 +0330} + {3730653000 16200 1 +0330} + {3746547000 12600 0 +0330} + {3762189000 16200 1 +0330} + {3778083000 12600 0 +0330} + {3793725000 16200 1 +0330} + {3809619000 12600 0 +0330} + {3825261000 16200 1 +0330} + {3841155000 12600 0 +0330} + {3856883400 16200 1 +0330} + {3872777400 12600 0 +0330} + {3888419400 16200 1 +0330} + {3904313400 12600 0 +0330} + {3919955400 16200 1 +0330} + {3935849400 12600 0 +0330} + {3951491400 16200 1 +0330} + {3967385400 12600 0 +0330} + {3983113800 16200 1 +0330} + {3999007800 12600 0 +0330} + {4014649800 16200 1 +0330} + {4030543800 12600 0 +0330} + {4046185800 16200 1 +0330} + {4062079800 12600 0 +0330} + {4077721800 16200 1 +0330} + {4093615800 12600 0 +0330} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Tokyo b/amd64/lib/tcl8.6/tzdata/Asia/Tokyo index 10add1c..cc7a857 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Tokyo +++ b/amd64/lib/tcl8.6/tzdata/Asia/Tokyo @@ -3,12 +3,12 @@ set TZData(:Asia/Tokyo) { {-9223372036854775808 33539 0 LMT} {-2587712400 32400 0 JST} - {-683794800 36000 1 JDT} - {-672393600 32400 0 JST} - {-654764400 36000 1 JDT} - {-640944000 32400 0 JST} - {-620290800 36000 1 JDT} - {-609494400 32400 0 JST} - {-588841200 36000 1 JDT} - {-578044800 32400 0 JST} + {-683802000 36000 1 JDT} + {-672310800 32400 0 JST} + {-654771600 36000 1 JDT} + {-640861200 32400 0 JST} + {-620298000 36000 1 JDT} + {-609411600 32400 0 JST} + {-588848400 36000 1 JDT} + {-577962000 32400 0 JST} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Ulaanbaatar b/amd64/lib/tcl8.6/tzdata/Asia/Ulaanbaatar index e0ba7ab..3a33ef9 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Ulaanbaatar +++ b/amd64/lib/tcl8.6/tzdata/Asia/Ulaanbaatar @@ -4,52 +4,52 @@ set TZData(:Asia/Ulaanbaatar) { {-9223372036854775808 25652 0 LMT} {-2032931252 25200 0 +07} {252435600 28800 0 +08} - {417974400 32400 1 +09} + {417974400 32400 1 +08} {433782000 28800 0 +08} - {449596800 32400 1 +09} + {449596800 32400 1 +08} {465318000 28800 0 +08} - {481046400 32400 1 +09} + {481046400 32400 1 +08} {496767600 28800 0 +08} - {512496000 32400 1 +09} + {512496000 32400 1 +08} {528217200 28800 0 +08} - {543945600 32400 1 +09} + {543945600 32400 1 +08} {559666800 28800 0 +08} - {575395200 32400 1 +09} + {575395200 32400 1 +08} {591116400 28800 0 +08} - {606844800 32400 1 +09} + {606844800 32400 1 +08} {622566000 28800 0 +08} - {638294400 32400 1 +09} + {638294400 32400 1 +08} {654620400 28800 0 +08} - {670348800 32400 1 +09} + {670348800 32400 1 +08} {686070000 28800 0 +08} - {701798400 32400 1 +09} + {701798400 32400 1 +08} {717519600 28800 0 +08} - {733248000 32400 1 +09} + {733248000 32400 1 +08} {748969200 28800 0 +08} - {764697600 32400 1 +09} + {764697600 32400 1 +08} {780418800 28800 0 +08} - {796147200 32400 1 +09} + {796147200 32400 1 +08} {811868400 28800 0 +08} - {828201600 32400 1 +09} + {828201600 32400 1 +08} {843922800 28800 0 +08} - {859651200 32400 1 +09} + {859651200 32400 1 +08} {875372400 28800 0 +08} - {891100800 32400 1 +09} + {891100800 32400 1 +08} {906822000 28800 0 +08} - {988394400 32400 1 +09} + {988394400 32400 1 +08} {1001696400 28800 0 +08} - {1017424800 32400 1 +09} + {1017424800 32400 1 +08} {1033146000 28800 0 +08} - {1048874400 32400 1 +09} + {1048874400 32400 1 +08} {1064595600 28800 0 +08} - {1080324000 32400 1 +09} + {1080324000 32400 1 +08} {1096045200 28800 0 +08} - {1111773600 32400 1 +09} + {1111773600 32400 1 +08} {1127494800 28800 0 +08} - {1143223200 32400 1 +09} + {1143223200 32400 1 +08} {1159549200 28800 0 +08} - {1427479200 32400 1 +09} + {1427479200 32400 1 +08} {1443193200 28800 0 +08} - {1458928800 32400 1 +09} + {1458928800 32400 1 +08} {1474642800 28800 0 +08} } diff --git a/amd64/lib/tcl8.6/tzdata/Asia/Yerevan b/amd64/lib/tcl8.6/tzdata/Asia/Yerevan index 25a349a..463bed0 100644 --- a/amd64/lib/tcl8.6/tzdata/Asia/Yerevan +++ b/amd64/lib/tcl8.6/tzdata/Asia/Yerevan @@ -4,67 +4,67 @@ set TZData(:Asia/Yerevan) { {-9223372036854775808 10680 0 LMT} {-1441162680 10800 0 +03} {-405140400 14400 0 +04} - {354916800 18000 1 +05} + {354916800 18000 1 +04} {370724400 14400 0 +04} - {386452800 18000 1 +05} + {386452800 18000 1 +04} {402260400 14400 0 +04} - {417988800 18000 1 +05} + {417988800 18000 1 +04} {433796400 14400 0 +04} - {449611200 18000 1 +05} + {449611200 18000 1 +04} {465343200 14400 0 +04} - {481068000 18000 1 +05} + {481068000 18000 1 +04} {496792800 14400 0 +04} - {512517600 18000 1 +05} + {512517600 18000 1 +04} {528242400 14400 0 +04} - {543967200 18000 1 +05} + {543967200 18000 1 +04} {559692000 14400 0 +04} - {575416800 18000 1 +05} + {575416800 18000 1 +04} {591141600 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} {670370400 10800 0 +03} - {670374000 14400 1 +04} + {670374000 14400 1 +03} {686098800 10800 0 +03} - {701823600 14400 1 +04} + {701823600 14400 1 +03} {717548400 10800 0 +03} - {733273200 14400 1 +04} + {733273200 14400 1 +03} {748998000 10800 0 +03} - {764722800 14400 1 +04} + {764722800 14400 1 +03} {780447600 10800 0 +03} - {796172400 14400 1 +04} + {796172400 14400 1 +03} {811897200 14400 0 +04} {852062400 14400 0 +04} - {859672800 18000 1 +05} + {859672800 18000 1 +04} {877816800 14400 0 +04} - {891122400 18000 1 +05} + {891122400 18000 1 +04} {909266400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 14400 0 +04} - {1111874400 18000 1 +05} + {1111874400 18000 1 +04} {1130623200 14400 0 +04} - {1143324000 18000 1 +05} + {1143324000 18000 1 +04} {1162072800 14400 0 +04} - {1174773600 18000 1 +05} + {1174773600 18000 1 +04} {1193522400 14400 0 +04} - {1206828000 18000 1 +05} + {1206828000 18000 1 +04} {1224972000 14400 0 +04} - {1238277600 18000 1 +05} + {1238277600 18000 1 +04} {1256421600 14400 0 +04} - {1269727200 18000 1 +05} + {1269727200 18000 1 +04} {1288476000 14400 0 +04} {1293825600 14400 0 +04} - {1301176800 18000 1 +05} + {1301176800 18000 1 +04} {1319925600 14400 0 +04} } diff --git a/amd64/lib/tcl8.6/tzdata/Atlantic/Azores b/amd64/lib/tcl8.6/tzdata/Atlantic/Azores index a9bec94..088dd9a 100644 --- a/amd64/lib/tcl8.6/tzdata/Atlantic/Azores +++ b/amd64/lib/tcl8.6/tzdata/Atlantic/Azores @@ -3,7 +3,7 @@ set TZData(:Atlantic/Azores) { {-9223372036854775808 -6160 0 LMT} {-2713904240 -6872 0 HMT} - {-1830377128 -7200 0 -02} + {-1830376800 -7200 0 -02} {-1689548400 -3600 1 -01} {-1677794400 -7200 0 -02} {-1667430000 -3600 1 -01} diff --git a/amd64/lib/tcl8.6/tzdata/Atlantic/Cape_Verde b/amd64/lib/tcl8.6/tzdata/Atlantic/Cape_Verde index 6fc94eb..595db0b 100644 --- a/amd64/lib/tcl8.6/tzdata/Atlantic/Cape_Verde +++ b/amd64/lib/tcl8.6/tzdata/Atlantic/Cape_Verde @@ -2,7 +2,7 @@ set TZData(:Atlantic/Cape_Verde) { {-9223372036854775808 -5644 0 LMT} - {-1988144756 -7200 0 -02} + {-1830376800 -7200 0 -02} {-862610400 -3600 1 -01} {-764118000 -7200 0 -02} {186120000 -3600 0 -01} diff --git a/amd64/lib/tcl8.6/tzdata/Atlantic/Madeira b/amd64/lib/tcl8.6/tzdata/Atlantic/Madeira index cc5e5f8..fed9c19 100644 --- a/amd64/lib/tcl8.6/tzdata/Atlantic/Madeira +++ b/amd64/lib/tcl8.6/tzdata/Atlantic/Madeira @@ -3,7 +3,7 @@ set TZData(:Atlantic/Madeira) { {-9223372036854775808 -4056 0 LMT} {-2713906344 -4056 0 FMT} - {-1830379944 -3600 0 -01} + {-1830380400 -3600 0 -01} {-1689552000 0 1 +00} {-1677798000 -3600 0 -01} {-1667433600 0 1 +00} diff --git a/amd64/lib/tcl8.6/tzdata/Atlantic/Reykjavik b/amd64/lib/tcl8.6/tzdata/Atlantic/Reykjavik index 5555460..6270572 100644 --- a/amd64/lib/tcl8.6/tzdata/Atlantic/Reykjavik +++ b/amd64/lib/tcl8.6/tzdata/Atlantic/Reykjavik @@ -3,71 +3,71 @@ set TZData(:Atlantic/Reykjavik) { {-9223372036854775808 -5280 0 LMT} {-1956609120 -3600 0 -01} - {-1668211200 0 1 +00} + {-1668211200 0 1 -01} {-1647212400 -3600 0 -01} - {-1636675200 0 1 +00} + {-1636675200 0 1 -01} {-1613430000 -3600 0 -01} - {-1605139200 0 1 +00} + {-1605139200 0 1 -01} {-1581894000 -3600 0 -01} - {-1539561600 0 1 +00} + {-1539561600 0 1 -01} {-1531350000 -3600 0 -01} - {-968025600 0 1 +00} + {-968025600 0 1 -01} {-952293600 -3600 0 -01} - {-942008400 0 1 +00} + {-942008400 0 1 -01} {-920239200 -3600 0 -01} - {-909957600 0 1 +00} + {-909957600 0 1 -01} {-888789600 -3600 0 -01} - {-877903200 0 1 +00} + {-877903200 0 1 -01} {-857944800 -3600 0 -01} - {-846453600 0 1 +00} + {-846453600 0 1 -01} {-826495200 -3600 0 -01} - {-815004000 0 1 +00} + {-815004000 0 1 -01} {-795045600 -3600 0 -01} - {-783554400 0 1 +00} + {-783554400 0 1 -01} {-762991200 -3600 0 -01} - {-752104800 0 1 +00} + {-752104800 0 1 -01} {-731541600 -3600 0 -01} - {-717631200 0 1 +00} + {-717631200 0 1 -01} {-700092000 -3600 0 -01} - {-686181600 0 1 +00} + {-686181600 0 1 -01} {-668642400 -3600 0 -01} - {-654732000 0 1 +00} + {-654732000 0 1 -01} {-636588000 -3600 0 -01} - {-623282400 0 1 +00} + {-623282400 0 1 -01} {-605743200 -3600 0 -01} - {-591832800 0 1 +00} + {-591832800 0 1 -01} {-573688800 -3600 0 -01} - {-559778400 0 1 +00} + {-559778400 0 1 -01} {-542239200 -3600 0 -01} - {-528328800 0 1 +00} + {-528328800 0 1 -01} {-510789600 -3600 0 -01} - {-496879200 0 1 +00} + {-496879200 0 1 -01} {-479340000 -3600 0 -01} - {-465429600 0 1 +00} + {-465429600 0 1 -01} {-447890400 -3600 0 -01} - {-433980000 0 1 +00} + {-433980000 0 1 -01} {-415836000 -3600 0 -01} - {-401925600 0 1 +00} + {-401925600 0 1 -01} {-384386400 -3600 0 -01} - {-370476000 0 1 +00} + {-370476000 0 1 -01} {-352936800 -3600 0 -01} - {-339026400 0 1 +00} + {-339026400 0 1 -01} {-321487200 -3600 0 -01} - {-307576800 0 1 +00} + {-307576800 0 1 -01} {-290037600 -3600 0 -01} - {-276127200 0 1 +00} + {-276127200 0 1 -01} {-258588000 -3600 0 -01} - {-244677600 0 1 +00} + {-244677600 0 1 -01} {-226533600 -3600 0 -01} - {-212623200 0 1 +00} + {-212623200 0 1 -01} {-195084000 -3600 0 -01} - {-181173600 0 1 +00} + {-181173600 0 1 -01} {-163634400 -3600 0 -01} - {-149724000 0 1 +00} + {-149724000 0 1 -01} {-132184800 -3600 0 -01} - {-118274400 0 1 +00} + {-118274400 0 1 -01} {-100735200 -3600 0 -01} - {-86824800 0 1 +00} + {-86824800 0 1 -01} {-68680800 -3600 0 -01} {-54770400 0 0 GMT} } diff --git a/amd64/lib/tcl8.6/tzdata/Atlantic/Stanley b/amd64/lib/tcl8.6/tzdata/Atlantic/Stanley index 5210832..48473ca 100644 --- a/amd64/lib/tcl8.6/tzdata/Atlantic/Stanley +++ b/amd64/lib/tcl8.6/tzdata/Atlantic/Stanley @@ -4,72 +4,72 @@ set TZData(:Atlantic/Stanley) { {-9223372036854775808 -13884 0 LMT} {-2524507716 -13884 0 SMT} {-1824235716 -14400 0 -04} - {-1018209600 -10800 1 -03} + {-1018209600 -10800 1 -04} {-1003093200 -14400 0 -04} - {-986760000 -10800 1 -03} + {-986760000 -10800 1 -04} {-971643600 -14400 0 -04} - {-954705600 -10800 1 -03} + {-954705600 -10800 1 -04} {-939589200 -14400 0 -04} - {-923256000 -10800 1 -03} + {-923256000 -10800 1 -04} {-908139600 -14400 0 -04} - {-891806400 -10800 1 -03} + {-891806400 -10800 1 -04} {-876690000 -14400 0 -04} - {-860356800 -10800 1 -03} + {-860356800 -10800 1 -04} {420606000 -7200 0 -03} - {433303200 -7200 1 -02} + {433303200 -7200 1 -03} {452052000 -10800 0 -03} - {464151600 -7200 1 -02} + {464151600 -7200 1 -03} {483501600 -10800 0 -03} {495597600 -14400 0 -04} - {495604800 -10800 1 -03} + {495604800 -10800 1 -04} {514350000 -14400 0 -04} - {527054400 -10800 1 -03} + {527054400 -10800 1 -04} {545799600 -14400 0 -04} - {558504000 -10800 1 -03} + {558504000 -10800 1 -04} {577249200 -14400 0 -04} - {589953600 -10800 1 -03} + {589953600 -10800 1 -04} {608698800 -14400 0 -04} - {621403200 -10800 1 -03} + {621403200 -10800 1 -04} {640753200 -14400 0 -04} - {652852800 -10800 1 -03} + {652852800 -10800 1 -04} {672202800 -14400 0 -04} - {684907200 -10800 1 -03} + {684907200 -10800 1 -04} {703652400 -14400 0 -04} - {716356800 -10800 1 -03} + {716356800 -10800 1 -04} {735102000 -14400 0 -04} - {747806400 -10800 1 -03} + {747806400 -10800 1 -04} {766551600 -14400 0 -04} - {779256000 -10800 1 -03} + {779256000 -10800 1 -04} {798001200 -14400 0 -04} - {810705600 -10800 1 -03} + {810705600 -10800 1 -04} {830055600 -14400 0 -04} - {842760000 -10800 1 -03} + {842760000 -10800 1 -04} {861505200 -14400 0 -04} - {874209600 -10800 1 -03} + {874209600 -10800 1 -04} {892954800 -14400 0 -04} - {905659200 -10800 1 -03} + {905659200 -10800 1 -04} {924404400 -14400 0 -04} - {937108800 -10800 1 -03} + {937108800 -10800 1 -04} {955854000 -14400 0 -04} - {968558400 -10800 1 -03} + {968558400 -10800 1 -04} {987310800 -14400 0 -04} - {999410400 -10800 1 -03} + {999410400 -10800 1 -04} {1019365200 -14400 0 -04} - {1030860000 -10800 1 -03} + {1030860000 -10800 1 -04} {1050814800 -14400 0 -04} - {1062914400 -10800 1 -03} + {1062914400 -10800 1 -04} {1082264400 -14400 0 -04} - {1094364000 -10800 1 -03} + {1094364000 -10800 1 -04} {1113714000 -14400 0 -04} - {1125813600 -10800 1 -03} + {1125813600 -10800 1 -04} {1145163600 -14400 0 -04} - {1157263200 -10800 1 -03} + {1157263200 -10800 1 -04} {1176613200 -14400 0 -04} - {1188712800 -10800 1 -03} + {1188712800 -10800 1 -04} {1208667600 -14400 0 -04} - {1220767200 -10800 1 -03} + {1220767200 -10800 1 -04} {1240117200 -14400 0 -04} - {1252216800 -10800 1 -03} + {1252216800 -10800 1 -04} {1271566800 -14400 0 -04} {1283662800 -10800 0 -03} } diff --git a/amd64/lib/tcl8.6/tzdata/Australia/Lord_Howe b/amd64/lib/tcl8.6/tzdata/Australia/Lord_Howe index 0e2405e..c595967 100644 --- a/amd64/lib/tcl8.6/tzdata/Australia/Lord_Howe +++ b/amd64/lib/tcl8.6/tzdata/Australia/Lord_Howe @@ -3,243 +3,243 @@ set TZData(:Australia/Lord_Howe) { {-9223372036854775808 38180 0 LMT} {-2364114980 36000 0 AEST} - {352216800 37800 0 +1130} - {372785400 41400 1 +1130} - {384273000 37800 0 +1130} - {404839800 41400 1 +1130} - {415722600 37800 0 +1130} - {436289400 41400 1 +1130} - {447172200 37800 0 +1130} - {467739000 41400 1 +1130} - {478621800 37800 0 +1130} - {488984400 37800 0 +11} - {499188600 39600 1 +11} - {511282800 37800 0 +11} - {530033400 39600 1 +11} - {542732400 37800 0 +11} - {562087800 39600 1 +11} - {574786800 37800 0 +11} - {594142200 39600 1 +11} - {606236400 37800 0 +11} - {625591800 39600 1 +11} - {636476400 37800 0 +11} - {657041400 39600 1 +11} - {667926000 37800 0 +11} - {688491000 39600 1 +11} - {699375600 37800 0 +11} - {719940600 39600 1 +11} - {731430000 37800 0 +11} - {751995000 39600 1 +11} - {762879600 37800 0 +11} - {783444600 39600 1 +11} - {794329200 37800 0 +11} - {814894200 39600 1 +11} - {828198000 37800 0 +11} - {846343800 39600 1 +11} - {859647600 37800 0 +11} - {877793400 39600 1 +11} - {891097200 37800 0 +11} - {909243000 39600 1 +11} - {922546800 37800 0 +11} - {941297400 39600 1 +11} - {953996400 37800 0 +11} - {967303800 39600 1 +11} - {985446000 37800 0 +11} - {1004196600 39600 1 +11} - {1017500400 37800 0 +11} - {1035646200 39600 1 +11} - {1048950000 37800 0 +11} - {1067095800 39600 1 +11} - {1080399600 37800 0 +11} - {1099150200 39600 1 +11} - {1111849200 37800 0 +11} - {1130599800 39600 1 +11} - {1143903600 37800 0 +11} - {1162049400 39600 1 +11} - {1174748400 37800 0 +11} - {1193499000 39600 1 +11} - {1207407600 37800 0 +11} - {1223134200 39600 1 +11} - {1238857200 37800 0 +11} - {1254583800 39600 1 +11} - {1270306800 37800 0 +11} - {1286033400 39600 1 +11} - {1301756400 37800 0 +11} - {1317483000 39600 1 +11} - {1333206000 37800 0 +11} - {1349537400 39600 1 +11} - {1365260400 37800 0 +11} - {1380987000 39600 1 +11} - {1396710000 37800 0 +11} - {1412436600 39600 1 +11} - {1428159600 37800 0 +11} - {1443886200 39600 1 +11} - {1459609200 37800 0 +11} - {1475335800 39600 1 +11} - {1491058800 37800 0 +11} - {1506785400 39600 1 +11} - {1522508400 37800 0 +11} - {1538839800 39600 1 +11} - {1554562800 37800 0 +11} - {1570289400 39600 1 +11} - {1586012400 37800 0 +11} - {1601739000 39600 1 +11} - {1617462000 37800 0 +11} - {1633188600 39600 1 +11} - {1648911600 37800 0 +11} - {1664638200 39600 1 +11} - {1680361200 37800 0 +11} - {1696087800 39600 1 +11} - {1712415600 37800 0 +11} - {1728142200 39600 1 +11} - {1743865200 37800 0 +11} - {1759591800 39600 1 +11} - {1775314800 37800 0 +11} - {1791041400 39600 1 +11} - {1806764400 37800 0 +11} - {1822491000 39600 1 +11} - {1838214000 37800 0 +11} - {1853940600 39600 1 +11} - {1869663600 37800 0 +11} - {1885995000 39600 1 +11} - {1901718000 37800 0 +11} - {1917444600 39600 1 +11} - {1933167600 37800 0 +11} - {1948894200 39600 1 +11} - {1964617200 37800 0 +11} - {1980343800 39600 1 +11} - {1996066800 37800 0 +11} - {2011793400 39600 1 +11} - {2027516400 37800 0 +11} - {2043243000 39600 1 +11} - {2058966000 37800 0 +11} - {2075297400 39600 1 +11} - {2091020400 37800 0 +11} - {2106747000 39600 1 +11} - {2122470000 37800 0 +11} - {2138196600 39600 1 +11} - {2153919600 37800 0 +11} - {2169646200 39600 1 +11} - {2185369200 37800 0 +11} - {2201095800 39600 1 +11} - {2216818800 37800 0 +11} - {2233150200 39600 1 +11} - {2248873200 37800 0 +11} - {2264599800 39600 1 +11} - {2280322800 37800 0 +11} - {2296049400 39600 1 +11} - {2311772400 37800 0 +11} - {2327499000 39600 1 +11} - {2343222000 37800 0 +11} - {2358948600 39600 1 +11} - {2374671600 37800 0 +11} - {2390398200 39600 1 +11} - {2406121200 37800 0 +11} - {2422452600 39600 1 +11} - {2438175600 37800 0 +11} - {2453902200 39600 1 +11} - {2469625200 37800 0 +11} - {2485351800 39600 1 +11} - {2501074800 37800 0 +11} - {2516801400 39600 1 +11} - {2532524400 37800 0 +11} - {2548251000 39600 1 +11} - {2563974000 37800 0 +11} - {2579700600 39600 1 +11} - {2596028400 37800 0 +11} - {2611755000 39600 1 +11} - {2627478000 37800 0 +11} - {2643204600 39600 1 +11} - {2658927600 37800 0 +11} - {2674654200 39600 1 +11} - {2690377200 37800 0 +11} - {2706103800 39600 1 +11} - {2721826800 37800 0 +11} - {2737553400 39600 1 +11} - {2753276400 37800 0 +11} - {2769607800 39600 1 +11} - {2785330800 37800 0 +11} - {2801057400 39600 1 +11} - {2816780400 37800 0 +11} - {2832507000 39600 1 +11} - {2848230000 37800 0 +11} - {2863956600 39600 1 +11} - {2879679600 37800 0 +11} - {2895406200 39600 1 +11} - {2911129200 37800 0 +11} - {2926855800 39600 1 +11} - {2942578800 37800 0 +11} - {2958910200 39600 1 +11} - {2974633200 37800 0 +11} - {2990359800 39600 1 +11} - {3006082800 37800 0 +11} - {3021809400 39600 1 +11} - {3037532400 37800 0 +11} - {3053259000 39600 1 +11} - {3068982000 37800 0 +11} - {3084708600 39600 1 +11} - {3100431600 37800 0 +11} - {3116763000 39600 1 +11} - {3132486000 37800 0 +11} - {3148212600 39600 1 +11} - {3163935600 37800 0 +11} - {3179662200 39600 1 +11} - {3195385200 37800 0 +11} - {3211111800 39600 1 +11} - {3226834800 37800 0 +11} - {3242561400 39600 1 +11} - {3258284400 37800 0 +11} - {3274011000 39600 1 +11} - {3289734000 37800 0 +11} - {3306065400 39600 1 +11} - {3321788400 37800 0 +11} - {3337515000 39600 1 +11} - {3353238000 37800 0 +11} - {3368964600 39600 1 +11} - {3384687600 37800 0 +11} - {3400414200 39600 1 +11} - {3416137200 37800 0 +11} - {3431863800 39600 1 +11} - {3447586800 37800 0 +11} - {3463313400 39600 1 +11} - {3479641200 37800 0 +11} - {3495367800 39600 1 +11} - {3511090800 37800 0 +11} - {3526817400 39600 1 +11} - {3542540400 37800 0 +11} - {3558267000 39600 1 +11} - {3573990000 37800 0 +11} - {3589716600 39600 1 +11} - {3605439600 37800 0 +11} - {3621166200 39600 1 +11} - {3636889200 37800 0 +11} - {3653220600 39600 1 +11} - {3668943600 37800 0 +11} - {3684670200 39600 1 +11} - {3700393200 37800 0 +11} - {3716119800 39600 1 +11} - {3731842800 37800 0 +11} - {3747569400 39600 1 +11} - {3763292400 37800 0 +11} - {3779019000 39600 1 +11} - {3794742000 37800 0 +11} - {3810468600 39600 1 +11} - {3826191600 37800 0 +11} - {3842523000 39600 1 +11} - {3858246000 37800 0 +11} - {3873972600 39600 1 +11} - {3889695600 37800 0 +11} - {3905422200 39600 1 +11} - {3921145200 37800 0 +11} - {3936871800 39600 1 +11} - {3952594800 37800 0 +11} - {3968321400 39600 1 +11} - {3984044400 37800 0 +11} - {4000375800 39600 1 +11} - {4016098800 37800 0 +11} - {4031825400 39600 1 +11} - {4047548400 37800 0 +11} - {4063275000 39600 1 +11} - {4078998000 37800 0 +11} - {4094724600 39600 1 +11} + {352216800 37800 0 +1030} + {372785400 41400 1 +1030} + {384273000 37800 0 +1030} + {404839800 41400 1 +1030} + {415722600 37800 0 +1030} + {436289400 41400 1 +1030} + {447172200 37800 0 +1030} + {467739000 41400 1 +1030} + {478621800 37800 0 +1030} + {488984400 37800 0 +1030} + {499188600 39600 1 +1030} + {511282800 37800 0 +1030} + {530033400 39600 1 +1030} + {542732400 37800 0 +1030} + {562087800 39600 1 +1030} + {574786800 37800 0 +1030} + {594142200 39600 1 +1030} + {606236400 37800 0 +1030} + {625591800 39600 1 +1030} + {636476400 37800 0 +1030} + {657041400 39600 1 +1030} + {667926000 37800 0 +1030} + {688491000 39600 1 +1030} + {699375600 37800 0 +1030} + {719940600 39600 1 +1030} + {731430000 37800 0 +1030} + {751995000 39600 1 +1030} + {762879600 37800 0 +1030} + {783444600 39600 1 +1030} + {794329200 37800 0 +1030} + {814894200 39600 1 +1030} + {828198000 37800 0 +1030} + {846343800 39600 1 +1030} + {859647600 37800 0 +1030} + {877793400 39600 1 +1030} + {891097200 37800 0 +1030} + {909243000 39600 1 +1030} + {922546800 37800 0 +1030} + {941297400 39600 1 +1030} + {953996400 37800 0 +1030} + {967303800 39600 1 +1030} + {985446000 37800 0 +1030} + {1004196600 39600 1 +1030} + {1017500400 37800 0 +1030} + {1035646200 39600 1 +1030} + {1048950000 37800 0 +1030} + {1067095800 39600 1 +1030} + {1080399600 37800 0 +1030} + {1099150200 39600 1 +1030} + {1111849200 37800 0 +1030} + {1130599800 39600 1 +1030} + {1143903600 37800 0 +1030} + {1162049400 39600 1 +1030} + {1174748400 37800 0 +1030} + {1193499000 39600 1 +1030} + {1207407600 37800 0 +1030} + {1223134200 39600 1 +1030} + {1238857200 37800 0 +1030} + {1254583800 39600 1 +1030} + {1270306800 37800 0 +1030} + {1286033400 39600 1 +1030} + {1301756400 37800 0 +1030} + {1317483000 39600 1 +1030} + {1333206000 37800 0 +1030} + {1349537400 39600 1 +1030} + {1365260400 37800 0 +1030} + {1380987000 39600 1 +1030} + {1396710000 37800 0 +1030} + {1412436600 39600 1 +1030} + {1428159600 37800 0 +1030} + {1443886200 39600 1 +1030} + {1459609200 37800 0 +1030} + {1475335800 39600 1 +1030} + {1491058800 37800 0 +1030} + {1506785400 39600 1 +1030} + {1522508400 37800 0 +1030} + {1538839800 39600 1 +1030} + {1554562800 37800 0 +1030} + {1570289400 39600 1 +1030} + {1586012400 37800 0 +1030} + {1601739000 39600 1 +1030} + {1617462000 37800 0 +1030} + {1633188600 39600 1 +1030} + {1648911600 37800 0 +1030} + {1664638200 39600 1 +1030} + {1680361200 37800 0 +1030} + {1696087800 39600 1 +1030} + {1712415600 37800 0 +1030} + {1728142200 39600 1 +1030} + {1743865200 37800 0 +1030} + {1759591800 39600 1 +1030} + {1775314800 37800 0 +1030} + {1791041400 39600 1 +1030} + {1806764400 37800 0 +1030} + {1822491000 39600 1 +1030} + {1838214000 37800 0 +1030} + {1853940600 39600 1 +1030} + {1869663600 37800 0 +1030} + {1885995000 39600 1 +1030} + {1901718000 37800 0 +1030} + {1917444600 39600 1 +1030} + {1933167600 37800 0 +1030} + {1948894200 39600 1 +1030} + {1964617200 37800 0 +1030} + {1980343800 39600 1 +1030} + {1996066800 37800 0 +1030} + {2011793400 39600 1 +1030} + {2027516400 37800 0 +1030} + {2043243000 39600 1 +1030} + {2058966000 37800 0 +1030} + {2075297400 39600 1 +1030} + {2091020400 37800 0 +1030} + {2106747000 39600 1 +1030} + {2122470000 37800 0 +1030} + {2138196600 39600 1 +1030} + {2153919600 37800 0 +1030} + {2169646200 39600 1 +1030} + {2185369200 37800 0 +1030} + {2201095800 39600 1 +1030} + {2216818800 37800 0 +1030} + {2233150200 39600 1 +1030} + {2248873200 37800 0 +1030} + {2264599800 39600 1 +1030} + {2280322800 37800 0 +1030} + {2296049400 39600 1 +1030} + {2311772400 37800 0 +1030} + {2327499000 39600 1 +1030} + {2343222000 37800 0 +1030} + {2358948600 39600 1 +1030} + {2374671600 37800 0 +1030} + {2390398200 39600 1 +1030} + {2406121200 37800 0 +1030} + {2422452600 39600 1 +1030} + {2438175600 37800 0 +1030} + {2453902200 39600 1 +1030} + {2469625200 37800 0 +1030} + {2485351800 39600 1 +1030} + {2501074800 37800 0 +1030} + {2516801400 39600 1 +1030} + {2532524400 37800 0 +1030} + {2548251000 39600 1 +1030} + {2563974000 37800 0 +1030} + {2579700600 39600 1 +1030} + {2596028400 37800 0 +1030} + {2611755000 39600 1 +1030} + {2627478000 37800 0 +1030} + {2643204600 39600 1 +1030} + {2658927600 37800 0 +1030} + {2674654200 39600 1 +1030} + {2690377200 37800 0 +1030} + {2706103800 39600 1 +1030} + {2721826800 37800 0 +1030} + {2737553400 39600 1 +1030} + {2753276400 37800 0 +1030} + {2769607800 39600 1 +1030} + {2785330800 37800 0 +1030} + {2801057400 39600 1 +1030} + {2816780400 37800 0 +1030} + {2832507000 39600 1 +1030} + {2848230000 37800 0 +1030} + {2863956600 39600 1 +1030} + {2879679600 37800 0 +1030} + {2895406200 39600 1 +1030} + {2911129200 37800 0 +1030} + {2926855800 39600 1 +1030} + {2942578800 37800 0 +1030} + {2958910200 39600 1 +1030} + {2974633200 37800 0 +1030} + {2990359800 39600 1 +1030} + {3006082800 37800 0 +1030} + {3021809400 39600 1 +1030} + {3037532400 37800 0 +1030} + {3053259000 39600 1 +1030} + {3068982000 37800 0 +1030} + {3084708600 39600 1 +1030} + {3100431600 37800 0 +1030} + {3116763000 39600 1 +1030} + {3132486000 37800 0 +1030} + {3148212600 39600 1 +1030} + {3163935600 37800 0 +1030} + {3179662200 39600 1 +1030} + {3195385200 37800 0 +1030} + {3211111800 39600 1 +1030} + {3226834800 37800 0 +1030} + {3242561400 39600 1 +1030} + {3258284400 37800 0 +1030} + {3274011000 39600 1 +1030} + {3289734000 37800 0 +1030} + {3306065400 39600 1 +1030} + {3321788400 37800 0 +1030} + {3337515000 39600 1 +1030} + {3353238000 37800 0 +1030} + {3368964600 39600 1 +1030} + {3384687600 37800 0 +1030} + {3400414200 39600 1 +1030} + {3416137200 37800 0 +1030} + {3431863800 39600 1 +1030} + {3447586800 37800 0 +1030} + {3463313400 39600 1 +1030} + {3479641200 37800 0 +1030} + {3495367800 39600 1 +1030} + {3511090800 37800 0 +1030} + {3526817400 39600 1 +1030} + {3542540400 37800 0 +1030} + {3558267000 39600 1 +1030} + {3573990000 37800 0 +1030} + {3589716600 39600 1 +1030} + {3605439600 37800 0 +1030} + {3621166200 39600 1 +1030} + {3636889200 37800 0 +1030} + {3653220600 39600 1 +1030} + {3668943600 37800 0 +1030} + {3684670200 39600 1 +1030} + {3700393200 37800 0 +1030} + {3716119800 39600 1 +1030} + {3731842800 37800 0 +1030} + {3747569400 39600 1 +1030} + {3763292400 37800 0 +1030} + {3779019000 39600 1 +1030} + {3794742000 37800 0 +1030} + {3810468600 39600 1 +1030} + {3826191600 37800 0 +1030} + {3842523000 39600 1 +1030} + {3858246000 37800 0 +1030} + {3873972600 39600 1 +1030} + {3889695600 37800 0 +1030} + {3905422200 39600 1 +1030} + {3921145200 37800 0 +1030} + {3936871800 39600 1 +1030} + {3952594800 37800 0 +1030} + {3968321400 39600 1 +1030} + {3984044400 37800 0 +1030} + {4000375800 39600 1 +1030} + {4016098800 37800 0 +1030} + {4031825400 39600 1 +1030} + {4047548400 37800 0 +1030} + {4063275000 39600 1 +1030} + {4078998000 37800 0 +1030} + {4094724600 39600 1 +1030} } diff --git a/amd64/lib/tcl8.6/tzdata/Europe/Dublin b/amd64/lib/tcl8.6/tzdata/Europe/Dublin index c3a5c0e..56afc93 100644 --- a/amd64/lib/tcl8.6/tzdata/Europe/Dublin +++ b/amd64/lib/tcl8.6/tzdata/Europe/Dublin @@ -98,262 +98,261 @@ set TZData(:Europe/Dublin) { {-68680800 0 0 IST} {-59004000 3600 1 IST} {-37238400 3600 0 IST} - {57722400 0 0 IST} - {69818400 3600 1 IST} - {89172000 0 0 IST} - {101268000 3600 1 IST} - {120621600 0 0 IST} - {132717600 3600 1 IST} - {152071200 0 0 IST} - {164167200 3600 1 IST} - {183520800 0 0 IST} - {196221600 3600 1 IST} - {214970400 0 0 IST} - {227671200 3600 1 IST} - {246420000 0 0 IST} - {259120800 3600 1 IST} - {278474400 0 0 IST} - {290570400 3600 1 IST} - {309924000 0 0 IST} - {322020000 3600 1 IST} - {341373600 0 0 IST} - {354675600 3600 1 IST} - {372819600 0 0 IST} - {386125200 3600 1 IST} - {404269200 0 0 IST} - {417574800 3600 1 IST} - {435718800 0 0 IST} - {449024400 3600 1 IST} - {467773200 0 0 IST} - {481078800 3600 1 IST} - {499222800 0 0 IST} - {512528400 3600 1 IST} - {530672400 0 0 IST} - {543978000 3600 1 IST} - {562122000 0 0 IST} - {575427600 3600 1 IST} - {593571600 0 0 IST} - {606877200 3600 1 IST} - {625626000 0 0 IST} - {638326800 3600 1 IST} - {657075600 0 0 IST} - {670381200 3600 1 IST} - {688525200 0 0 IST} - {701830800 3600 1 IST} - {719974800 0 0 IST} - {733280400 3600 1 IST} - {751424400 0 0 IST} - {764730000 3600 1 IST} - {782874000 0 0 IST} - {796179600 3600 1 IST} - {814323600 0 0 IST} - {820454400 0 0 GMT} - {828234000 3600 1 IST} - {846378000 0 0 GMT} - {859683600 3600 1 IST} - {877827600 0 0 GMT} - {891133200 3600 1 IST} - {909277200 0 0 GMT} - {922582800 3600 1 IST} - {941331600 0 0 GMT} - {954032400 3600 1 IST} - {972781200 0 0 GMT} - {985482000 3600 1 IST} - {1004230800 0 0 GMT} - {1017536400 3600 1 IST} - {1035680400 0 0 GMT} - {1048986000 3600 1 IST} - {1067130000 0 0 GMT} - {1080435600 3600 1 IST} - {1099184400 0 0 GMT} - {1111885200 3600 1 IST} - {1130634000 0 0 GMT} - {1143334800 3600 1 IST} - {1162083600 0 0 GMT} - {1174784400 3600 1 IST} - {1193533200 0 0 GMT} - {1206838800 3600 1 IST} - {1224982800 0 0 GMT} - {1238288400 3600 1 IST} - {1256432400 0 0 GMT} - {1269738000 3600 1 IST} - {1288486800 0 0 GMT} - {1301187600 3600 1 IST} - {1319936400 0 0 GMT} - {1332637200 3600 1 IST} - {1351386000 0 0 GMT} - {1364691600 3600 1 IST} - {1382835600 0 0 GMT} - {1396141200 3600 1 IST} - {1414285200 0 0 GMT} - {1427590800 3600 1 IST} - {1445734800 0 0 GMT} - {1459040400 3600 1 IST} - {1477789200 0 0 GMT} - {1490490000 3600 1 IST} - {1509238800 0 0 GMT} - {1521939600 3600 1 IST} - {1540688400 0 0 GMT} - {1553994000 3600 1 IST} - {1572138000 0 0 GMT} - {1585443600 3600 1 IST} - {1603587600 0 0 GMT} - {1616893200 3600 1 IST} - {1635642000 0 0 GMT} - {1648342800 3600 1 IST} - {1667091600 0 0 GMT} - {1679792400 3600 1 IST} - {1698541200 0 0 GMT} - {1711846800 3600 1 IST} - {1729990800 0 0 GMT} - {1743296400 3600 1 IST} - {1761440400 0 0 GMT} - {1774746000 3600 1 IST} - {1792890000 0 0 GMT} - {1806195600 3600 1 IST} - {1824944400 0 0 GMT} - {1837645200 3600 1 IST} - {1856394000 0 0 GMT} - {1869094800 3600 1 IST} - {1887843600 0 0 GMT} - {1901149200 3600 1 IST} - {1919293200 0 0 GMT} - {1932598800 3600 1 IST} - {1950742800 0 0 GMT} - {1964048400 3600 1 IST} - {1982797200 0 0 GMT} - {1995498000 3600 1 IST} - {2014246800 0 0 GMT} - {2026947600 3600 1 IST} - {2045696400 0 0 GMT} - {2058397200 3600 1 IST} - {2077146000 0 0 GMT} - {2090451600 3600 1 IST} - {2108595600 0 0 GMT} - {2121901200 3600 1 IST} - {2140045200 0 0 GMT} - {2153350800 3600 1 IST} - {2172099600 0 0 GMT} - {2184800400 3600 1 IST} - {2203549200 0 0 GMT} - {2216250000 3600 1 IST} - {2234998800 0 0 GMT} - {2248304400 3600 1 IST} - {2266448400 0 0 GMT} - {2279754000 3600 1 IST} - {2297898000 0 0 GMT} - {2311203600 3600 1 IST} - {2329347600 0 0 GMT} - {2342653200 3600 1 IST} - {2361402000 0 0 GMT} - {2374102800 3600 1 IST} - {2392851600 0 0 GMT} - {2405552400 3600 1 IST} - {2424301200 0 0 GMT} - {2437606800 3600 1 IST} - {2455750800 0 0 GMT} - {2469056400 3600 1 IST} - {2487200400 0 0 GMT} - {2500506000 3600 1 IST} - {2519254800 0 0 GMT} - {2531955600 3600 1 IST} - {2550704400 0 0 GMT} - {2563405200 3600 1 IST} - {2582154000 0 0 GMT} - {2595459600 3600 1 IST} - {2613603600 0 0 GMT} - {2626909200 3600 1 IST} - {2645053200 0 0 GMT} - {2658358800 3600 1 IST} - {2676502800 0 0 GMT} - {2689808400 3600 1 IST} - {2708557200 0 0 GMT} - {2721258000 3600 1 IST} - {2740006800 0 0 GMT} - {2752707600 3600 1 IST} - {2771456400 0 0 GMT} - {2784762000 3600 1 IST} - {2802906000 0 0 GMT} - {2816211600 3600 1 IST} - {2834355600 0 0 GMT} - {2847661200 3600 1 IST} - {2866410000 0 0 GMT} - {2879110800 3600 1 IST} - {2897859600 0 0 GMT} - {2910560400 3600 1 IST} - {2929309200 0 0 GMT} - {2942010000 3600 1 IST} - {2960758800 0 0 GMT} - {2974064400 3600 1 IST} - {2992208400 0 0 GMT} - {3005514000 3600 1 IST} - {3023658000 0 0 GMT} - {3036963600 3600 1 IST} - {3055712400 0 0 GMT} - {3068413200 3600 1 IST} - {3087162000 0 0 GMT} - {3099862800 3600 1 IST} - {3118611600 0 0 GMT} - {3131917200 3600 1 IST} - {3150061200 0 0 GMT} - {3163366800 3600 1 IST} - {3181510800 0 0 GMT} - {3194816400 3600 1 IST} - {3212960400 0 0 GMT} - {3226266000 3600 1 IST} - {3245014800 0 0 GMT} - {3257715600 3600 1 IST} - {3276464400 0 0 GMT} - {3289165200 3600 1 IST} - {3307914000 0 0 GMT} - {3321219600 3600 1 IST} - {3339363600 0 0 GMT} - {3352669200 3600 1 IST} - {3370813200 0 0 GMT} - {3384118800 3600 1 IST} - {3402867600 0 0 GMT} - {3415568400 3600 1 IST} - {3434317200 0 0 GMT} - {3447018000 3600 1 IST} - {3465766800 0 0 GMT} - {3479072400 3600 1 IST} - {3497216400 0 0 GMT} - {3510522000 3600 1 IST} - {3528666000 0 0 GMT} - {3541971600 3600 1 IST} - {3560115600 0 0 GMT} - {3573421200 3600 1 IST} - {3592170000 0 0 GMT} - {3604870800 3600 1 IST} - {3623619600 0 0 GMT} - {3636320400 3600 1 IST} - {3655069200 0 0 GMT} - {3668374800 3600 1 IST} - {3686518800 0 0 GMT} - {3699824400 3600 1 IST} - {3717968400 0 0 GMT} - {3731274000 3600 1 IST} - {3750022800 0 0 GMT} - {3762723600 3600 1 IST} - {3781472400 0 0 GMT} - {3794173200 3600 1 IST} - {3812922000 0 0 GMT} - {3825622800 3600 1 IST} - {3844371600 0 0 GMT} - {3857677200 3600 1 IST} - {3875821200 0 0 GMT} - {3889126800 3600 1 IST} - {3907270800 0 0 GMT} - {3920576400 3600 1 IST} - {3939325200 0 0 GMT} - {3952026000 3600 1 IST} - {3970774800 0 0 GMT} - {3983475600 3600 1 IST} - {4002224400 0 0 GMT} - {4015530000 3600 1 IST} - {4033674000 0 0 GMT} - {4046979600 3600 1 IST} - {4065123600 0 0 GMT} - {4078429200 3600 1 IST} - {4096573200 0 0 GMT} + {57722400 0 1 IST} + {69818400 3600 0 IST} + {89172000 0 1 IST} + {101268000 3600 0 IST} + {120621600 0 1 IST} + {132717600 3600 0 IST} + {152071200 0 1 IST} + {164167200 3600 0 IST} + {183520800 0 1 IST} + {196221600 3600 0 IST} + {214970400 0 1 IST} + {227671200 3600 0 IST} + {246420000 0 1 IST} + {259120800 3600 0 IST} + {278474400 0 1 IST} + {290570400 3600 0 IST} + {309924000 0 1 IST} + {322020000 3600 0 IST} + {341373600 0 1 IST} + {354675600 3600 0 IST} + {372819600 0 1 IST} + {386125200 3600 0 IST} + {404269200 0 1 IST} + {417574800 3600 0 IST} + {435718800 0 1 IST} + {449024400 3600 0 IST} + {467773200 0 1 IST} + {481078800 3600 0 IST} + {499222800 0 1 IST} + {512528400 3600 0 IST} + {530672400 0 1 IST} + {543978000 3600 0 IST} + {562122000 0 1 IST} + {575427600 3600 0 IST} + {593571600 0 1 IST} + {606877200 3600 0 IST} + {625626000 0 1 IST} + {638326800 3600 0 IST} + {657075600 0 1 IST} + {670381200 3600 0 IST} + {688525200 0 1 IST} + {701830800 3600 0 IST} + {719974800 0 1 IST} + {733280400 3600 0 IST} + {751424400 0 1 IST} + {764730000 3600 0 IST} + {782874000 0 1 IST} + {796179600 3600 0 IST} + {814323600 0 1 IST} + {828234000 3600 0 IST} + {846378000 0 1 IST} + {859683600 3600 0 IST} + {877827600 0 1 IST} + {891133200 3600 0 IST} + {909277200 0 1 IST} + {922582800 3600 0 IST} + {941331600 0 1 IST} + {954032400 3600 0 IST} + {972781200 0 1 IST} + {985482000 3600 0 IST} + {1004230800 0 1 IST} + {1017536400 3600 0 IST} + {1035680400 0 1 IST} + {1048986000 3600 0 IST} + {1067130000 0 1 IST} + {1080435600 3600 0 IST} + {1099184400 0 1 IST} + {1111885200 3600 0 IST} + {1130634000 0 1 IST} + {1143334800 3600 0 IST} + {1162083600 0 1 IST} + {1174784400 3600 0 IST} + {1193533200 0 1 IST} + {1206838800 3600 0 IST} + {1224982800 0 1 IST} + {1238288400 3600 0 IST} + {1256432400 0 1 IST} + {1269738000 3600 0 IST} + {1288486800 0 1 IST} + {1301187600 3600 0 IST} + {1319936400 0 1 IST} + {1332637200 3600 0 IST} + {1351386000 0 1 IST} + {1364691600 3600 0 IST} + {1382835600 0 1 IST} + {1396141200 3600 0 IST} + {1414285200 0 1 IST} + {1427590800 3600 0 IST} + {1445734800 0 1 IST} + {1459040400 3600 0 IST} + {1477789200 0 1 IST} + {1490490000 3600 0 IST} + {1509238800 0 1 IST} + {1521939600 3600 0 IST} + {1540688400 0 1 IST} + {1553994000 3600 0 IST} + {1572138000 0 1 IST} + {1585443600 3600 0 IST} + {1603587600 0 1 IST} + {1616893200 3600 0 IST} + {1635642000 0 1 IST} + {1648342800 3600 0 IST} + {1667091600 0 1 IST} + {1679792400 3600 0 IST} + {1698541200 0 1 IST} + {1711846800 3600 0 IST} + {1729990800 0 1 IST} + {1743296400 3600 0 IST} + {1761440400 0 1 IST} + {1774746000 3600 0 IST} + {1792890000 0 1 IST} + {1806195600 3600 0 IST} + {1824944400 0 1 IST} + {1837645200 3600 0 IST} + {1856394000 0 1 IST} + {1869094800 3600 0 IST} + {1887843600 0 1 IST} + {1901149200 3600 0 IST} + {1919293200 0 1 IST} + {1932598800 3600 0 IST} + {1950742800 0 1 IST} + {1964048400 3600 0 IST} + {1982797200 0 1 IST} + {1995498000 3600 0 IST} + {2014246800 0 1 IST} + {2026947600 3600 0 IST} + {2045696400 0 1 IST} + {2058397200 3600 0 IST} + {2077146000 0 1 IST} + {2090451600 3600 0 IST} + {2108595600 0 1 IST} + {2121901200 3600 0 IST} + {2140045200 0 1 IST} + {2153350800 3600 0 IST} + {2172099600 0 1 IST} + {2184800400 3600 0 IST} + {2203549200 0 1 IST} + {2216250000 3600 0 IST} + {2234998800 0 1 IST} + {2248304400 3600 0 IST} + {2266448400 0 1 IST} + {2279754000 3600 0 IST} + {2297898000 0 1 IST} + {2311203600 3600 0 IST} + {2329347600 0 1 IST} + {2342653200 3600 0 IST} + {2361402000 0 1 IST} + {2374102800 3600 0 IST} + {2392851600 0 1 IST} + {2405552400 3600 0 IST} + {2424301200 0 1 IST} + {2437606800 3600 0 IST} + {2455750800 0 1 IST} + {2469056400 3600 0 IST} + {2487200400 0 1 IST} + {2500506000 3600 0 IST} + {2519254800 0 1 IST} + {2531955600 3600 0 IST} + {2550704400 0 1 IST} + {2563405200 3600 0 IST} + {2582154000 0 1 IST} + {2595459600 3600 0 IST} + {2613603600 0 1 IST} + {2626909200 3600 0 IST} + {2645053200 0 1 IST} + {2658358800 3600 0 IST} + {2676502800 0 1 IST} + {2689808400 3600 0 IST} + {2708557200 0 1 IST} + {2721258000 3600 0 IST} + {2740006800 0 1 IST} + {2752707600 3600 0 IST} + {2771456400 0 1 IST} + {2784762000 3600 0 IST} + {2802906000 0 1 IST} + {2816211600 3600 0 IST} + {2834355600 0 1 IST} + {2847661200 3600 0 IST} + {2866410000 0 1 IST} + {2879110800 3600 0 IST} + {2897859600 0 1 IST} + {2910560400 3600 0 IST} + {2929309200 0 1 IST} + {2942010000 3600 0 IST} + {2960758800 0 1 IST} + {2974064400 3600 0 IST} + {2992208400 0 1 IST} + {3005514000 3600 0 IST} + {3023658000 0 1 IST} + {3036963600 3600 0 IST} + {3055712400 0 1 IST} + {3068413200 3600 0 IST} + {3087162000 0 1 IST} + {3099862800 3600 0 IST} + {3118611600 0 1 IST} + {3131917200 3600 0 IST} + {3150061200 0 1 IST} + {3163366800 3600 0 IST} + {3181510800 0 1 IST} + {3194816400 3600 0 IST} + {3212960400 0 1 IST} + {3226266000 3600 0 IST} + {3245014800 0 1 IST} + {3257715600 3600 0 IST} + {3276464400 0 1 IST} + {3289165200 3600 0 IST} + {3307914000 0 1 IST} + {3321219600 3600 0 IST} + {3339363600 0 1 IST} + {3352669200 3600 0 IST} + {3370813200 0 1 IST} + {3384118800 3600 0 IST} + {3402867600 0 1 IST} + {3415568400 3600 0 IST} + {3434317200 0 1 IST} + {3447018000 3600 0 IST} + {3465766800 0 1 IST} + {3479072400 3600 0 IST} + {3497216400 0 1 IST} + {3510522000 3600 0 IST} + {3528666000 0 1 IST} + {3541971600 3600 0 IST} + {3560115600 0 1 IST} + {3573421200 3600 0 IST} + {3592170000 0 1 IST} + {3604870800 3600 0 IST} + {3623619600 0 1 IST} + {3636320400 3600 0 IST} + {3655069200 0 1 IST} + {3668374800 3600 0 IST} + {3686518800 0 1 IST} + {3699824400 3600 0 IST} + {3717968400 0 1 IST} + {3731274000 3600 0 IST} + {3750022800 0 1 IST} + {3762723600 3600 0 IST} + {3781472400 0 1 IST} + {3794173200 3600 0 IST} + {3812922000 0 1 IST} + {3825622800 3600 0 IST} + {3844371600 0 1 IST} + {3857677200 3600 0 IST} + {3875821200 0 1 IST} + {3889126800 3600 0 IST} + {3907270800 0 1 IST} + {3920576400 3600 0 IST} + {3939325200 0 1 IST} + {3952026000 3600 0 IST} + {3970774800 0 1 IST} + {3983475600 3600 0 IST} + {4002224400 0 1 IST} + {4015530000 3600 0 IST} + {4033674000 0 1 IST} + {4046979600 3600 0 IST} + {4065123600 0 1 IST} + {4078429200 3600 0 IST} + {4096573200 0 1 IST} } diff --git a/amd64/lib/tcl8.6/tzdata/Europe/Lisbon b/amd64/lib/tcl8.6/tzdata/Europe/Lisbon index 7168f96..b566b51 100644 --- a/amd64/lib/tcl8.6/tzdata/Europe/Lisbon +++ b/amd64/lib/tcl8.6/tzdata/Europe/Lisbon @@ -3,7 +3,7 @@ set TZData(:Europe/Lisbon) { {-9223372036854775808 -2205 0 LMT} {-2713908195 -2205 0 LMT} - {-1830381795 0 0 WET} + {-1830384000 0 0 WET} {-1689555600 3600 1 WEST} {-1677801600 0 0 WET} {-1667437200 3600 1 WEST} diff --git a/amd64/lib/tcl8.6/tzdata/Europe/Prague b/amd64/lib/tcl8.6/tzdata/Europe/Prague index 222b1ae..34df8ed 100644 --- a/amd64/lib/tcl8.6/tzdata/Europe/Prague +++ b/amd64/lib/tcl8.6/tzdata/Europe/Prague @@ -15,11 +15,14 @@ set TZData(:Europe/Prague) { {-844556400 7200 1 CEST} {-828226800 3600 0 CET} {-812502000 7200 1 CEST} - {-798073200 3600 0 CET} - {-780534000 7200 1 CEST} - {-761180400 3600 0 CET} + {-796777200 3600 0 CET} + {-781052400 7200 1 CEST} + {-777862800 7200 0 CEST} + {-765327600 3600 0 CET} {-746578800 7200 1 CEST} {-733359600 3600 0 CET} + {-728517600 0 1 GMT} + {-721260000 0 0 CET} {-716425200 7200 1 CEST} {-701910000 3600 0 CET} {-684975600 7200 1 CEST} diff --git a/amd64/lib/tcl8.6/tzdata/Europe/Volgograd b/amd64/lib/tcl8.6/tzdata/Europe/Volgograd index 05e1044..3938683 100644 --- a/amd64/lib/tcl8.6/tzdata/Europe/Volgograd +++ b/amd64/lib/tcl8.6/tzdata/Europe/Volgograd @@ -68,4 +68,5 @@ set TZData(:Europe/Volgograd) { {1288479600 10800 0 +03} {1301180400 14400 0 +04} {1414274400 10800 0 +03} + {1540681200 14400 0 +04} } diff --git a/amd64/lib/tcl8.6/tzdata/Indian/Mauritius b/amd64/lib/tcl8.6/tzdata/Indian/Mauritius index 2a7a0b1..4c9a051 100644 --- a/amd64/lib/tcl8.6/tzdata/Indian/Mauritius +++ b/amd64/lib/tcl8.6/tzdata/Indian/Mauritius @@ -3,8 +3,8 @@ set TZData(:Indian/Mauritius) { {-9223372036854775808 13800 0 LMT} {-1988164200 14400 0 +04} - {403041600 18000 1 +05} + {403041600 18000 1 +04} {417034800 14400 0 +04} - {1224972000 18000 1 +05} + {1224972000 18000 1 +04} {1238274000 14400 0 +04} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Apia b/amd64/lib/tcl8.6/tzdata/Pacific/Apia index 4c0d84a..4fc91f4 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Apia +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Apia @@ -4,185 +4,185 @@ set TZData(:Pacific/Apia) { {-9223372036854775808 45184 0 LMT} {-2445424384 -41216 0 LMT} {-1861878784 -41400 0 -1130} - {-631110600 -39600 0 -10} - {1285498800 -36000 1 -10} - {1301752800 -39600 0 -10} - {1316872800 -36000 1 -10} - {1325239200 50400 0 +14} - {1333202400 46800 0 +14} - {1348927200 50400 1 +14} - {1365256800 46800 0 +14} - {1380376800 50400 1 +14} - {1396706400 46800 0 +14} - {1411826400 50400 1 +14} - {1428156000 46800 0 +14} - {1443276000 50400 1 +14} - {1459605600 46800 0 +14} - {1474725600 50400 1 +14} - {1491055200 46800 0 +14} - {1506175200 50400 1 +14} - {1522504800 46800 0 +14} - {1538229600 50400 1 +14} - {1554559200 46800 0 +14} - {1569679200 50400 1 +14} - {1586008800 46800 0 +14} - {1601128800 50400 1 +14} - {1617458400 46800 0 +14} - {1632578400 50400 1 +14} - {1648908000 46800 0 +14} - {1664028000 50400 1 +14} - {1680357600 46800 0 +14} - {1695477600 50400 1 +14} - {1712412000 46800 0 +14} - {1727532000 50400 1 +14} - {1743861600 46800 0 +14} - {1758981600 50400 1 +14} - {1775311200 46800 0 +14} - {1790431200 50400 1 +14} - {1806760800 46800 0 +14} - {1821880800 50400 1 +14} - {1838210400 46800 0 +14} - {1853330400 50400 1 +14} - {1869660000 46800 0 +14} - {1885384800 50400 1 +14} - {1901714400 46800 0 +14} - {1916834400 50400 1 +14} - {1933164000 46800 0 +14} - {1948284000 50400 1 +14} - {1964613600 46800 0 +14} - {1979733600 50400 1 +14} - {1996063200 46800 0 +14} - {2011183200 50400 1 +14} - {2027512800 46800 0 +14} - {2042632800 50400 1 +14} - {2058962400 46800 0 +14} - {2074687200 50400 1 +14} - {2091016800 46800 0 +14} - {2106136800 50400 1 +14} - {2122466400 46800 0 +14} - {2137586400 50400 1 +14} - {2153916000 46800 0 +14} - {2169036000 50400 1 +14} - {2185365600 46800 0 +14} - {2200485600 50400 1 +14} - {2216815200 46800 0 +14} - {2232540000 50400 1 +14} - {2248869600 46800 0 +14} - {2263989600 50400 1 +14} - {2280319200 46800 0 +14} - {2295439200 50400 1 +14} - {2311768800 46800 0 +14} - {2326888800 50400 1 +14} - {2343218400 46800 0 +14} - {2358338400 50400 1 +14} - {2374668000 46800 0 +14} - {2389788000 50400 1 +14} - {2406117600 46800 0 +14} - {2421842400 50400 1 +14} - {2438172000 46800 0 +14} - {2453292000 50400 1 +14} - {2469621600 46800 0 +14} - {2484741600 50400 1 +14} - {2501071200 46800 0 +14} - {2516191200 50400 1 +14} - {2532520800 46800 0 +14} - {2547640800 50400 1 +14} - {2563970400 46800 0 +14} - {2579090400 50400 1 +14} - {2596024800 46800 0 +14} - {2611144800 50400 1 +14} - {2627474400 46800 0 +14} - {2642594400 50400 1 +14} - {2658924000 46800 0 +14} - {2674044000 50400 1 +14} - {2690373600 46800 0 +14} - {2705493600 50400 1 +14} - {2721823200 46800 0 +14} - {2736943200 50400 1 +14} - {2753272800 46800 0 +14} - {2768997600 50400 1 +14} - {2785327200 46800 0 +14} - {2800447200 50400 1 +14} - {2816776800 46800 0 +14} - {2831896800 50400 1 +14} - {2848226400 46800 0 +14} - {2863346400 50400 1 +14} - {2879676000 46800 0 +14} - {2894796000 50400 1 +14} - {2911125600 46800 0 +14} - {2926245600 50400 1 +14} - {2942575200 46800 0 +14} - {2958300000 50400 1 +14} - {2974629600 46800 0 +14} - {2989749600 50400 1 +14} - {3006079200 46800 0 +14} - {3021199200 50400 1 +14} - {3037528800 46800 0 +14} - {3052648800 50400 1 +14} - {3068978400 46800 0 +14} - {3084098400 50400 1 +14} - {3100428000 46800 0 +14} - {3116152800 50400 1 +14} - {3132482400 46800 0 +14} - {3147602400 50400 1 +14} - {3163932000 46800 0 +14} - {3179052000 50400 1 +14} - {3195381600 46800 0 +14} - {3210501600 50400 1 +14} - {3226831200 46800 0 +14} - {3241951200 50400 1 +14} - {3258280800 46800 0 +14} - {3273400800 50400 1 +14} - {3289730400 46800 0 +14} - {3305455200 50400 1 +14} - {3321784800 46800 0 +14} - {3336904800 50400 1 +14} - {3353234400 46800 0 +14} - {3368354400 50400 1 +14} - {3384684000 46800 0 +14} - {3399804000 50400 1 +14} - {3416133600 46800 0 +14} - {3431253600 50400 1 +14} - {3447583200 46800 0 +14} - {3462703200 50400 1 +14} - {3479637600 46800 0 +14} - {3494757600 50400 1 +14} - {3511087200 46800 0 +14} - {3526207200 50400 1 +14} - {3542536800 46800 0 +14} - {3557656800 50400 1 +14} - {3573986400 46800 0 +14} - {3589106400 50400 1 +14} - {3605436000 46800 0 +14} - {3620556000 50400 1 +14} - {3636885600 46800 0 +14} - {3652610400 50400 1 +14} - {3668940000 46800 0 +14} - {3684060000 50400 1 +14} - {3700389600 46800 0 +14} - {3715509600 50400 1 +14} - {3731839200 46800 0 +14} - {3746959200 50400 1 +14} - {3763288800 46800 0 +14} - {3778408800 50400 1 +14} - {3794738400 46800 0 +14} - {3809858400 50400 1 +14} - {3826188000 46800 0 +14} - {3841912800 50400 1 +14} - {3858242400 46800 0 +14} - {3873362400 50400 1 +14} - {3889692000 46800 0 +14} - {3904812000 50400 1 +14} - {3921141600 46800 0 +14} - {3936261600 50400 1 +14} - {3952591200 46800 0 +14} - {3967711200 50400 1 +14} - {3984040800 46800 0 +14} - {3999765600 50400 1 +14} - {4016095200 46800 0 +14} - {4031215200 50400 1 +14} - {4047544800 46800 0 +14} - {4062664800 50400 1 +14} - {4078994400 46800 0 +14} - {4094114400 50400 1 +14} + {-631110600 -39600 0 -11} + {1285498800 -36000 1 -11} + {1301752800 -39600 0 -11} + {1316872800 -36000 1 -11} + {1325239200 50400 0 +13} + {1333202400 46800 0 +13} + {1348927200 50400 1 +13} + {1365256800 46800 0 +13} + {1380376800 50400 1 +13} + {1396706400 46800 0 +13} + {1411826400 50400 1 +13} + {1428156000 46800 0 +13} + {1443276000 50400 1 +13} + {1459605600 46800 0 +13} + {1474725600 50400 1 +13} + {1491055200 46800 0 +13} + {1506175200 50400 1 +13} + {1522504800 46800 0 +13} + {1538229600 50400 1 +13} + {1554559200 46800 0 +13} + {1569679200 50400 1 +13} + {1586008800 46800 0 +13} + {1601128800 50400 1 +13} + {1617458400 46800 0 +13} + {1632578400 50400 1 +13} + {1648908000 46800 0 +13} + {1664028000 50400 1 +13} + {1680357600 46800 0 +13} + {1695477600 50400 1 +13} + {1712412000 46800 0 +13} + {1727532000 50400 1 +13} + {1743861600 46800 0 +13} + {1758981600 50400 1 +13} + {1775311200 46800 0 +13} + {1790431200 50400 1 +13} + {1806760800 46800 0 +13} + {1821880800 50400 1 +13} + {1838210400 46800 0 +13} + {1853330400 50400 1 +13} + {1869660000 46800 0 +13} + {1885384800 50400 1 +13} + {1901714400 46800 0 +13} + {1916834400 50400 1 +13} + {1933164000 46800 0 +13} + {1948284000 50400 1 +13} + {1964613600 46800 0 +13} + {1979733600 50400 1 +13} + {1996063200 46800 0 +13} + {2011183200 50400 1 +13} + {2027512800 46800 0 +13} + {2042632800 50400 1 +13} + {2058962400 46800 0 +13} + {2074687200 50400 1 +13} + {2091016800 46800 0 +13} + {2106136800 50400 1 +13} + {2122466400 46800 0 +13} + {2137586400 50400 1 +13} + {2153916000 46800 0 +13} + {2169036000 50400 1 +13} + {2185365600 46800 0 +13} + {2200485600 50400 1 +13} + {2216815200 46800 0 +13} + {2232540000 50400 1 +13} + {2248869600 46800 0 +13} + {2263989600 50400 1 +13} + {2280319200 46800 0 +13} + {2295439200 50400 1 +13} + {2311768800 46800 0 +13} + {2326888800 50400 1 +13} + {2343218400 46800 0 +13} + {2358338400 50400 1 +13} + {2374668000 46800 0 +13} + {2389788000 50400 1 +13} + {2406117600 46800 0 +13} + {2421842400 50400 1 +13} + {2438172000 46800 0 +13} + {2453292000 50400 1 +13} + {2469621600 46800 0 +13} + {2484741600 50400 1 +13} + {2501071200 46800 0 +13} + {2516191200 50400 1 +13} + {2532520800 46800 0 +13} + {2547640800 50400 1 +13} + {2563970400 46800 0 +13} + {2579090400 50400 1 +13} + {2596024800 46800 0 +13} + {2611144800 50400 1 +13} + {2627474400 46800 0 +13} + {2642594400 50400 1 +13} + {2658924000 46800 0 +13} + {2674044000 50400 1 +13} + {2690373600 46800 0 +13} + {2705493600 50400 1 +13} + {2721823200 46800 0 +13} + {2736943200 50400 1 +13} + {2753272800 46800 0 +13} + {2768997600 50400 1 +13} + {2785327200 46800 0 +13} + {2800447200 50400 1 +13} + {2816776800 46800 0 +13} + {2831896800 50400 1 +13} + {2848226400 46800 0 +13} + {2863346400 50400 1 +13} + {2879676000 46800 0 +13} + {2894796000 50400 1 +13} + {2911125600 46800 0 +13} + {2926245600 50400 1 +13} + {2942575200 46800 0 +13} + {2958300000 50400 1 +13} + {2974629600 46800 0 +13} + {2989749600 50400 1 +13} + {3006079200 46800 0 +13} + {3021199200 50400 1 +13} + {3037528800 46800 0 +13} + {3052648800 50400 1 +13} + {3068978400 46800 0 +13} + {3084098400 50400 1 +13} + {3100428000 46800 0 +13} + {3116152800 50400 1 +13} + {3132482400 46800 0 +13} + {3147602400 50400 1 +13} + {3163932000 46800 0 +13} + {3179052000 50400 1 +13} + {3195381600 46800 0 +13} + {3210501600 50400 1 +13} + {3226831200 46800 0 +13} + {3241951200 50400 1 +13} + {3258280800 46800 0 +13} + {3273400800 50400 1 +13} + {3289730400 46800 0 +13} + {3305455200 50400 1 +13} + {3321784800 46800 0 +13} + {3336904800 50400 1 +13} + {3353234400 46800 0 +13} + {3368354400 50400 1 +13} + {3384684000 46800 0 +13} + {3399804000 50400 1 +13} + {3416133600 46800 0 +13} + {3431253600 50400 1 +13} + {3447583200 46800 0 +13} + {3462703200 50400 1 +13} + {3479637600 46800 0 +13} + {3494757600 50400 1 +13} + {3511087200 46800 0 +13} + {3526207200 50400 1 +13} + {3542536800 46800 0 +13} + {3557656800 50400 1 +13} + {3573986400 46800 0 +13} + {3589106400 50400 1 +13} + {3605436000 46800 0 +13} + {3620556000 50400 1 +13} + {3636885600 46800 0 +13} + {3652610400 50400 1 +13} + {3668940000 46800 0 +13} + {3684060000 50400 1 +13} + {3700389600 46800 0 +13} + {3715509600 50400 1 +13} + {3731839200 46800 0 +13} + {3746959200 50400 1 +13} + {3763288800 46800 0 +13} + {3778408800 50400 1 +13} + {3794738400 46800 0 +13} + {3809858400 50400 1 +13} + {3826188000 46800 0 +13} + {3841912800 50400 1 +13} + {3858242400 46800 0 +13} + {3873362400 50400 1 +13} + {3889692000 46800 0 +13} + {3904812000 50400 1 +13} + {3921141600 46800 0 +13} + {3936261600 50400 1 +13} + {3952591200 46800 0 +13} + {3967711200 50400 1 +13} + {3984040800 46800 0 +13} + {3999765600 50400 1 +13} + {4016095200 46800 0 +13} + {4031215200 50400 1 +13} + {4047544800 46800 0 +13} + {4062664800 50400 1 +13} + {4078994400 46800 0 +13} + {4094114400 50400 1 +13} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Chatham b/amd64/lib/tcl8.6/tzdata/Pacific/Chatham index 5d39879..6c1ab19 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Chatham +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Chatham @@ -3,256 +3,256 @@ set TZData(:Pacific/Chatham) { {-9223372036854775808 44028 0 LMT} {-3192437628 44100 0 +1215} - {-757426500 45900 0 +1345} - {152632800 49500 1 +1345} - {162309600 45900 0 +1345} - {183477600 49500 1 +1345} - {194968800 45900 0 +1345} - {215532000 49500 1 +1345} - {226418400 45900 0 +1345} - {246981600 49500 1 +1345} - {257868000 45900 0 +1345} - {278431200 49500 1 +1345} - {289317600 45900 0 +1345} - {309880800 49500 1 +1345} - {320767200 45900 0 +1345} - {341330400 49500 1 +1345} - {352216800 45900 0 +1345} - {372780000 49500 1 +1345} - {384271200 45900 0 +1345} - {404834400 49500 1 +1345} - {415720800 45900 0 +1345} - {436284000 49500 1 +1345} - {447170400 45900 0 +1345} - {467733600 49500 1 +1345} - {478620000 45900 0 +1345} - {499183200 49500 1 +1345} - {510069600 45900 0 +1345} - {530632800 49500 1 +1345} - {541519200 45900 0 +1345} - {562082400 49500 1 +1345} - {573573600 45900 0 +1345} - {594136800 49500 1 +1345} - {605023200 45900 0 +1345} - {623772000 49500 1 +1345} - {637682400 45900 0 +1345} - {655221600 49500 1 +1345} - {669132000 45900 0 +1345} - {686671200 49500 1 +1345} - {700581600 45900 0 +1345} - {718120800 49500 1 +1345} - {732636000 45900 0 +1345} - {749570400 49500 1 +1345} - {764085600 45900 0 +1345} - {781020000 49500 1 +1345} - {795535200 45900 0 +1345} - {812469600 49500 1 +1345} - {826984800 45900 0 +1345} - {844524000 49500 1 +1345} - {858434400 45900 0 +1345} - {875973600 49500 1 +1345} - {889884000 45900 0 +1345} - {907423200 49500 1 +1345} - {921938400 45900 0 +1345} - {938872800 49500 1 +1345} - {953388000 45900 0 +1345} - {970322400 49500 1 +1345} - {984837600 45900 0 +1345} - {1002376800 49500 1 +1345} - {1016287200 45900 0 +1345} - {1033826400 49500 1 +1345} - {1047736800 45900 0 +1345} - {1065276000 49500 1 +1345} - {1079791200 45900 0 +1345} - {1096725600 49500 1 +1345} - {1111240800 45900 0 +1345} - {1128175200 49500 1 +1345} - {1142690400 45900 0 +1345} - {1159624800 49500 1 +1345} - {1174140000 45900 0 +1345} - {1191074400 49500 1 +1345} - {1207404000 45900 0 +1345} - {1222524000 49500 1 +1345} - {1238853600 45900 0 +1345} - {1253973600 49500 1 +1345} - {1270303200 45900 0 +1345} - {1285423200 49500 1 +1345} - {1301752800 45900 0 +1345} - {1316872800 49500 1 +1345} - {1333202400 45900 0 +1345} - {1348927200 49500 1 +1345} - {1365256800 45900 0 +1345} - {1380376800 49500 1 +1345} - {1396706400 45900 0 +1345} - {1411826400 49500 1 +1345} - {1428156000 45900 0 +1345} - {1443276000 49500 1 +1345} - {1459605600 45900 0 +1345} - {1474725600 49500 1 +1345} - {1491055200 45900 0 +1345} - {1506175200 49500 1 +1345} - {1522504800 45900 0 +1345} - {1538229600 49500 1 +1345} - {1554559200 45900 0 +1345} - {1569679200 49500 1 +1345} - {1586008800 45900 0 +1345} - {1601128800 49500 1 +1345} - {1617458400 45900 0 +1345} - {1632578400 49500 1 +1345} - {1648908000 45900 0 +1345} - {1664028000 49500 1 +1345} - {1680357600 45900 0 +1345} - {1695477600 49500 1 +1345} - {1712412000 45900 0 +1345} - {1727532000 49500 1 +1345} - {1743861600 45900 0 +1345} - {1758981600 49500 1 +1345} - {1775311200 45900 0 +1345} - {1790431200 49500 1 +1345} - {1806760800 45900 0 +1345} - {1821880800 49500 1 +1345} - {1838210400 45900 0 +1345} - {1853330400 49500 1 +1345} - {1869660000 45900 0 +1345} - {1885384800 49500 1 +1345} - {1901714400 45900 0 +1345} - {1916834400 49500 1 +1345} - {1933164000 45900 0 +1345} - {1948284000 49500 1 +1345} - {1964613600 45900 0 +1345} - {1979733600 49500 1 +1345} - {1996063200 45900 0 +1345} - {2011183200 49500 1 +1345} - {2027512800 45900 0 +1345} - {2042632800 49500 1 +1345} - {2058962400 45900 0 +1345} - {2074687200 49500 1 +1345} - {2091016800 45900 0 +1345} - {2106136800 49500 1 +1345} - {2122466400 45900 0 +1345} - {2137586400 49500 1 +1345} - {2153916000 45900 0 +1345} - {2169036000 49500 1 +1345} - {2185365600 45900 0 +1345} - {2200485600 49500 1 +1345} - {2216815200 45900 0 +1345} - {2232540000 49500 1 +1345} - {2248869600 45900 0 +1345} - {2263989600 49500 1 +1345} - {2280319200 45900 0 +1345} - {2295439200 49500 1 +1345} - {2311768800 45900 0 +1345} - {2326888800 49500 1 +1345} - {2343218400 45900 0 +1345} - {2358338400 49500 1 +1345} - {2374668000 45900 0 +1345} - {2389788000 49500 1 +1345} - {2406117600 45900 0 +1345} - {2421842400 49500 1 +1345} - {2438172000 45900 0 +1345} - {2453292000 49500 1 +1345} - {2469621600 45900 0 +1345} - {2484741600 49500 1 +1345} - {2501071200 45900 0 +1345} - {2516191200 49500 1 +1345} - {2532520800 45900 0 +1345} - {2547640800 49500 1 +1345} - {2563970400 45900 0 +1345} - {2579090400 49500 1 +1345} - {2596024800 45900 0 +1345} - {2611144800 49500 1 +1345} - {2627474400 45900 0 +1345} - {2642594400 49500 1 +1345} - {2658924000 45900 0 +1345} - {2674044000 49500 1 +1345} - {2690373600 45900 0 +1345} - {2705493600 49500 1 +1345} - {2721823200 45900 0 +1345} - {2736943200 49500 1 +1345} - {2753272800 45900 0 +1345} - {2768997600 49500 1 +1345} - {2785327200 45900 0 +1345} - {2800447200 49500 1 +1345} - {2816776800 45900 0 +1345} - {2831896800 49500 1 +1345} - {2848226400 45900 0 +1345} - {2863346400 49500 1 +1345} - {2879676000 45900 0 +1345} - {2894796000 49500 1 +1345} - {2911125600 45900 0 +1345} - {2926245600 49500 1 +1345} - {2942575200 45900 0 +1345} - {2958300000 49500 1 +1345} - {2974629600 45900 0 +1345} - {2989749600 49500 1 +1345} - {3006079200 45900 0 +1345} - {3021199200 49500 1 +1345} - {3037528800 45900 0 +1345} - {3052648800 49500 1 +1345} - {3068978400 45900 0 +1345} - {3084098400 49500 1 +1345} - {3100428000 45900 0 +1345} - {3116152800 49500 1 +1345} - {3132482400 45900 0 +1345} - {3147602400 49500 1 +1345} - {3163932000 45900 0 +1345} - {3179052000 49500 1 +1345} - {3195381600 45900 0 +1345} - {3210501600 49500 1 +1345} - {3226831200 45900 0 +1345} - {3241951200 49500 1 +1345} - {3258280800 45900 0 +1345} - {3273400800 49500 1 +1345} - {3289730400 45900 0 +1345} - {3305455200 49500 1 +1345} - {3321784800 45900 0 +1345} - {3336904800 49500 1 +1345} - {3353234400 45900 0 +1345} - {3368354400 49500 1 +1345} - {3384684000 45900 0 +1345} - {3399804000 49500 1 +1345} - {3416133600 45900 0 +1345} - {3431253600 49500 1 +1345} - {3447583200 45900 0 +1345} - {3462703200 49500 1 +1345} - {3479637600 45900 0 +1345} - {3494757600 49500 1 +1345} - {3511087200 45900 0 +1345} - {3526207200 49500 1 +1345} - {3542536800 45900 0 +1345} - {3557656800 49500 1 +1345} - {3573986400 45900 0 +1345} - {3589106400 49500 1 +1345} - {3605436000 45900 0 +1345} - {3620556000 49500 1 +1345} - {3636885600 45900 0 +1345} - {3652610400 49500 1 +1345} - {3668940000 45900 0 +1345} - {3684060000 49500 1 +1345} - {3700389600 45900 0 +1345} - {3715509600 49500 1 +1345} - {3731839200 45900 0 +1345} - {3746959200 49500 1 +1345} - {3763288800 45900 0 +1345} - {3778408800 49500 1 +1345} - {3794738400 45900 0 +1345} - {3809858400 49500 1 +1345} - {3826188000 45900 0 +1345} - {3841912800 49500 1 +1345} - {3858242400 45900 0 +1345} - {3873362400 49500 1 +1345} - {3889692000 45900 0 +1345} - {3904812000 49500 1 +1345} - {3921141600 45900 0 +1345} - {3936261600 49500 1 +1345} - {3952591200 45900 0 +1345} - {3967711200 49500 1 +1345} - {3984040800 45900 0 +1345} - {3999765600 49500 1 +1345} - {4016095200 45900 0 +1345} - {4031215200 49500 1 +1345} - {4047544800 45900 0 +1345} - {4062664800 49500 1 +1345} - {4078994400 45900 0 +1345} - {4094114400 49500 1 +1345} + {-757426500 45900 0 +1245} + {152632800 49500 1 +1245} + {162309600 45900 0 +1245} + {183477600 49500 1 +1245} + {194968800 45900 0 +1245} + {215532000 49500 1 +1245} + {226418400 45900 0 +1245} + {246981600 49500 1 +1245} + {257868000 45900 0 +1245} + {278431200 49500 1 +1245} + {289317600 45900 0 +1245} + {309880800 49500 1 +1245} + {320767200 45900 0 +1245} + {341330400 49500 1 +1245} + {352216800 45900 0 +1245} + {372780000 49500 1 +1245} + {384271200 45900 0 +1245} + {404834400 49500 1 +1245} + {415720800 45900 0 +1245} + {436284000 49500 1 +1245} + {447170400 45900 0 +1245} + {467733600 49500 1 +1245} + {478620000 45900 0 +1245} + {499183200 49500 1 +1245} + {510069600 45900 0 +1245} + {530632800 49500 1 +1245} + {541519200 45900 0 +1245} + {562082400 49500 1 +1245} + {573573600 45900 0 +1245} + {594136800 49500 1 +1245} + {605023200 45900 0 +1245} + {623772000 49500 1 +1245} + {637682400 45900 0 +1245} + {655221600 49500 1 +1245} + {669132000 45900 0 +1245} + {686671200 49500 1 +1245} + {700581600 45900 0 +1245} + {718120800 49500 1 +1245} + {732636000 45900 0 +1245} + {749570400 49500 1 +1245} + {764085600 45900 0 +1245} + {781020000 49500 1 +1245} + {795535200 45900 0 +1245} + {812469600 49500 1 +1245} + {826984800 45900 0 +1245} + {844524000 49500 1 +1245} + {858434400 45900 0 +1245} + {875973600 49500 1 +1245} + {889884000 45900 0 +1245} + {907423200 49500 1 +1245} + {921938400 45900 0 +1245} + {938872800 49500 1 +1245} + {953388000 45900 0 +1245} + {970322400 49500 1 +1245} + {984837600 45900 0 +1245} + {1002376800 49500 1 +1245} + {1016287200 45900 0 +1245} + {1033826400 49500 1 +1245} + {1047736800 45900 0 +1245} + {1065276000 49500 1 +1245} + {1079791200 45900 0 +1245} + {1096725600 49500 1 +1245} + {1111240800 45900 0 +1245} + {1128175200 49500 1 +1245} + {1142690400 45900 0 +1245} + {1159624800 49500 1 +1245} + {1174140000 45900 0 +1245} + {1191074400 49500 1 +1245} + {1207404000 45900 0 +1245} + {1222524000 49500 1 +1245} + {1238853600 45900 0 +1245} + {1253973600 49500 1 +1245} + {1270303200 45900 0 +1245} + {1285423200 49500 1 +1245} + {1301752800 45900 0 +1245} + {1316872800 49500 1 +1245} + {1333202400 45900 0 +1245} + {1348927200 49500 1 +1245} + {1365256800 45900 0 +1245} + {1380376800 49500 1 +1245} + {1396706400 45900 0 +1245} + {1411826400 49500 1 +1245} + {1428156000 45900 0 +1245} + {1443276000 49500 1 +1245} + {1459605600 45900 0 +1245} + {1474725600 49500 1 +1245} + {1491055200 45900 0 +1245} + {1506175200 49500 1 +1245} + {1522504800 45900 0 +1245} + {1538229600 49500 1 +1245} + {1554559200 45900 0 +1245} + {1569679200 49500 1 +1245} + {1586008800 45900 0 +1245} + {1601128800 49500 1 +1245} + {1617458400 45900 0 +1245} + {1632578400 49500 1 +1245} + {1648908000 45900 0 +1245} + {1664028000 49500 1 +1245} + {1680357600 45900 0 +1245} + {1695477600 49500 1 +1245} + {1712412000 45900 0 +1245} + {1727532000 49500 1 +1245} + {1743861600 45900 0 +1245} + {1758981600 49500 1 +1245} + {1775311200 45900 0 +1245} + {1790431200 49500 1 +1245} + {1806760800 45900 0 +1245} + {1821880800 49500 1 +1245} + {1838210400 45900 0 +1245} + {1853330400 49500 1 +1245} + {1869660000 45900 0 +1245} + {1885384800 49500 1 +1245} + {1901714400 45900 0 +1245} + {1916834400 49500 1 +1245} + {1933164000 45900 0 +1245} + {1948284000 49500 1 +1245} + {1964613600 45900 0 +1245} + {1979733600 49500 1 +1245} + {1996063200 45900 0 +1245} + {2011183200 49500 1 +1245} + {2027512800 45900 0 +1245} + {2042632800 49500 1 +1245} + {2058962400 45900 0 +1245} + {2074687200 49500 1 +1245} + {2091016800 45900 0 +1245} + {2106136800 49500 1 +1245} + {2122466400 45900 0 +1245} + {2137586400 49500 1 +1245} + {2153916000 45900 0 +1245} + {2169036000 49500 1 +1245} + {2185365600 45900 0 +1245} + {2200485600 49500 1 +1245} + {2216815200 45900 0 +1245} + {2232540000 49500 1 +1245} + {2248869600 45900 0 +1245} + {2263989600 49500 1 +1245} + {2280319200 45900 0 +1245} + {2295439200 49500 1 +1245} + {2311768800 45900 0 +1245} + {2326888800 49500 1 +1245} + {2343218400 45900 0 +1245} + {2358338400 49500 1 +1245} + {2374668000 45900 0 +1245} + {2389788000 49500 1 +1245} + {2406117600 45900 0 +1245} + {2421842400 49500 1 +1245} + {2438172000 45900 0 +1245} + {2453292000 49500 1 +1245} + {2469621600 45900 0 +1245} + {2484741600 49500 1 +1245} + {2501071200 45900 0 +1245} + {2516191200 49500 1 +1245} + {2532520800 45900 0 +1245} + {2547640800 49500 1 +1245} + {2563970400 45900 0 +1245} + {2579090400 49500 1 +1245} + {2596024800 45900 0 +1245} + {2611144800 49500 1 +1245} + {2627474400 45900 0 +1245} + {2642594400 49500 1 +1245} + {2658924000 45900 0 +1245} + {2674044000 49500 1 +1245} + {2690373600 45900 0 +1245} + {2705493600 49500 1 +1245} + {2721823200 45900 0 +1245} + {2736943200 49500 1 +1245} + {2753272800 45900 0 +1245} + {2768997600 49500 1 +1245} + {2785327200 45900 0 +1245} + {2800447200 49500 1 +1245} + {2816776800 45900 0 +1245} + {2831896800 49500 1 +1245} + {2848226400 45900 0 +1245} + {2863346400 49500 1 +1245} + {2879676000 45900 0 +1245} + {2894796000 49500 1 +1245} + {2911125600 45900 0 +1245} + {2926245600 49500 1 +1245} + {2942575200 45900 0 +1245} + {2958300000 49500 1 +1245} + {2974629600 45900 0 +1245} + {2989749600 49500 1 +1245} + {3006079200 45900 0 +1245} + {3021199200 49500 1 +1245} + {3037528800 45900 0 +1245} + {3052648800 49500 1 +1245} + {3068978400 45900 0 +1245} + {3084098400 49500 1 +1245} + {3100428000 45900 0 +1245} + {3116152800 49500 1 +1245} + {3132482400 45900 0 +1245} + {3147602400 49500 1 +1245} + {3163932000 45900 0 +1245} + {3179052000 49500 1 +1245} + {3195381600 45900 0 +1245} + {3210501600 49500 1 +1245} + {3226831200 45900 0 +1245} + {3241951200 49500 1 +1245} + {3258280800 45900 0 +1245} + {3273400800 49500 1 +1245} + {3289730400 45900 0 +1245} + {3305455200 49500 1 +1245} + {3321784800 45900 0 +1245} + {3336904800 49500 1 +1245} + {3353234400 45900 0 +1245} + {3368354400 49500 1 +1245} + {3384684000 45900 0 +1245} + {3399804000 49500 1 +1245} + {3416133600 45900 0 +1245} + {3431253600 49500 1 +1245} + {3447583200 45900 0 +1245} + {3462703200 49500 1 +1245} + {3479637600 45900 0 +1245} + {3494757600 49500 1 +1245} + {3511087200 45900 0 +1245} + {3526207200 49500 1 +1245} + {3542536800 45900 0 +1245} + {3557656800 49500 1 +1245} + {3573986400 45900 0 +1245} + {3589106400 49500 1 +1245} + {3605436000 45900 0 +1245} + {3620556000 49500 1 +1245} + {3636885600 45900 0 +1245} + {3652610400 49500 1 +1245} + {3668940000 45900 0 +1245} + {3684060000 49500 1 +1245} + {3700389600 45900 0 +1245} + {3715509600 49500 1 +1245} + {3731839200 45900 0 +1245} + {3746959200 49500 1 +1245} + {3763288800 45900 0 +1245} + {3778408800 49500 1 +1245} + {3794738400 45900 0 +1245} + {3809858400 49500 1 +1245} + {3826188000 45900 0 +1245} + {3841912800 49500 1 +1245} + {3858242400 45900 0 +1245} + {3873362400 49500 1 +1245} + {3889692000 45900 0 +1245} + {3904812000 49500 1 +1245} + {3921141600 45900 0 +1245} + {3936261600 49500 1 +1245} + {3952591200 45900 0 +1245} + {3967711200 49500 1 +1245} + {3984040800 45900 0 +1245} + {3999765600 49500 1 +1245} + {4016095200 45900 0 +1245} + {4031215200 49500 1 +1245} + {4047544800 45900 0 +1245} + {4062664800 49500 1 +1245} + {4078994400 45900 0 +1245} + {4094114400 49500 1 +1245} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Easter b/amd64/lib/tcl8.6/tzdata/Pacific/Easter index 474a32b..7a8d525 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Easter +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Easter @@ -4,265 +4,265 @@ set TZData(:Pacific/Easter) { {-9223372036854775808 -26248 0 LMT} {-2524495352 -26248 0 EMT} {-1178124152 -25200 0 -07} - {-36619200 -21600 1 -06} + {-36619200 -21600 1 -07} {-23922000 -25200 0 -07} - {-3355200 -21600 1 -06} + {-3355200 -21600 1 -07} {7527600 -25200 0 -07} - {24465600 -21600 1 -06} + {24465600 -21600 1 -07} {37767600 -25200 0 -07} - {55915200 -21600 1 -06} + {55915200 -21600 1 -07} {69217200 -25200 0 -07} - {87969600 -21600 1 -06} + {87969600 -21600 1 -07} {100666800 -25200 0 -07} - {118209600 -21600 1 -06} + {118209600 -21600 1 -07} {132116400 -25200 0 -07} - {150868800 -21600 1 -06} + {150868800 -21600 1 -07} {163566000 -25200 0 -07} - {182318400 -21600 1 -06} + {182318400 -21600 1 -07} {195620400 -25200 0 -07} - {213768000 -21600 1 -06} + {213768000 -21600 1 -07} {227070000 -25200 0 -07} - {245217600 -21600 1 -06} + {245217600 -21600 1 -07} {258519600 -25200 0 -07} - {277272000 -21600 1 -06} + {277272000 -21600 1 -07} {289969200 -25200 0 -07} - {308721600 -21600 1 -06} + {308721600 -21600 1 -07} {321418800 -25200 0 -07} - {340171200 -21600 1 -06} + {340171200 -21600 1 -07} {353473200 -25200 0 -07} - {371620800 -21600 1 -06} + {371620800 -21600 1 -07} {384922800 -21600 0 -06} - {403070400 -18000 1 -05} + {403070400 -18000 1 -06} {416372400 -21600 0 -06} - {434520000 -18000 1 -05} + {434520000 -18000 1 -06} {447822000 -21600 0 -06} - {466574400 -18000 1 -05} + {466574400 -18000 1 -06} {479271600 -21600 0 -06} - {498024000 -18000 1 -05} + {498024000 -18000 1 -06} {510721200 -21600 0 -06} - {529473600 -18000 1 -05} + {529473600 -18000 1 -06} {545194800 -21600 0 -06} - {560923200 -18000 1 -05} + {560923200 -18000 1 -06} {574225200 -21600 0 -06} - {592372800 -18000 1 -05} + {592372800 -18000 1 -06} {605674800 -21600 0 -06} - {624427200 -18000 1 -05} + {624427200 -18000 1 -06} {637124400 -21600 0 -06} - {653457600 -18000 1 -05} + {653457600 -18000 1 -06} {668574000 -21600 0 -06} - {687326400 -18000 1 -05} + {687326400 -18000 1 -06} {700628400 -21600 0 -06} - {718776000 -18000 1 -05} + {718776000 -18000 1 -06} {732078000 -21600 0 -06} - {750225600 -18000 1 -05} + {750225600 -18000 1 -06} {763527600 -21600 0 -06} - {781675200 -18000 1 -05} + {781675200 -18000 1 -06} {794977200 -21600 0 -06} - {813729600 -18000 1 -05} + {813729600 -18000 1 -06} {826426800 -21600 0 -06} - {845179200 -18000 1 -05} + {845179200 -18000 1 -06} {859690800 -21600 0 -06} - {876628800 -18000 1 -05} + {876628800 -18000 1 -06} {889930800 -21600 0 -06} - {906868800 -18000 1 -05} + {906868800 -18000 1 -06} {923194800 -21600 0 -06} - {939528000 -18000 1 -05} + {939528000 -18000 1 -06} {952830000 -21600 0 -06} - {971582400 -18000 1 -05} + {971582400 -18000 1 -06} {984279600 -21600 0 -06} - {1003032000 -18000 1 -05} + {1003032000 -18000 1 -06} {1015729200 -21600 0 -06} - {1034481600 -18000 1 -05} + {1034481600 -18000 1 -06} {1047178800 -21600 0 -06} - {1065931200 -18000 1 -05} + {1065931200 -18000 1 -06} {1079233200 -21600 0 -06} - {1097380800 -18000 1 -05} + {1097380800 -18000 1 -06} {1110682800 -21600 0 -06} - {1128830400 -18000 1 -05} + {1128830400 -18000 1 -06} {1142132400 -21600 0 -06} - {1160884800 -18000 1 -05} + {1160884800 -18000 1 -06} {1173582000 -21600 0 -06} - {1192334400 -18000 1 -05} + {1192334400 -18000 1 -06} {1206846000 -21600 0 -06} - {1223784000 -18000 1 -05} + {1223784000 -18000 1 -06} {1237086000 -21600 0 -06} - {1255233600 -18000 1 -05} + {1255233600 -18000 1 -06} {1270350000 -21600 0 -06} - {1286683200 -18000 1 -05} + {1286683200 -18000 1 -06} {1304823600 -21600 0 -06} - {1313899200 -18000 1 -05} + {1313899200 -18000 1 -06} {1335668400 -21600 0 -06} - {1346558400 -18000 1 -05} + {1346558400 -18000 1 -06} {1367118000 -21600 0 -06} - {1378612800 -18000 1 -05} + {1378612800 -18000 1 -06} {1398567600 -21600 0 -06} - {1410062400 -18000 1 -05} + {1410062400 -18000 1 -06} {1463281200 -21600 0 -06} - {1471147200 -18000 1 -05} + {1471147200 -18000 1 -06} {1494730800 -21600 0 -06} - {1502596800 -18000 1 -05} + {1502596800 -18000 1 -06} {1526180400 -21600 0 -06} - {1534046400 -18000 1 -05} - {1557630000 -21600 0 -06} - {1565496000 -18000 1 -05} - {1589079600 -21600 0 -06} - {1596945600 -18000 1 -05} - {1620529200 -21600 0 -06} - {1629000000 -18000 1 -05} - {1652583600 -21600 0 -06} - {1660449600 -18000 1 -05} - {1684033200 -21600 0 -06} - {1691899200 -18000 1 -05} - {1715482800 -21600 0 -06} - {1723348800 -18000 1 -05} - {1746932400 -21600 0 -06} - {1754798400 -18000 1 -05} - {1778382000 -21600 0 -06} - {1786248000 -18000 1 -05} - {1809831600 -21600 0 -06} - {1818302400 -18000 1 -05} - {1841886000 -21600 0 -06} - {1849752000 -18000 1 -05} - {1873335600 -21600 0 -06} - {1881201600 -18000 1 -05} - {1904785200 -21600 0 -06} - {1912651200 -18000 1 -05} - {1936234800 -21600 0 -06} - {1944100800 -18000 1 -05} - {1967684400 -21600 0 -06} - {1976155200 -18000 1 -05} - {1999738800 -21600 0 -06} - {2007604800 -18000 1 -05} - {2031188400 -21600 0 -06} - {2039054400 -18000 1 -05} - {2062638000 -21600 0 -06} - {2070504000 -18000 1 -05} - {2094087600 -21600 0 -06} - {2101953600 -18000 1 -05} - {2125537200 -21600 0 -06} - {2133403200 -18000 1 -05} - {2156986800 -21600 0 -06} - {2165457600 -18000 1 -05} - {2189041200 -21600 0 -06} - {2196907200 -18000 1 -05} - {2220490800 -21600 0 -06} - {2228356800 -18000 1 -05} - {2251940400 -21600 0 -06} - {2259806400 -18000 1 -05} - {2283390000 -21600 0 -06} - {2291256000 -18000 1 -05} - {2314839600 -21600 0 -06} - {2322705600 -18000 1 -05} - {2346894000 -21600 0 -06} - {2354760000 -18000 1 -05} - {2378343600 -21600 0 -06} - {2386209600 -18000 1 -05} - {2409793200 -21600 0 -06} - {2417659200 -18000 1 -05} - {2441242800 -21600 0 -06} - {2449108800 -18000 1 -05} - {2472692400 -21600 0 -06} - {2480558400 -18000 1 -05} - {2504142000 -21600 0 -06} - {2512612800 -18000 1 -05} - {2536196400 -21600 0 -06} - {2544062400 -18000 1 -05} - {2567646000 -21600 0 -06} - {2575512000 -18000 1 -05} - {2599095600 -21600 0 -06} - {2606961600 -18000 1 -05} - {2630545200 -21600 0 -06} - {2638411200 -18000 1 -05} - {2661994800 -21600 0 -06} - {2669860800 -18000 1 -05} - {2693444400 -21600 0 -06} - {2701915200 -18000 1 -05} - {2725498800 -21600 0 -06} - {2733364800 -18000 1 -05} - {2756948400 -21600 0 -06} - {2764814400 -18000 1 -05} - {2788398000 -21600 0 -06} - {2796264000 -18000 1 -05} - {2819847600 -21600 0 -06} - {2827713600 -18000 1 -05} - {2851297200 -21600 0 -06} - {2859768000 -18000 1 -05} - {2883351600 -21600 0 -06} - {2891217600 -18000 1 -05} - {2914801200 -21600 0 -06} - {2922667200 -18000 1 -05} - {2946250800 -21600 0 -06} - {2954116800 -18000 1 -05} - {2977700400 -21600 0 -06} - {2985566400 -18000 1 -05} - {3009150000 -21600 0 -06} - {3017016000 -18000 1 -05} - {3040599600 -21600 0 -06} - {3049070400 -18000 1 -05} - {3072654000 -21600 0 -06} - {3080520000 -18000 1 -05} - {3104103600 -21600 0 -06} - {3111969600 -18000 1 -05} - {3135553200 -21600 0 -06} - {3143419200 -18000 1 -05} - {3167002800 -21600 0 -06} - {3174868800 -18000 1 -05} - {3198452400 -21600 0 -06} - {3206318400 -18000 1 -05} - {3230506800 -21600 0 -06} - {3238372800 -18000 1 -05} - {3261956400 -21600 0 -06} - {3269822400 -18000 1 -05} - {3293406000 -21600 0 -06} - {3301272000 -18000 1 -05} - {3324855600 -21600 0 -06} - {3332721600 -18000 1 -05} - {3356305200 -21600 0 -06} - {3364171200 -18000 1 -05} - {3387754800 -21600 0 -06} - {3396225600 -18000 1 -05} - {3419809200 -21600 0 -06} - {3427675200 -18000 1 -05} - {3451258800 -21600 0 -06} - {3459124800 -18000 1 -05} - {3482708400 -21600 0 -06} - {3490574400 -18000 1 -05} - {3514158000 -21600 0 -06} - {3522024000 -18000 1 -05} - {3545607600 -21600 0 -06} - {3553473600 -18000 1 -05} - {3577057200 -21600 0 -06} - {3585528000 -18000 1 -05} - {3609111600 -21600 0 -06} - {3616977600 -18000 1 -05} - {3640561200 -21600 0 -06} - {3648427200 -18000 1 -05} - {3672010800 -21600 0 -06} - {3679876800 -18000 1 -05} - {3703460400 -21600 0 -06} - {3711326400 -18000 1 -05} - {3734910000 -21600 0 -06} - {3743380800 -18000 1 -05} - {3766964400 -21600 0 -06} - {3774830400 -18000 1 -05} - {3798414000 -21600 0 -06} - {3806280000 -18000 1 -05} - {3829863600 -21600 0 -06} - {3837729600 -18000 1 -05} - {3861313200 -21600 0 -06} - {3869179200 -18000 1 -05} - {3892762800 -21600 0 -06} - {3900628800 -18000 1 -05} - {3924212400 -21600 0 -06} - {3932683200 -18000 1 -05} - {3956266800 -21600 0 -06} - {3964132800 -18000 1 -05} - {3987716400 -21600 0 -06} - {3995582400 -18000 1 -05} - {4019166000 -21600 0 -06} - {4027032000 -18000 1 -05} - {4050615600 -21600 0 -06} - {4058481600 -18000 1 -05} - {4082065200 -21600 0 -06} - {4089931200 -18000 1 -05} + {1534046400 -18000 1 -06} + {1554606000 -21600 0 -06} + {1567915200 -18000 1 -06} + {1586055600 -21600 0 -06} + {1599364800 -18000 1 -06} + {1617505200 -21600 0 -06} + {1630814400 -18000 1 -06} + {1648954800 -21600 0 -06} + {1662264000 -18000 1 -06} + {1680404400 -21600 0 -06} + {1693713600 -18000 1 -06} + {1712458800 -21600 0 -06} + {1725768000 -18000 1 -06} + {1743908400 -21600 0 -06} + {1757217600 -18000 1 -06} + {1775358000 -21600 0 -06} + {1788667200 -18000 1 -06} + {1806807600 -21600 0 -06} + {1820116800 -18000 1 -06} + {1838257200 -21600 0 -06} + {1851566400 -18000 1 -06} + {1870311600 -21600 0 -06} + {1883016000 -18000 1 -06} + {1901761200 -21600 0 -06} + {1915070400 -18000 1 -06} + {1933210800 -21600 0 -06} + {1946520000 -18000 1 -06} + {1964660400 -21600 0 -06} + {1977969600 -18000 1 -06} + {1996110000 -21600 0 -06} + {2009419200 -18000 1 -06} + {2027559600 -21600 0 -06} + {2040868800 -18000 1 -06} + {2059614000 -21600 0 -06} + {2072318400 -18000 1 -06} + {2091063600 -21600 0 -06} + {2104372800 -18000 1 -06} + {2122513200 -21600 0 -06} + {2135822400 -18000 1 -06} + {2153962800 -21600 0 -06} + {2167272000 -18000 1 -06} + {2185412400 -21600 0 -06} + {2198721600 -18000 1 -06} + {2217466800 -21600 0 -06} + {2230171200 -18000 1 -06} + {2248916400 -21600 0 -06} + {2262225600 -18000 1 -06} + {2280366000 -21600 0 -06} + {2293675200 -18000 1 -06} + {2311815600 -21600 0 -06} + {2325124800 -18000 1 -06} + {2343265200 -21600 0 -06} + {2356574400 -18000 1 -06} + {2374714800 -21600 0 -06} + {2388024000 -18000 1 -06} + {2406769200 -21600 0 -06} + {2419473600 -18000 1 -06} + {2438218800 -21600 0 -06} + {2451528000 -18000 1 -06} + {2469668400 -21600 0 -06} + {2482977600 -18000 1 -06} + {2501118000 -21600 0 -06} + {2514427200 -18000 1 -06} + {2532567600 -21600 0 -06} + {2545876800 -18000 1 -06} + {2564017200 -21600 0 -06} + {2577326400 -18000 1 -06} + {2596071600 -21600 0 -06} + {2609380800 -18000 1 -06} + {2627521200 -21600 0 -06} + {2640830400 -18000 1 -06} + {2658970800 -21600 0 -06} + {2672280000 -18000 1 -06} + {2690420400 -21600 0 -06} + {2703729600 -18000 1 -06} + {2721870000 -21600 0 -06} + {2735179200 -18000 1 -06} + {2753924400 -21600 0 -06} + {2766628800 -18000 1 -06} + {2785374000 -21600 0 -06} + {2798683200 -18000 1 -06} + {2816823600 -21600 0 -06} + {2830132800 -18000 1 -06} + {2848273200 -21600 0 -06} + {2861582400 -18000 1 -06} + {2879722800 -21600 0 -06} + {2893032000 -18000 1 -06} + {2911172400 -21600 0 -06} + {2924481600 -18000 1 -06} + {2943226800 -21600 0 -06} + {2955931200 -18000 1 -06} + {2974676400 -21600 0 -06} + {2987985600 -18000 1 -06} + {3006126000 -21600 0 -06} + {3019435200 -18000 1 -06} + {3037575600 -21600 0 -06} + {3050884800 -18000 1 -06} + {3069025200 -21600 0 -06} + {3082334400 -18000 1 -06} + {3101079600 -21600 0 -06} + {3113784000 -18000 1 -06} + {3132529200 -21600 0 -06} + {3145838400 -18000 1 -06} + {3163978800 -21600 0 -06} + {3177288000 -18000 1 -06} + {3195428400 -21600 0 -06} + {3208737600 -18000 1 -06} + {3226878000 -21600 0 -06} + {3240187200 -18000 1 -06} + {3258327600 -21600 0 -06} + {3271636800 -18000 1 -06} + {3290382000 -21600 0 -06} + {3303086400 -18000 1 -06} + {3321831600 -21600 0 -06} + {3335140800 -18000 1 -06} + {3353281200 -21600 0 -06} + {3366590400 -18000 1 -06} + {3384730800 -21600 0 -06} + {3398040000 -18000 1 -06} + {3416180400 -21600 0 -06} + {3429489600 -18000 1 -06} + {3447630000 -21600 0 -06} + {3460939200 -18000 1 -06} + {3479684400 -21600 0 -06} + {3492993600 -18000 1 -06} + {3511134000 -21600 0 -06} + {3524443200 -18000 1 -06} + {3542583600 -21600 0 -06} + {3555892800 -18000 1 -06} + {3574033200 -21600 0 -06} + {3587342400 -18000 1 -06} + {3605482800 -21600 0 -06} + {3618792000 -18000 1 -06} + {3637537200 -21600 0 -06} + {3650241600 -18000 1 -06} + {3668986800 -21600 0 -06} + {3682296000 -18000 1 -06} + {3700436400 -21600 0 -06} + {3713745600 -18000 1 -06} + {3731886000 -21600 0 -06} + {3745195200 -18000 1 -06} + {3763335600 -21600 0 -06} + {3776644800 -18000 1 -06} + {3794785200 -21600 0 -06} + {3808094400 -18000 1 -06} + {3826839600 -21600 0 -06} + {3839544000 -18000 1 -06} + {3858289200 -21600 0 -06} + {3871598400 -18000 1 -06} + {3889738800 -21600 0 -06} + {3903048000 -18000 1 -06} + {3921188400 -21600 0 -06} + {3934497600 -18000 1 -06} + {3952638000 -21600 0 -06} + {3965947200 -18000 1 -06} + {3984692400 -21600 0 -06} + {3997396800 -18000 1 -06} + {4016142000 -21600 0 -06} + {4029451200 -18000 1 -06} + {4047591600 -21600 0 -06} + {4060900800 -18000 1 -06} + {4079041200 -21600 0 -06} + {4092350400 -18000 1 -06} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Efate b/amd64/lib/tcl8.6/tzdata/Pacific/Efate index a43852e..a026ee1 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Efate +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Efate @@ -3,24 +3,24 @@ set TZData(:Pacific/Efate) { {-9223372036854775808 40396 0 LMT} {-1829387596 39600 0 +11} - {433256400 43200 1 +12} + {433256400 43200 1 +11} {448977600 39600 0 +11} - {467298000 43200 1 +12} + {467298000 43200 1 +11} {480427200 39600 0 +11} - {496760400 43200 1 +12} + {496760400 43200 1 +11} {511876800 39600 0 +11} - {528210000 43200 1 +12} + {528210000 43200 1 +11} {543931200 39600 0 +11} - {559659600 43200 1 +12} + {559659600 43200 1 +11} {575380800 39600 0 +11} - {591109200 43200 1 +12} + {591109200 43200 1 +11} {606830400 39600 0 +11} - {622558800 43200 1 +12} + {622558800 43200 1 +11} {638280000 39600 0 +11} - {654008400 43200 1 +12} + {654008400 43200 1 +11} {669729600 39600 0 +11} - {686062800 43200 1 +12} + {686062800 43200 1 +11} {696340800 39600 0 +11} - {719931600 43200 1 +12} + {719931600 43200 1 +11} {727790400 39600 0 +11} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Enderbury b/amd64/lib/tcl8.6/tzdata/Pacific/Enderbury index 6abd57e..48eaafe 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Enderbury +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Enderbury @@ -4,5 +4,5 @@ set TZData(:Pacific/Enderbury) { {-9223372036854775808 -41060 0 LMT} {-2177411740 -43200 0 -12} {307627200 -39600 0 -11} - {788958000 46800 0 +13} + {788871600 46800 0 +13} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Fiji b/amd64/lib/tcl8.6/tzdata/Pacific/Fiji index f9d393c..b05985c 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Fiji +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Fiji @@ -3,189 +3,189 @@ set TZData(:Pacific/Fiji) { {-9223372036854775808 42944 0 LMT} {-1709985344 43200 0 +12} - {909842400 46800 1 +13} + {909842400 46800 1 +12} {920124000 43200 0 +12} - {941896800 46800 1 +13} + {941896800 46800 1 +12} {951573600 43200 0 +12} - {1259416800 46800 1 +13} + {1259416800 46800 1 +12} {1269698400 43200 0 +12} - {1287842400 46800 1 +13} + {1287842400 46800 1 +12} {1299333600 43200 0 +12} - {1319292000 46800 1 +13} + {1319292000 46800 1 +12} {1327154400 43200 0 +12} - {1350741600 46800 1 +13} + {1350741600 46800 1 +12} {1358604000 43200 0 +12} - {1382796000 46800 1 +13} + {1382796000 46800 1 +12} {1390050000 43200 0 +12} - {1414850400 46800 1 +13} + {1414850400 46800 1 +12} {1421503200 43200 0 +12} - {1446300000 46800 1 +13} + {1446300000 46800 1 +12} {1452952800 43200 0 +12} - {1478354400 46800 1 +13} + {1478354400 46800 1 +12} {1484402400 43200 0 +12} - {1509804000 46800 1 +13} + {1509804000 46800 1 +12} {1515852000 43200 0 +12} - {1541253600 46800 1 +13} - {1547906400 43200 0 +12} - {1572703200 46800 1 +13} + {1541253600 46800 1 +12} + {1547301600 43200 0 +12} + {1572703200 46800 1 +12} {1579356000 43200 0 +12} - {1604152800 46800 1 +13} + {1604152800 46800 1 +12} {1610805600 43200 0 +12} - {1636207200 46800 1 +13} + {1636207200 46800 1 +12} {1642255200 43200 0 +12} - {1667656800 46800 1 +13} + {1667656800 46800 1 +12} {1673704800 43200 0 +12} - {1699106400 46800 1 +13} + {1699106400 46800 1 +12} {1705154400 43200 0 +12} - {1730556000 46800 1 +13} + {1730556000 46800 1 +12} {1737208800 43200 0 +12} - {1762005600 46800 1 +13} + {1762005600 46800 1 +12} {1768658400 43200 0 +12} - {1793455200 46800 1 +13} + {1793455200 46800 1 +12} {1800108000 43200 0 +12} - {1825509600 46800 1 +13} + {1825509600 46800 1 +12} {1831557600 43200 0 +12} - {1856959200 46800 1 +13} + {1856959200 46800 1 +12} {1863007200 43200 0 +12} - {1888408800 46800 1 +13} - {1895061600 43200 0 +12} - {1919858400 46800 1 +13} + {1888408800 46800 1 +12} + {1894456800 43200 0 +12} + {1919858400 46800 1 +12} {1926511200 43200 0 +12} - {1951308000 46800 1 +13} + {1951308000 46800 1 +12} {1957960800 43200 0 +12} - {1983362400 46800 1 +13} + {1983362400 46800 1 +12} {1989410400 43200 0 +12} - {2014812000 46800 1 +13} + {2014812000 46800 1 +12} {2020860000 43200 0 +12} - {2046261600 46800 1 +13} + {2046261600 46800 1 +12} {2052309600 43200 0 +12} - {2077711200 46800 1 +13} - {2084364000 43200 0 +12} - {2109160800 46800 1 +13} + {2077711200 46800 1 +12} + {2083759200 43200 0 +12} + {2109160800 46800 1 +12} {2115813600 43200 0 +12} - {2140610400 46800 1 +13} + {2140610400 46800 1 +12} {2147263200 43200 0 +12} - {2172664800 46800 1 +13} + {2172664800 46800 1 +12} {2178712800 43200 0 +12} - {2204114400 46800 1 +13} + {2204114400 46800 1 +12} {2210162400 43200 0 +12} - {2235564000 46800 1 +13} - {2242216800 43200 0 +12} - {2267013600 46800 1 +13} + {2235564000 46800 1 +12} + {2241612000 43200 0 +12} + {2267013600 46800 1 +12} {2273666400 43200 0 +12} - {2298463200 46800 1 +13} + {2298463200 46800 1 +12} {2305116000 43200 0 +12} - {2329912800 46800 1 +13} + {2329912800 46800 1 +12} {2336565600 43200 0 +12} - {2361967200 46800 1 +13} + {2361967200 46800 1 +12} {2368015200 43200 0 +12} - {2393416800 46800 1 +13} + {2393416800 46800 1 +12} {2399464800 43200 0 +12} - {2424866400 46800 1 +13} - {2431519200 43200 0 +12} - {2456316000 46800 1 +13} + {2424866400 46800 1 +12} + {2430914400 43200 0 +12} + {2456316000 46800 1 +12} {2462968800 43200 0 +12} - {2487765600 46800 1 +13} + {2487765600 46800 1 +12} {2494418400 43200 0 +12} - {2519820000 46800 1 +13} + {2519820000 46800 1 +12} {2525868000 43200 0 +12} - {2551269600 46800 1 +13} + {2551269600 46800 1 +12} {2557317600 43200 0 +12} - {2582719200 46800 1 +13} + {2582719200 46800 1 +12} {2588767200 43200 0 +12} - {2614168800 46800 1 +13} + {2614168800 46800 1 +12} {2620821600 43200 0 +12} - {2645618400 46800 1 +13} + {2645618400 46800 1 +12} {2652271200 43200 0 +12} - {2677068000 46800 1 +13} + {2677068000 46800 1 +12} {2683720800 43200 0 +12} - {2709122400 46800 1 +13} + {2709122400 46800 1 +12} {2715170400 43200 0 +12} - {2740572000 46800 1 +13} + {2740572000 46800 1 +12} {2746620000 43200 0 +12} - {2772021600 46800 1 +13} - {2778674400 43200 0 +12} - {2803471200 46800 1 +13} + {2772021600 46800 1 +12} + {2778069600 43200 0 +12} + {2803471200 46800 1 +12} {2810124000 43200 0 +12} - {2834920800 46800 1 +13} + {2834920800 46800 1 +12} {2841573600 43200 0 +12} - {2866975200 46800 1 +13} + {2866975200 46800 1 +12} {2873023200 43200 0 +12} - {2898424800 46800 1 +13} + {2898424800 46800 1 +12} {2904472800 43200 0 +12} - {2929874400 46800 1 +13} + {2929874400 46800 1 +12} {2935922400 43200 0 +12} - {2961324000 46800 1 +13} - {2967976800 43200 0 +12} - {2992773600 46800 1 +13} + {2961324000 46800 1 +12} + {2967372000 43200 0 +12} + {2992773600 46800 1 +12} {2999426400 43200 0 +12} - {3024223200 46800 1 +13} + {3024223200 46800 1 +12} {3030876000 43200 0 +12} - {3056277600 46800 1 +13} + {3056277600 46800 1 +12} {3062325600 43200 0 +12} - {3087727200 46800 1 +13} + {3087727200 46800 1 +12} {3093775200 43200 0 +12} - {3119176800 46800 1 +13} - {3125829600 43200 0 +12} - {3150626400 46800 1 +13} + {3119176800 46800 1 +12} + {3125224800 43200 0 +12} + {3150626400 46800 1 +12} {3157279200 43200 0 +12} - {3182076000 46800 1 +13} + {3182076000 46800 1 +12} {3188728800 43200 0 +12} - {3213525600 46800 1 +13} + {3213525600 46800 1 +12} {3220178400 43200 0 +12} - {3245580000 46800 1 +13} + {3245580000 46800 1 +12} {3251628000 43200 0 +12} - {3277029600 46800 1 +13} + {3277029600 46800 1 +12} {3283077600 43200 0 +12} - {3308479200 46800 1 +13} - {3315132000 43200 0 +12} - {3339928800 46800 1 +13} + {3308479200 46800 1 +12} + {3314527200 43200 0 +12} + {3339928800 46800 1 +12} {3346581600 43200 0 +12} - {3371378400 46800 1 +13} + {3371378400 46800 1 +12} {3378031200 43200 0 +12} - {3403432800 46800 1 +13} + {3403432800 46800 1 +12} {3409480800 43200 0 +12} - {3434882400 46800 1 +13} + {3434882400 46800 1 +12} {3440930400 43200 0 +12} - {3466332000 46800 1 +13} + {3466332000 46800 1 +12} {3472380000 43200 0 +12} - {3497781600 46800 1 +13} + {3497781600 46800 1 +12} {3504434400 43200 0 +12} - {3529231200 46800 1 +13} + {3529231200 46800 1 +12} {3535884000 43200 0 +12} - {3560680800 46800 1 +13} + {3560680800 46800 1 +12} {3567333600 43200 0 +12} - {3592735200 46800 1 +13} + {3592735200 46800 1 +12} {3598783200 43200 0 +12} - {3624184800 46800 1 +13} + {3624184800 46800 1 +12} {3630232800 43200 0 +12} - {3655634400 46800 1 +13} - {3662287200 43200 0 +12} - {3687084000 46800 1 +13} + {3655634400 46800 1 +12} + {3661682400 43200 0 +12} + {3687084000 46800 1 +12} {3693736800 43200 0 +12} - {3718533600 46800 1 +13} + {3718533600 46800 1 +12} {3725186400 43200 0 +12} - {3750588000 46800 1 +13} + {3750588000 46800 1 +12} {3756636000 43200 0 +12} - {3782037600 46800 1 +13} + {3782037600 46800 1 +12} {3788085600 43200 0 +12} - {3813487200 46800 1 +13} + {3813487200 46800 1 +12} {3819535200 43200 0 +12} - {3844936800 46800 1 +13} - {3851589600 43200 0 +12} - {3876386400 46800 1 +13} + {3844936800 46800 1 +12} + {3850984800 43200 0 +12} + {3876386400 46800 1 +12} {3883039200 43200 0 +12} - {3907836000 46800 1 +13} + {3907836000 46800 1 +12} {3914488800 43200 0 +12} - {3939890400 46800 1 +13} + {3939890400 46800 1 +12} {3945938400 43200 0 +12} - {3971340000 46800 1 +13} + {3971340000 46800 1 +12} {3977388000 43200 0 +12} - {4002789600 46800 1 +13} - {4009442400 43200 0 +12} - {4034239200 46800 1 +13} + {4002789600 46800 1 +12} + {4008837600 43200 0 +12} + {4034239200 46800 1 +12} {4040892000 43200 0 +12} - {4065688800 46800 1 +13} + {4065688800 46800 1 +12} {4072341600 43200 0 +12} - {4097138400 46800 1 +13} + {4097138400 46800 1 +12} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Galapagos b/amd64/lib/tcl8.6/tzdata/Pacific/Galapagos index f276f73..180ce6a 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Galapagos +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Galapagos @@ -4,6 +4,6 @@ set TZData(:Pacific/Galapagos) { {-9223372036854775808 -21504 0 LMT} {-1230746496 -18000 0 -05} {504939600 -21600 0 -06} - {722930400 -18000 1 -05} + {722930400 -18000 1 -06} {728888400 -21600 0 -06} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Honolulu b/amd64/lib/tcl8.6/tzdata/Pacific/Honolulu index 5e70598..7d03b45 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Honolulu +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Honolulu @@ -4,8 +4,9 @@ set TZData(:Pacific/Honolulu) { {-9223372036854775808 -37886 0 LMT} {-2334101314 -37800 0 HST} {-1157283000 -34200 1 HDT} - {-1155436200 -37800 0 HST} - {-880198200 -34200 1 HDT} + {-1155436200 -34200 0 HST} + {-880201800 -34200 1 HWT} + {-769395600 -34200 1 HPT} {-765376200 -37800 0 HST} {-712150200 -36000 0 HST} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Kiritimati b/amd64/lib/tcl8.6/tzdata/Pacific/Kiritimati index b703f19..7d600f3 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Kiritimati +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Kiritimati @@ -4,5 +4,5 @@ set TZData(:Pacific/Kiritimati) { {-9223372036854775808 -37760 0 LMT} {-2177415040 -38400 0 -1040} {307622400 -36000 0 -10} - {788954400 50400 0 +14} + {788868000 50400 0 +14} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Noumea b/amd64/lib/tcl8.6/tzdata/Pacific/Noumea index 36b570d..c9da825 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Noumea +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Noumea @@ -3,10 +3,10 @@ set TZData(:Pacific/Noumea) { {-9223372036854775808 39948 0 LMT} {-1829387148 39600 0 +11} - {250002000 43200 1 +12} + {250002000 43200 1 +11} {257342400 39600 0 +11} - {281451600 43200 1 +12} + {281451600 43200 1 +11} {288878400 39600 0 +11} - {849366000 43200 1 +12} + {849366000 43200 1 +11} {857228400 39600 0 +11} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Rarotonga b/amd64/lib/tcl8.6/tzdata/Pacific/Rarotonga index 9a70318..2913d68 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Rarotonga +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Rarotonga @@ -3,30 +3,30 @@ set TZData(:Pacific/Rarotonga) { {-9223372036854775808 -38344 0 LMT} {-2177414456 -37800 0 -1030} - {279714600 -34200 0 -0930} + {279714600 -34200 0 -10} {289387800 -36000 0 -10} - {309952800 -34200 1 -0930} + {309952800 -34200 1 -10} {320837400 -36000 0 -10} - {341402400 -34200 1 -0930} + {341402400 -34200 1 -10} {352287000 -36000 0 -10} - {372852000 -34200 1 -0930} + {372852000 -34200 1 -10} {384341400 -36000 0 -10} - {404906400 -34200 1 -0930} + {404906400 -34200 1 -10} {415791000 -36000 0 -10} - {436356000 -34200 1 -0930} + {436356000 -34200 1 -10} {447240600 -36000 0 -10} - {467805600 -34200 1 -0930} + {467805600 -34200 1 -10} {478690200 -36000 0 -10} - {499255200 -34200 1 -0930} + {499255200 -34200 1 -10} {510139800 -36000 0 -10} - {530704800 -34200 1 -0930} + {530704800 -34200 1 -10} {541589400 -36000 0 -10} - {562154400 -34200 1 -0930} + {562154400 -34200 1 -10} {573643800 -36000 0 -10} - {594208800 -34200 1 -0930} + {594208800 -34200 1 -10} {605093400 -36000 0 -10} - {625658400 -34200 1 -0930} + {625658400 -34200 1 -10} {636543000 -36000 0 -10} - {657108000 -34200 1 -0930} + {657108000 -34200 1 -10} {667992600 -36000 0 -10} } diff --git a/amd64/lib/tcl8.6/tzdata/Pacific/Tongatapu b/amd64/lib/tcl8.6/tzdata/Pacific/Tongatapu index 3cfaaaa..104888a 100644 --- a/amd64/lib/tcl8.6/tzdata/Pacific/Tongatapu +++ b/amd64/lib/tcl8.6/tzdata/Pacific/Tongatapu @@ -5,12 +5,12 @@ set TZData(:Pacific/Tongatapu) { {-2177497160 44400 0 +1220} {-915193200 46800 0 +13} {915102000 46800 0 +13} - {939214800 50400 1 +14} + {939214800 50400 1 +13} {953384400 46800 0 +13} - {973342800 50400 1 +14} + {973342800 50400 1 +13} {980596800 46800 0 +13} - {1004792400 50400 1 +14} + {1004792400 50400 1 +13} {1012046400 46800 0 +13} - {1478350800 50400 1 +14} + {1478350800 50400 1 +13} {1484398800 46800 0 +13} } diff --git a/amd64/lib/tcl8/8.5/tcltest-2.4.1.tm b/amd64/lib/tcl8/8.5/tcltest-2.5.0.tm similarity index 98% rename from amd64/lib/tcl8/8.5/tcltest-2.4.1.tm rename to amd64/lib/tcl8/8.5/tcltest-2.5.0.tm index f1b6082..d67a900 100644 --- a/amd64/lib/tcl8/8.5/tcltest-2.4.1.tm +++ b/amd64/lib/tcl8/8.5/tcltest-2.5.0.tm @@ -22,7 +22,7 @@ namespace eval tcltest { # When the version number changes, be sure to update the pkgIndex.tcl file, # and the install directory in the Makefiles. When the minor version # changes (new feature) be sure to update the man page as well. - variable Version 2.4.1 + variable Version 2.5.0 # Compatibility support for dumb variables defined in tcltest 1 # Do not use these. Call [package provide Tcl] and [info patchlevel] @@ -1841,6 +1841,9 @@ proc tcltest::SubstArguments {argList} { # is optional; default is {}. # returnCodes - Expected return codes. This attribute is # optional; default is {0 2}. +# errorCode - Expected error code. This attribute is +# optional; default is {*}. It is a glob pattern. +# If given, returnCodes defaults to {1}. # setup - Code to run before $script (above). This # attribute is optional; default is {}. # cleanup - Code to run after $script (above). This @@ -1882,7 +1885,7 @@ proc tcltest::test {name description args} { # Pre-define everything to null except output and errorOutput. We # determine whether or not to trap output based on whether or not # these variables (output & errorOutput) are defined. - lassign {} constraints setup cleanup body result returnCodes match + lassign {} constraints setup cleanup body result returnCodes errorCode match # Set the default match mode set match exact @@ -1892,6 +1895,9 @@ proc tcltest::test {name description args} { # 'return' being used in the test script). set returnCodes [list 0 2] + # Set the default error code pattern + set errorCode "*" + # The old test format can't have a 3rd argument (constraints or # script) that starts with '-'. if {[string match -* [lindex $args 0]] || ([llength $args] <= 1)} { @@ -1901,7 +1907,7 @@ proc tcltest::test {name description args} { set testAttributes($element) $value } foreach item {constraints match setup body cleanup \ - result returnCodes output errorOutput} { + result returnCodes errorCode output errorOutput} { if {[info exists testAttributes(-$item)]} { set testAttributes(-$item) [uplevel 1 \ ::concat $testAttributes(-$item)] @@ -1912,7 +1918,7 @@ proc tcltest::test {name description args} { } set validFlags {-setup -cleanup -body -result -returnCodes \ - -match -output -errorOutput -constraints} + -errorCode -match -output -errorOutput -constraints} foreach flag [array names testAttributes] { if {$flag ni $validFlags} { @@ -1944,6 +1950,10 @@ proc tcltest::test {name description args} { foreach {strcode numcode} {ok 0 normal 0 error 1 return 2 break 3 continue 4} { set returnCodes [string map -nocase [list $strcode $numcode] $returnCodes] } + # errorCode without returnCode 1 is meaningless + if {$errorCode ne "*" && 1 ni $returnCodes} { + set returnCodes 1 + } } else { # This is parsing for the old test command format; it is here # for backward compatibility. @@ -1976,7 +1986,7 @@ proc tcltest::test {name description args} { set code [catch {uplevel 1 $setup} setupMsg] if {$code == 1} { set errorInfo(setup) $::errorInfo - set errorCode(setup) $::errorCode + set errorCodeRes(setup) $::errorCode } set setupFailure [expr {$code != 0}] @@ -2003,7 +2013,7 @@ proc tcltest::test {name description args} { lassign $testResult actualAnswer returnCode if {$returnCode == 1} { set errorInfo(body) $::errorInfo - set errorCode(body) $::errorCode + set errorCodeRes(body) $::errorCode } } @@ -2012,6 +2022,11 @@ proc tcltest::test {name description args} { if {!$setupFailure && ($returnCode ni $returnCodes)} { set codeFailure 1 } + set errorCodeFailure 0 + if {!$setupFailure && !$codeFailure && $returnCode == 1 && \ + ![string match $errorCode $errorCodeRes(body)]} { + set errorCodeFailure 1 + } # If expected output/error strings exist, we have to compare # them. If the comparison fails, then so did the test. @@ -2055,7 +2070,7 @@ proc tcltest::test {name description args} { set code [catch {uplevel 1 $cleanup} cleanupMsg] if {$code == 1} { set errorInfo(cleanup) $::errorInfo - set errorCode(cleanup) $::errorCode + set errorCodeRes(cleanup) $::errorCode } set cleanupFailure [expr {$code != 0}] @@ -2106,7 +2121,7 @@ proc tcltest::test {name description args} { variable numTests if {!($setupFailure || $cleanupFailure || $coreFailure || $outputFailure || $errorFailure || $codeFailure - || $scriptFailure)} { + || $errorCodeFailure || $scriptFailure)} { if {$testLevel == 1} { incr numTests(Passed) if {[IsVerbose pass]} { @@ -2159,7 +2174,7 @@ proc tcltest::test {name description args} { failed:\n$setupMsg" if {[info exists errorInfo(setup)]} { puts [outputChannel] "---- errorInfo(setup): $errorInfo(setup)" - puts [outputChannel] "---- errorCode(setup): $errorCode(setup)" + puts [outputChannel] "---- errorCode(setup): $errorCodeRes(setup)" } } if {$scriptFailure} { @@ -2171,6 +2186,10 @@ proc tcltest::test {name description args} { ($match matching):\n$result" } } + if {$errorCodeFailure} { + puts [outputChannel] "---- Error code was: '$errorCodeRes(body)'" + puts [outputChannel] "---- Error code should have been: '$errorCode'" + } if {$codeFailure} { switch -- $returnCode { 0 { set msg "Test completed normally" } @@ -2186,7 +2205,7 @@ proc tcltest::test {name description args} { if {[IsVerbose error]} { if {[info exists errorInfo(body)] && (1 ni $returnCodes)} { puts [outputChannel] "---- errorInfo: $errorInfo(body)" - puts [outputChannel] "---- errorCode: $errorCode(body)" + puts [outputChannel] "---- errorCode: $errorCodeRes(body)" } } } @@ -2212,7 +2231,7 @@ proc tcltest::test {name description args} { puts [outputChannel] "---- Test cleanup failed:\n$cleanupMsg" if {[info exists errorInfo(cleanup)]} { puts [outputChannel] "---- errorInfo(cleanup): $errorInfo(cleanup)" - puts [outputChannel] "---- errorCode(cleanup): $errorCode(cleanup)" + puts [outputChannel] "---- errorCode(cleanup): $errorCodeRes(cleanup)" } } if {$coreFailure} { @@ -2722,7 +2741,7 @@ proc tcltest::GetMatchingDirectories {rootdir} { # shell being tested # # Results: -# None. +# Whether there were any failures. # # Side effects: # None. @@ -2733,6 +2752,7 @@ proc tcltest::runAllTests { {shell ""} } { variable numTests variable failFiles variable DefaultValue + set failFilesAccum {} FillFilesExisted if {[llength [info level 0]] == 1} { @@ -2822,6 +2842,7 @@ proc tcltest::runAllTests { {shell ""} } { } if {$Failed > 0} { lappend failFiles $testFile + lappend failFilesAccum $testFile } } elseif {[regexp [join { {^Number of tests skipped } @@ -2868,7 +2889,7 @@ proc tcltest::runAllTests { {shell ""} } { puts [outputChannel] "" puts [outputChannel] [string repeat ~ 44] } - return + return [expr {[info exists testFileFailures] || [llength $failFilesAccum]}] } ##################################################################### diff --git a/amd64/lib/tcl8/8.6/http-2.8.12.tm b/amd64/lib/tcl8/8.6/http-2.8.12.tm deleted file mode 100644 index 9f5310b..0000000 --- a/amd64/lib/tcl8/8.6/http-2.8.12.tm +++ /dev/null @@ -1,1584 +0,0 @@ -# http.tcl -- -# -# Client-side HTTP for GET, POST, and HEAD commands. These routines can -# be used in untrusted code that uses the Safesock security policy. -# These procedures use a callback interface to avoid using vwait, which -# is not defined in the safe base. -# -# See the file "license.terms" for information on usage and redistribution of -# this file, and for a DISCLAIMER OF ALL WARRANTIES. - -package require Tcl 8.6- -# Keep this in sync with pkgIndex.tcl and with the install directories in -# Makefiles -package provide http 2.8.12 - -namespace eval http { - # Allow resourcing to not clobber existing data - - variable http - if {![info exists http]} { - array set http { - -accept */* - -proxyhost {} - -proxyport {} - -proxyfilter http::ProxyRequired - -urlencoding utf-8 - } - # We need a useragent string of this style or various servers will refuse to - # send us compressed content even when we ask for it. This follows the - # de-facto layout of user-agent strings in current browsers. - # Safe interpreters do not have ::tcl_platform(os) or - # ::tcl_platform(osVersion). - if {[interp issafe]} { - set http(-useragent) "Mozilla/5.0\ - (Windows; U;\ - Windows NT 10.0)\ - http/[package provide http] Tcl/[package provide Tcl]" - } else { - set http(-useragent) "Mozilla/5.0\ - ([string totitle $::tcl_platform(platform)]; U;\ - $::tcl_platform(os) $::tcl_platform(osVersion))\ - http/[package provide http] Tcl/[package provide Tcl]" - } - } - - proc init {} { - # Set up the map for quoting chars. RFC3986 Section 2.3 say percent - # encode all except: "... percent-encoded octets in the ranges of - # ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period - # (%2E), underscore (%5F), or tilde (%7E) should not be created by URI - # producers ..." - for {set i 0} {$i <= 256} {incr i} { - set c [format %c $i] - if {![string match {[-._~a-zA-Z0-9]} $c]} { - set map($c) %[format %.2X $i] - } - } - # These are handled specially - set map(\n) %0D%0A - variable formMap [array get map] - - # Create a map for HTTP/1.1 open sockets - variable socketmap - if {[info exists socketmap]} { - # Close but don't remove open sockets on re-init - foreach {url sock} [array get socketmap] { - catch {close $sock} - } - } - array set socketmap {} - } - init - - variable urlTypes - if {![info exists urlTypes]} { - set urlTypes(http) [list 80 ::socket] - } - - variable encodings [string tolower [encoding names]] - # This can be changed, but iso8859-1 is the RFC standard. - variable defaultCharset - if {![info exists defaultCharset]} { - set defaultCharset "iso8859-1" - } - - # Force RFC 3986 strictness in geturl url verification? - variable strict - if {![info exists strict]} { - set strict 1 - } - - # Let user control default keepalive for compatibility - variable defaultKeepalive - if {![info exists defaultKeepalive]} { - set defaultKeepalive 0 - } - - namespace export geturl config reset wait formatQuery register unregister - # Useful, but not exported: data size status code -} - -# http::Log -- -# -# Debugging output -- define this to observe HTTP/1.1 socket usage. -# Should echo any args received. -# -# Arguments: -# msg Message to output -# -if {[info command http::Log] eq {}} {proc http::Log {args} {}} - -# http::register -- -# -# See documentation for details. -# -# Arguments: -# proto URL protocol prefix, e.g. https -# port Default port for protocol -# command Command to use to create socket -# Results: -# list of port and command that was registered. - -proc http::register {proto port command} { - variable urlTypes - set urlTypes([string tolower $proto]) [list $port $command] -} - -# http::unregister -- -# -# Unregisters URL protocol handler -# -# Arguments: -# proto URL protocol prefix, e.g. https -# Results: -# list of port and command that was unregistered. - -proc http::unregister {proto} { - variable urlTypes - set lower [string tolower $proto] - if {![info exists urlTypes($lower)]} { - return -code error "unsupported url type \"$proto\"" - } - set old $urlTypes($lower) - unset urlTypes($lower) - return $old -} - -# http::config -- -# -# See documentation for details. -# -# Arguments: -# args Options parsed by the procedure. -# Results: -# TODO - -proc http::config {args} { - variable http - set options [lsort [array names http -*]] - set usage [join $options ", "] - if {[llength $args] == 0} { - set result {} - foreach name $options { - lappend result $name $http($name) - } - return $result - } - set options [string map {- ""} $options] - set pat ^-(?:[join $options |])$ - if {[llength $args] == 1} { - set flag [lindex $args 0] - if {![regexp -- $pat $flag]} { - return -code error "Unknown option $flag, must be: $usage" - } - return $http($flag) - } else { - foreach {flag value} $args { - if {![regexp -- $pat $flag]} { - return -code error "Unknown option $flag, must be: $usage" - } - set http($flag) $value - } - } -} - -# http::Finish -- -# -# Clean up the socket and eval close time callbacks -# -# Arguments: -# token Connection token. -# errormsg (optional) If set, forces status to error. -# skipCB (optional) If set, don't call the -command callback. This -# is useful when geturl wants to throw an exception instead -# of calling the callback. That way, the same error isn't -# reported to two places. -# -# Side Effects: -# Closes the socket - -proc http::Finish {token {errormsg ""} {skipCB 0}} { - variable $token - upvar 0 $token state - global errorInfo errorCode - if {$errormsg ne ""} { - set state(error) [list $errormsg $errorInfo $errorCode] - set state(status) "error" - } - if { ($state(status) eq "timeout") - || ($state(status) eq "error") - || ([info exists state(-keepalive)] && !$state(-keepalive)) - || ([info exists state(connection)] && ($state(connection) eq "close")) - } { - CloseSocket $state(sock) $token - } - if {[info exists state(after)]} { - after cancel $state(after) - } - if {[info exists state(-command)] && !$skipCB - && ![info exists state(done-command-cb)]} { - set state(done-command-cb) yes - if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} { - set state(error) [list $err $errorInfo $errorCode] - set state(status) error - } - } -} - -# http::CloseSocket - -# -# Close a socket and remove it from the persistent sockets table. If -# possible an http token is included here but when we are called from a -# fileevent on remote closure we need to find the correct entry - hence -# the second section. - -proc ::http::CloseSocket {s {token {}}} { - variable socketmap - catch {fileevent $s readable {}} - set conn_id {} - if {$token ne ""} { - variable $token - upvar 0 $token state - if {[info exists state(socketinfo)]} { - set conn_id $state(socketinfo) - } - } else { - set map [array get socketmap] - set ndx [lsearch -exact $map $s] - if {$ndx != -1} { - incr ndx -1 - set conn_id [lindex $map $ndx] - } - } - if {$conn_id eq {} || ![info exists socketmap($conn_id)]} { - Log "Closing socket $s (no connection info)" - if {[catch {close $s} err]} { - Log "Error: $err" - } - } else { - if {[info exists socketmap($conn_id)]} { - Log "Closing connection $conn_id (sock $socketmap($conn_id))" - if {[catch {close $socketmap($conn_id)} err]} { - Log "Error: $err" - } - unset socketmap($conn_id) - } else { - Log "Cannot close connection $conn_id - no socket in socket map" - } - } -} - -# http::reset -- -# -# See documentation for details. -# -# Arguments: -# token Connection token. -# why Status info. -# -# Side Effects: -# See Finish - -proc http::reset {token {why reset}} { - variable $token - upvar 0 $token state - set state(status) $why - catch {fileevent $state(sock) readable {}} - catch {fileevent $state(sock) writable {}} - Finish $token - if {[info exists state(error)]} { - set errorlist $state(error) - unset state - eval ::error $errorlist - } -} - -# http::geturl -- -# -# Establishes a connection to a remote url via http. -# -# Arguments: -# url The http URL to goget. -# args Option value pairs. Valid options include: -# -blocksize, -validate, -headers, -timeout -# Results: -# Returns a token for this connection. This token is the name of an -# array that the caller should unset to garbage collect the state. - -proc http::geturl {url args} { - variable http - variable urlTypes - variable defaultCharset - variable defaultKeepalive - variable strict - - # Initialize the state variable, an array. We'll return the name of this - # array as the token for the transaction. - - if {![info exists http(uid)]} { - set http(uid) 0 - } - set token [namespace current]::[incr http(uid)] - variable $token - upvar 0 $token state - reset $token - - # Process command options. - - array set state { - -binary false - -blocksize 8192 - -queryblocksize 8192 - -validate 0 - -headers {} - -timeout 0 - -type application/x-www-form-urlencoded - -queryprogress {} - -protocol 1.1 - binary 0 - state connecting - meta {} - coding {} - currentsize 0 - totalsize 0 - querylength 0 - queryoffset 0 - type text/html - body {} - status "" - http "" - connection close - } - set state(-keepalive) $defaultKeepalive - set state(-strict) $strict - # These flags have their types verified [Bug 811170] - array set type { - -binary boolean - -blocksize integer - -queryblocksize integer - -strict boolean - -timeout integer - -validate boolean - } - set state(charset) $defaultCharset - set options { - -binary -blocksize -channel -command -handler -headers -keepalive - -method -myaddr -progress -protocol -query -queryblocksize - -querychannel -queryprogress -strict -timeout -type -validate - } - set usage [join [lsort $options] ", "] - set options [string map {- ""} $options] - set pat ^-(?:[join $options |])$ - foreach {flag value} $args { - if {[regexp -- $pat $flag]} { - # Validate numbers - if { - [info exists type($flag)] && - ![string is $type($flag) -strict $value] - } { - unset $token - return -code error \ - "Bad value for $flag ($value), must be $type($flag)" - } - set state($flag) $value - } else { - unset $token - return -code error "Unknown option $flag, can be: $usage" - } - } - - # Make sure -query and -querychannel aren't both specified - - set isQueryChannel [info exists state(-querychannel)] - set isQuery [info exists state(-query)] - if {$isQuery && $isQueryChannel} { - unset $token - return -code error "Can't combine -query and -querychannel options!" - } - - # Validate URL, determine the server host and port, and check proxy case - # Recognize user:pass@host URLs also, although we do not do anything with - # that info yet. - - # URLs have basically four parts. - # First, before the colon, is the protocol scheme (e.g. http) - # Second, for HTTP-like protocols, is the authority - # The authority is preceded by // and lasts up to (but not including) - # the following / or ? and it identifies up to four parts, of which - # only one, the host, is required (if an authority is present at all). - # All other parts of the authority (user name, password, port number) - # are optional. - # Third is the resource name, which is split into two parts at a ? - # The first part (from the single "/" up to "?") is the path, and the - # second part (from that "?" up to "#") is the query. *HOWEVER*, we do - # not need to separate them; we send the whole lot to the server. - # Both, path and query are allowed to be missing, including their - # delimiting character. - # Fourth is the fragment identifier, which is everything after the first - # "#" in the URL. The fragment identifier MUST NOT be sent to the server - # and indeed, we don't bother to validate it (it could be an error to - # pass it in here, but it's cheap to strip). - # - # An example of a URL that has all the parts: - # - # http://jschmoe:xyzzy@www.bogus.net:8000/foo/bar.tml?q=foo#changes - # - # The "http" is the protocol, the user is "jschmoe", the password is - # "xyzzy", the host is "www.bogus.net", the port is "8000", the path is - # "/foo/bar.tml", the query is "q=foo", and the fragment is "changes". - # - # Note that the RE actually combines the user and password parts, as - # recommended in RFC 3986. Indeed, that RFC states that putting passwords - # in URLs is a Really Bad Idea, something with which I would agree utterly. - # - # From a validation perspective, we need to ensure that the parts of the - # URL that are going to the server are correctly encoded. This is only - # done if $state(-strict) is true (inherited from $::http::strict). - - set URLmatcher {(?x) # this is _expanded_ syntax - ^ - (?: (\w+) : ) ? # - (?: // - (?: - ( - [^@/\#?]+ # - ) @ - )? - ( # - [^/:\#?]+ | # host name or IPv4 address - \[ [^/\#?]+ \] # IPv6 address in square brackets - ) - (?: : (\d+) )? # - )? - ( [/\?] [^\#]*)? # (including query) - (?: \# (.*) )? # - $ - } - - # Phase one: parse - if {![regexp -- $URLmatcher $url -> proto user host port srvurl]} { - unset $token - return -code error "Unsupported URL: $url" - } - # Phase two: validate - set host [string trim $host {[]}]; # strip square brackets from IPv6 address - if {$host eq ""} { - # Caller has to provide a host name; we do not have a "default host" - # that would enable us to handle relative URLs. - unset $token - return -code error "Missing host part: $url" - # Note that we don't check the hostname for validity here; if it's - # invalid, we'll simply fail to resolve it later on. - } - if {$port ne "" && $port > 65535} { - unset $token - return -code error "Invalid port number: $port" - } - # The user identification and resource identification parts of the URL can - # have encoded characters in them; take care! - if {$user ne ""} { - # Check for validity according to RFC 3986, Appendix A - set validityRE {(?xi) - ^ - (?: [-\w.~!$&'()*+,;=:] | %[0-9a-f][0-9a-f] )+ - $ - } - if {$state(-strict) && ![regexp -- $validityRE $user]} { - unset $token - # Provide a better error message in this error case - if {[regexp {(?i)%(?![0-9a-f][0-9a-f]).?.?} $user bad]} { - return -code error \ - "Illegal encoding character usage \"$bad\" in URL user" - } - return -code error "Illegal characters in URL user" - } - } - if {$srvurl ne ""} { - # RFC 3986 allows empty paths (not even a /), but servers - # return 400 if the path in the HTTP request doesn't start - # with / , so add it here if needed. - if {[string index $srvurl 0] ne "/"} { - set srvurl /$srvurl - } - # Check for validity according to RFC 3986, Appendix A - set validityRE {(?xi) - ^ - # Path part (already must start with / character) - (?: [-\w.~!$&'()*+,;=:@/] | %[0-9a-f][0-9a-f] )* - # Query part (optional, permits ? characters) - (?: \? (?: [-\w.~!$&'()*+,;=:@/?] | %[0-9a-f][0-9a-f] )* )? - $ - } - if {$state(-strict) && ![regexp -- $validityRE $srvurl]} { - unset $token - # Provide a better error message in this error case - if {[regexp {(?i)%(?![0-9a-f][0-9a-f])..} $srvurl bad]} { - return -code error \ - "Illegal encoding character usage \"$bad\" in URL path" - } - return -code error "Illegal characters in URL path" - } - } else { - set srvurl / - } - if {$proto eq ""} { - set proto http - } - set lower [string tolower $proto] - if {![info exists urlTypes($lower)]} { - unset $token - return -code error "Unsupported URL type \"$proto\"" - } - set defport [lindex $urlTypes($lower) 0] - set defcmd [lindex $urlTypes($lower) 1] - - if {$port eq ""} { - set port $defport - } - if {![catch {$http(-proxyfilter) $host} proxy]} { - set phost [lindex $proxy 0] - set pport [lindex $proxy 1] - } - - # OK, now reassemble into a full URL - set url ${proto}:// - if {$user ne ""} { - append url $user - append url @ - } - append url $host - if {$port != $defport} { - append url : $port - } - append url $srvurl - # Don't append the fragment! - set state(url) $url - - # If a timeout is specified we set up the after event and arrange for an - # asynchronous socket connection. - - set sockopts [list -async] - if {$state(-timeout) > 0} { - set state(after) [after $state(-timeout) \ - [list http::reset $token timeout]] - } - - # If we are using the proxy, we must pass in the full URL that includes - # the server name. - - if {[info exists phost] && ($phost ne "")} { - set srvurl $url - set targetAddr [list $phost $pport] - } else { - set targetAddr [list $host $port] - } - # Proxy connections aren't shared among different hosts. - set state(socketinfo) $host:$port - - # Save the accept types at this point to prevent a race condition. [Bug - # c11a51c482] - set state(accept-types) $http(-accept) - - # See if we are supposed to use a previously opened channel. - if {$state(-keepalive)} { - variable socketmap - if {[info exists socketmap($state(socketinfo))]} { - if {[catch {fconfigure $socketmap($state(socketinfo))}]} { - Log "WARNING: socket for $state(socketinfo) was closed" - unset socketmap($state(socketinfo)) - } else { - set sock $socketmap($state(socketinfo)) - Log "reusing socket $sock for $state(socketinfo)" - catch {fileevent $sock writable {}} - catch {fileevent $sock readable {}} - } - } - # don't automatically close this connection socket - set state(connection) {} - } - if {![info exists sock]} { - # Pass -myaddr directly to the socket command - if {[info exists state(-myaddr)]} { - lappend sockopts -myaddr $state(-myaddr) - } - if {[catch {eval $defcmd $sockopts $targetAddr} sock]} { - # something went wrong while trying to establish the connection. - # Clean up after events and such, but DON'T call the command - # callback (if available) because we're going to throw an - # exception from here instead. - - set state(sock) $sock - Finish $token "" 1 - cleanup $token - return -code error $sock - } - } - set state(sock) $sock - Log "Using $sock for $state(socketinfo)" \ - [expr {$state(-keepalive)?"keepalive":""}] - if {$state(-keepalive)} { - set socketmap($state(socketinfo)) $sock - } - - if {![info exists phost]} { - set phost "" - } - fileevent $sock writable [list http::Connect $token $proto $phost $srvurl] - - # Wait for the connection to complete. - if {![info exists state(-command)]} { - # geturl does EVERYTHING asynchronously, so if the user - # calls it synchronously, we just do a wait here. - http::wait $token - - if {![info exists state]} { - # If we timed out then Finish has been called and the users - # command callback may have cleaned up the token. If so we end up - # here with nothing left to do. - return $token - } elseif {$state(status) eq "error"} { - # Something went wrong while trying to establish the connection. - # Clean up after events and such, but DON'T call the command - # callback (if available) because we're going to throw an - # exception from here instead. - set err [lindex $state(error) 0] - cleanup $token - return -code error $err - } - } - - return $token -} - -# http::Connected -- -# -# Callback used when the connection to the HTTP server is actually -# established. -# -# Arguments: -# token State token. -# proto What protocol (http, https, etc.) was used to connect. -# phost Are we using keep-alive? Non-empty if yes. -# srvurl Service-local URL that we're requesting -# Results: -# None. - -proc http::Connected {token proto phost srvurl} { - variable http - variable urlTypes - - variable $token - upvar 0 $token state - - # Set back the variables needed here - set sock $state(sock) - set isQueryChannel [info exists state(-querychannel)] - set isQuery [info exists state(-query)] - set host [lindex [split $state(socketinfo) :] 0] - set port [lindex [split $state(socketinfo) :] 1] - - set lower [string tolower $proto] - set defport [lindex $urlTypes($lower) 0] - - # Send data in cr-lf format, but accept any line terminators - - fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize) - - # The following is disallowed in safe interpreters, but the socket is - # already in non-blocking mode in that case. - - catch {fconfigure $sock -blocking off} - set how GET - if {$isQuery} { - set state(querylength) [string length $state(-query)] - if {$state(querylength) > 0} { - set how POST - set contDone 0 - } else { - # There's no query data. - unset state(-query) - set isQuery 0 - } - } elseif {$state(-validate)} { - set how HEAD - } elseif {$isQueryChannel} { - set how POST - # The query channel must be blocking for the async Write to - # work properly. - fconfigure $state(-querychannel) -blocking 1 -translation binary - set contDone 0 - } - if {[info exists state(-method)] && $state(-method) ne ""} { - set how $state(-method) - } - # We cannot handle chunked encodings with -handler, so force HTTP/1.0 - # until we can manage this. - if {[info exists state(-handler)]} { - set state(-protocol) 1.0 - } - set accept_types_seen 0 - if {[catch { - puts $sock "$how $srvurl HTTP/$state(-protocol)" - if {[dict exists $state(-headers) Host]} { - # Allow Host spoofing. [Bug 928154] - puts $sock "Host: [dict get $state(-headers) Host]" - } elseif {$port == $defport} { - # Don't add port in this case, to handle broken servers. [Bug - # #504508] - puts $sock "Host: $host" - } else { - puts $sock "Host: $host:$port" - } - puts $sock "User-Agent: $http(-useragent)" - if {$state(-protocol) == 1.0 && $state(-keepalive)} { - puts $sock "Connection: keep-alive" - } - if {$state(-protocol) > 1.0 && !$state(-keepalive)} { - puts $sock "Connection: close" ;# RFC2616 sec 8.1.2.1 - } - if {[info exists phost] && ($phost ne "") && $state(-keepalive)} { - puts $sock "Proxy-Connection: Keep-Alive" - } - set accept_encoding_seen 0 - set content_type_seen 0 - dict for {key value} $state(-headers) { - set value [string map [list \n "" \r ""] $value] - set key [string map {" " -} [string trim $key]] - if {[string equal -nocase $key "host"]} { - continue - } - if {[string equal -nocase $key "accept-encoding"]} { - set accept_encoding_seen 1 - } - if {[string equal -nocase $key "accept"]} { - set accept_types_seen 1 - } - if {[string equal -nocase $key "content-type"]} { - set content_type_seen 1 - } - if {[string equal -nocase $key "content-length"]} { - set contDone 1 - set state(querylength) $value - } - if {[string length $key]} { - puts $sock "$key: $value" - } - } - # Allow overriding the Accept header on a per-connection basis. Useful - # for working with REST services. [Bug c11a51c482] - if {!$accept_types_seen} { - puts $sock "Accept: $state(accept-types)" - } - if {!$accept_encoding_seen && ![info exists state(-handler)]} { - puts $sock "Accept-Encoding: gzip,deflate,compress" - } - if {$isQueryChannel && $state(querylength) == 0} { - # Try to determine size of data in channel. If we cannot seek, the - # surrounding catch will trap us - - set start [tell $state(-querychannel)] - seek $state(-querychannel) 0 end - set state(querylength) \ - [expr {[tell $state(-querychannel)] - $start}] - seek $state(-querychannel) $start - } - - # Flush the request header and set up the fileevent that will either - # push the POST data or read the response. - # - # fileevent note: - # - # It is possible to have both the read and write fileevents active at - # this point. The only scenario it seems to affect is a server that - # closes the connection without reading the POST data. (e.g., early - # versions TclHttpd in various error cases). Depending on the - # platform, the client may or may not be able to get the response from - # the server because of the error it will get trying to write the post - # data. Having both fileevents active changes the timing and the - # behavior, but no two platforms (among Solaris, Linux, and NT) behave - # the same, and none behave all that well in any case. Servers should - # always read their POST data if they expect the client to read their - # response. - - if {$isQuery || $isQueryChannel} { - if {!$content_type_seen} { - puts $sock "Content-Type: $state(-type)" - } - if {!$contDone} { - puts $sock "Content-Length: $state(querylength)" - } - puts $sock "" - fconfigure $sock -translation {auto binary} - fileevent $sock writable [list http::Write $token] - } else { - puts $sock "" - flush $sock - fileevent $sock readable [list http::Event $sock $token] - } - - } err]} { - # The socket probably was never connected, or the connection dropped - # later. - - # if state(status) is error, it means someone's already called Finish - # to do the above-described clean up. - if {$state(status) ne "error"} { - Finish $token $err - } - } -} - -# Data access functions: -# Data - the URL data -# Status - the transaction status: ok, reset, eof, timeout -# Code - the HTTP transaction code, e.g., 200 -# Size - the size of the URL data - -proc http::data {token} { - variable $token - upvar 0 $token state - return $state(body) -} -proc http::status {token} { - if {![info exists $token]} { - return "error" - } - variable $token - upvar 0 $token state - return $state(status) -} -proc http::code {token} { - variable $token - upvar 0 $token state - return $state(http) -} -proc http::ncode {token} { - variable $token - upvar 0 $token state - if {[regexp {[0-9]{3}} $state(http) numeric_code]} { - return $numeric_code - } else { - return $state(http) - } -} -proc http::size {token} { - variable $token - upvar 0 $token state - return $state(currentsize) -} -proc http::meta {token} { - variable $token - upvar 0 $token state - return $state(meta) -} -proc http::error {token} { - variable $token - upvar 0 $token state - if {[info exists state(error)]} { - return $state(error) - } - return "" -} - -# http::cleanup -# -# Garbage collect the state associated with a transaction -# -# Arguments -# token The token returned from http::geturl -# -# Side Effects -# unsets the state array - -proc http::cleanup {token} { - variable $token - upvar 0 $token state - if {[info exists state]} { - unset state - } -} - -# http::Connect -# -# This callback is made when an asyncronous connection completes. -# -# Arguments -# token The token returned from http::geturl -# -# Side Effects -# Sets the status of the connection, which unblocks -# the waiting geturl call - -proc http::Connect {token proto phost srvurl} { - variable $token - upvar 0 $token state - set err "due to unexpected EOF" - if { - [eof $state(sock)] || - [set err [fconfigure $state(sock) -error]] ne "" - } { - Finish $token "connect failed $err" - } else { - fileevent $state(sock) writable {} - ::http::Connected $token $proto $phost $srvurl - } - return -} - -# http::Write -# -# Write POST query data to the socket -# -# Arguments -# token The token for the connection -# -# Side Effects -# Write the socket and handle callbacks. - -proc http::Write {token} { - variable $token - upvar 0 $token state - set sock $state(sock) - - # Output a block. Tcl will buffer this if the socket blocks - set done 0 - if {[catch { - # Catch I/O errors on dead sockets - - if {[info exists state(-query)]} { - # Chop up large query strings so queryprogress callback can give - # smooth feedback. - - puts -nonewline $sock \ - [string range $state(-query) $state(queryoffset) \ - [expr {$state(queryoffset) + $state(-queryblocksize) - 1}]] - incr state(queryoffset) $state(-queryblocksize) - if {$state(queryoffset) >= $state(querylength)} { - set state(queryoffset) $state(querylength) - set done 1 - } - } else { - # Copy blocks from the query channel - - set outStr [read $state(-querychannel) $state(-queryblocksize)] - puts -nonewline $sock $outStr - incr state(queryoffset) [string length $outStr] - if {[eof $state(-querychannel)]} { - set done 1 - } - } - } err]} { - # Do not call Finish here, but instead let the read half of the socket - # process whatever server reply there is to get. - - set state(posterror) $err - set done 1 - } - if {$done} { - catch {flush $sock} - fileevent $sock writable {} - fileevent $sock readable [list http::Event $sock $token] - } - - # Callback to the client after we've completely handled everything. - - if {[string length $state(-queryprogress)]} { - eval $state(-queryprogress) \ - [list $token $state(querylength) $state(queryoffset)] - } -} - -# http::Event -# -# Handle input on the socket -# -# Arguments -# sock The socket receiving input. -# token The token returned from http::geturl -# -# Side Effects -# Read the socket and handle callbacks. - -proc http::Event {sock token} { - variable $token - upvar 0 $token state - - if {![info exists state]} { - Log "Event $sock with invalid token '$token' - remote close?" - if {![eof $sock]} { - if {[set d [read $sock]] ne ""} { - Log "WARNING: additional data left on closed socket" - } - } - CloseSocket $sock - return - } - if {$state(state) eq "connecting"} { - if {[catch {gets $sock state(http)} n]} { - return [Finish $token $n] - } elseif {$n >= 0} { - set state(state) "header" - } - } elseif {$state(state) eq "header"} { - if {[catch {gets $sock line} n]} { - return [Finish $token $n] - } elseif {$n == 0} { - # We have now read all headers - # We ignore HTTP/1.1 100 Continue returns. RFC2616 sec 8.2.3 - if {$state(http) == "" || ([regexp {^\S+\s(\d+)} $state(http) {} x] && $x == 100)} { - set state(state) "connecting" - return - } - - set state(state) body - - # If doing a HEAD, then we won't get any body - if {$state(-validate)} { - Eof $token - return - } - - # For non-chunked transfer we may have no body - in this case we - # may get no further file event if the connection doesn't close - # and no more data is sent. We can tell and must finish up now - - # not later. - if { - !(([info exists state(connection)] - && ($state(connection) eq "close")) - || [info exists state(transfer)]) - && ($state(totalsize) == 0) - } { - Log "body size is 0 and no events likely - complete." - Eof $token - return - } - - # We have to use binary translation to count bytes properly. - fconfigure $sock -translation binary - - if { - $state(-binary) || [IsBinaryContentType $state(type)] - } { - # Turn off conversions for non-text data - set state(binary) 1 - } - if {[info exists state(-channel)]} { - if {$state(binary) || [llength [ContentEncoding $token]]} { - fconfigure $state(-channel) -translation binary - } - if {![info exists state(-handler)]} { - # Initiate a sequence of background fcopies - fileevent $sock readable {} - CopyStart $sock $token - return - } - } - } elseif {$n > 0} { - # Process header lines - if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} { - switch -- [string tolower $key] { - content-type { - set state(type) [string trim [string tolower $value]] - # grab the optional charset information - if {[regexp -nocase \ - {charset\s*=\s*\"((?:[^""]|\\\")*)\"} \ - $state(type) -> cs]} { - set state(charset) [string map {{\"} \"} $cs] - } else { - regexp -nocase {charset\s*=\s*(\S+?);?} \ - $state(type) -> state(charset) - } - } - content-length { - set state(totalsize) [string trim $value] - } - content-encoding { - set state(coding) [string trim $value] - } - transfer-encoding { - set state(transfer) \ - [string trim [string tolower $value]] - } - proxy-connection - - connection { - set state(connection) \ - [string trim [string tolower $value]] - } - } - lappend state(meta) $key [string trim $value] - } - } - } else { - # Now reading body - if {[catch { - if {[info exists state(-handler)]} { - set n [eval $state(-handler) [list $sock $token]] - } elseif {[info exists state(transfer_final)]} { - set line [getTextLine $sock] - set n [string length $line] - if {$n > 0} { - Log "found $n bytes following final chunk" - append state(transfer_final) $line - } else { - Log "final chunk part" - Eof $token - } - } elseif { - [info exists state(transfer)] - && $state(transfer) eq "chunked" - } { - set size 0 - set chunk [getTextLine $sock] - set n [string length $chunk] - if {[string trim $chunk] ne ""} { - scan $chunk %x size - if {$size != 0} { - set bl [fconfigure $sock -blocking] - fconfigure $sock -blocking 1 - set chunk [read $sock $size] - fconfigure $sock -blocking $bl - set n [string length $chunk] - if {$n >= 0} { - append state(body) $chunk - } - if {$size != [string length $chunk]} { - Log "WARNING: mis-sized chunk:\ - was [string length $chunk], should be $size" - } - getTextLine $sock - } else { - set state(transfer_final) {} - } - } - } else { - #Log "read non-chunk $state(currentsize) of $state(totalsize)" - set block [read $sock $state(-blocksize)] - set n [string length $block] - if {$n >= 0} { - append state(body) $block - } - } - if {[info exists state]} { - if {$n >= 0} { - incr state(currentsize) $n - } - # If Content-Length - check for end of data. - if { - ($state(totalsize) > 0) - && ($state(currentsize) >= $state(totalsize)) - } { - Eof $token - } - } - } err]} { - return [Finish $token $err] - } else { - if {[info exists state(-progress)]} { - eval $state(-progress) \ - [list $token $state(totalsize) $state(currentsize)] - } - } - } - - # catch as an Eof above may have closed the socket already - if {![catch {eof $sock} eof] && $eof} { - if {[info exists $token]} { - set state(connection) close - Eof $token - } else { - # open connection closed on a token that has been cleaned up. - CloseSocket $sock - } - return - } -} - -# http::IsBinaryContentType -- -# -# Determine if the content-type means that we should definitely transfer -# the data as binary. [Bug 838e99a76d] -# -# Arguments -# type The content-type of the data. -# -# Results: -# Boolean, true if we definitely should be binary. - -proc http::IsBinaryContentType {type} { - lassign [split [string tolower $type] "/;"] major minor - if {$major eq "text"} { - return false - } - # There's a bunch of XML-as-application-format things about. See RFC 3023 - # and so on. - if {$major eq "application"} { - set minor [string trimright $minor] - if {$minor in {"xml" "xml-external-parsed-entity" "xml-dtd"}} { - return false - } - } - # Not just application/foobar+xml but also image/svg+xml, so let us not - # restrict things for now... - if {[string match "*+xml" $minor]} { - return false - } - return true -} - -# http::getTextLine -- -# -# Get one line with the stream in blocking crlf mode -# -# Arguments -# sock The socket receiving input. -# -# Results: -# The line of text, without trailing newline - -proc http::getTextLine {sock} { - set tr [fconfigure $sock -translation] - set bl [fconfigure $sock -blocking] - fconfigure $sock -translation crlf -blocking 1 - set r [gets $sock] - fconfigure $sock -translation $tr -blocking $bl - return $r -} - -# http::CopyStart -# -# Error handling wrapper around fcopy -# -# Arguments -# sock The socket to copy from -# token The token returned from http::geturl -# -# Side Effects -# This closes the connection upon error - -proc http::CopyStart {sock token {initial 1}} { - upvar #0 $token state - if {[info exists state(transfer)] && $state(transfer) eq "chunked"} { - foreach coding [ContentEncoding $token] { - lappend state(zlib) [zlib stream $coding] - } - make-transformation-chunked $sock [namespace code [list CopyChunk $token]] - } else { - if {$initial} { - foreach coding [ContentEncoding $token] { - zlib push $coding $sock - } - } - if {[catch { - fcopy $sock $state(-channel) -size $state(-blocksize) -command \ - [list http::CopyDone $token] - } err]} { - Finish $token $err - } - } -} - -proc http::CopyChunk {token chunk} { - upvar 0 $token state - if {[set count [string length $chunk]]} { - incr state(currentsize) $count - if {[info exists state(zlib)]} { - foreach stream $state(zlib) { - set chunk [$stream add $chunk] - } - } - puts -nonewline $state(-channel) $chunk - if {[info exists state(-progress)]} { - eval [linsert $state(-progress) end \ - $token $state(totalsize) $state(currentsize)] - } - } else { - Log "CopyChunk Finish $token" - if {[info exists state(zlib)]} { - set excess "" - foreach stream $state(zlib) { - catch {set excess [$stream add -finalize $excess]} - } - puts -nonewline $state(-channel) $excess - foreach stream $state(zlib) { $stream close } - unset state(zlib) - } - Eof $token ;# FIX ME: pipelining. - } -} - -# http::CopyDone -# -# fcopy completion callback -# -# Arguments -# token The token returned from http::geturl -# count The amount transfered -# -# Side Effects -# Invokes callbacks - -proc http::CopyDone {token count {error {}}} { - variable $token - upvar 0 $token state - set sock $state(sock) - incr state(currentsize) $count - if {[info exists state(-progress)]} { - eval $state(-progress) \ - [list $token $state(totalsize) $state(currentsize)] - } - # At this point the token may have been reset - if {[string length $error]} { - Finish $token $error - } elseif {[catch {eof $sock} iseof] || $iseof} { - Eof $token - } else { - CopyStart $sock $token 0 - } -} - -# http::Eof -# -# Handle eof on the socket -# -# Arguments -# token The token returned from http::geturl -# -# Side Effects -# Clean up the socket - -proc http::Eof {token {force 0}} { - variable $token - upvar 0 $token state - if {$state(state) eq "header"} { - # Premature eof - set state(status) eof - } else { - set state(status) ok - } - - if {[string length $state(body)] > 0} { - if {[catch { - foreach coding [ContentEncoding $token] { - set state(body) [zlib $coding $state(body)] - } - } err]} { - Log "error doing decompression: $err" - return [Finish $token $err] - } - - if {!$state(binary)} { - # If we are getting text, set the incoming channel's encoding - # correctly. iso8859-1 is the RFC default, but this could be any IANA - # charset. However, we only know how to convert what we have - # encodings for. - - set enc [CharsetToEncoding $state(charset)] - if {$enc ne "binary"} { - set state(body) [encoding convertfrom $enc $state(body)] - } - - # Translate text line endings. - set state(body) [string map {\r\n \n \r \n} $state(body)] - } - } - Finish $token -} - -# http::wait -- -# -# See documentation for details. -# -# Arguments: -# token Connection token. -# -# Results: -# The status after the wait. - -proc http::wait {token} { - variable $token - upvar 0 $token state - - if {![info exists state(status)] || $state(status) eq ""} { - # We must wait on the original variable name, not the upvar alias - vwait ${token}(status) - } - - return [status $token] -} - -# http::formatQuery -- -# -# See documentation for details. Call http::formatQuery with an even -# number of arguments, where the first is a name, the second is a value, -# the third is another name, and so on. -# -# Arguments: -# args A list of name-value pairs. -# -# Results: -# TODO - -proc http::formatQuery {args} { - set result "" - set sep "" - foreach i $args { - append result $sep [mapReply $i] - if {$sep eq "="} { - set sep & - } else { - set sep = - } - } - return $result -} - -# http::mapReply -- -# -# Do x-www-urlencoded character mapping -# -# Arguments: -# string The string the needs to be encoded -# -# Results: -# The encoded string - -proc http::mapReply {string} { - variable http - variable formMap - - # The spec says: "non-alphanumeric characters are replaced by '%HH'". Use - # a pre-computed map and [string map] to do the conversion (much faster - # than [regsub]/[subst]). [Bug 1020491] - - if {$http(-urlencoding) ne ""} { - set string [encoding convertto $http(-urlencoding) $string] - return [string map $formMap $string] - } - set converted [string map $formMap $string] - if {[string match "*\[\u0100-\uffff\]*" $converted]} { - regexp "\[\u0100-\uffff\]" $converted badChar - # Return this error message for maximum compatibility... :^/ - return -code error \ - "can't read \"formMap($badChar)\": no such element in array" - } - return $converted -} - -# http::ProxyRequired -- -# Default proxy filter. -# -# Arguments: -# host The destination host -# -# Results: -# The current proxy settings - -proc http::ProxyRequired {host} { - variable http - if {[info exists http(-proxyhost)] && [string length $http(-proxyhost)]} { - if { - ![info exists http(-proxyport)] || - ![string length $http(-proxyport)] - } { - set http(-proxyport) 8080 - } - return [list $http(-proxyhost) $http(-proxyport)] - } -} - -# http::CharsetToEncoding -- -# -# Tries to map a given IANA charset to a tcl encoding. If no encoding -# can be found, returns binary. -# - -proc http::CharsetToEncoding {charset} { - variable encodings - - set charset [string tolower $charset] - if {[regexp {iso-?8859-([0-9]+)} $charset -> num]} { - set encoding "iso8859-$num" - } elseif {[regexp {iso-?2022-(jp|kr)} $charset -> ext]} { - set encoding "iso2022-$ext" - } elseif {[regexp {shift[-_]?js} $charset]} { - set encoding "shiftjis" - } elseif {[regexp {(?:windows|cp)-?([0-9]+)} $charset -> num]} { - set encoding "cp$num" - } elseif {$charset eq "us-ascii"} { - set encoding "ascii" - } elseif {[regexp {(?:iso-?)?lat(?:in)?-?([0-9]+)} $charset -> num]} { - switch -- $num { - 5 {set encoding "iso8859-9"} - 1 - 2 - 3 { - set encoding "iso8859-$num" - } - } - } else { - # other charset, like euc-xx, utf-8,... may directly map to encoding - set encoding $charset - } - set idx [lsearch -exact $encodings $encoding] - if {$idx >= 0} { - return $encoding - } else { - return "binary" - } -} - -# Return the list of content-encoding transformations we need to do in order. -proc http::ContentEncoding {token} { - upvar 0 $token state - set r {} - if {[info exists state(coding)]} { - foreach coding [split $state(coding) ,] { - switch -exact -- $coding { - deflate { lappend r inflate } - gzip - x-gzip { lappend r gunzip } - compress - x-compress { lappend r decompress } - identity {} - default { - return -code error "unsupported content-encoding \"$coding\"" - } - } - } - } - return $r -} - -proc http::make-transformation-chunked {chan command} { - set lambda {{chan command} { - set data "" - set size -1 - yield - while {1} { - chan configure $chan -translation {crlf binary} - while {[gets $chan line] < 1} { yield } - chan configure $chan -translation {binary binary} - if {[scan $line %x size] != 1} { return -code error "invalid size: \"$line\"" } - set chunk "" - while {$size && ![chan eof $chan]} { - set part [chan read $chan $size] - incr size -[string length $part] - append chunk $part - } - if {[catch { - uplevel #0 [linsert $command end $chunk] - }]} { - http::Log "Error in callback: $::errorInfo" - } - if {[string length $chunk] == 0} { - # channel might have been closed in the callback - catch {chan event $chan readable {}} - return - } - } - }} - coroutine dechunk$chan ::apply $lambda $chan $command - chan event $chan readable [namespace origin dechunk$chan] - return -} - -# Local variables: -# indent-tabs-mode: t -# End: diff --git a/amd64/lib/tcl8/8.6/http-2.9.0.tm b/amd64/lib/tcl8/8.6/http-2.9.0.tm new file mode 100644 index 0000000..f82bced --- /dev/null +++ b/amd64/lib/tcl8/8.6/http-2.9.0.tm @@ -0,0 +1,3427 @@ +# http.tcl -- +# +# Client-side HTTP for GET, POST, and HEAD commands. These routines can +# be used in untrusted code that uses the Safesock security policy. +# These procedures use a callback interface to avoid using vwait, which +# is not defined in the safe base. +# +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. + +package require Tcl 8.6- +# Keep this in sync with pkgIndex.tcl and with the install directories in +# Makefiles +package provide http 2.9.0 + +namespace eval http { + # Allow resourcing to not clobber existing data + + variable http + if {![info exists http]} { + array set http { + -accept */* + -pipeline 1 + -postfresh 0 + -proxyhost {} + -proxyport {} + -proxyfilter http::ProxyRequired + -repost 0 + -urlencoding utf-8 + -zip 1 + } + # We need a useragent string of this style or various servers will + # refuse to send us compressed content even when we ask for it. This + # follows the de-facto layout of user-agent strings in current browsers. + # Safe interpreters do not have ::tcl_platform(os) or + # ::tcl_platform(osVersion). + if {[interp issafe]} { + set http(-useragent) "Mozilla/5.0\ + (Windows; U;\ + Windows NT 10.0)\ + http/[package provide http] Tcl/[package provide Tcl]" + } else { + set http(-useragent) "Mozilla/5.0\ + ([string totitle $::tcl_platform(platform)]; U;\ + $::tcl_platform(os) $::tcl_platform(osVersion))\ + http/[package provide http] Tcl/[package provide Tcl]" + } + } + + proc init {} { + # Set up the map for quoting chars. RFC3986 Section 2.3 say percent + # encode all except: "... percent-encoded octets in the ranges of + # ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period + # (%2E), underscore (%5F), or tilde (%7E) should not be created by URI + # producers ..." + for {set i 0} {$i <= 256} {incr i} { + set c [format %c $i] + if {![string match {[-._~a-zA-Z0-9]} $c]} { + set map($c) %[format %.2X $i] + } + } + # These are handled specially + set map(\n) %0D%0A + variable formMap [array get map] + + # Create a map for HTTP/1.1 open sockets + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + if {[info exists socketMapping]} { + # Close open sockets on re-init. Do not permit retries. + foreach {url sock} [array get socketMapping] { + unset -nocomplain socketClosing($url) + unset -nocomplain socketPlayCmd($url) + CloseSocket $sock + } + } + + # CloseSocket should have unset the socket* arrays, one element at + # a time. Now unset anything that was overlooked. + # Traces on "unset socketRdState(*)" will call CancelReadPipeline and + # cancel any queued responses. + # Traces on "unset socketWrState(*)" will call CancelWritePipeline and + # cancel any queued requests. + array unset socketMapping + array unset socketRdState + array unset socketWrState + array unset socketRdQueue + array unset socketWrQueue + array unset socketClosing + array unset socketPlayCmd + array set socketMapping {} + array set socketRdState {} + array set socketWrState {} + array set socketRdQueue {} + array set socketWrQueue {} + array set socketClosing {} + array set socketPlayCmd {} + } + init + + variable urlTypes + if {![info exists urlTypes]} { + set urlTypes(http) [list 80 ::socket] + } + + variable encodings [string tolower [encoding names]] + # This can be changed, but iso8859-1 is the RFC standard. + variable defaultCharset + if {![info exists defaultCharset]} { + set defaultCharset "iso8859-1" + } + + # Force RFC 3986 strictness in geturl url verification? + variable strict + if {![info exists strict]} { + set strict 1 + } + + # Let user control default keepalive for compatibility + variable defaultKeepalive + if {![info exists defaultKeepalive]} { + set defaultKeepalive 0 + } + + namespace export geturl config reset wait formatQuery quoteString + namespace export register unregister registerError + # - Useful, but not exported: data, size, status, code, cleanup, error, + # meta, ncode, mapReply, init. Comments suggest that "init" can be used + # for re-initialisation, although the command is undocumented. + # - Not exported, probably should be upper-case initial letter as part + # of the internals: getTextLine, make-transformation-chunked. +} + +# http::Log -- +# +# Debugging output -- define this to observe HTTP/1.1 socket usage. +# Should echo any args received. +# +# Arguments: +# msg Message to output +# +if {[info command http::Log] eq {}} {proc http::Log {args} {}} + +# http::register -- +# +# See documentation for details. +# +# Arguments: +# proto URL protocol prefix, e.g. https +# port Default port for protocol +# command Command to use to create socket +# Results: +# list of port and command that was registered. + +proc http::register {proto port command} { + variable urlTypes + set urlTypes([string tolower $proto]) [list $port $command] +} + +# http::unregister -- +# +# Unregisters URL protocol handler +# +# Arguments: +# proto URL protocol prefix, e.g. https +# Results: +# list of port and command that was unregistered. + +proc http::unregister {proto} { + variable urlTypes + set lower [string tolower $proto] + if {![info exists urlTypes($lower)]} { + return -code error "unsupported url type \"$proto\"" + } + set old $urlTypes($lower) + unset urlTypes($lower) + return $old +} + +# http::config -- +# +# See documentation for details. +# +# Arguments: +# args Options parsed by the procedure. +# Results: +# TODO + +proc http::config {args} { + variable http + set options [lsort [array names http -*]] + set usage [join $options ", "] + if {[llength $args] == 0} { + set result {} + foreach name $options { + lappend result $name $http($name) + } + return $result + } + set options [string map {- ""} $options] + set pat ^-(?:[join $options |])$ + if {[llength $args] == 1} { + set flag [lindex $args 0] + if {![regexp -- $pat $flag]} { + return -code error "Unknown option $flag, must be: $usage" + } + return $http($flag) + } else { + foreach {flag value} $args { + if {![regexp -- $pat $flag]} { + return -code error "Unknown option $flag, must be: $usage" + } + set http($flag) $value + } + } +} + +# http::Finish -- +# +# Clean up the socket and eval close time callbacks +# +# Arguments: +# token Connection token. +# errormsg (optional) If set, forces status to error. +# skipCB (optional) If set, don't call the -command callback. This +# is useful when geturl wants to throw an exception instead +# of calling the callback. That way, the same error isn't +# reported to two places. +# +# Side Effects: +# May close the socket. + +proc http::Finish {token {errormsg ""} {skipCB 0}} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + global errorInfo errorCode + set closeQueue 0 + if {$errormsg ne ""} { + set state(error) [list $errormsg $errorInfo $errorCode] + set state(status) "error" + } + if {[info commands ${token}EventCoroutine] ne {}} { + rename ${token}EventCoroutine {} + } + if { ($state(status) eq "timeout") + || ($state(status) eq "error") + || ($state(status) eq "eof") + || ([info exists state(-keepalive)] && !$state(-keepalive)) + || ([info exists state(connection)] && ($state(connection) eq "close")) + } { + set closeQueue 1 + set connId $state(socketinfo) + set sock $state(sock) + CloseSocket $state(sock) $token + } elseif { + ([info exists state(-keepalive)] && $state(-keepalive)) + && ([info exists state(connection)] && ($state(connection) ne "close")) + } { + KeepSocket $token + } + if {[info exists state(after)]} { + after cancel $state(after) + unset state(after) + } + if {[info exists state(-command)] && (!$skipCB) + && (![info exists state(done-command-cb)])} { + set state(done-command-cb) yes + if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} { + set state(error) [list $err $errorInfo $errorCode] + set state(status) error + } + } + + if { $closeQueue + && [info exists socketMapping($connId)] + && ($socketMapping($connId) eq $sock) + } { + http::CloseQueuedQueries $connId $token + } +} + +# http::KeepSocket - +# +# Keep a socket in the persistent sockets table and connect it to its next +# queued task if possible. Otherwise leave it idle and ready for its next +# use. +# +# If $socketClosing(*), then ($state(connection) eq "close") and therefore +# this command will not be called by Finish. +# +# Arguments: +# token Connection token. + +proc http::KeepSocket {token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + + # Keep this socket open for another request ("Keep-Alive"). + # React if the server half-closes the socket. + # Discussion is in http::geturl. + catch {fileevent $state(sock) readable [list http::CheckEof $state(sock)]} + + # The line below should not be changed in production code. + # It is edited by the test suite. + set TEST_EOF 0 + if {$TEST_EOF} { + # ONLY for testing reaction to server eof. + # No server timeouts will be caught. + catch {fileevent $state(sock) readable {}} + } + + if { [info exists state(socketinfo)] + && [info exists socketMapping($state(socketinfo))] + } { + set connId $state(socketinfo) + # The value "Rready" is set only here. + set socketRdState($connId) Rready + + if { $state(-pipeline) + && [info exists socketRdQueue($connId)] + && [llength $socketRdQueue($connId)] + } { + # The usual case for pipelined responses - if another response is + # queued, arrange to read it. + set token3 [lindex $socketRdQueue($connId) 0] + set socketRdQueue($connId) [lrange $socketRdQueue($connId) 1 end] + variable $token3 + upvar 0 $token3 state3 + set tk2 [namespace tail $token3] + + #Log pipelined, GRANT read access to $token3 in KeepSocket + set socketRdState($connId) $token3 + ReceiveResponse $token3 + + # Other pipelined cases. + # - The test above ensures that, for the pipelined cases in the two + # tests below, the read queue is empty. + # - In those two tests, check whether the next write will be + # nonpipeline. + } elseif { + $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "peNding") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![set token3 [lindex $socketWrQueue($connId) 0] + set ${token3}(-pipeline) + ] + ) + } { + # This case: + # - Now it the time to run the "pending" request. + # - The next token in the write queue is nonpipeline, and + # socketWrState has been marked "pending" (in + # http::NextPipelinedWrite or http::geturl) so a new pipelined + # request cannot jump the queue. + # + # Tests: + # - In this case the read queue (tested above) is empty and this + # "pending" write token is in front of the rest of the write + # queue. + # - The write state is not Wready and therefore appears to be busy, + # but because it is "pending" we know that it is reserved for the + # first item in the write queue, a non-pipelined request that is + # waiting for the read queue to empty. That has now happened: so + # give that request read and write access. + variable $token3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (c) + + } elseif { + $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "peNding") + + } { + # Should not come here. The second block in the previous "elseif" + # test should be tautologous (but was needed in an earlier + # implementation) and will be removed after testing. + # If we get here, the value "pending" was assigned in error. + # This error would block the queue for ever. + Log ^X$tk <<<<< Error in queueing of requests >>>>> - token $token + + } elseif { + $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![set token3 [lindex $socketWrQueue($connId) 0] + set ${token3}(-pipeline) + ] + ) + } { + # This case: + # - The next token in the write queue is nonpipeline, and + # socketWrState is Wready. Get the next event from socketWrQueue. + # Tests: + # - In this case the read state (tested above) is Rready and the + # write state (tested here) is Wready - there is no "pending" + # request. + # Code: + # - The code is the same as the code below for the nonpipelined + # case with a queued request. + variable $token3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (c) + + } elseif { + (!$state(-pipeline)) + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && ($state(connection) ne "close") + } { + # If not pipelined, (socketRdState eq Rready) tells us that we are + # ready for the next write - there is no need to check + # socketWrState. Write the next request, if one is waiting. + # If the next request is pipelined, it receives premature read + # access to the socket. This is not a problem. + set token3 [lindex $socketWrQueue($connId) 0] + variable $token3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (d) + + } elseif {(!$state(-pipeline))} { + set socketWrState($connId) Wready + # Rready and Wready and idle: nothing to do. + } + + } else { + CloseSocket $state(sock) $token + # There is no socketMapping($state(socketinfo)), so it does not matter + # that CloseQueuedQueries is not called. + } +} + +# http::CheckEof - +# +# Read from a socket and close it if eof. +# The command is bound to "fileevent readable" on an idle socket, and +# "eof" is the only event that should trigger the binding, occurring when +# the server times out and half-closes the socket. +# +# A read is necessary so that [eof] gives a meaningful result. +# Any bytes sent are junk (or a bug). + +proc http::CheckEof {sock} { + set junk [read $sock] + set n [string length $junk] + if {$n} { + Log "WARNING: $n bytes received but no HTTP request sent" + } + + if {[catch {eof $sock} res] || $res} { + # The server has half-closed the socket. + # If a new write has started, its transaction will fail and + # will then be error-handled. + CloseSocket $sock + } +} + +# http::CloseSocket - +# +# Close a socket and remove it from the persistent sockets table. If +# possible an http token is included here but when we are called from a +# fileevent on remote closure we need to find the correct entry - hence +# the "else" block of the first "if" command. + +proc http::CloseSocket {s {token {}}} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + set tk [namespace tail $token] + + catch {fileevent $s readable {}} + set connId {} + if {$token ne ""} { + variable $token + upvar 0 $token state + if {[info exists state(socketinfo)]} { + set connId $state(socketinfo) + } + } else { + set map [array get socketMapping] + set ndx [lsearch -exact $map $s] + if {$ndx != -1} { + incr ndx -1 + set connId [lindex $map $ndx] + } + } + if { ($connId ne {}) + && [info exists socketMapping($connId)] + && ($socketMapping($connId) eq $s) + } { + Log "Closing connection $connId (sock $socketMapping($connId))" + if {[catch {close $socketMapping($connId)} err]} { + Log "Error closing connection: $err" + } + if {$token eq {}} { + # Cases with a non-empty token are handled by Finish, so the tokens + # are finished in connection order. + http::CloseQueuedQueries $connId + } + } else { + Log "Closing socket $s (no connection info)" + if {[catch {close $s} err]} { + Log "Error closing socket: $err" + } + } +} + +# http::CloseQueuedQueries +# +# connId - identifier "domain:port" for the connection +# token - (optional) used only for logging +# +# Called from http::CloseSocket and http::Finish, after a connection is closed, +# to clear the read and write queues if this has not already been done. + +proc http::CloseQueuedQueries {connId {token {}}} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + if {![info exists socketMapping($connId)]} { + # Command has already been called. + # Don't come here again - especially recursively. + return + } + + # Used only for logging. + if {$token eq {}} { + set tk {} + } else { + set tk [namespace tail $token] + } + + if { [info exists socketPlayCmd($connId)] + && ($socketPlayCmd($connId) ne {ReplayIfClose Wready {} {}}) + } { + # Before unsetting, there is some unfinished business. + # - If the server sent "Connection: close", we have stored the command + # for retrying any queued requests in socketPlayCmd, so copy that + # value for execution below. socketClosing(*) was also set. + # - Also clear the queues to prevent calls to Finish that would set the + # state for the requests that will be retried to "finished with error + # status". + set unfinished $socketPlayCmd($connId) + set socketRdQueue($connId) {} + set socketWrQueue($connId) {} + } else { + set unfinished {} + } + + Unset $connId + + if {$unfinished ne {}} { + Log ^R$tk Any unfinished transactions (excluding $token) failed \ + - token $token + {*}$unfinished + } +} + +# http::Unset +# +# The trace on "unset socketRdState(*)" will call CancelReadPipeline +# and cancel any queued responses. +# The trace on "unset socketWrState(*)" will call CancelWritePipeline +# and cancel any queued requests. + +proc http::Unset {connId} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + unset socketMapping($connId) + unset socketRdState($connId) + unset socketWrState($connId) + unset -nocomplain socketRdQueue($connId) + unset -nocomplain socketWrQueue($connId) + unset -nocomplain socketClosing($connId) + unset -nocomplain socketPlayCmd($connId) +} + +# http::reset -- +# +# See documentation for details. +# +# Arguments: +# token Connection token. +# why Status info. +# +# Side Effects: +# See Finish + +proc http::reset {token {why reset}} { + variable $token + upvar 0 $token state + set state(status) $why + catch {fileevent $state(sock) readable {}} + catch {fileevent $state(sock) writable {}} + Finish $token + if {[info exists state(error)]} { + set errorlist $state(error) + unset state + eval ::error $errorlist + } +} + +# http::geturl -- +# +# Establishes a connection to a remote url via http. +# +# Arguments: +# url The http URL to goget. +# args Option value pairs. Valid options include: +# -blocksize, -validate, -headers, -timeout +# Results: +# Returns a token for this connection. This token is the name of an +# array that the caller should unset to garbage collect the state. + +proc http::geturl {url args} { + variable http + variable urlTypes + variable defaultCharset + variable defaultKeepalive + variable strict + + # Initialize the state variable, an array. We'll return the name of this + # array as the token for the transaction. + + if {![info exists http(uid)]} { + set http(uid) 0 + } + set token [namespace current]::[incr http(uid)] + ##Log Starting http::geturl - token $token + variable $token + upvar 0 $token state + set tk [namespace tail $token] + reset $token + Log ^A$tk URL $url - token $token + + # Process command options. + + array set state { + -binary false + -blocksize 8192 + -queryblocksize 8192 + -validate 0 + -headers {} + -timeout 0 + -type application/x-www-form-urlencoded + -queryprogress {} + -protocol 1.1 + binary 0 + state created + meta {} + method {} + coding {} + currentsize 0 + totalsize 0 + querylength 0 + queryoffset 0 + type text/html + body {} + status "" + http "" + connection close + } + set state(-keepalive) $defaultKeepalive + set state(-strict) $strict + # These flags have their types verified [Bug 811170] + array set type { + -binary boolean + -blocksize integer + -queryblocksize integer + -strict boolean + -timeout integer + -validate boolean + } + set state(charset) $defaultCharset + set options { + -binary -blocksize -channel -command -handler -headers -keepalive + -method -myaddr -progress -protocol -query -queryblocksize + -querychannel -queryprogress -strict -timeout -type -validate + } + set usage [join [lsort $options] ", "] + set options [string map {- ""} $options] + set pat ^-(?:[join $options |])$ + foreach {flag value} $args { + if {[regexp -- $pat $flag]} { + # Validate numbers + if { + [info exists type($flag)] && + ![string is $type($flag) -strict $value] + } { + unset $token + return -code error \ + "Bad value for $flag ($value), must be $type($flag)" + } + set state($flag) $value + } else { + unset $token + return -code error "Unknown option $flag, can be: $usage" + } + } + + # Make sure -query and -querychannel aren't both specified + + set isQueryChannel [info exists state(-querychannel)] + set isQuery [info exists state(-query)] + if {$isQuery && $isQueryChannel} { + unset $token + return -code error "Can't combine -query and -querychannel options!" + } + + # Validate URL, determine the server host and port, and check proxy case + # Recognize user:pass@host URLs also, although we do not do anything with + # that info yet. + + # URLs have basically four parts. + # First, before the colon, is the protocol scheme (e.g. http) + # Second, for HTTP-like protocols, is the authority + # The authority is preceded by // and lasts up to (but not including) + # the following / or ? and it identifies up to four parts, of which + # only one, the host, is required (if an authority is present at all). + # All other parts of the authority (user name, password, port number) + # are optional. + # Third is the resource name, which is split into two parts at a ? + # The first part (from the single "/" up to "?") is the path, and the + # second part (from that "?" up to "#") is the query. *HOWEVER*, we do + # not need to separate them; we send the whole lot to the server. + # Both, path and query are allowed to be missing, including their + # delimiting character. + # Fourth is the fragment identifier, which is everything after the first + # "#" in the URL. The fragment identifier MUST NOT be sent to the server + # and indeed, we don't bother to validate it (it could be an error to + # pass it in here, but it's cheap to strip). + # + # An example of a URL that has all the parts: + # + # http://jschmoe:xyzzy@www.bogus.net:8000/foo/bar.tml?q=foo#changes + # + # The "http" is the protocol, the user is "jschmoe", the password is + # "xyzzy", the host is "www.bogus.net", the port is "8000", the path is + # "/foo/bar.tml", the query is "q=foo", and the fragment is "changes". + # + # Note that the RE actually combines the user and password parts, as + # recommended in RFC 3986. Indeed, that RFC states that putting passwords + # in URLs is a Really Bad Idea, something with which I would agree utterly. + # + # From a validation perspective, we need to ensure that the parts of the + # URL that are going to the server are correctly encoded. This is only + # done if $state(-strict) is true (inherited from $::http::strict). + + set URLmatcher {(?x) # this is _expanded_ syntax + ^ + (?: (\w+) : ) ? # + (?: // + (?: + ( + [^@/\#?]+ # + ) @ + )? + ( # + [^/:\#?]+ | # host name or IPv4 address + \[ [^/\#?]+ \] # IPv6 address in square brackets + ) + (?: : (\d+) )? # + )? + ( [/\?] [^\#]*)? # (including query) + (?: \# (.*) )? # + $ + } + + # Phase one: parse + if {![regexp -- $URLmatcher $url -> proto user host port srvurl]} { + unset $token + return -code error "Unsupported URL: $url" + } + # Phase two: validate + set host [string trim $host {[]}]; # strip square brackets from IPv6 address + if {$host eq ""} { + # Caller has to provide a host name; we do not have a "default host" + # that would enable us to handle relative URLs. + unset $token + return -code error "Missing host part: $url" + # Note that we don't check the hostname for validity here; if it's + # invalid, we'll simply fail to resolve it later on. + } + if {$port ne "" && $port > 65535} { + unset $token + return -code error "Invalid port number: $port" + } + # The user identification and resource identification parts of the URL can + # have encoded characters in them; take care! + if {$user ne ""} { + # Check for validity according to RFC 3986, Appendix A + set validityRE {(?xi) + ^ + (?: [-\w.~!$&'()*+,;=:] | %[0-9a-f][0-9a-f] )+ + $ + } + if {$state(-strict) && ![regexp -- $validityRE $user]} { + unset $token + # Provide a better error message in this error case + if {[regexp {(?i)%(?![0-9a-f][0-9a-f]).?.?} $user bad]} { + return -code error \ + "Illegal encoding character usage \"$bad\" in URL user" + } + return -code error "Illegal characters in URL user" + } + } + if {$srvurl ne ""} { + # RFC 3986 allows empty paths (not even a /), but servers + # return 400 if the path in the HTTP request doesn't start + # with / , so add it here if needed. + if {[string index $srvurl 0] ne "/"} { + set srvurl /$srvurl + } + # Check for validity according to RFC 3986, Appendix A + set validityRE {(?xi) + ^ + # Path part (already must start with / character) + (?: [-\w.~!$&'()*+,;=:@/] | %[0-9a-f][0-9a-f] )* + # Query part (optional, permits ? characters) + (?: \? (?: [-\w.~!$&'()*+,;=:@/?] | %[0-9a-f][0-9a-f] )* )? + $ + } + if {$state(-strict) && ![regexp -- $validityRE $srvurl]} { + unset $token + # Provide a better error message in this error case + if {[regexp {(?i)%(?![0-9a-f][0-9a-f])..} $srvurl bad]} { + return -code error \ + "Illegal encoding character usage \"$bad\" in URL path" + } + return -code error "Illegal characters in URL path" + } + } else { + set srvurl / + } + if {$proto eq ""} { + set proto http + } + set lower [string tolower $proto] + if {![info exists urlTypes($lower)]} { + unset $token + return -code error "Unsupported URL type \"$proto\"" + } + set defport [lindex $urlTypes($lower) 0] + set defcmd [lindex $urlTypes($lower) 1] + + if {$port eq ""} { + set port $defport + } + if {![catch {$http(-proxyfilter) $host} proxy]} { + set phost [lindex $proxy 0] + set pport [lindex $proxy 1] + } + + # OK, now reassemble into a full URL + set url ${proto}:// + if {$user ne ""} { + append url $user + append url @ + } + append url $host + if {$port != $defport} { + append url : $port + } + append url $srvurl + # Don't append the fragment! + set state(url) $url + + set sockopts [list -async] + + # If we are using the proxy, we must pass in the full URL that includes + # the server name. + + if {[info exists phost] && ($phost ne "")} { + set srvurl $url + set targetAddr [list $phost $pport] + } else { + set targetAddr [list $host $port] + } + # Proxy connections aren't shared among different hosts. + set state(socketinfo) $host:$port + + # Save the accept types at this point to prevent a race condition. [Bug + # c11a51c482] + set state(accept-types) $http(-accept) + + if {$isQuery || $isQueryChannel} { + # It's a POST. + # A client wishing to send a non-idempotent request SHOULD wait to send + # that request until it has received the response status for the + # previous request. + if {$http(-postfresh)} { + # Override -keepalive for a POST. Use a new connection, and thus + # avoid the small risk of a race against server timeout. + set state(-keepalive) 0 + } else { + # Allow -keepalive but do not -pipeline - wait for the previous + # transaction to finish. + # There is a small risk of a race against server timeout. + set state(-pipeline) 0 + } + } else { + # It's a GET or HEAD. + set state(-pipeline) $http(-pipeline) + } + + # See if we are supposed to use a previously opened channel. + # - In principle, ANY call to http::geturl could use a previously opened + # channel if it is available - the "Connection: keep-alive" header is a + # request to leave the channel open AFTER completion of this call. + # - In fact, we try to use an existing channel only if -keepalive 1 -- this + # means that at most one channel is left open for each value of + # $state(socketinfo). This property simplifies the mapping of open + # channels. + set reusing 0 + set alreadyQueued 0 + if {$state(-keepalive)} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + if {[info exists socketMapping($state(socketinfo))]} { + # - If the connection is idle, it has a "fileevent readable" binding + # to http::CheckEof, in case the server times out and half-closes + # the socket (http::CheckEof closes the other half). + # - We leave this binding in place until just before the last + # puts+flush in http::Connected (GET/HEAD) or http::Write (POST), + # after which the HTTP response might be generated. + + if { [info exists socketClosing($state(socketinfo))] + && $socketClosing($state(socketinfo)) + } { + # socketClosing(*) is set because the server has sent a + # "Connection: close" header. + # Do not use the persistent socket again. + # Since we have only one persistent socket per server, and the + # old socket is not yet dead, add the request to the write queue + # of the dying socket, which will be replayed by ReplayIfClose. + # Also add it to socketWrQueue(*) which is used only if an error + # causes a call to Finish. + set reusing 1 + set sock $socketMapping($state(socketinfo)) + Log "reusing socket $sock for $state(socketinfo) - token $token" + + set alreadyQueued 1 + lassign $socketPlayCmd($state(socketinfo)) com0 com1 com2 com3 + lappend com3 $token + set socketPlayCmd($state(socketinfo)) [list $com0 $com1 $com2 $com3] + lappend socketWrQueue($state(socketinfo)) $token + } elseif {[catch {fconfigure $socketMapping($state(socketinfo))}]} { + # FIXME Is it still possible for this code to be executed? If + # so, this could be another place to call TestForReplay, + # rather than discarding the queued transactions. + Log "WARNING: socket for $state(socketinfo) was closed\ + - token $token" + Log "WARNING - if testing, pay special attention to this\ + case (GH) which is seldom executed - token $token" + + # This will call CancelReadPipeline, CancelWritePipeline, and + # cancel any queued requests, responses. + Unset $state(socketinfo) + } else { + # Use the persistent socket. + # The socket may not be ready to write: an earlier request might + # still be still writing (in the pipelined case) or + # writing/reading (in the nonpipeline case). This possibility + # is handled by socketWrQueue later in this command. + set reusing 1 + set sock $socketMapping($state(socketinfo)) + Log "reusing socket $sock for $state(socketinfo) - token $token" + + } + # Do not automatically close the connection socket. + set state(connection) {} + } + } + + if {$reusing} { + # Define state(tmpState) and state(tmpOpenCmd) for use + # by http::ReplayIfDead if the persistent connection has died. + set state(tmpState) [array get state] + + # Pass -myaddr directly to the socket command + if {[info exists state(-myaddr)]} { + lappend sockopts -myaddr $state(-myaddr) + } + + set state(tmpOpenCmd) [list {*}$defcmd {*}$sockopts {*}$targetAddr] + } + + set state(reusing) $reusing + # Excluding ReplayIfDead and the decision whether to call it, there are four + # places outside http::geturl where state(reusing) is used: + # - Connected - if reusing and not pipelined, start the state(-timeout) + # timeout (when writing). + # - DoneRequest - if reusing and pipelined, send the next pipelined write + # - Event - if reusing and pipelined, start the state(-timeout) + # timeout (when reading). + # - Event - if (not reusing) and pipelined, send the next pipelined + # write + + # See comments above re the start of this timeout in other cases. + if {(!$state(reusing)) && ($state(-timeout) > 0)} { + set state(after) [after $state(-timeout) \ + [list http::reset $token timeout]] + } + + if {![info exists sock]} { + # Pass -myaddr directly to the socket command + if {[info exists state(-myaddr)]} { + lappend sockopts -myaddr $state(-myaddr) + } + set pre [clock milliseconds] + ##Log pre socket opened, - token $token + ##Log [concat $defcmd $sockopts $targetAddr] - token $token + if {[catch {eval $defcmd $sockopts $targetAddr} sock errdict]} { + # Something went wrong while trying to establish the connection. + # Clean up after events and such, but DON'T call the command + # callback (if available) because we're going to throw an + # exception from here instead. + + set state(sock) NONE + Finish $token $sock 1 + cleanup $token + dict unset errdict -level + return -options $errdict $sock + } else { + # Initialisation of a new socket. + ##Log post socket opened, - token $token + ##Log socket opened, now fconfigure - token $token + set delay [expr {[clock milliseconds] - $pre}] + if {$delay > 3000} { + Log socket delay $delay - token $token + } + fconfigure $sock -translation {auto crlf} \ + -buffersize $state(-blocksize) + ##Log socket opened, DONE fconfigure - token $token + } + } + # Command [socket] is called with -async, but takes 5s to 5.1s to return, + # with probability of order 1 in 10,000. This may be a bizarre scheduling + # issue with my (KJN's) system (Fedora Linux). + # This does not cause a problem (unless the request times out when this + # command returns). + + set state(sock) $sock + Log "Using $sock for $state(socketinfo) - token $token" \ + [expr {$state(-keepalive)?"keepalive":""}] + + if { $state(-keepalive) + && (![info exists socketMapping($state(socketinfo))]) + } { + # Freshly-opened socket that we would like to become persistent. + set socketMapping($state(socketinfo)) $sock + + if {![info exists socketRdState($state(socketinfo))]} { + set socketRdState($state(socketinfo)) {} + set varName ::http::socketRdState($state(socketinfo)) + trace add variable $varName unset ::http::CancelReadPipeline + } + if {![info exists socketWrState($state(socketinfo))]} { + set socketWrState($state(socketinfo)) {} + set varName ::http::socketWrState($state(socketinfo)) + trace add variable $varName unset ::http::CancelWritePipeline + } + + if {$state(-pipeline)} { + #Log new, init for pipelined, GRANT write access to $token in geturl + # Also grant premature read access to the socket. This is OK. + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } else { + # socketWrState is not used by this non-pipelined transaction. + # We cannot leave it as "Wready" because the next call to + # http::geturl with a pipelined transaction would conclude that the + # socket is available for writing. + #Log new, init for nonpipeline, GRANT r/w access to $token in geturl + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } + + set socketRdQueue($state(socketinfo)) {} + set socketWrQueue($state(socketinfo)) {} + set socketClosing($state(socketinfo)) 0 + set socketPlayCmd($state(socketinfo)) {ReplayIfClose Wready {} {}} + } + + if {![info exists phost]} { + set phost "" + } + if {$reusing} { + # For use by http::ReplayIfDead if the persistent connection has died. + # Also used by NextPipelinedWrite. + set state(tmpConnArgs) [list $proto $phost $srvurl] + } + + # The element socketWrState($connId) has a value which is either the name of + # the token that is permitted to write to the socket, or "Wready" if no + # token is permitted to write. + # + # The code that sets the value to Wready immediately calls + # http::NextPipelinedWrite, which examines socketWrQueue($connId) and + # processes the next request in the queue, if there is one. The value + # Wready is not found when the interpreter is in the event loop unless the + # socket is idle. + # + # The element socketRdState($connId) has a value which is either the name of + # the token that is permitted to read from the socket, or "Rready" if no + # token is permitted to read. + # + # The code that sets the value to Rready then examines + # socketRdQueue($connId) and processes the next request in the queue, if + # there is one. The value Rready is not found when the interpreter is in + # the event loop unless the socket is idle. + + if {$alreadyQueued} { + # A write may or may not be in progress. There is no need to set + # socketWrState to prevent another call stealing write access - all + # subsequent calls on this socket will come here because the socket + # will close after the current read, and its + # socketClosing($connId) is 1. + ##Log "HTTP request for token $token is queued" + + } elseif { $reusing + && $state(-pipeline) + && ($socketWrState($state(socketinfo)) ne "Wready") + } { + ##Log "HTTP request for token $token is queued for pipelined use" + lappend socketWrQueue($state(socketinfo)) $token + + } elseif { $reusing + && (!$state(-pipeline)) + && ($socketWrState($state(socketinfo)) ne "Wready") + } { + # A write is queued or in progress. Lappend to the write queue. + ##Log "HTTP request for token $token is queued for nonpipeline use" + lappend socketWrQueue($state(socketinfo)) $token + + } elseif { $reusing + && (!$state(-pipeline)) + && ($socketWrState($state(socketinfo)) eq "Wready") + && ($socketRdState($state(socketinfo)) ne "Rready") + } { + # A read is queued or in progress, but not a write. Cannot start the + # nonpipeline transaction, but must set socketWrState to prevent a + # pipelined request jumping the queue. + ##Log "HTTP request for token $token is queued for nonpipeline use" + #Log re-use nonpipeline, GRANT delayed write access to $token in geturl + + set socketWrState($state(socketinfo)) peNding + lappend socketWrQueue($state(socketinfo)) $token + + } else { + if {$reusing && $state(-pipeline)} { + #Log re-use pipelined, GRANT write access to $token in geturl + set socketWrState($state(socketinfo)) $token + + } elseif {$reusing} { + # Cf tests above - both are ready. + #Log re-use nonpipeline, GRANT r/w access to $token in geturl + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } + + # All (!$reusing) cases come here, and also some $reusing cases if the + # connection is ready. + #Log ---- $state(socketinfo) << conn to $token for HTTP request (a) + # Connect does its own fconfigure. + fileevent $sock writable \ + [list http::Connect $token $proto $phost $srvurl] + } + + # Wait for the connection to complete. + if {![info exists state(-command)]} { + # geturl does EVERYTHING asynchronously, so if the user + # calls it synchronously, we just do a wait here. + http::wait $token + + if {![info exists state]} { + # If we timed out then Finish has been called and the users + # command callback may have cleaned up the token. If so we end up + # here with nothing left to do. + return $token + } elseif {$state(status) eq "error"} { + # Something went wrong while trying to establish the connection. + # Clean up after events and such, but DON'T call the command + # callback (if available) because we're going to throw an + # exception from here instead. + set err [lindex $state(error) 0] + cleanup $token + return -code error $err + } + } + ##Log Leaving http::geturl - token $token + return $token +} + +# http::Connected -- +# +# Callback used when the connection to the HTTP server is actually +# established. +# +# Arguments: +# token State token. +# proto What protocol (http, https, etc.) was used to connect. +# phost Are we using keep-alive? Non-empty if yes. +# srvurl Service-local URL that we're requesting +# Results: +# None. + +proc http::Connected {token proto phost srvurl} { + variable http + variable urlTypes + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + + if {$state(reusing) && (!$state(-pipeline)) && ($state(-timeout) > 0)} { + set state(after) [after $state(-timeout) \ + [list http::reset $token timeout]] + } + + # Set back the variables needed here. + set sock $state(sock) + set isQueryChannel [info exists state(-querychannel)] + set isQuery [info exists state(-query)] + set host [lindex [split $state(socketinfo) :] 0] + set port [lindex [split $state(socketinfo) :] 1] + + set lower [string tolower $proto] + set defport [lindex $urlTypes($lower) 0] + + # Send data in cr-lf format, but accept any line terminators. + # Initialisation to {auto *} now done in geturl, KeepSocket and DoneRequest. + # We are concerned here with the request (write) not the response (read). + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list $trRead crlf] \ + -buffersize $state(-blocksize) + + # The following is disallowed in safe interpreters, but the socket is + # already in non-blocking mode in that case. + + catch {fconfigure $sock -blocking off} + set how GET + if {$isQuery} { + set state(querylength) [string length $state(-query)] + if {$state(querylength) > 0} { + set how POST + set contDone 0 + } else { + # There's no query data. + unset state(-query) + set isQuery 0 + } + } elseif {$state(-validate)} { + set how HEAD + } elseif {$isQueryChannel} { + set how POST + # The query channel must be blocking for the async Write to + # work properly. + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $state(-querychannel) -blocking 1 \ + -translation [list $trRead binary] + set contDone 0 + } + if {[info exists state(-method)] && ($state(-method) ne "")} { + set how $state(-method) + } + # We cannot handle chunked encodings with -handler, so force HTTP/1.0 + # until we can manage this. + if {[info exists state(-handler)]} { + set state(-protocol) 1.0 + } + set accept_types_seen 0 + + Log ^B$tk begin sending request - token $token + + if {[catch { + set state(method) $how + puts $sock "$how $srvurl HTTP/$state(-protocol)" + if {[dict exists $state(-headers) Host]} { + # Allow Host spoofing. [Bug 928154] + puts $sock "Host: [dict get $state(-headers) Host]" + } elseif {$port == $defport} { + # Don't add port in this case, to handle broken servers. [Bug + # #504508] + puts $sock "Host: $host" + } else { + puts $sock "Host: $host:$port" + } + puts $sock "User-Agent: $http(-useragent)" + if {($state(-protocol) >= 1.0) && $state(-keepalive)} { + # Send this header, because a 1.1 server is not compelled to treat + # this as the default. + puts $sock "Connection: keep-alive" + } + if {($state(-protocol) > 1.0) && !$state(-keepalive)} { + puts $sock "Connection: close" ;# RFC2616 sec 8.1.2.1 + } + if {[info exists phost] && ($phost ne "") && $state(-keepalive)} { + puts $sock "Proxy-Connection: Keep-Alive" + } + set accept_encoding_seen 0 + set content_type_seen 0 + dict for {key value} $state(-headers) { + set value [string map [list \n "" \r ""] $value] + set key [string map {" " -} [string trim $key]] + if {[string equal -nocase $key "host"]} { + continue + } + if {[string equal -nocase $key "accept-encoding"]} { + set accept_encoding_seen 1 + } + if {[string equal -nocase $key "accept"]} { + set accept_types_seen 1 + } + if {[string equal -nocase $key "content-type"]} { + set content_type_seen 1 + } + if {[string equal -nocase $key "content-length"]} { + set contDone 1 + set state(querylength) $value + } + if {[string length $key]} { + puts $sock "$key: $value" + } + } + # Allow overriding the Accept header on a per-connection basis. Useful + # for working with REST services. [Bug c11a51c482] + if {!$accept_types_seen} { + puts $sock "Accept: $state(accept-types)" + } + if { (!$accept_encoding_seen) + && (![info exists state(-handler)]) + && $http(-zip) + } { + puts $sock "Accept-Encoding: gzip,deflate,compress" + } + if {$isQueryChannel && ($state(querylength) == 0)} { + # Try to determine size of data in channel. If we cannot seek, the + # surrounding catch will trap us + + set start [tell $state(-querychannel)] + seek $state(-querychannel) 0 end + set state(querylength) \ + [expr {[tell $state(-querychannel)] - $start}] + seek $state(-querychannel) $start + } + + # Flush the request header and set up the fileevent that will either + # push the POST data or read the response. + # + # fileevent note: + # + # It is possible to have both the read and write fileevents active at + # this point. The only scenario it seems to affect is a server that + # closes the connection without reading the POST data. (e.g., early + # versions TclHttpd in various error cases). Depending on the + # platform, the client may or may not be able to get the response from + # the server because of the error it will get trying to write the post + # data. Having both fileevents active changes the timing and the + # behavior, but no two platforms (among Solaris, Linux, and NT) behave + # the same, and none behave all that well in any case. Servers should + # always read their POST data if they expect the client to read their + # response. + + if {$isQuery || $isQueryChannel} { + # POST method. + if {!$content_type_seen} { + puts $sock "Content-Type: $state(-type)" + } + if {!$contDone} { + puts $sock "Content-Length: $state(querylength)" + } + puts $sock "" + flush $sock + # Flush flushes the error in the https case with a bad handshake: + # else the socket never becomes writable again, and hangs until + # timeout (if any). + + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list $trRead binary] + fileevent $sock writable [list http::Write $token] + # The http::Write command decides when to make the socket readable, + # using the same test as the GET/HEAD case below. + } else { + # GET or HEAD method. + if { (![catch {fileevent $sock readable} binding]) + && ($binding eq [list http::CheckEof $sock]) + } { + # Remove the "fileevent readable" binding of an idle persistent + # socket to http::CheckEof. We can no longer treat bytes + # received as junk. The server might still time out and + # half-close the socket if it has not yet received the first + # "puts". + fileevent $sock readable {} + } + puts $sock "" + flush $sock + Log ^C$tk end sending request - token $token + # End of writing (GET/HEAD methods). The request has been sent. + + DoneRequest $token + } + + } err]} { + # The socket probably was never connected, OR the connection dropped + # later, OR https handshake error, which may be discovered as late as + # the "flush" command above... + Log "WARNING - if testing, pay special attention to this\ + case (GI) which is seldom executed - token $token" + if {[info exists state(reusing)] && $state(reusing)} { + # The socket was closed at the server end, and closed at + # this end by http::CheckEof. + if {[TestForReplay $token write $err a]} { + return + } else { + Finish $token {failed to re-use socket} + } + + # else: + # This is NOT a persistent socket that has been closed since its + # last use. + # If any other requests are in flight or pipelined/queued, they will + # be discarded. + } elseif {$state(status) eq ""} { + # ...https handshake errors come here. + set msg [registerError $sock] + registerError $sock {} + if {$msg eq {}} { + set msg {failed to use socket} + } + Finish $token $msg + } elseif {$state(status) ne "error"} { + Finish $token $err + } + } +} + +# http::registerError +# +# Called (for example when processing TclTLS activity) to register +# an error for a connection on a specific socket. This helps +# http::Connected to deliver meaningful error messages, e.g. when a TLS +# certificate fails verification. +# +# Usage: http::registerError socket ?newValue? +# +# "set" semantics, except that a "get" (a call without a new value) for a +# non-existent socket returns {}, not an error. + +proc http::registerError {sock args} { + variable registeredErrors + + if { ([llength $args] == 0) + && (![info exists registeredErrors($sock)]) + } { + return + } elseif { ([llength $args] == 1) + && ([lindex $args 0] eq {}) + } { + unset -nocomplain registeredErrors($sock) + return + } + set registeredErrors($sock) {*}$args +} + +# http::DoneRequest -- +# +# Command called when a request has been sent. It will arrange the +# next request and/or response as appropriate. +# +# If this command is called when $socketClosing(*), the request $token +# that calls it must be pipelined and destined to fail. + +proc http::DoneRequest {token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set sock $state(sock) + + # If pipelined, connect the next HTTP request to the socket. + if {$state(reusing) && $state(-pipeline)} { + # Enable next token (if any) to write. + # The value "Wready" is set only here, and + # in http::Event after reading the response-headers of a + # non-reusing transaction. + # Previous value is $token. It cannot be pending. + set socketWrState($state(socketinfo)) Wready + + # Now ready to write the next pipelined request (if any). + http::NextPipelinedWrite $token + } else { + # If pipelined, this is the first transaction on this socket. We wait + # for the response headers to discover whether the connection is + # persistent. (If this is not done and the connection is not + # persistent, we SHOULD retry and then MUST NOT pipeline before knowing + # that we have a persistent connection + # (rfc2616 8.1.2.2)). + } + + # Connect to receive the response, unless the socket is pipelined + # and another response is being sent. + # This code block is separate from the code below because there are + # cases where socketRdState already has the value $token. + if { $state(-keepalive) + && $state(-pipeline) + && [info exists socketRdState($state(socketinfo))] + && ($socketRdState($state(socketinfo)) eq "Rready") + } { + #Log pipelined, GRANT read access to $token in Connected + set socketRdState($state(socketinfo)) $token + } + + if { $state(-keepalive) + && $state(-pipeline) + && [info exists socketRdState($state(socketinfo))] + && ($socketRdState($state(socketinfo)) ne $token) + } { + # Do not read from the socket until it is ready. + ##Log "HTTP response for token $token is queued for pipelined use" + # If $socketClosing(*), then the caller will be a pipelined write and + # execution will come here. + # This token has already been recorded as "in flight" for writing. + # When the socket is closed, the read queue will be cleared in + # CloseQueuedQueries and so the "lappend" here has no effect. + lappend socketRdQueue($state(socketinfo)) $token + } else { + # In the pipelined case, connection for reading depends on the + # value of socketRdState. + # In the nonpipeline case, connection for reading always occurs. + ReceiveResponse $token + } +} + +# http::ReceiveResponse +# +# Connects token to its socket for reading. + +proc http::ReceiveResponse {token} { + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set sock $state(sock) + + #Log ---- $state(socketinfo) >> conn to $token for HTTP response + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list auto $trWrite] \ + -buffersize $state(-blocksize) + Log ^D$tk begin receiving response - token $token + + coroutine ${token}EventCoroutine http::Event $sock $token + fileevent $sock readable ${token}EventCoroutine +} + +# http::NextPipelinedWrite +# +# - Connecting a socket to a token for writing is done by this command and by +# command KeepSocket. +# - If another request has a pipelined write scheduled for $token's socket, +# and if the socket is ready to accept it, connect the write and update +# the queue accordingly. +# - This command is called from http::DoneRequest and http::Event, +# IF $state(-pipeline) AND (the current transfer has reached the point at +# which the socket is ready for the next request to be written). +# - This command is called when a token has write access and is pipelined and +# keep-alive, and sets socketWrState to Wready. +# - The command need not consider the case where socketWrState is set to a token +# that does not yet have write access. Such a token is waiting for Rready, +# and the assignment of the connection to the token will be done elsewhere (in +# http::KeepSocket). +# - This command cannot be called after socketWrState has been set to a +# "pending" token value (that is then overwritten by the caller), because that +# value is set by this command when it is called by an earlier token when it +# relinquishes its write access, and the pending token is always the next in +# line to write. + +proc http::NextPipelinedWrite {token} { + variable http + variable socketRdState + variable socketWrState + variable socketWrQueue + variable socketClosing + variable $token + upvar 0 $token state + set connId $state(socketinfo) + + if { [info exists socketClosing($connId)] + && $socketClosing($connId) + } { + # socketClosing(*) is set because the server has sent a + # "Connection: close" header. + # Behave as if the queues are empty - so do nothing. + } elseif { $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && ([set token2 [lindex $socketWrQueue($connId) 0] + set ${token2}(-pipeline) + ] + ) + } { + # - The usual case for a pipelined connection, ready for a new request. + #Log pipelined, GRANT write access to $token2 in NextPipelinedWrite + set conn [set ${token2}(tmpConnArgs)] + set socketWrState($connId) $token2 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token2 {*}$conn] + #Log ---- $connId << conn to $token2 for HTTP request (b) + + # In the tests below, the next request will be nonpipeline. + } elseif { $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![ set token3 [lindex $socketWrQueue($connId) 0] + set ${token3}(-pipeline) + ] + ) + + && [info exists socketRdState($connId)] + && ($socketRdState($connId) eq "Rready") + } { + # The case in which the next request will be non-pipelined, and the read + # and write queues is ready: which is the condition for a non-pipelined + # write. + variable $token3 + upvar 0 $token3 state3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in NextPipelinedWrite + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (c) + + } elseif { $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![set token2 [lindex $socketWrQueue($connId) 0] + set ${token2}(-pipeline) + ] + ) + } { + # - The case in which the next request will be non-pipelined, but the + # read queue is NOT ready. + # - A read is queued or in progress, but not a write. Cannot start the + # nonpipeline transaction, but must set socketWrState to prevent a new + # pipelined request (in http::geturl) jumping the queue. + # - Because socketWrState($connId) is not set to Wready, the assignment + # of the connection to $token2 will be done elsewhere - by command + # http::KeepSocket when $socketRdState($connId) is set to "Rready". + + #Log re-use nonpipeline, GRANT delayed write access to $token in NextP.. + set socketWrState($connId) peNding + } +} + +# http::CancelReadPipeline +# +# Cancel pipelined responses on a closing "Keep-Alive" socket. +# +# - Called by a variable trace on "unset socketRdState($connId)". +# - The variable relates to a Keep-Alive socket, which has been closed. +# - Cancels all pipelined responses. The requests have been sent, +# the responses have not yet been received. +# - This is a hard cancel that ends each transaction with error status, +# and closes the connection. Do not use it if you want to replay failed +# transactions. +# - N.B. Always delete ::http::socketRdState($connId) before deleting +# ::http::socketRdQueue($connId), or this command will do nothing. +# +# Arguments +# As for a trace command on a variable. + +proc http::CancelReadPipeline {name1 connId op} { + variable socketRdQueue + ##Log CancelReadPipeline $name1 $connId $op + if {[info exists socketRdQueue($connId)]} { + set msg {the connection was closed by CancelReadPipeline} + foreach token $socketRdQueue($connId) { + set tk [namespace tail $token] + Log ^X$tk end of response "($msg)" - token $token + set ${token}(status) eof + Finish $token ;#$msg + } + set socketRdQueue($connId) {} + } +} + +# http::CancelWritePipeline +# +# Cancel queued events on a closing "Keep-Alive" socket. +# +# - Called by a variable trace on "unset socketWrState($connId)". +# - The variable relates to a Keep-Alive socket, which has been closed. +# - In pipelined or nonpipeline case: cancels all queued requests. The +# requests have not yet been sent, the responses are not due. +# - This is a hard cancel that ends each transaction with error status, +# and closes the connection. Do not use it if you want to replay failed +# transactions. +# - N.B. Always delete ::http::socketWrState($connId) before deleting +# ::http::socketWrQueue($connId), or this command will do nothing. +# +# Arguments +# As for a trace command on a variable. + +proc http::CancelWritePipeline {name1 connId op} { + variable socketWrQueue + + ##Log CancelWritePipeline $name1 $connId $op + if {[info exists socketWrQueue($connId)]} { + set msg {the connection was closed by CancelWritePipeline} + foreach token $socketWrQueue($connId) { + set tk [namespace tail $token] + Log ^X$tk end of response "($msg)" - token $token + set ${token}(status) eof + Finish $token ;#$msg + } + set socketWrQueue($connId) {} + } +} + +# http::ReplayIfDead -- +# +# - A query on a re-used persistent socket failed at the earliest opportunity, +# because the socket had been closed by the server. Keep the token, tidy up, +# and try to connect on a fresh socket. +# - The connection is monitored for eof by the command http::CheckEof. Thus +# http::ReplayIfDead is needed only when a server event (half-closing an +# apparently idle connection), and a client event (sending a request) occur at +# almost the same time, and neither client nor server detects the other's +# action before performing its own (an "asynchronous close event"). +# - To simplify testing of http::ReplayIfDead, set TEST_EOF 1 in +# http::KeepSocket, and then http::ReplayIfDead will be called if http::geturl +# is called at any time after the server timeout. +# +# Arguments: +# token Connection token. +# +# Side Effects: +# Use the same token, but try to open a new socket. + +proc http::ReplayIfDead {tokenArg doing} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $tokenArg + upvar 0 $tokenArg stateArg + + Log running http::ReplayIfDead for $tokenArg $doing + + # 1. Merge the tokens for transactions in flight, the read (response) queue, + # and the write (request) queue. + + set InFlightR {} + set InFlightW {} + + # Obtain the tokens for transactions in flight. + if {$stateArg(-pipeline)} { + # Two transactions may be in flight. The "read" transaction was first. + # It is unlikely that the server would close the socket if a response + # was pending; however, an earlier request (as well as the present + # request) may have been sent and ignored if the socket was half-closed + # by the server. + + if { [info exists socketRdState($stateArg(socketinfo))] + && ($socketRdState($stateArg(socketinfo)) ne "Rready") + } { + lappend InFlightR $socketRdState($stateArg(socketinfo)) + } elseif {($doing eq "read")} { + lappend InFlightR $tokenArg + } + + if { [info exists socketWrState($stateArg(socketinfo))] + && $socketWrState($stateArg(socketinfo)) ni {Wready peNding} + } { + lappend InFlightW $socketWrState($stateArg(socketinfo)) + } elseif {($doing eq "write")} { + lappend InFlightW $tokenArg + } + + # Report any inconsistency of $tokenArg with socket*state. + if { ($doing eq "read") + && [info exists socketRdState($stateArg(socketinfo))] + && ($tokenArg ne $socketRdState($stateArg(socketinfo))) + } { + Log WARNING - ReplayIfDead pipelined tokenArg $tokenArg $doing \ + ne socketRdState($stateArg(socketinfo)) \ + $socketRdState($stateArg(socketinfo)) + + } elseif { + ($doing eq "write") + && [info exists socketWrState($stateArg(socketinfo))] + && ($tokenArg ne $socketWrState($stateArg(socketinfo))) + } { + Log WARNING - ReplayIfDead pipelined tokenArg $tokenArg $doing \ + ne socketWrState($stateArg(socketinfo)) \ + $socketWrState($stateArg(socketinfo)) + } + } else { + # One transaction should be in flight. + # socketRdState, socketWrQueue are used. + # socketRdQueue should be empty. + + # Report any inconsistency of $tokenArg with socket*state. + if {$tokenArg ne $socketRdState($stateArg(socketinfo))} { + Log WARNING - ReplayIfDead nonpipeline tokenArg $tokenArg $doing \ + ne socketRdState($stateArg(socketinfo)) \ + $socketRdState($stateArg(socketinfo)) + } + + # Report the inconsistency that socketRdQueue is non-empty. + if { [info exists socketRdQueue($stateArg(socketinfo))] + && ($socketRdQueue($stateArg(socketinfo)) ne {}) + } { + Log WARNING - ReplayIfDead nonpipeline tokenArg $tokenArg $doing \ + has read queue socketRdQueue($stateArg(socketinfo)) \ + $socketRdQueue($stateArg(socketinfo)) ne {} + } + + lappend InFlightW $socketRdState($stateArg(socketinfo)) + set socketRdQueue($stateArg(socketinfo)) {} + } + + set newQueue {} + lappend newQueue {*}$InFlightR + lappend newQueue {*}$socketRdQueue($stateArg(socketinfo)) + lappend newQueue {*}$InFlightW + lappend newQueue {*}$socketWrQueue($stateArg(socketinfo)) + + + # 2. Tidy up tokenArg. This is a cut-down form of Finish/CloseSocket. + # Do not change state(status). + # No need to after cancel stateArg(after) - either this is done in + # ReplayCore/ReInit, or Finish is called. + + catch {close $stateArg(sock)} + + # 2a. Tidy the tokens in the queues - this is done in ReplayCore/ReInit. + # - Transactions, if any, that are awaiting responses cannot be completed. + # They are listed for re-sending in newQueue. + # - All tokens are preserved for re-use by ReplayCore, and their variables + # will be re-initialised by calls to ReInit. + # - The relevant element of socketMapping, socketRdState, socketWrState, + # socketRdQueue, socketWrQueue, socketClosing, socketPlayCmd will be set + # to new values in ReplayCore. + + ReplayCore $newQueue +} + +# http::ReplayIfClose -- +# +# A request on a socket that was previously "Connection: keep-alive" has +# received a "Connection: close" response header. The server supplies +# that response correctly, but any later requests already queued on this +# connection will be lost when the socket closes. +# +# This command takes arguments that represent the socketWrState, +# socketRdQueue and socketWrQueue for this connection. The socketRdState +# is not needed because the server responds in full to the request that +# received the "Connection: close" response header. +# +# Existing request tokens $token (::http::$n) are preserved. The caller +# will be unaware that the request was processed this way. + +proc http::ReplayIfClose {Wstate Rqueue Wqueue} { + Log running http::ReplayIfClose for $Wstate $Rqueue $Wqueue + + if {$Wstate in $Rqueue || $Wstate in $Wqueue} { + Log WARNING duplicate token in http::ReplayIfClose - token $Wstate + set Wstate Wready + } + + # 1. Create newQueue + set InFlightW {} + if {$Wstate ni {Wready peNding}} { + lappend InFlightW $Wstate + } + + set newQueue {} + lappend newQueue {*}$Rqueue + lappend newQueue {*}$InFlightW + lappend newQueue {*}$Wqueue + + # 2. Cleanup - none needed, done by the caller. + + ReplayCore $newQueue +} + +# http::ReInit -- +# +# Command to restore a token's state to a condition that +# makes it ready to replay a request. +# +# Command http::geturl stores extra state in state(tmp*) so +# we don't need to do the argument processing again. +# +# The caller must: +# - Set state(reusing) and state(sock) to their new values after calling +# this command. +# - Unset state(tmpState), state(tmpOpenCmd) if future calls to ReplayCore +# or ReInit are inappropriate for this token. Typically only one retry +# is allowed. +# The caller may also unset state(tmpConnArgs) if this value (and the +# token) will be used immediately. The value is needed by tokens that +# will be stored in a queue. +# +# Arguments: +# token Connection token. +# +# Return Value: (boolean) true iff the re-initialisation was successful. + +proc http::ReInit {token} { + variable $token + upvar 0 $token state + + if {!( + [info exists state(tmpState)] + && [info exists state(tmpOpenCmd)] + && [info exists state(tmpConnArgs)] + ) + } { + Log FAILED in http::ReInit via ReplayCore - NO tmp vars for $token + return 0 + } + + if {[info exists state(after)]} { + after cancel $state(after) + unset state(after) + } + + # Don't alter state(status) - this would trigger http::wait if it is in use. + set tmpState $state(tmpState) + set tmpOpenCmd $state(tmpOpenCmd) + set tmpConnArgs $state(tmpConnArgs) + foreach name [array names state] { + if {$name ne "status"} { + unset state($name) + } + } + + # Don't alter state(status). + # Restore state(tmp*) - the caller may decide to unset them. + # Restore state(tmpConnArgs) which is needed for connection. + # state(tmpState), state(tmpOpenCmd) are needed only for retries. + + dict unset tmpState status + array set state $tmpState + set state(tmpState) $tmpState + set state(tmpOpenCmd) $tmpOpenCmd + set state(tmpConnArgs) $tmpConnArgs + + return 1 +} + +# http::ReplayCore -- +# +# Command to replay a list of requests, using existing connection tokens. +# +# Abstracted from http::geturl which stores extra state in state(tmp*) so +# we don't need to do the argument processing again. +# +# Arguments: +# newQueue List of connection tokens. +# +# Side Effects: +# Use existing tokens, but try to open a new socket. + +proc http::ReplayCore {newQueue} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + if {[llength $newQueue] == 0} { + # Nothing to do. + return + } + + ##Log running ReplayCore for {*}$newQueue + set newToken [lindex $newQueue 0] + set newQueue [lrange $newQueue 1 end] + + # 3. Use newToken, and restore its values of state(*). Do not restore + # elements tmp* - we try again only once. + + set token $newToken + variable $token + upvar 0 $token state + + if {![ReInit $token]} { + Log FAILED in http::ReplayCore - NO tmp vars + Finish $token {cannot send this request again} + return + } + + set tmpState $state(tmpState) + set tmpOpenCmd $state(tmpOpenCmd) + set tmpConnArgs $state(tmpConnArgs) + unset state(tmpState) + unset state(tmpOpenCmd) + unset state(tmpConnArgs) + + set state(reusing) 0 + + if {$state(-timeout) > 0} { + set resetCmd [list http::reset $token timeout] + set state(after) [after $state(-timeout) $resetCmd] + } + + set pre [clock milliseconds] + ##Log pre socket opened, - token $token + ##Log $tmpOpenCmd - token $token + # 4. Open a socket. + if {[catch {eval $tmpOpenCmd} sock]} { + # Something went wrong while trying to establish the connection. + Log FAILED - $sock + set state(sock) NONE + Finish $token $sock + return + } + ##Log post socket opened, - token $token + set delay [expr {[clock milliseconds] - $pre}] + if {$delay > 3000} { + Log socket delay $delay - token $token + } + # Command [socket] is called with -async, but takes 5s to 5.1s to return, + # with probability of order 1 in 10,000. This may be a bizarre scheduling + # issue with my (KJN's) system (Fedora Linux). + # This does not cause a problem (unless the request times out when this + # command returns). + + # 5. Configure the persistent socket data. + if {$state(-keepalive)} { + set socketMapping($state(socketinfo)) $sock + + if {![info exists socketRdState($state(socketinfo))]} { + set socketRdState($state(socketinfo)) {} + set varName ::http::socketRdState($state(socketinfo)) + trace add variable $varName unset ::http::CancelReadPipeline + } + + if {![info exists socketWrState($state(socketinfo))]} { + set socketWrState($state(socketinfo)) {} + set varName ::http::socketWrState($state(socketinfo)) + trace add variable $varName unset ::http::CancelWritePipeline + } + + if {$state(-pipeline)} { + #Log new, init for pipelined, GRANT write acc to $token ReplayCore + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } else { + #Log new, init for nonpipeline, GRANT r/w acc to $token ReplayCore + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } + + set socketRdQueue($state(socketinfo)) {} + set socketWrQueue($state(socketinfo)) $newQueue + set socketClosing($state(socketinfo)) 0 + set socketPlayCmd($state(socketinfo)) {ReplayIfClose Wready {} {}} + } + + ##Log pre newQueue ReInit, - token $token + # 6. Configure sockets in the queue. + foreach tok $newQueue { + if {[ReInit $tok]} { + set ${tok}(reusing) 1 + set ${tok}(sock) $sock + } else { + set ${tok}(reusing) 1 + set ${tok}(sock) NONE + Finish $token {cannot send this request again} + } + } + + # 7. Configure the socket for newToken to send a request. + set state(sock) $sock + Log "Using $sock for $state(socketinfo) - token $token" \ + [expr {$state(-keepalive)?"keepalive":""}] + + # Initialisation of a new socket. + ##Log socket opened, now fconfigure - token $token + fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize) + ##Log socket opened, DONE fconfigure - token $token + + # Connect does its own fconfigure. + fileevent $sock writable [list http::Connect $token {*}$tmpConnArgs] + #Log ---- $sock << conn to $token for HTTP request (e) +} + +# Data access functions: +# Data - the URL data +# Status - the transaction status: ok, reset, eof, timeout, error +# Code - the HTTP transaction code, e.g., 200 +# Size - the size of the URL data + +proc http::data {token} { + variable $token + upvar 0 $token state + return $state(body) +} +proc http::status {token} { + if {![info exists $token]} { + return "error" + } + variable $token + upvar 0 $token state + return $state(status) +} +proc http::code {token} { + variable $token + upvar 0 $token state + return $state(http) +} +proc http::ncode {token} { + variable $token + upvar 0 $token state + if {[regexp {[0-9]{3}} $state(http) numeric_code]} { + return $numeric_code + } else { + return $state(http) + } +} +proc http::size {token} { + variable $token + upvar 0 $token state + return $state(currentsize) +} +proc http::meta {token} { + variable $token + upvar 0 $token state + return $state(meta) +} +proc http::error {token} { + variable $token + upvar 0 $token state + if {[info exists state(error)]} { + return $state(error) + } + return "" +} + +# http::cleanup +# +# Garbage collect the state associated with a transaction +# +# Arguments +# token The token returned from http::geturl +# +# Side Effects +# unsets the state array + +proc http::cleanup {token} { + variable $token + upvar 0 $token state + if {[info commands ${token}EventCoroutine] ne {}} { + rename ${token}EventCoroutine {} + } + if {[info exists state(after)]} { + after cancel $state(after) + unset state(after) + } + if {[info exists state]} { + unset state + } +} + +# http::Connect +# +# This callback is made when an asyncronous connection completes. +# +# Arguments +# token The token returned from http::geturl +# +# Side Effects +# Sets the status of the connection, which unblocks +# the waiting geturl call + +proc http::Connect {token proto phost srvurl} { + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set err "due to unexpected EOF" + if { + [eof $state(sock)] || + [set err [fconfigure $state(sock) -error]] ne "" + } { + Log "WARNING - if testing, pay special attention to this\ + case (GJ) which is seldom executed - token $token" + if {[info exists state(reusing)] && $state(reusing)} { + # The socket was closed at the server end, and closed at + # this end by http::CheckEof. + if {[TestForReplay $token write $err b]} { + return + } + + # else: + # This is NOT a persistent socket that has been closed since its + # last use. + # If any other requests are in flight or pipelined/queued, they will + # be discarded. + } + Finish $token "connect failed $err" + } else { + set state(state) connecting + fileevent $state(sock) writable {} + ::http::Connected $token $proto $phost $srvurl + } +} + +# http::Write +# +# Write POST query data to the socket +# +# Arguments +# token The token for the connection +# +# Side Effects +# Write the socket and handle callbacks. + +proc http::Write {token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set sock $state(sock) + + # Output a block. Tcl will buffer this if the socket blocks + set done 0 + if {[catch { + # Catch I/O errors on dead sockets + + if {[info exists state(-query)]} { + # Chop up large query strings so queryprogress callback can give + # smooth feedback. + if { $state(queryoffset) + $state(-queryblocksize) + >= $state(querylength) + } { + # This will be the last puts for the request-body. + if { (![catch {fileevent $sock readable} binding]) + && ($binding eq [list http::CheckEof $sock]) + } { + # Remove the "fileevent readable" binding of an idle + # persistent socket to http::CheckEof. We can no longer + # treat bytes received as junk. The server might still time + # out and half-close the socket if it has not yet received + # the first "puts". + fileevent $sock readable {} + } + } + puts -nonewline $sock \ + [string range $state(-query) $state(queryoffset) \ + [expr {$state(queryoffset) + $state(-queryblocksize) - 1}]] + incr state(queryoffset) $state(-queryblocksize) + if {$state(queryoffset) >= $state(querylength)} { + set state(queryoffset) $state(querylength) + set done 1 + } + } else { + # Copy blocks from the query channel + + set outStr [read $state(-querychannel) $state(-queryblocksize)] + if {[eof $state(-querychannel)]} { + # This will be the last puts for the request-body. + if { (![catch {fileevent $sock readable} binding]) + && ($binding eq [list http::CheckEof $sock]) + } { + # Remove the "fileevent readable" binding of an idle + # persistent socket to http::CheckEof. We can no longer + # treat bytes received as junk. The server might still time + # out and half-close the socket if it has not yet received + # the first "puts". + fileevent $sock readable {} + } + } + puts -nonewline $sock $outStr + incr state(queryoffset) [string length $outStr] + if {[eof $state(-querychannel)]} { + set done 1 + } + } + } err]} { + # Do not call Finish here, but instead let the read half of the socket + # process whatever server reply there is to get. + + set state(posterror) $err + set done 1 + } + + if {$done} { + catch {flush $sock} + fileevent $sock writable {} + Log ^C$tk end sending request - token $token + # End of writing (POST method). The request has been sent. + + DoneRequest $token + } + + # Callback to the client after we've completely handled everything. + + if {[string length $state(-queryprogress)]} { + eval $state(-queryprogress) \ + [list $token $state(querylength) $state(queryoffset)] + } +} + +# http::Event +# +# Handle input on the socket. This command is the core of +# the coroutine commands ${token}EventCoroutine that are +# bound to "fileevent $sock readable" and process input. +# +# Arguments +# sock The socket receiving input. +# token The token returned from http::geturl +# +# Side Effects +# Read the socket and handle callbacks. + +proc http::Event {sock token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + while 1 { + yield + ##Log Event call - token $token + + if {![info exists state]} { + Log "Event $sock with invalid token '$token' - remote close?" + if {![eof $sock]} { + if {[set d [read $sock]] ne ""} { + Log "WARNING: additional data left on closed socket\ + - token $token" + } + } + Log ^X$tk end of response (token error) - token $token + CloseSocket $sock + return + } + if {$state(state) eq "connecting"} { + ##Log - connecting - token $token + if { $state(reusing) + && $state(-pipeline) + && ($state(-timeout) > 0) + && (![info exists state(after)]) + } { + set state(after) [after $state(-timeout) \ + [list http::reset $token timeout]] + } + + if {[catch {gets $sock state(http)} nsl]} { + Log "WARNING - if testing, pay special attention to this\ + case (GK) which is seldom executed - token $token" + if {[info exists state(reusing)] && $state(reusing)} { + # The socket was closed at the server end, and closed at + # this end by http::CheckEof. + + if {[TestForReplay $token read $nsl c]} { + return + } + + # else: + # This is NOT a persistent socket that has been closed since + # its last use. + # If any other requests are in flight or pipelined/queued, + # they will be discarded. + } else { + Log ^X$tk end of response (error) - token $token + Finish $token $nsl + return + } + } elseif {$nsl >= 0} { + ##Log - connecting 1 - token $token + set state(state) "header" + } elseif { [eof $sock] + && [info exists state(reusing)] + && $state(reusing) + } { + # The socket was closed at the server end, and we didn't notice. + # This is the first read - where the closure is usually first + # detected. + + if {[TestForReplay $token read {} d]} { + return + } + + # else: + # This is NOT a persistent socket that has been closed since its + # last use. + # If any other requests are in flight or pipelined/queued, they + # will be discarded. + } + } elseif {$state(state) eq "header"} { + if {[catch {gets $sock line} nhl]} { + ##Log header failed - token $token + Log ^X$tk end of response (error) - token $token + Finish $token $nhl + return + } elseif {$nhl == 0} { + ##Log header done - token $token + Log ^E$tk end of response headers - token $token + # We have now read all headers + # We ignore HTTP/1.1 100 Continue returns. RFC2616 sec 8.2.3 + if { ($state(http) == "") + || ([regexp {^\S+\s(\d+)} $state(http) {} x] && $x == 100) + } { + set state(state) "connecting" + continue + # This was a "return" in the pre-coroutine code. + } + + if { ([info exists state(connection)]) + && ([info exists socketMapping($state(socketinfo))]) + && ($state(connection) eq "keep-alive") + && ($state(-keepalive)) + && (!$state(reusing)) + && ($state(-pipeline)) + } { + # Response headers received for first request on a + # persistent socket. Now ready for pipelined writes (if + # any). + # Previous value is $token. It cannot be "pending". + set socketWrState($state(socketinfo)) Wready + http::NextPipelinedWrite $token + } + + # Once a "close" has been signaled, the client MUST NOT send any + # more requests on that connection. + # + # If either the client or the server sends the "close" token in + # the Connection header, that request becomes the last one for + # the connection. + + if { ([info exists state(connection)]) + && ([info exists socketMapping($state(socketinfo))]) + && ($state(connection) eq "close") + && ($state(-keepalive)) + } { + # The server warns that it will close the socket after this + # response. + ##Log WARNING - socket will close after response for $token + # Prepare data for a call to ReplayIfClose. + if { ($socketRdQueue($state(socketinfo)) ne {}) + || ($socketWrQueue($state(socketinfo)) ne {}) + || ($socketWrState($state(socketinfo)) ni + [list Wready peNding $token]) + } { + set InFlightW $socketWrState($state(socketinfo)) + if {$InFlightW in [list Wready peNding $token]} { + set InFlightW Wready + } else { + set msg "token ${InFlightW} is InFlightW" + ##Log $msg - token $token + } + + set socketPlayCmd($state(socketinfo)) \ + [list ReplayIfClose $InFlightW \ + $socketRdQueue($state(socketinfo)) \ + $socketWrQueue($state(socketinfo))] + + # - All tokens are preserved for re-use by ReplayCore. + # - Queues are preserved in case of Finish with error, + # but are not used for anything else because + # socketClosing(*) is set below. + # - Cancel the state(after) timeout events. + foreach tokenVal $socketRdQueue($state(socketinfo)) { + if {[info exists ${tokenVal}(after)]} { + after cancel [set ${tokenVal}(after)] + unset ${tokenVal}(after) + } + } + + } else { + set socketPlayCmd($state(socketinfo)) \ + {ReplayIfClose Wready {} {}} + } + + # Do not allow further connections on this socket. + set socketClosing($state(socketinfo)) 1 + } + + set state(state) body + + # If doing a HEAD, then we won't get any body + if {$state(-validate)} { + Log ^F$tk end of response for HEAD request - token $token + set state(state) complete + Eot $token + return + } + + # - For non-chunked transfer we may have no body - in this case + # we may get no further file event if the connection doesn't + # close and no more data is sent. We can tell and must finish + # up now - not later - the alternative would be to wait until + # the server times out. + # - In this case, the server has NOT told the client it will + # close the connection, AND it has NOT indicated the resource + # length EITHER by setting the Content-Length (totalsize) OR + # by using chunked Transfer-Encoding. + # - Do not worry here about the case (Connection: close) because + # the server should close the connection. + # - IF (NOT Connection: close) AND (NOT chunked encoding) AND + # (totalsize == 0). + + if { (!( [info exists state(connection)] + && ($state(connection) eq "close") + ) + ) + && (![info exists state(transfer)]) + && ($state(totalsize) == 0) + } { + set msg {body size is 0 and no events likely - complete} + Log "$msg - token $token" + set msg {(length unknown, set to 0)} + Log ^F$tk end of response body {*}$msg - token $token + set state(state) complete + Eot $token + return + } + + # We have to use binary translation to count bytes properly. + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list binary $trWrite] + + if { + $state(-binary) || [IsBinaryContentType $state(type)] + } { + # Turn off conversions for non-text data. + set state(binary) 1 + } + if {[info exists state(-channel)]} { + if {$state(binary) || [llength [ContentEncoding $token]]} { + fconfigure $state(-channel) -translation binary + } + if {![info exists state(-handler)]} { + # Initiate a sequence of background fcopies. + fileevent $sock readable {} + rename ${token}EventCoroutine {} + CopyStart $sock $token + return + } + } + } elseif {$nhl > 0} { + # Process header lines. + ##Log header - token $token - $line + if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} { + switch -- [string tolower $key] { + content-type { + set state(type) [string trim [string tolower $value]] + # Grab the optional charset information. + if {[regexp -nocase \ + {charset\s*=\s*\"((?:[^""]|\\\")*)\"} \ + $state(type) -> cs]} { + set state(charset) [string map {{\"} \"} $cs] + } else { + regexp -nocase {charset\s*=\s*(\S+?);?} \ + $state(type) -> state(charset) + } + } + content-length { + set state(totalsize) [string trim $value] + } + content-encoding { + set state(coding) [string trim $value] + } + transfer-encoding { + set state(transfer) \ + [string trim [string tolower $value]] + } + proxy-connection - + connection { + set state(connection) \ + [string trim [string tolower $value]] + } + } + lappend state(meta) $key [string trim $value] + } + } + } else { + # Now reading body + ##Log body - token $token + if {[catch { + if {[info exists state(-handler)]} { + set n [eval $state(-handler) [list $sock $token]] + ##Log handler $n - token $token + # N.B. the protocol has been set to 1.0 because the -handler + # logic is not expected to handle chunked encoding. + # FIXME Allow -handler with 1.1 on dechunked stacked chan. + if {$state(totalsize) == 0} { + # We know the transfer is complete only when the server + # closes the connection - i.e. eof is not an error. + set state(state) complete + } + if {![string is integer -strict $n]} { + if 1 { + # Do not tolerate bad -handler - fail with error + # status. + set msg {the -handler command for http::geturl must\ + return an integer (the number of bytes\ + read)} + Log ^X$tk end of response (handler error) -\ + token $token + Eot $token $msg + } else { + # Tolerate the bad -handler, and continue. The + # penalty: + # (a) Because the handler returns nonsense, we know + # the transfer is complete only when the server + # closes the connection - i.e. eof is not an + # error. + # (b) http::size will not be accurate. + # (c) The transaction is already downgraded to 1.0 + # to avoid chunked transfer encoding. It MUST + # also be forced to "Connection: close" or the + # HTTP/1.0 equivalent; or it MUST fail (as + # above) if the server sends + # "Connection: keep-alive" or the HTTP/1.0 + # equivalent. + set n 0 + set state(state) complete + } + } + } elseif {[info exists state(transfer_final)]} { + # This code forgives EOF in place of the final CRLF. + set line [getTextLine $sock] + set n [string length $line] + set state(state) complete + if {$n > 0} { + # - HTTP trailers (late response headers) are permitted + # by Chunked Transfer-Encoding, and can be safely + # ignored. + # - Do not count these bytes in the total received for + # the response body. + Log "trailer of $n bytes after final chunk -\ + token $token" + append state(transfer_final) $line + set n 0 + } else { + Log ^F$tk end of response body (chunked) - token $token + Log "final chunk part - token $token" + Eot $token + } + } elseif { [info exists state(transfer)] + && ($state(transfer) eq "chunked") + } { + ##Log chunked - token $token + set size 0 + set hexLenChunk [getTextLine $sock] + #set ntl [string length $hexLenChunk] + if {[string trim $hexLenChunk] ne ""} { + scan $hexLenChunk %x size + if {$size != 0} { + ##Log chunk-measure $size - token $token + set chunk [BlockingRead $sock $size] + set n [string length $chunk] + if {$n >= 0} { + append state(body) $chunk + incr state(log_size) [string length $chunk] + ##Log chunk $n cumul $state(log_size) -\ + token $token + } + if {$size != [string length $chunk]} { + Log "WARNING: mis-sized chunk:\ + was [string length $chunk], should be\ + $size - token $token" + set n 0 + set state(connection) close + Log ^X$tk end of response (chunk error) \ + - token $token + set msg {error in chunked encoding - fetch\ + terminated} + Eot $token $msg + } + # CRLF that follows chunk. + # If eof, this is handled at the end of this proc. + getTextLine $sock + } else { + set n 0 + set state(transfer_final) {} + } + } else { + # Line expected to hold chunk length is empty, or eof. + ##Log bad-chunk-measure - token $token + set n 0 + set state(connection) close + Log ^X$tk end of response (chunk error) - token $token + Eot $token {error in chunked encoding -\ + fetch terminated} + } + } else { + ##Log unchunked - token $token + if {$state(totalsize) == 0} { + # We know the transfer is complete only when the server + # closes the connection. + set state(state) complete + set reqSize $state(-blocksize) + } else { + # Ask for the whole of the unserved response-body. + # This works around a problem with a tls::socket - for + # https in keep-alive mode, and a request for + # $state(-blocksize) bytes, the last part of the + # resource does not get read until the server times out. + set reqSize [expr { $state(totalsize) + - $state(currentsize)}] + + # The workaround fails if reqSize is + # capped at $state(-blocksize). + # set reqSize [expr {min($reqSize, $state(-blocksize))}] + } + set c $state(currentsize) + set t $state(totalsize) + ##Log non-chunk currentsize $c of totalsize $t -\ + token $token + set block [read $sock $reqSize] + set n [string length $block] + if {$n >= 0} { + append state(body) $block + ##Log non-chunk [string length $state(body)] -\ + token $token + } + } + # This calculation uses n from the -handler, chunked, or + # unchunked case as appropriate. + if {[info exists state]} { + if {$n >= 0} { + incr state(currentsize) $n + set c $state(currentsize) + set t $state(totalsize) + ##Log another $n currentsize $c totalsize $t -\ + token $token + } + # If Content-Length - check for end of data. + if { + ($state(totalsize) > 0) + && ($state(currentsize) >= $state(totalsize)) + } { + Log ^F$tk end of response body (unchunked) -\ + token $token + set state(state) complete + Eot $token + } + } + } err]} { + Log ^X$tk end of response (error ${err}) - token $token + Finish $token $err + return + } else { + if {[info exists state(-progress)]} { + eval $state(-progress) \ + [list $token $state(totalsize) $state(currentsize)] + } + } + } + + # catch as an Eot above may have closed the socket already + # $state(state) may be connecting, header, body, or complete + if {![set cc [catch {eof $sock} eof]] && $eof} { + ##Log eof - token $token + if {[info exists $token]} { + set state(connection) close + if {$state(state) eq "complete"} { + # This includes all cases in which the transaction + # can be completed by eof. + # The value "complete" is set only in http::Event, and it is + # used only in the test above. + Log ^F$tk end of response body (unchunked, eof) -\ + token $token + Eot $token + } else { + # Premature eof. + Log ^X$tk end of response (unexpected eof) - token $token + Eot $token eof + } + } else { + # open connection closed on a token that has been cleaned up. + Log ^X$tk end of response (token error) - token $token + CloseSocket $sock + } + } elseif {$cc} { + return + } + } +} + +# http::TestForReplay +# +# Command called if eof is discovered when a socket is first used for a +# new transaction. Typically this occurs if a persistent socket is used +# after a period of idleness and the server has half-closed the socket. +# +# token - the connection token returned by http::geturl +# doing - "read" or "write" +# err - error message, if any +# caller - code to identify the caller - used only in logging +# +# Return Value: boolean, true iff the command calls http::ReplayIfDead. + +proc http::TestForReplay {token doing err caller} { + variable http + variable $token + upvar 0 $token state + set tk [namespace tail $token] + if {$doing eq "read"} { + set code Q + set action response + set ing reading + } else { + set code P + set action request + set ing writing + } + + if {$err eq {}} { + set err "detect eof when $ing (server timed out?)" + } + + if {$state(method) eq "POST" && !$http(-repost)} { + # No Replay. + # The present transaction will end when Finish is called. + # That call to Finish will abort any other transactions + # currently in the write queue. + # For calls from http::Event this occurs when execution + # reaches the code block at the end of that proc. + set msg {no retry for POST with http::config -repost 0} + Log reusing socket failed "($caller)" - $msg - token $token + Log error - $err - token $token + Log ^X$tk end of $action (error) - token $token + return 0 + } else { + # Replay. + set msg {try a new socket} + Log reusing socket failed "($caller)" - $msg - token $token + Log error - $err - token $token + Log ^$code$tk Any unfinished (incl this one) failed - token $token + ReplayIfDead $token $doing + return 1 + } +} + +# http::IsBinaryContentType -- +# +# Determine if the content-type means that we should definitely transfer +# the data as binary. [Bug 838e99a76d] +# +# Arguments +# type The content-type of the data. +# +# Results: +# Boolean, true if we definitely should be binary. + +proc http::IsBinaryContentType {type} { + lassign [split [string tolower $type] "/;"] major minor + if {$major eq "text"} { + return false + } + # There's a bunch of XML-as-application-format things about. See RFC 3023 + # and so on. + if {$major eq "application"} { + set minor [string trimright $minor] + if {$minor in {"xml" "xml-external-parsed-entity" "xml-dtd"}} { + return false + } + } + # Not just application/foobar+xml but also image/svg+xml, so let us not + # restrict things for now... + if {[string match "*+xml" $minor]} { + return false + } + return true +} + +# http::getTextLine -- +# +# Get one line with the stream in crlf mode. +# Used if Transfer-Encoding is chunked. +# Empty line is not distinguished from eof. The caller must +# be able to handle this. +# +# Arguments +# sock The socket receiving input. +# +# Results: +# The line of text, without trailing newline + +proc http::getTextLine {sock} { + set tr [fconfigure $sock -translation] + lassign $tr trRead trWrite + fconfigure $sock -translation [list crlf $trWrite] + set r [BlockingGets $sock] + fconfigure $sock -translation $tr + return $r +} + +# http::BlockingRead +# +# Replacement for a blocking read. +# The caller must be a coroutine. + +proc http::BlockingRead {sock size} { + if {$size < 1} { + return + } + set result {} + while 1 { + set need [expr {$size - [string length $result]}] + set block [read $sock $need] + set eof [eof $sock] + append result $block + if {[string length $result] >= $size || $eof} { + return $result + } else { + yield + } + } +} + +# http::BlockingGets +# +# Replacement for a blocking gets. +# The caller must be a coroutine. +# Empty line is not distinguished from eof. The caller must +# be able to handle this. + +proc http::BlockingGets {sock} { + while 1 { + set count [gets $sock line] + set eof [eof $sock] + if {$count > -1 || $eof} { + return $line + } else { + yield + } + } +} + +# http::CopyStart +# +# Error handling wrapper around fcopy +# +# Arguments +# sock The socket to copy from +# token The token returned from http::geturl +# +# Side Effects +# This closes the connection upon error + +proc http::CopyStart {sock token {initial 1}} { + upvar #0 $token state + if {[info exists state(transfer)] && $state(transfer) eq "chunked"} { + foreach coding [ContentEncoding $token] { + lappend state(zlib) [zlib stream $coding] + } + make-transformation-chunked $sock [namespace code [list CopyChunk $token]] + } else { + if {$initial} { + foreach coding [ContentEncoding $token] { + zlib push $coding $sock + } + } + if {[catch { + # FIXME Keep-Alive on https tls::socket with unchunked transfer + # hangs until the server times out. A workaround is possible, as for + # the case without -channel, but it does not use the neat "fcopy" + # solution. + fcopy $sock $state(-channel) -size $state(-blocksize) -command \ + [list http::CopyDone $token] + } err]} { + Finish $token $err + } + } +} + +proc http::CopyChunk {token chunk} { + upvar 0 $token state + if {[set count [string length $chunk]]} { + incr state(currentsize) $count + if {[info exists state(zlib)]} { + foreach stream $state(zlib) { + set chunk [$stream add $chunk] + } + } + puts -nonewline $state(-channel) $chunk + if {[info exists state(-progress)]} { + eval [linsert $state(-progress) end \ + $token $state(totalsize) $state(currentsize)] + } + } else { + Log "CopyChunk Finish - token $token" + if {[info exists state(zlib)]} { + set excess "" + foreach stream $state(zlib) { + catch {set excess [$stream add -finalize $excess]} + } + puts -nonewline $state(-channel) $excess + foreach stream $state(zlib) { $stream close } + unset state(zlib) + } + Eot $token ;# FIX ME: pipelining. + } +} + +# http::CopyDone +# +# fcopy completion callback +# +# Arguments +# token The token returned from http::geturl +# count The amount transfered +# +# Side Effects +# Invokes callbacks + +proc http::CopyDone {token count {error {}}} { + variable $token + upvar 0 $token state + set sock $state(sock) + incr state(currentsize) $count + if {[info exists state(-progress)]} { + eval $state(-progress) \ + [list $token $state(totalsize) $state(currentsize)] + } + # At this point the token may have been reset. + if {[string length $error]} { + Finish $token $error + } elseif {[catch {eof $sock} iseof] || $iseof} { + Eot $token + } else { + CopyStart $sock $token 0 + } +} + +# http::Eot +# +# Called when either: +# a. An eof condition is detected on the socket. +# b. The client decides that the response is complete. +# c. The client detects an inconsistency and aborts the transaction. +# +# Does: +# 1. Set state(status) +# 2. Reverse any Content-Encoding +# 3. Convert charset encoding and line ends if necessary +# 4. Call http::Finish +# +# Arguments +# token The token returned from http::geturl +# force (previously) optional, has no effect +# reason - "eof" means premature EOF (not EOF as the natural end of +# the response) +# - "" means completion of response, with or without EOF +# - anything else describes an error confition other than +# premature EOF. +# +# Side Effects +# Clean up the socket + +proc http::Eot {token {reason {}}} { + variable $token + upvar 0 $token state + if {$reason eq "eof"} { + # Premature eof. + set state(status) eof + set reason {} + } elseif {$reason ne ""} { + # Abort the transaction. + set state(status) $reason + } else { + # The response is complete. + set state(status) ok + } + + if {[string length $state(body)] > 0} { + if {[catch { + foreach coding [ContentEncoding $token] { + set state(body) [zlib $coding $state(body)] + } + } err]} { + Log "error doing decompression for token $token: $err" + Finish $token $err + return + } + + if {!$state(binary)} { + # If we are getting text, set the incoming channel's encoding + # correctly. iso8859-1 is the RFC default, but this could be any + # IANA charset. However, we only know how to convert what we have + # encodings for. + + set enc [CharsetToEncoding $state(charset)] + if {$enc ne "binary"} { + set state(body) [encoding convertfrom $enc $state(body)] + } + + # Translate text line endings. + set state(body) [string map {\r\n \n \r \n} $state(body)] + } + } + Finish $token $reason +} + +# http::wait -- +# +# See documentation for details. +# +# Arguments: +# token Connection token. +# +# Results: +# The status after the wait. + +proc http::wait {token} { + variable $token + upvar 0 $token state + + if {![info exists state(status)] || $state(status) eq ""} { + # We must wait on the original variable name, not the upvar alias + vwait ${token}(status) + } + + return [status $token] +} + +# http::formatQuery -- +# +# See documentation for details. Call http::formatQuery with an even +# number of arguments, where the first is a name, the second is a value, +# the third is another name, and so on. +# +# Arguments: +# args A list of name-value pairs. +# +# Results: +# TODO + +proc http::formatQuery {args} { + if {[llength $args] % 2} { + return \ + -code error \ + -errorcode [list HTTP BADARGCNT $args] \ + {Incorrect number of arguments, must be an even number.} + } + set result "" + set sep "" + foreach i $args { + append result $sep [mapReply $i] + if {$sep eq "="} { + set sep & + } else { + set sep = + } + } + return $result +} + +# http::mapReply -- +# +# Do x-www-urlencoded character mapping +# +# Arguments: +# string The string the needs to be encoded +# +# Results: +# The encoded string + +proc http::mapReply {string} { + variable http + variable formMap + + # The spec says: "non-alphanumeric characters are replaced by '%HH'". Use + # a pre-computed map and [string map] to do the conversion (much faster + # than [regsub]/[subst]). [Bug 1020491] + + if {$http(-urlencoding) ne ""} { + set string [encoding convertto $http(-urlencoding) $string] + return [string map $formMap $string] + } + set converted [string map $formMap $string] + if {[string match "*\[\u0100-\uffff\]*" $converted]} { + regexp "\[\u0100-\uffff\]" $converted badChar + # Return this error message for maximum compatibility... :^/ + return -code error \ + "can't read \"formMap($badChar)\": no such element in array" + } + return $converted +} +interp alias {} http::quoteString {} http::mapReply + +# http::ProxyRequired -- +# Default proxy filter. +# +# Arguments: +# host The destination host +# +# Results: +# The current proxy settings + +proc http::ProxyRequired {host} { + variable http + if {[info exists http(-proxyhost)] && [string length $http(-proxyhost)]} { + if { + ![info exists http(-proxyport)] || + ![string length $http(-proxyport)] + } { + set http(-proxyport) 8080 + } + return [list $http(-proxyhost) $http(-proxyport)] + } +} + +# http::CharsetToEncoding -- +# +# Tries to map a given IANA charset to a tcl encoding. If no encoding +# can be found, returns binary. +# + +proc http::CharsetToEncoding {charset} { + variable encodings + + set charset [string tolower $charset] + if {[regexp {iso-?8859-([0-9]+)} $charset -> num]} { + set encoding "iso8859-$num" + } elseif {[regexp {iso-?2022-(jp|kr)} $charset -> ext]} { + set encoding "iso2022-$ext" + } elseif {[regexp {shift[-_]?js} $charset]} { + set encoding "shiftjis" + } elseif {[regexp {(?:windows|cp)-?([0-9]+)} $charset -> num]} { + set encoding "cp$num" + } elseif {$charset eq "us-ascii"} { + set encoding "ascii" + } elseif {[regexp {(?:iso-?)?lat(?:in)?-?([0-9]+)} $charset -> num]} { + switch -- $num { + 5 {set encoding "iso8859-9"} + 1 - 2 - 3 { + set encoding "iso8859-$num" + } + } + } else { + # other charset, like euc-xx, utf-8,... may directly map to encoding + set encoding $charset + } + set idx [lsearch -exact $encodings $encoding] + if {$idx >= 0} { + return $encoding + } else { + return "binary" + } +} + +# Return the list of content-encoding transformations we need to do in order. +proc http::ContentEncoding {token} { + upvar 0 $token state + set r {} + if {[info exists state(coding)]} { + foreach coding [split $state(coding) ,] { + switch -exact -- $coding { + deflate { lappend r inflate } + gzip - x-gzip { lappend r gunzip } + compress - x-compress { lappend r decompress } + identity {} + default { + return -code error "unsupported content-encoding \"$coding\"" + } + } + } + } + return $r +} + +proc http::ReceiveChunked {chan command} { + set data "" + set size -1 + yield + while {1} { + chan configure $chan -translation {crlf binary} + while {[gets $chan line] < 1} { yield } + chan configure $chan -translation {binary binary} + if {[scan $line %x size] != 1} { + return -code error "invalid size: \"$line\"" + } + set chunk "" + while {$size && ![chan eof $chan]} { + set part [chan read $chan $size] + incr size -[string length $part] + append chunk $part + } + if {[catch { + uplevel #0 [linsert $command end $chunk] + }]} { + http::Log "Error in callback: $::errorInfo" + } + if {[string length $chunk] == 0} { + # channel might have been closed in the callback + catch {chan event $chan readable {}} + return + } + } +} + +proc http::make-transformation-chunked {chan command} { + coroutine [namespace current]::dechunk$chan ::http::ReceiveChunked $chan $command + chan event $chan readable [namespace current]::dechunk$chan +} + +# Local variables: +# indent-tabs-mode: t +# End: diff --git a/amd64/lib/tcl86t.lib b/amd64/lib/tcl86t.lib index 017822b..e1fb585 100644 Binary files a/amd64/lib/tcl86t.lib and b/amd64/lib/tcl86t.lib differ diff --git a/amd64/lib/tclConfig.sh b/amd64/lib/tclConfig.sh index d132765..e716d48 100644 --- a/amd64/lib/tclConfig.sh +++ b/amd64/lib/tclConfig.sh @@ -15,21 +15,21 @@ TCL_DLL_FILE="tcl86t.dll" TCL_VERSION='8.6' TCL_MAJOR_VERSION='8' TCL_MINOR_VERSION='6' -TCL_PATCH_LEVEL='8.6.8' +TCL_PATCH_LEVEL='8.6.9' # C compiler to use for compilation. TCL_CC='cl' # -D flags for use with the C compiler. -TCL_DEFS='-nologo -c /D_ATL_XP_TARGETING /DUNICODE /D_UNICODE -W3 -wd4311 -wd4312 -wd4311 -wd4312 -FpC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_AMD64_VC13\tcl_ThreadedDynamic\ -fp:strict -O2 -GS -GL -MD -I"C:\build\cpython\externals\tcl-core-8.6.8.0\win\..\win" -I"C:\build\cpython\externals\tcl-core-8.6.8.0\win\..\generic" -I"C:\build\cpython\externals\tcl-core-8.6.8.0\win\..\libtommath" -DTCL_TOMMATH -DMP_PREC=4 -Dinline=__inline -DHAVE_ZLIB=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DTCL_CFGVAL_ENCODING=\"cp1252\" -DSTDC_HEADERS -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DNDEBUG -DTCL_CFG_OPTIMIZED -DTCL_CFG_DO64BIT -DBUILD_tcl' +TCL_DEFS='-nologo -c /D_ATL_XP_TARGETING /DUNICODE /D_UNICODE -W3 -wd4311 -wd4312 -wd4311 -wd4312 -FpC:\_work\11\b\tcl-core-8.6.9.0\win\Release_AMD64_VC13\tcl_ThreadedDynamic\ -fp:strict -O2 -GS -GL -MD -I"C:\_work\11\b\tcl-core-8.6.9.0\win\..\win" -I"C:\_work\11\b\tcl-core-8.6.9.0\win\..\generic" -I"C:\_work\11\b\tcl-core-8.6.9.0\win\..\libtommath" -DTCL_TOMMATH -DMP_PREC=4 -Dinline=__inline -DHAVE_ZLIB=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DTCL_CFGVAL_ENCODING=\"cp1252\" -DSTDC_HEADERS -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DNDEBUG -DTCL_CFG_OPTIMIZED -DTCL_CFG_DO64BIT -DBUILD_tcl' # If TCL was built with debugging symbols, generated libraries contain # this string at the end of the library name (before the extension). TCL_DBGX=t # Default flags used in an optimized and debuggable build, respectively. -TCL_CFLAGS_DEBUG='-nologo -c -W3 -YX -FpC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_AMD64_VC13\tcl_ThreadedDynamic\ -MDd' -TCL_CFLAGS_OPTIMIZE='-nologo -c -W3 -YX -FpC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_AMD64_VC13\tcl_ThreadedDynamic\ -MD' +TCL_CFLAGS_DEBUG='-nologo -c -W3 -YX -FpC:\_work\11\b\tcl-core-8.6.9.0\win\Release_AMD64_VC13\tcl_ThreadedDynamic\ -MDd' +TCL_CFLAGS_OPTIMIZE='-nologo -c -W3 -YX -FpC:\_work\11\b\tcl-core-8.6.9.0\win\Release_AMD64_VC13\tcl_ThreadedDynamic\ -MD' # Default linker flags used in an optimized and debuggable build, respectively. TCL_LDFLAGS_DEBUG='-nologo -machine:AMD64 -debug -debugtype:cv' @@ -55,11 +55,11 @@ TCL_LIBS='kernel32.lib advapi32.lib netapi32.lib user32.lib userenv.lib ws2_32.l # Top-level directory in which Tcl's platform-independent files are # installed. -TCL_PREFIX='C:\build\cpython\externals\tcltk-8.6.8.0\amd64' +TCL_PREFIX='C:\_work\11\b\tcltk-8.6.9.0\amd64' # Top-level directory in which Tcl's platform-specific files (e.g. # executables) are installed. -TCL_EXEC_PREFIX='C:\build\cpython\externals\tcltk-8.6.8.0\amd64\bin' +TCL_EXEC_PREFIX='C:\_work\11\b\tcltk-8.6.9.0\amd64\bin' # Flags to pass to cc when compiling the components of a shared library: TCL_SHLIB_CFLAGS='' @@ -115,11 +115,11 @@ TCL_BUILD_LIB_SPEC='' # String to pass to linker to pick up the Tcl library from its # installed directory. -TCL_LIB_SPEC='C:\build\cpython\externals\tcltk-8.6.8.0\amd64\lib\tcl86t.lib' +TCL_LIB_SPEC='C:\_work\11\b\tcltk-8.6.9.0\amd64\lib\tcl86t.lib' # String to pass to the compiler so that an extension can # find installed Tcl headers. -TCL_INCLUDE_SPEC='-IC:\build\cpython\externals\tcltk-8.6.8.0\amd64\include' +TCL_INCLUDE_SPEC='-IC:\_work\11\b\tcltk-8.6.9.0\amd64\include' # Indicates whether a version numbers should be used in -l switches # ("ok" means it's safe to use switches like -ltcl7.5; "nodots" means @@ -146,7 +146,7 @@ TCL_UNSHARED_LIB_SUFFIX='86t.lib' # different place than the directory containing the source files, this # points to the location of the sources, not the location where Tcl was # compiled. -TCL_SRC_DIR='C:\build\cpython\externals\tcl-core-8.6.8.0\win\..' +TCL_SRC_DIR='C:\_work\11\b\tcl-core-8.6.9.0\win\..' # List of standard directories in which to look for packages during # "package require" commands. Contains the "prefix" directory plus also @@ -164,17 +164,17 @@ TCL_STUB_LIB_FLAG='tclstub86.lib' # String to pass to linker to pick up the Tcl stub library from its # build directory. -TCL_BUILD_STUB_LIB_SPEC='-LC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_AMD64_VC13 tclstub86.lib' +TCL_BUILD_STUB_LIB_SPEC='-LC:\_work\11\b\tcl-core-8.6.9.0\win\Release_AMD64_VC13 tclstub86.lib' # String to pass to linker to pick up the Tcl stub library from its # installed directory. -TCL_STUB_LIB_SPEC='-LC:\build\cpython\externals\tcltk-8.6.8.0\amd64\lib tclstub86.lib' +TCL_STUB_LIB_SPEC='-LC:\_work\11\b\tcltk-8.6.9.0\amd64\lib tclstub86.lib' # Path to the Tcl stub library in the build directory. -TCL_BUILD_STUB_LIB_PATH='C:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_AMD64_VC13\tclstub86.lib' +TCL_BUILD_STUB_LIB_PATH='C:\_work\11\b\tcl-core-8.6.9.0\win\Release_AMD64_VC13\tclstub86.lib' # Path to the Tcl stub library in the install directory. -TCL_STUB_LIB_PATH='C:\build\cpython\externals\tcltk-8.6.8.0\amd64\lib\tclstub86.lib' +TCL_STUB_LIB_PATH='C:\_work\11\b\tcltk-8.6.9.0\amd64\lib\tclstub86.lib' # Flag, 1: we built Tcl with threads enabled, 0 we didn't TCL_THREADS=1 diff --git a/amd64/lib/tclstub86.lib b/amd64/lib/tclstub86.lib index 35d1689..883c045 100644 Binary files a/amd64/lib/tclstub86.lib and b/amd64/lib/tclstub86.lib differ diff --git a/amd64/lib/tix8.4.3/tix84.dll b/amd64/lib/tix8.4.3/tix84.dll index 69cd4c8..434c1f5 100644 Binary files a/amd64/lib/tix8.4.3/tix84.dll and b/amd64/lib/tix8.4.3/tix84.dll differ diff --git a/amd64/lib/tix8.4.3/tix84.lib b/amd64/lib/tix8.4.3/tix84.lib index 95ae969..18d669a 100644 Binary files a/amd64/lib/tix8.4.3/tix84.lib and b/amd64/lib/tix8.4.3/tix84.lib differ diff --git a/amd64/lib/tk8.6/listbox.tcl b/amd64/lib/tk8.6/listbox.tcl index 1b35b3d..16e51bd 100644 --- a/amd64/lib/tk8.6/listbox.tcl +++ b/amd64/lib/tk8.6/listbox.tcl @@ -14,7 +14,7 @@ # tk::Priv elements used in this file: # # afterId - Token returned by "after" for autoscanning. -# listboxPrev - The last element to be selected or deselected +# listboxPrev - The last element to be selected or deselected # during a selection operation. # listboxSelection - All of the items that were selected before the # current selection operation (such as a mouse diff --git a/amd64/lib/tk8.6/menu.tcl b/amd64/lib/tk8.6/menu.tcl index e1c94c9..ba66b92 100644 --- a/amd64/lib/tk8.6/menu.tcl +++ b/amd64/lib/tk8.6/menu.tcl @@ -609,7 +609,9 @@ proc ::tk::MenuButtonDown menu { return } if {[$menu index active] eq "none"} { - set Priv(window) {} + if {[$menu cget -type] ne "menubar" } { + set Priv(window) {} + } return } $menu postcascade active diff --git a/amd64/lib/tk8.6/msgbox.tcl b/amd64/lib/tk8.6/msgbox.tcl index 6d329c2..98603af 100644 --- a/amd64/lib/tk8.6/msgbox.tcl +++ b/amd64/lib/tk8.6/msgbox.tcl @@ -234,7 +234,8 @@ proc ::tk::MessageBox {args} { } if {!$valid} { return -code error -errorcode {TK MSGBOX DEFAULT} \ - "invalid default button \"$data(-default)\"" + "bad -default value \"$data(-default)\": must be\ + abort, retry, ignore, ok, cancel, no, or yes" } # 2. Set the dialog to be a child window of $parent diff --git a/amd64/lib/tk8.6/palette.tcl b/amd64/lib/tk8.6/palette.tcl index 9cecf5b..42c6a90 100644 --- a/amd64/lib/tk8.6/palette.tcl +++ b/amd64/lib/tk8.6/palette.tcl @@ -205,27 +205,27 @@ proc ::tk::RecolorTree {w colors} { # # Arguments: # color - Name of starting color. -# perecent - Integer telling how much to brighten or darken as a +# percent - Integer telling how much to brighten or darken as a # percent: 50 means darken by 50%, 110 means brighten # by 10%. proc ::tk::Darken {color percent} { - foreach {red green blue} [winfo rgb . $color] { - set red [expr {($red/256)*$percent/100}] - set green [expr {($green/256)*$percent/100}] - set blue [expr {($blue/256)*$percent/100}] - break + if {$percent < 0} { + return #000000 + } elseif {$percent > 200} { + return #ffffff + } elseif {$percent <= 100} { + lassign [winfo rgb . $color] r g b + set r [expr {($r/256)*$percent/100}] + set g [expr {($g/256)*$percent/100}] + set b [expr {($b/256)*$percent/100}] + } elseif {$percent > 100} { + lassign [winfo rgb . $color] r g b + set r [expr {255 - ((65535-$r)/256)*(200-$percent)/100}] + set g [expr {255 - ((65535-$g)/256)*(200-$percent)/100}] + set b [expr {255 - ((65535-$b)/256)*(200-$percent)/100}] } - if {$red > 255} { - set red 255 - } - if {$green > 255} { - set green 255 - } - if {$blue > 255} { - set blue 255 - } - return [format "#%02x%02x%02x" $red $green $blue] + return [format #%02x%02x%02x $r $g $b] } # ::tk_bisque -- diff --git a/amd64/lib/tk8.6/pkgIndex.tcl b/amd64/lib/tk8.6/pkgIndex.tcl index 0dfbf96..f3acba7 100644 --- a/amd64/lib/tk8.6/pkgIndex.tcl +++ b/amd64/lib/tk8.6/pkgIndex.tcl @@ -1,7 +1,7 @@ if {[catch {package present Tcl 8.6.0}]} { return } if {($::tcl_platform(platform) eq "unix") && ([info exists ::env(DISPLAY)] || ([info exists ::argv] && ("-display" in $::argv)))} { - package ifneeded Tk 8.6.8 [list load [file join $dir .. .. bin libtk8.6.dll] Tk] + package ifneeded Tk 8.6.9 [list load [file join $dir .. .. bin libtk8.6.dll] Tk] } else { - package ifneeded Tk 8.6.8 [list load [file join $dir .. .. bin tk86t.dll] Tk] + package ifneeded Tk 8.6.9 [list load [file join $dir .. .. bin tk86t.dll] Tk] } diff --git a/amd64/lib/tk8.6/text.tcl b/amd64/lib/tk8.6/text.tcl index 645776d..468696b 100644 --- a/amd64/lib/tk8.6/text.tcl +++ b/amd64/lib/tk8.6/text.tcl @@ -1058,13 +1058,13 @@ proc ::tk_textCut w { # make <> an atomic operation on the Undo stack, # i.e. separate it from other delete operations on either side set oldSeparator [$w cget -autoseparators] - if {$oldSeparator} { + if {([$w cget -state] eq "normal") && $oldSeparator} { $w edit separator } clipboard clear -displayof $w clipboard append -displayof $w $data $w delete sel.first sel.last - if {$oldSeparator} { + if {([$w cget -state] eq "normal") && $oldSeparator} { $w edit separator } } diff --git a/amd64/lib/tk8.6/tk.tcl b/amd64/lib/tk8.6/tk.tcl index d2f7b65..61d1354 100644 --- a/amd64/lib/tk8.6/tk.tcl +++ b/amd64/lib/tk8.6/tk.tcl @@ -11,7 +11,7 @@ # this file, and for a DISCLAIMER OF ALL WARRANTIES. # Verify that we have Tk binary and script components from the same release -package require -exact Tk 8.6.8 +package require -exact Tk 8.6.9 # Create a ::tk namespace namespace eval ::tk { diff --git a/amd64/lib/tk8.6/ttk/altTheme.tcl b/amd64/lib/tk8.6/ttk/altTheme.tcl index 5630e6c..6fc76f8 100644 --- a/amd64/lib/tk8.6/ttk/altTheme.tcl +++ b/amd64/lib/tk8.6/ttk/altTheme.tcl @@ -95,8 +95,12 @@ namespace eval ttk::theme::alt { ttk::style configure Heading -font TkHeadingFont -relief raised ttk::style configure Treeview -background $colors(-window) ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] ttk::style configure TScale \ -groovewidth 4 -troughrelief sunken \ diff --git a/amd64/lib/tk8.6/ttk/aquaTheme.tcl b/amd64/lib/tk8.6/ttk/aquaTheme.tcl index fa0fa12..d6be5a3 100644 --- a/amd64/lib/tk8.6/ttk/aquaTheme.tcl +++ b/amd64/lib/tk8.6/ttk/aquaTheme.tcl @@ -41,8 +41,13 @@ namespace eval ttk::theme::aqua { ttk::style configure Heading -font TkHeadingFont ttk::style configure Treeview -rowheight 18 -background White ttk::style map Treeview \ - -background {{selected background} systemHighlightSecondary - selected systemHighlight} + -background [list disabled systemDialogBackgroundInactive \ + {!disabled !selected} systemWindowBody \ + {selected background} systemHighlightSecondary \ + selected systemHighlight] \ + -foreground [list disabled systemModelessDialogInactiveText \ + {!disabled !selected} black \ + selected systemModelessDialogActiveText] # Enable animation for ttk::progressbar widget: ttk::style configure TProgressbar -period 100 -maxphase 255 diff --git a/amd64/lib/tk8.6/ttk/clamTheme.tcl b/amd64/lib/tk8.6/ttk/clamTheme.tcl index 808c365..3c6f5c3 100644 --- a/amd64/lib/tk8.6/ttk/clamTheme.tcl +++ b/amd64/lib/tk8.6/ttk/clamTheme.tcl @@ -131,8 +131,12 @@ namespace eval ttk::theme::clam { -font TkHeadingFont -relief raised -padding {3} ttk::style configure Treeview -background $colors(-window) ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] ttk::style configure TLabelframe \ -labeloutside true -labelmargins {0 0 0 4} \ diff --git a/amd64/lib/tk8.6/ttk/classicTheme.tcl b/amd64/lib/tk8.6/ttk/classicTheme.tcl index 3cb2b18..fefdb99 100644 --- a/amd64/lib/tk8.6/ttk/classicTheme.tcl +++ b/amd64/lib/tk8.6/ttk/classicTheme.tcl @@ -98,8 +98,12 @@ namespace eval ttk::theme::classic { ttk::style configure Heading -font TkHeadingFont -relief raised ttk::style configure Treeview -background $colors(-window) ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] # # Toolbar buttons: diff --git a/amd64/lib/tk8.6/ttk/combobox.tcl b/amd64/lib/tk8.6/ttk/combobox.tcl index 6ceccef..c1b6da6 100644 --- a/amd64/lib/tk8.6/ttk/combobox.tcl +++ b/amd64/lib/tk8.6/ttk/combobox.tcl @@ -88,18 +88,18 @@ bind ComboboxPopdown \ ### Option database settings. # -option add *TCombobox*Listbox.font TkTextFont -option add *TCombobox*Listbox.relief flat -option add *TCombobox*Listbox.highlightThickness 0 +option add *TCombobox*Listbox.font TkTextFont widgetDefault +option add *TCombobox*Listbox.relief flat widgetDefault +option add *TCombobox*Listbox.highlightThickness 0 widgetDefault ## Platform-specific settings. # switch -- [tk windowingsystem] { x11 { - option add *TCombobox*Listbox.background white + option add *TCombobox*Listbox.background white widgetDefault } aqua { - option add *TCombobox*Listbox.borderWidth 0 + option add *TCombobox*Listbox.borderWidth 0 widgetDefault } } diff --git a/amd64/lib/tk8.6/ttk/defaults.tcl b/amd64/lib/tk8.6/ttk/defaults.tcl index 56e2176..4c1753d 100644 --- a/amd64/lib/tk8.6/ttk/defaults.tcl +++ b/amd64/lib/tk8.6/ttk/defaults.tcl @@ -110,8 +110,12 @@ namespace eval ttk::theme::default { -background $colors(-window) \ -foreground $colors(-text) ; ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] # Combobox popdown frame ttk::style layout ComboboxPopdownFrame { diff --git a/amd64/lib/tk8.6/ttk/entry.tcl b/amd64/lib/tk8.6/ttk/entry.tcl index b3ebcbd..c123bc9 100644 --- a/amd64/lib/tk8.6/ttk/entry.tcl +++ b/amd64/lib/tk8.6/ttk/entry.tcl @@ -34,7 +34,7 @@ namespace eval ttk { ### Option database settings. # -option add *TEntry.cursor [ttk::cursor text] +option add *TEntry.cursor [ttk::cursor text] widgetDefault ### Bindings. # @@ -418,7 +418,7 @@ proc ttk::entry::DragOut {w mode} { # Suspend autoscroll. # proc ttk::entry::DragIn {w} { - ttk::CancelRepeat + ttk::CancelRepeat } ## binding @@ -432,7 +432,7 @@ proc ttk::entry::Release {w} { ## AutoScroll # Called repeatedly when the mouse is outside an entry window # with Button 1 down. Scroll the window left or right, -# depending on where the mouse left the window, and extend +# depending on where the mouse left the window, and extend # the selection according to the current selection mode. # # TODO: AutoScroll should repeat faster (50ms) than normal autorepeat. diff --git a/amd64/lib/tk8.6/ttk/sizegrip.tcl b/amd64/lib/tk8.6/ttk/sizegrip.tcl index 153e310..24a67c6 100644 --- a/amd64/lib/tk8.6/ttk/sizegrip.tcl +++ b/amd64/lib/tk8.6/ttk/sizegrip.tcl @@ -9,7 +9,7 @@ switch -- [tk windowingsystem] { x11 - win32 { - option add *TSizegrip.cursor [ttk::cursor seresize] + option add *TSizegrip.cursor [ttk::cursor seresize] widgetDefault } aqua { # Aqua sizegrips use default Arrow cursor. diff --git a/amd64/lib/tk8.6/ttk/treeview.tcl b/amd64/lib/tk8.6/ttk/treeview.tcl index 8772587..1ed87db 100644 --- a/amd64/lib/tk8.6/ttk/treeview.tcl +++ b/amd64/lib/tk8.6/ttk/treeview.tcl @@ -120,7 +120,7 @@ proc ttk::treeview::ActivateHeading {w heading} { variable State if {$w != $State(activeWidget) || $heading != $State(activeHeading)} { - if {$State(activeHeading) != {}} { + if {[winfo exists $State(activeWidget)] && $State(activeHeading) != {}} { $State(activeWidget) heading $State(activeHeading) state !active } if {$heading != {}} { diff --git a/amd64/lib/tk8.6/ttk/vistaTheme.tcl b/amd64/lib/tk8.6/ttk/vistaTheme.tcl index 3f75f51..ecb39c9 100644 --- a/amd64/lib/tk8.6/ttk/vistaTheme.tcl +++ b/amd64/lib/tk8.6/ttk/vistaTheme.tcl @@ -21,6 +21,7 @@ namespace eval ttk::theme::vista { -foreground SystemWindowText \ -selectforeground SystemHighlightText \ -selectbackground SystemHighlight \ + -insertcolor SystemWindowText \ -font TkDefaultFont \ ; @@ -46,20 +47,24 @@ namespace eval ttk::theme::vista { ttk::style configure Heading -font TkHeadingFont ttk::style configure Treeview -background SystemWindow ttk::style map Treeview \ - -background [list selected SystemHighlight] \ - -foreground [list selected SystemHighlightText] ; + -background [list disabled SystemButtonFace \ + {!disabled !selected} SystemWindow \ + selected SystemHighlight] \ + -foreground [list disabled SystemGrayText \ + {!disabled !selected} SystemWindowText \ + selected SystemHighlightText] # Label and Toolbutton - ttk::style configure TLabelframe.Label -foreground "#0046d5" + ttk::style configure TLabelframe.Label -foreground SystemButtonText ttk::style configure Toolbutton -padding {4 4} # Combobox ttk::style configure TCombobox -padding 2 - ttk::style element create Combobox.field vsapi \ - COMBOBOX 2 {{} 1} ttk::style element create Combobox.border vsapi \ COMBOBOX 4 {disabled 4 focus 3 active 2 hover 2 {} 1} + ttk::style element create Combobox.background vsapi \ + EDIT 3 {disabled 3 readonly 5 focus 4 hover 2 {} 1} ttk::style element create Combobox.rightdownarrow vsapi \ COMBOBOX 6 {disabled 4 pressed 3 active 2 {} 1} \ -syssize {SM_CXVSCROLL SM_CYVSCROLL} @@ -67,8 +72,10 @@ namespace eval ttk::theme::vista { Combobox.border -sticky nswe -border 0 -children { Combobox.rightdownarrow -side right -sticky ns Combobox.padding -expand 1 -sticky nswe -children { - Combobox.focus -expand 1 -sticky nswe -children { - Combobox.textarea -sticky nswe + Combobox.background -sticky nswe -children { + Combobox.focus -expand 1 -sticky nswe -children { + Combobox.textarea -sticky nswe + } } } } diff --git a/amd64/lib/tk8.6/ttk/winTheme.tcl b/amd64/lib/tk8.6/ttk/winTheme.tcl index 55367bc..a7a2c79 100644 --- a/amd64/lib/tk8.6/ttk/winTheme.tcl +++ b/amd64/lib/tk8.6/ttk/winTheme.tcl @@ -10,6 +10,8 @@ namespace eval ttk::theme::winnative { -foreground SystemWindowText \ -selectforeground SystemHighlightText \ -selectbackground SystemHighlight \ + -fieldbackground SystemWindow \ + -insertcolor SystemWindowText \ -troughcolor SystemScrollbar \ -font TkDefaultFont \ ; @@ -71,8 +73,12 @@ namespace eval ttk::theme::winnative { ttk::style configure Heading -font TkHeadingFont -relief raised ttk::style configure Treeview -background SystemWindow ttk::style map Treeview \ - -background [list selected SystemHighlight] \ - -foreground [list selected SystemHighlightText] ; + -background [list disabled SystemButtonFace \ + {!disabled !selected} SystemWindow \ + selected SystemHighlight] \ + -foreground [list disabled SystemGrayText \ + {!disabled !selected} SystemWindowText \ + selected SystemHighlightText] ttk::style configure TProgressbar \ -background SystemHighlight -borderwidth 0 ; diff --git a/amd64/lib/tk8.6/ttk/xpTheme.tcl b/amd64/lib/tk8.6/ttk/xpTheme.tcl index 187ce0b..5d8d09b 100644 --- a/amd64/lib/tk8.6/ttk/xpTheme.tcl +++ b/amd64/lib/tk8.6/ttk/xpTheme.tcl @@ -11,6 +11,7 @@ namespace eval ttk::theme::xpnative { -foreground SystemWindowText \ -selectforeground SystemHighlightText \ -selectbackground SystemHighlight \ + -insertcolor SystemWindowText \ -font TkDefaultFont \ ; @@ -61,5 +62,15 @@ namespace eval ttk::theme::xpnative { ttk::style configure Toolbutton -padding {4 4} + # Treeview: + ttk::style configure Heading -font TkHeadingFont -relief raised + ttk::style configure Treeview -background SystemWindow + ttk::style map Treeview \ + -background [list disabled SystemButtonFace \ + {!disabled !selected} SystemWindow \ + selected SystemHighlight] \ + -foreground [list disabled SystemGrayText \ + {!disabled !selected} SystemWindowText \ + selected SystemHighlightText]; } } diff --git a/amd64/lib/tk86t.lib b/amd64/lib/tk86t.lib index c63b4b1..0a4c53b 100644 Binary files a/amd64/lib/tk86t.lib and b/amd64/lib/tk86t.lib differ diff --git a/amd64/lib/tkstub86.lib b/amd64/lib/tkstub86.lib index 78a5220..65cc84f 100644 Binary files a/amd64/lib/tkstub86.lib and b/amd64/lib/tkstub86.lib differ diff --git a/win32/bin/tcl86t.dll b/win32/bin/tcl86t.dll index 9c56a15..3c78e2d 100644 Binary files a/win32/bin/tcl86t.dll and b/win32/bin/tcl86t.dll differ diff --git a/win32/bin/tclsh86t.exe b/win32/bin/tclsh86t.exe index 528f1c2..32418b3 100644 Binary files a/win32/bin/tclsh86t.exe and b/win32/bin/tclsh86t.exe differ diff --git a/win32/bin/tk86t.dll b/win32/bin/tk86t.dll index fa798ba..d401cf9 100644 Binary files a/win32/bin/tk86t.dll and b/win32/bin/tk86t.dll differ diff --git a/win32/bin/wish86t.exe b/win32/bin/wish86t.exe index f7aeff6..539f8e2 100644 Binary files a/win32/bin/wish86t.exe and b/win32/bin/wish86t.exe differ diff --git a/win32/include/X11/Xlib.h b/win32/include/X11/Xlib.h index b027e28..8d8ec68 100644 --- a/win32/include/X11/Xlib.h +++ b/win32/include/X11/Xlib.h @@ -203,9 +203,6 @@ typedef struct { int class; /* class of screen (monochrome, etc.) */ #endif unsigned long red_mask, green_mask, blue_mask; /* mask values */ -#if defined(MAC_OSX_TK) - unsigned long alpha_mask; -#endif int bits_per_rgb; /* log base 2 of distinct color values */ int map_entries; /* color map entries */ } Visual; @@ -335,7 +332,6 @@ typedef struct _XImage { XPointer obdata; /* hook for the object routines to hang on */ #if defined(MAC_OSX_TK) int pixelpower; /* n such that pixels are 2^n x 2^n blocks*/ - unsigned long alpha_mask; #endif struct funcs { /* image manipulation routines */ struct _XImage *(*create_image)(); diff --git a/win32/include/tcl.h b/win32/include/tcl.h index b43b2d7..17ab2d3 100644 --- a/win32/include/tcl.h +++ b/win32/include/tcl.h @@ -42,10 +42,6 @@ extern "C" { * win/configure.in (as above) * win/tcl.m4 (not patchlevel) * README (sections 0 and 2, with and without separator) - * macosx/Tcl.pbproj/project.pbxproj (not patchlevel) 1 LOC - * macosx/Tcl.pbproj/default.pbxuser (not patchlevel) 1 LOC - * macosx/Tcl.xcode/project.pbxproj (not patchlevel) 2 LOC - * macosx/Tcl.xcode/default.pbxuser (not patchlevel) 1 LOC * macosx/Tcl-Common.xcconfig (not patchlevel) 1 LOC * win/README (not patchlevel) (sections 0 and 2) * unix/tcl.spec (1 LOC patch) @@ -55,10 +51,10 @@ extern "C" { #define TCL_MAJOR_VERSION 8 #define TCL_MINOR_VERSION 6 #define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE -#define TCL_RELEASE_SERIAL 8 +#define TCL_RELEASE_SERIAL 9 #define TCL_VERSION "8.6" -#define TCL_PATCH_LEVEL "8.6.8" +#define TCL_PATCH_LEVEL "8.6.9" /* *---------------------------------------------------------------------------- @@ -1986,7 +1982,7 @@ typedef struct Tcl_Token { * TCL_TOKEN_OPERATOR - The token describes one expression operator. * An operator might be the name of a math * function such as "abs". A TCL_TOKEN_OPERATOR - * token is always preceeded by one + * token is always preceded by one * TCL_TOKEN_SUB_EXPR token for the operator's * subexpression, and is followed by zero or more * TCL_TOKEN_SUB_EXPR tokens for the operator's @@ -2622,7 +2618,7 @@ EXTERN void Tcl_GetMemoryInfo(Tcl_DString *dsPtr); #ifndef TCL_NO_DEPRECATED /* * These function have been renamed. The old names are deprecated, but we - * define these macros for backwards compatibilty. + * define these macros for backwards compatibility. */ # define Tcl_Ckalloc Tcl_Alloc diff --git a/win32/include/tk.h b/win32/include/tk.h index 87150e9..c94882c 100644 --- a/win32/include/tk.h +++ b/win32/include/tk.h @@ -75,10 +75,10 @@ extern "C" { #define TK_MAJOR_VERSION 8 #define TK_MINOR_VERSION 6 #define TK_RELEASE_LEVEL TCL_FINAL_RELEASE -#define TK_RELEASE_SERIAL 8 +#define TK_RELEASE_SERIAL 9 #define TK_VERSION "8.6" -#define TK_PATCH_LEVEL "8.6.8" +#define TK_PATCH_LEVEL "8.6.9" /* * A special definition used to allow this header file to be included from @@ -1174,7 +1174,7 @@ typedef struct Tk_TSOffset { } Tk_TSOffset; /* - * Bit fields in Tk_Offset->flags: + * Bit fields in Tk_TSOffset->flags: */ #define TK_OFFSET_INDEX 1 diff --git a/win32/lib/dde1.4/pkgIndex.tcl b/win32/lib/dde1.4/pkgIndex.tcl index 4cf73d0..7aa67fa 100644 --- a/win32/lib/dde1.4/pkgIndex.tcl +++ b/win32/lib/dde1.4/pkgIndex.tcl @@ -1,7 +1,7 @@ if {([info commands ::tcl::pkgconfig] eq "") || ([info sharedlibextension] ne ".dll")} return if {[::tcl::pkgconfig get debug]} { - package ifneeded dde 1.4.0 [list load [file join $dir tcldde14g.dll] dde] + package ifneeded dde 1.4.1 [list load [file join $dir tcldde14g.dll] dde] } else { - package ifneeded dde 1.4.0 [list load [file join $dir tcldde14.dll] dde] + package ifneeded dde 1.4.1 [list load [file join $dir tcldde14.dll] dde] } diff --git a/win32/lib/dde1.4/tcldde14.dll b/win32/lib/dde1.4/tcldde14.dll index 3f38bda..b9d2ebb 100644 Binary files a/win32/lib/dde1.4/tcldde14.dll and b/win32/lib/dde1.4/tcldde14.dll differ diff --git a/win32/lib/nmake/nmakehlp.c b/win32/lib/nmake/nmakehlp.c index 025bb99..b759020 100644 --- a/win32/lib/nmake/nmakehlp.c +++ b/win32/lib/nmake/nmakehlp.c @@ -14,13 +14,8 @@ #define _CRT_SECURE_NO_DEPRECATE #include -#define NO_SHLWAPI_GDI -#define NO_SHLWAPI_STREAM -#define NO_SHLWAPI_REG -#include #pragma comment (lib, "user32.lib") #pragma comment (lib, "kernel32.lib") -#pragma comment (lib, "shlwapi.lib") #include #include @@ -74,7 +69,7 @@ main( char msg[300]; DWORD dwWritten; int chars; - char *s; + const char *s; /* * Make sure children (cl.exe and link.exe) are kept quiet. @@ -688,6 +683,17 @@ SubstituteFile( return 0; } +BOOL FileExists(LPCTSTR szPath) +{ +#ifndef INVALID_FILE_ATTRIBUTES + #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) +#endif + DWORD pathAttr = GetFileAttributes(szPath); + return (pathAttr != INVALID_FILE_ATTRIBUTES && + !(pathAttr & FILE_ATTRIBUTE_DIRECTORY)); +} + + /* * QualifyPath -- * @@ -701,13 +707,8 @@ QualifyPath( const char *szPath) { char szCwd[MAX_PATH + 1]; - char szTmp[MAX_PATH + 1]; - char *p; - GetCurrentDirectory(MAX_PATH, szCwd); - while ((p = strchr(szPath, '/')) && *p) - *p = '\\'; - PathCombine(szTmp, szCwd, szPath); - PathCanonicalize(szCwd, szTmp); + + GetFullPathName(szPath, sizeof(szCwd)-1, szCwd, NULL); printf("%s\n", szCwd); return 0; } @@ -765,7 +766,7 @@ static int LocateDependencyHelper(const char *dir, const char *keypath) strncpy(path+dirlen+1, finfo.cFileName, sublen); path[dirlen+1+sublen] = '\\'; strncpy(path+dirlen+1+sublen+1, keypath, keylen+1); - if (PathFileExists(path)) { + if (FileExists(path)) { /* Found a match, print to stdout */ path[dirlen+1+sublen] = '\0'; QualifyPath(path); diff --git a/win32/lib/nmake/rules.vc b/win32/lib/nmake/rules.vc index bbb412d..370d71b 100644 --- a/win32/lib/nmake/rules.vc +++ b/win32/lib/nmake/rules.vc @@ -24,7 +24,7 @@ _RULES_VC = 1 # For modifications that are not backward-compatible, you *must* change # the major version. RULES_VERSION_MAJOR = 1 -RULES_VERSION_MINOR = 0 +RULES_VERSION_MINOR = 2 # The PROJECT macro must be defined by parent makefile. !if "$(PROJECT)" == "" @@ -393,7 +393,7 @@ MSG = ^ !endif -# If INSTALLDIR set to tcl installation root dir then reset to the +# If INSTALLDIR set to Tcl installation root dir then reset to the # lib dir for installing extensions !if exist("$(_INSTALLDIR)\include\tcl.h") _INSTALLDIR=$(_INSTALLDIR)\lib @@ -535,7 +535,6 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!message *** Using $(NMAKEHLPC) !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif @@ -590,7 +589,6 @@ FPOPTS = $(FPOPTS) -QI0f OPTIMIZATIONS = $(FPOPTS) !if [nmakehlp -c -O2] -!message *** Compiler has 'Optimizations' OPTIMIZING = 1 OPTIMIZATIONS = $(OPTIMIZATIONS) -O2 !else @@ -1077,12 +1075,24 @@ TCL_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)" !if $(TCLINSTALL) # Building against an installed Tcl +# When building extensions, we need to locate tclsh. Depending on version +# of Tcl we are building against, this may or may not have a "t" suffix. +# Try various possibilities in turn. TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX).exe !if !exist("$(TCLSH)") && $(TCL_THREADS) TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)t$(SUFX).exe !endif +!if !exist("$(TCLSH)") +TCLSH = $(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX:t=).exe +!endif + TCLSTUBLIB = $(_TCLDIR)\lib\tclstub$(TCL_VERSION).lib TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX).lib +# When building extensions, may be linking against Tcl that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TCLIMPLIB)") +TCLIMPLIB = $(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX:t=).lib +!endif TCL_LIBRARY = $(_TCLDIR)\lib TCLREGLIB = $(_TCLDIR)\lib\tclreg13$(SUFX:t=).lib TCLDDELIB = $(_TCLDIR)\lib\tcldde14$(SUFX:t=).lib @@ -1095,8 +1105,16 @@ TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX).exe !if !exist($(TCLSH)) && $(TCL_THREADS) TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)t$(SUFX).exe !endif +!if !exist($(TCLSH)) +TCLSH = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX:t=).exe +!endif TCLSTUBLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX).lib +# When building extensions, may be linking against Tcl that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TCLIMPLIB)") +TCLIMPLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX:t=).lib +!endif TCL_LIBRARY = $(_TCLDIR)\library TCLREGLIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tclreg13$(SUFX:t=).lib TCLDDELIB = $(_TCLDIR)\win\$(BUILDDIRTOP)\tcldde14$(SUFX:t=).lib @@ -1140,11 +1158,23 @@ TK_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)" WISH = $(_TKDIR)\bin\$(WISHNAME) TKSTUBLIB = $(_TKDIR)\lib\$(TKSTUBLIBNAME) TKIMPLIB = $(_TKDIR)\lib\$(TKIMPLIBNAME) +# When building extensions, may be linking against Tk that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TKIMPLIB)") +TKIMPLIBNAME = tk$(TK_VERSION)$(SUFX:t=).lib +TKIMPLIB = $(_TKDIR)\lib\$(TKIMPLIBNAME) +!endif TK_INCLUDES = -I"$(_TKDIR)\include" !else # Building against Tk sources WISH = $(_TKDIR)\win\$(BUILDDIRTOP)\$(WISHNAME) TKSTUBLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKSTUBLIBNAME) TKIMPLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKIMPLIBNAME) +# When building extensions, may be linking against Tk that does not add +# "t" suffix (e.g. 8.5 or 8.7). If lib not found check for that possibility. +!if !exist("$(TKIMPLIB)") +TKIMPLIBNAME = tk$(TK_VERSION)$(SUFX:t=).lib +TKIMPLIB = $(_TKDIR)\win\$(BUILDDIRTOP)\$(TKIMPLIBNAME) +!endif TK_INCLUDES = -I"$(_TKDIR)\generic" -I"$(_TKDIR)\win" -I"$(_TKDIR)\xlib" !endif # TKINSTALL tklibs = "$(TKSTUBLIB)" "$(TKIMPLIB)" @@ -1179,7 +1209,7 @@ RESFILE = $(TMP_DIR)\$(PROJECT).res # SCRIPT_INSTALL_DIR - where scripts should be installed # INCLUDE_INSTALL_DIR - where C include files should be installed # DEMO_INSTALL_DIR - where demos should be installed -# PRJ_INSTALL_DIR - where package will be installed (not set for tcl and tk) +# PRJ_INSTALL_DIR - where package will be installed (not set for Tcl and Tk) !if $(DOING_TCL) || $(DOING_TK) LIB_INSTALL_DIR = $(_INSTALLDIR)\lib @@ -1201,7 +1231,7 @@ BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR) DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR) SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR) DEMO_INSTALL_DIR = $(PRJ_INSTALL_DIR)\demos -INCLUDE_INSTALL_DIR = $(_TCLDIR)\include +INCLUDE_INSTALL_DIR = $(_INSTALLDIR)\..\include !endif @@ -1717,7 +1747,6 @@ TCLNMAKECONFIG = "$(OUT_DIR)\tcl.nmake" !message *** Output directory will be '$(OUT_DIR)' !message *** Installation, if selected, will be in '$(_INSTALLDIR)' !message *** Suffix for binaries will be '$(SUFX)' -!message *** Compiler version $(VCVER). Target machine is $(MACHINE) -!message *** Host architecture is $(NATIVE_ARCH) +!message *** Compiler version $(VCVER). Target $(MACHINE), host $(NATIVE_ARCH). !endif # ifdef _RULES_VC diff --git a/win32/lib/reg1.3/pkgIndex.tcl b/win32/lib/reg1.3/pkgIndex.tcl index b1fe234..ee559b5 100644 --- a/win32/lib/reg1.3/pkgIndex.tcl +++ b/win32/lib/reg1.3/pkgIndex.tcl @@ -1,9 +1,9 @@ if {([info commands ::tcl::pkgconfig] eq "") || ([info sharedlibextension] ne ".dll")} return if {[::tcl::pkgconfig get debug]} { - package ifneeded registry 1.3.2 \ + package ifneeded registry 1.3.3 \ [list load [file join $dir tclreg13g.dll] registry] } else { - package ifneeded registry 1.3.2 \ + package ifneeded registry 1.3.3 \ [list load [file join $dir tclreg13.dll] registry] } diff --git a/win32/lib/reg1.3/tclreg13.dll b/win32/lib/reg1.3/tclreg13.dll index 05def7c..6b70959 100644 Binary files a/win32/lib/reg1.3/tclreg13.dll and b/win32/lib/reg1.3/tclreg13.dll differ diff --git a/win32/lib/tcl8.6/init.tcl b/win32/lib/tcl8.6/init.tcl index b3990df..8952172 100644 --- a/win32/lib/tcl8.6/init.tcl +++ b/win32/lib/tcl8.6/init.tcl @@ -16,7 +16,7 @@ if {[info commands package] == ""} { error "version mismatch: library\nscripts expect Tcl version 7.5b1 or later but the loaded version is\nonly [info patchlevel]" } -package require -exact Tcl 8.6.8 +package require -exact Tcl 8.6.9 # Compute the auto path to use in this interpreter. # The values on the path come from several locations: diff --git a/win32/lib/tcl8.6/tzdata/Africa/Accra b/win32/lib/tcl8.6/tzdata/Africa/Accra index 18f4522..f43f751 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/Accra +++ b/win32/lib/tcl8.6/tzdata/Africa/Accra @@ -2,51 +2,51 @@ set TZData(:Africa/Accra) { {-9223372036854775808 -52 0 LMT} - {-1640995148 0 0 +0020} - {-1556841600 1200 1 +0020} - {-1546388400 0 0 +0020} - {-1525305600 1200 1 +0020} - {-1514852400 0 0 +0020} - {-1493769600 1200 1 +0020} - {-1483316400 0 0 +0020} - {-1462233600 1200 1 +0020} - {-1451780400 0 0 +0020} - {-1430611200 1200 1 +0020} - {-1420158000 0 0 +0020} - {-1399075200 1200 1 +0020} - {-1388622000 0 0 +0020} - {-1367539200 1200 1 +0020} - {-1357086000 0 0 +0020} - {-1336003200 1200 1 +0020} - {-1325550000 0 0 +0020} - {-1304380800 1200 1 +0020} - {-1293927600 0 0 +0020} - {-1272844800 1200 1 +0020} - {-1262391600 0 0 +0020} - {-1241308800 1200 1 +0020} - {-1230855600 0 0 +0020} - {-1209772800 1200 1 +0020} - {-1199319600 0 0 +0020} - {-1178150400 1200 1 +0020} - {-1167697200 0 0 +0020} - {-1146614400 1200 1 +0020} - {-1136161200 0 0 +0020} - {-1115078400 1200 1 +0020} - {-1104625200 0 0 +0020} - {-1083542400 1200 1 +0020} - {-1073089200 0 0 +0020} - {-1051920000 1200 1 +0020} - {-1041466800 0 0 +0020} - {-1020384000 1200 1 +0020} - {-1009930800 0 0 +0020} - {-988848000 1200 1 +0020} - {-978394800 0 0 +0020} - {-957312000 1200 1 +0020} - {-946858800 0 0 +0020} - {-925689600 1200 1 +0020} - {-915236400 0 0 +0020} - {-894153600 1200 1 +0020} - {-883700400 0 0 +0020} - {-862617600 1200 1 +0020} - {-852164400 0 0 +0020} + {-1640995148 0 0 GMT} + {-1556841600 1200 1 GMT} + {-1546388400 0 0 GMT} + {-1525305600 1200 1 GMT} + {-1514852400 0 0 GMT} + {-1493769600 1200 1 GMT} + {-1483316400 0 0 GMT} + {-1462233600 1200 1 GMT} + {-1451780400 0 0 GMT} + {-1430611200 1200 1 GMT} + {-1420158000 0 0 GMT} + {-1399075200 1200 1 GMT} + {-1388622000 0 0 GMT} + {-1367539200 1200 1 GMT} + {-1357086000 0 0 GMT} + {-1336003200 1200 1 GMT} + {-1325550000 0 0 GMT} + {-1304380800 1200 1 GMT} + {-1293927600 0 0 GMT} + {-1272844800 1200 1 GMT} + {-1262391600 0 0 GMT} + {-1241308800 1200 1 GMT} + {-1230855600 0 0 GMT} + {-1209772800 1200 1 GMT} + {-1199319600 0 0 GMT} + {-1178150400 1200 1 GMT} + {-1167697200 0 0 GMT} + {-1146614400 1200 1 GMT} + {-1136161200 0 0 GMT} + {-1115078400 1200 1 GMT} + {-1104625200 0 0 GMT} + {-1083542400 1200 1 GMT} + {-1073089200 0 0 GMT} + {-1051920000 1200 1 GMT} + {-1041466800 0 0 GMT} + {-1020384000 1200 1 GMT} + {-1009930800 0 0 GMT} + {-988848000 1200 1 GMT} + {-978394800 0 0 GMT} + {-957312000 1200 1 GMT} + {-946858800 0 0 GMT} + {-925689600 1200 1 GMT} + {-915236400 0 0 GMT} + {-894153600 1200 1 GMT} + {-883700400 0 0 GMT} + {-862617600 1200 1 GMT} + {-852164400 0 0 GMT} } diff --git a/win32/lib/tcl8.6/tzdata/Africa/Bissau b/win32/lib/tcl8.6/tzdata/Africa/Bissau index 88d9d03..e0568fb 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/Bissau +++ b/win32/lib/tcl8.6/tzdata/Africa/Bissau @@ -2,6 +2,6 @@ set TZData(:Africa/Bissau) { {-9223372036854775808 -3740 0 LMT} - {-1830380260 -3600 0 -01} + {-1830380400 -3600 0 -01} {157770000 0 0 GMT} } diff --git a/win32/lib/tcl8.6/tzdata/Africa/Casablanca b/win32/lib/tcl8.6/tzdata/Africa/Casablanca index 33ad99b..3207e59 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/Casablanca +++ b/win32/lib/tcl8.6/tzdata/Africa/Casablanca @@ -2,229 +2,59 @@ set TZData(:Africa/Casablanca) { {-9223372036854775808 -1820 0 LMT} - {-1773012580 0 0 WET} - {-956361600 3600 1 WEST} - {-950490000 0 0 WET} - {-942019200 3600 1 WEST} - {-761187600 0 0 WET} - {-617241600 3600 1 WEST} - {-605149200 0 0 WET} - {-81432000 3600 1 WEST} - {-71110800 0 0 WET} - {141264000 3600 1 WEST} - {147222000 0 0 WET} - {199756800 3600 1 WEST} - {207702000 0 0 WET} - {231292800 3600 1 WEST} - {244249200 0 0 WET} - {265507200 3600 1 WEST} - {271033200 0 0 WET} - {448243200 3600 0 CET} - {504918000 0 0 WET} - {1212278400 3600 1 WEST} - {1220223600 0 0 WET} - {1243814400 3600 1 WEST} - {1250809200 0 0 WET} - {1272758400 3600 1 WEST} - {1281222000 0 0 WET} - {1301788800 3600 1 WEST} - {1312066800 0 0 WET} - {1335664800 3600 1 WEST} - {1342749600 0 0 WET} - {1345428000 3600 1 WEST} - {1348970400 0 0 WET} - {1367114400 3600 1 WEST} - {1373162400 0 0 WET} - {1376100000 3600 1 WEST} - {1382839200 0 0 WET} - {1396144800 3600 1 WEST} - {1403920800 0 0 WET} - {1406944800 3600 1 WEST} - {1414288800 0 0 WET} - {1427594400 3600 1 WEST} - {1434247200 0 0 WET} - {1437271200 3600 1 WEST} - {1445738400 0 0 WET} - {1459044000 3600 1 WEST} - {1465092000 0 0 WET} - {1468116000 3600 1 WEST} - {1477792800 0 0 WET} - {1490493600 3600 1 WEST} - {1495332000 0 0 WET} - {1498960800 3600 1 WEST} - {1509242400 0 0 WET} - {1521943200 3600 1 WEST} - {1526176800 0 0 WET} - {1529200800 3600 1 WEST} - {1540692000 0 0 WET} - {1553997600 3600 1 WEST} - {1557021600 0 0 WET} - {1560045600 3600 1 WEST} - {1572141600 0 0 WET} - {1585447200 3600 1 WEST} - {1587261600 0 0 WET} - {1590285600 3600 1 WEST} - {1603591200 0 0 WET} - {1616896800 3600 1 WEST} - {1618106400 0 0 WET} - {1621130400 3600 1 WEST} - {1635645600 0 0 WET} - {1651975200 3600 1 WEST} - {1667095200 0 0 WET} - {1682215200 3600 1 WEST} - {1698544800 0 0 WET} - {1713060000 3600 1 WEST} - {1729994400 0 0 WET} - {1743904800 3600 1 WEST} - {1761444000 0 0 WET} - {1774749600 3600 1 WEST} - {1792893600 0 0 WET} - {1806199200 3600 1 WEST} - {1824948000 0 0 WET} - {1837648800 3600 1 WEST} - {1856397600 0 0 WET} - {1869098400 3600 1 WEST} - {1887847200 0 0 WET} - {1901152800 3600 1 WEST} - {1919296800 0 0 WET} - {1932602400 3600 1 WEST} - {1950746400 0 0 WET} - {1964052000 3600 1 WEST} - {1982800800 0 0 WET} - {1995501600 3600 1 WEST} - {2014250400 0 0 WET} - {2026951200 3600 1 WEST} - {2045700000 0 0 WET} - {2058400800 3600 1 WEST} - {2077149600 0 0 WET} - {2090455200 3600 1 WEST} - {2107994400 0 0 WET} - {2108602800 0 0 WET} - {2121904800 3600 1 WEST} - {2138234400 0 0 WET} - {2140052400 0 0 WET} - {2153354400 3600 1 WEST} - {2172103200 0 0 WET} - {2184804000 3600 1 WEST} - {2203552800 0 0 WET} - {2216253600 3600 1 WEST} - {2235002400 0 0 WET} - {2248308000 3600 1 WEST} - {2266452000 0 0 WET} - {2279757600 3600 1 WEST} - {2297901600 0 0 WET} - {2311207200 3600 1 WEST} - {2329351200 0 0 WET} - {2342656800 3600 1 WEST} - {2361405600 0 0 WET} - {2374106400 3600 1 WEST} - {2392855200 0 0 WET} - {2405556000 3600 1 WEST} - {2424304800 0 0 WET} - {2437610400 3600 1 WEST} - {2455754400 0 0 WET} - {2469060000 3600 1 WEST} - {2487204000 0 0 WET} - {2500509600 3600 1 WEST} - {2519258400 0 0 WET} - {2531959200 3600 1 WEST} - {2550708000 0 0 WET} - {2563408800 3600 1 WEST} - {2582157600 0 0 WET} - {2595463200 3600 1 WEST} - {2613607200 0 0 WET} - {2626912800 3600 1 WEST} - {2645056800 0 0 WET} - {2658362400 3600 1 WEST} - {2676506400 0 0 WET} - {2689812000 3600 1 WEST} - {2708560800 0 0 WET} - {2721261600 3600 1 WEST} - {2740010400 0 0 WET} - {2752711200 3600 1 WEST} - {2771460000 0 0 WET} - {2784765600 3600 1 WEST} - {2802909600 0 0 WET} - {2816215200 3600 1 WEST} - {2834359200 0 0 WET} - {2847664800 3600 1 WEST} - {2866413600 0 0 WET} - {2879114400 3600 1 WEST} - {2897863200 0 0 WET} - {2910564000 3600 1 WEST} - {2929312800 0 0 WET} - {2942013600 3600 1 WEST} - {2960762400 0 0 WET} - {2974068000 3600 1 WEST} - {2992212000 0 0 WET} - {3005517600 3600 1 WEST} - {3023661600 0 0 WET} - {3036967200 3600 1 WEST} - {3055716000 0 0 WET} - {3068416800 3600 1 WEST} - {3087165600 0 0 WET} - {3099866400 3600 1 WEST} - {3118615200 0 0 WET} - {3131920800 3600 1 WEST} - {3150064800 0 0 WET} - {3163370400 3600 1 WEST} - {3181514400 0 0 WET} - {3194820000 3600 1 WEST} - {3212964000 0 0 WET} - {3226269600 3600 1 WEST} - {3245018400 0 0 WET} - {3257719200 3600 1 WEST} - {3276468000 0 0 WET} - {3289168800 3600 1 WEST} - {3307917600 0 0 WET} - {3321223200 3600 1 WEST} - {3339367200 0 0 WET} - {3352672800 3600 1 WEST} - {3370816800 0 0 WET} - {3384122400 3600 1 WEST} - {3402871200 0 0 WET} - {3415572000 3600 1 WEST} - {3434320800 0 0 WET} - {3447021600 3600 1 WEST} - {3465770400 0 0 WET} - {3479076000 3600 1 WEST} - {3497220000 0 0 WET} - {3510525600 3600 1 WEST} - {3528669600 0 0 WET} - {3541975200 3600 1 WEST} - {3560119200 0 0 WET} - {3573424800 3600 1 WEST} - {3592173600 0 0 WET} - {3604874400 3600 1 WEST} - {3623623200 0 0 WET} - {3636324000 3600 1 WEST} - {3655072800 0 0 WET} - {3668378400 3600 1 WEST} - {3686522400 0 0 WET} - {3699828000 3600 1 WEST} - {3717972000 0 0 WET} - {3731277600 3600 1 WEST} - {3750026400 0 0 WET} - {3762727200 3600 1 WEST} - {3781476000 0 0 WET} - {3794176800 3600 1 WEST} - {3812925600 0 0 WET} - {3825626400 3600 1 WEST} - {3844375200 0 0 WET} - {3857680800 3600 1 WEST} - {3875824800 0 0 WET} - {3889130400 3600 1 WEST} - {3907274400 0 0 WET} - {3920580000 3600 1 WEST} - {3939328800 0 0 WET} - {3952029600 3600 1 WEST} - {3970778400 0 0 WET} - {3983479200 3600 1 WEST} - {4002228000 0 0 WET} - {4015533600 3600 1 WEST} - {4033677600 0 0 WET} - {4046983200 3600 1 WEST} - {4065127200 0 0 WET} - {4078432800 3600 1 WEST} - {4096576800 0 0 WET} + {-1773012580 0 0 +00} + {-956361600 3600 1 +00} + {-950490000 0 0 +00} + {-942019200 3600 1 +00} + {-761187600 0 0 +00} + {-617241600 3600 1 +00} + {-605149200 0 0 +00} + {-81432000 3600 1 +00} + {-71110800 0 0 +00} + {141264000 3600 1 +00} + {147222000 0 0 +00} + {199756800 3600 1 +00} + {207702000 0 0 +00} + {231292800 3600 1 +00} + {244249200 0 0 +00} + {265507200 3600 1 +00} + {271033200 0 0 +00} + {448243200 3600 0 +01} + {504918000 0 0 +00} + {1212278400 3600 1 +00} + {1220223600 0 0 +00} + {1243814400 3600 1 +00} + {1250809200 0 0 +00} + {1272758400 3600 1 +00} + {1281222000 0 0 +00} + {1301788800 3600 1 +00} + {1312066800 0 0 +00} + {1335664800 3600 1 +00} + {1342749600 0 0 +00} + {1345428000 3600 1 +00} + {1348970400 0 0 +00} + {1367114400 3600 1 +00} + {1373162400 0 0 +00} + {1376100000 3600 1 +00} + {1382839200 0 0 +00} + {1396144800 3600 1 +00} + {1403920800 0 0 +00} + {1406944800 3600 1 +00} + {1414288800 0 0 +00} + {1427594400 3600 1 +00} + {1434247200 0 0 +00} + {1437271200 3600 1 +00} + {1445738400 0 0 +00} + {1459044000 3600 1 +00} + {1465092000 0 0 +00} + {1468116000 3600 1 +00} + {1477792800 0 0 +00} + {1490493600 3600 1 +00} + {1495332000 0 0 +00} + {1498960800 3600 1 +00} + {1509242400 0 0 +00} + {1521943200 3600 1 +00} + {1526176800 0 0 +00} + {1529200800 3600 1 +00} + {1540598400 3600 0 +01} } diff --git a/win32/lib/tcl8.6/tzdata/Africa/Ceuta b/win32/lib/tcl8.6/tzdata/Africa/Ceuta index 057ca22..18af8c1 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/Ceuta +++ b/win32/lib/tcl8.6/tzdata/Africa/Ceuta @@ -15,6 +15,7 @@ set TZData(:Africa/Ceuta) { {-1316390400 3600 1 WEST} {-1301270400 0 0 WET} {-1293840000 0 0 WET} + {-94694400 0 0 WET} {-81432000 3600 1 WEST} {-71110800 0 0 WET} {141264000 3600 1 WEST} diff --git a/win32/lib/tcl8.6/tzdata/Africa/El_Aaiun b/win32/lib/tcl8.6/tzdata/Africa/El_Aaiun index 7bdc496..e0f5e1c 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/El_Aaiun +++ b/win32/lib/tcl8.6/tzdata/Africa/El_Aaiun @@ -3,217 +3,47 @@ set TZData(:Africa/El_Aaiun) { {-9223372036854775808 -3168 0 LMT} {-1136070432 -3600 0 -01} - {198291600 0 0 WET} - {199756800 3600 1 WEST} - {207702000 0 0 WET} - {231292800 3600 1 WEST} - {244249200 0 0 WET} - {265507200 3600 1 WEST} - {271033200 0 0 WET} - {1212278400 3600 1 WEST} - {1220223600 0 0 WET} - {1243814400 3600 1 WEST} - {1250809200 0 0 WET} - {1272758400 3600 1 WEST} - {1281222000 0 0 WET} - {1301788800 3600 1 WEST} - {1312066800 0 0 WET} - {1335664800 3600 1 WEST} - {1342749600 0 0 WET} - {1345428000 3600 1 WEST} - {1348970400 0 0 WET} - {1367114400 3600 1 WEST} - {1373162400 0 0 WET} - {1376100000 3600 1 WEST} - {1382839200 0 0 WET} - {1396144800 3600 1 WEST} - {1403920800 0 0 WET} - {1406944800 3600 1 WEST} - {1414288800 0 0 WET} - {1427594400 3600 1 WEST} - {1434247200 0 0 WET} - {1437271200 3600 1 WEST} - {1445738400 0 0 WET} - {1459044000 3600 1 WEST} - {1465092000 0 0 WET} - {1468116000 3600 1 WEST} - {1477792800 0 0 WET} - {1490493600 3600 1 WEST} - {1495332000 0 0 WET} - {1498960800 3600 1 WEST} - {1509242400 0 0 WET} - {1521943200 3600 1 WEST} - {1526176800 0 0 WET} - {1529200800 3600 1 WEST} - {1540692000 0 0 WET} - {1553997600 3600 1 WEST} - {1557021600 0 0 WET} - {1560045600 3600 1 WEST} - {1572141600 0 0 WET} - {1585447200 3600 1 WEST} - {1587261600 0 0 WET} - {1590285600 3600 1 WEST} - {1603591200 0 0 WET} - {1616896800 3600 1 WEST} - {1618106400 0 0 WET} - {1621130400 3600 1 WEST} - {1635645600 0 0 WET} - {1651975200 3600 1 WEST} - {1667095200 0 0 WET} - {1682215200 3600 1 WEST} - {1698544800 0 0 WET} - {1713060000 3600 1 WEST} - {1729994400 0 0 WET} - {1743904800 3600 1 WEST} - {1761444000 0 0 WET} - {1774749600 3600 1 WEST} - {1792893600 0 0 WET} - {1806199200 3600 1 WEST} - {1824948000 0 0 WET} - {1837648800 3600 1 WEST} - {1856397600 0 0 WET} - {1869098400 3600 1 WEST} - {1887847200 0 0 WET} - {1901152800 3600 1 WEST} - {1919296800 0 0 WET} - {1932602400 3600 1 WEST} - {1950746400 0 0 WET} - {1964052000 3600 1 WEST} - {1982800800 0 0 WET} - {1995501600 3600 1 WEST} - {2014250400 0 0 WET} - {2026951200 3600 1 WEST} - {2045700000 0 0 WET} - {2058400800 3600 1 WEST} - {2077149600 0 0 WET} - {2090455200 3600 1 WEST} - {2107994400 0 0 WET} - {2108602800 0 0 WET} - {2121904800 3600 1 WEST} - {2138234400 0 0 WET} - {2140052400 0 0 WET} - {2153354400 3600 1 WEST} - {2172103200 0 0 WET} - {2184804000 3600 1 WEST} - {2203552800 0 0 WET} - {2216253600 3600 1 WEST} - {2235002400 0 0 WET} - {2248308000 3600 1 WEST} - {2266452000 0 0 WET} - {2279757600 3600 1 WEST} - {2297901600 0 0 WET} - {2311207200 3600 1 WEST} - {2329351200 0 0 WET} - {2342656800 3600 1 WEST} - {2361405600 0 0 WET} - {2374106400 3600 1 WEST} - {2392855200 0 0 WET} - {2405556000 3600 1 WEST} - {2424304800 0 0 WET} - {2437610400 3600 1 WEST} - {2455754400 0 0 WET} - {2469060000 3600 1 WEST} - {2487204000 0 0 WET} - {2500509600 3600 1 WEST} - {2519258400 0 0 WET} - {2531959200 3600 1 WEST} - {2550708000 0 0 WET} - {2563408800 3600 1 WEST} - {2582157600 0 0 WET} - {2595463200 3600 1 WEST} - {2613607200 0 0 WET} - {2626912800 3600 1 WEST} - {2645056800 0 0 WET} - {2658362400 3600 1 WEST} - {2676506400 0 0 WET} - {2689812000 3600 1 WEST} - {2708560800 0 0 WET} - {2721261600 3600 1 WEST} - {2740010400 0 0 WET} - {2752711200 3600 1 WEST} - {2771460000 0 0 WET} - {2784765600 3600 1 WEST} - {2802909600 0 0 WET} - {2816215200 3600 1 WEST} - {2834359200 0 0 WET} - {2847664800 3600 1 WEST} - {2866413600 0 0 WET} - {2879114400 3600 1 WEST} - {2897863200 0 0 WET} - {2910564000 3600 1 WEST} - {2929312800 0 0 WET} - {2942013600 3600 1 WEST} - {2960762400 0 0 WET} - {2974068000 3600 1 WEST} - {2992212000 0 0 WET} - {3005517600 3600 1 WEST} - {3023661600 0 0 WET} - {3036967200 3600 1 WEST} - {3055716000 0 0 WET} - {3068416800 3600 1 WEST} - {3087165600 0 0 WET} - {3099866400 3600 1 WEST} - {3118615200 0 0 WET} - {3131920800 3600 1 WEST} - {3150064800 0 0 WET} - {3163370400 3600 1 WEST} - {3181514400 0 0 WET} - {3194820000 3600 1 WEST} - {3212964000 0 0 WET} - {3226269600 3600 1 WEST} - {3245018400 0 0 WET} - {3257719200 3600 1 WEST} - {3276468000 0 0 WET} - {3289168800 3600 1 WEST} - {3307917600 0 0 WET} - {3321223200 3600 1 WEST} - {3339367200 0 0 WET} - {3352672800 3600 1 WEST} - {3370816800 0 0 WET} - {3384122400 3600 1 WEST} - {3402871200 0 0 WET} - {3415572000 3600 1 WEST} - {3434320800 0 0 WET} - {3447021600 3600 1 WEST} - {3465770400 0 0 WET} - {3479076000 3600 1 WEST} - {3497220000 0 0 WET} - {3510525600 3600 1 WEST} - {3528669600 0 0 WET} - {3541975200 3600 1 WEST} - {3560119200 0 0 WET} - {3573424800 3600 1 WEST} - {3592173600 0 0 WET} - {3604874400 3600 1 WEST} - {3623623200 0 0 WET} - {3636324000 3600 1 WEST} - {3655072800 0 0 WET} - {3668378400 3600 1 WEST} - {3686522400 0 0 WET} - {3699828000 3600 1 WEST} - {3717972000 0 0 WET} - {3731277600 3600 1 WEST} - {3750026400 0 0 WET} - {3762727200 3600 1 WEST} - {3781476000 0 0 WET} - {3794176800 3600 1 WEST} - {3812925600 0 0 WET} - {3825626400 3600 1 WEST} - {3844375200 0 0 WET} - {3857680800 3600 1 WEST} - {3875824800 0 0 WET} - {3889130400 3600 1 WEST} - {3907274400 0 0 WET} - {3920580000 3600 1 WEST} - {3939328800 0 0 WET} - {3952029600 3600 1 WEST} - {3970778400 0 0 WET} - {3983479200 3600 1 WEST} - {4002228000 0 0 WET} - {4015533600 3600 1 WEST} - {4033677600 0 0 WET} - {4046983200 3600 1 WEST} - {4065127200 0 0 WET} - {4078432800 3600 1 WEST} - {4096576800 0 0 WET} + {198291600 0 0 +00} + {199756800 3600 1 +00} + {207702000 0 0 +00} + {231292800 3600 1 +00} + {244249200 0 0 +00} + {265507200 3600 1 +00} + {271033200 0 0 +00} + {1212278400 3600 1 +00} + {1220223600 0 0 +00} + {1243814400 3600 1 +00} + {1250809200 0 0 +00} + {1272758400 3600 1 +00} + {1281222000 0 0 +00} + {1301788800 3600 1 +00} + {1312066800 0 0 +00} + {1335664800 3600 1 +00} + {1342749600 0 0 +00} + {1345428000 3600 1 +00} + {1348970400 0 0 +00} + {1367114400 3600 1 +00} + {1373162400 0 0 +00} + {1376100000 3600 1 +00} + {1382839200 0 0 +00} + {1396144800 3600 1 +00} + {1403920800 0 0 +00} + {1406944800 3600 1 +00} + {1414288800 0 0 +00} + {1427594400 3600 1 +00} + {1434247200 0 0 +00} + {1437271200 3600 1 +00} + {1445738400 0 0 +00} + {1459044000 3600 1 +00} + {1465092000 0 0 +00} + {1468116000 3600 1 +00} + {1477792800 0 0 +00} + {1490493600 3600 1 +00} + {1495332000 0 0 +00} + {1498960800 3600 1 +00} + {1509242400 0 0 +00} + {1521943200 3600 1 +00} + {1526176800 0 0 +00} + {1529200800 3600 1 +00} + {1540598400 3600 0 +01} } diff --git a/win32/lib/tcl8.6/tzdata/Africa/Sao_Tome b/win32/lib/tcl8.6/tzdata/Africa/Sao_Tome index 078591d..6a60f5c 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/Sao_Tome +++ b/win32/lib/tcl8.6/tzdata/Africa/Sao_Tome @@ -1,5 +1,8 @@ # created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Africa/Abidjan)]} { - LoadTimeZoneFile Africa/Abidjan + +set TZData(:Africa/Sao_Tome) { + {-9223372036854775808 1616 0 LMT} + {-2713912016 -2205 0 LMT} + {-1830384000 0 0 GMT} + {1514768400 3600 0 WAT} } -set TZData(:Africa/Sao_Tome) $TZData(:Africa/Abidjan) diff --git a/win32/lib/tcl8.6/tzdata/Africa/Windhoek b/win32/lib/tcl8.6/tzdata/Africa/Windhoek index 974ebda..d03c8b8 100644 --- a/win32/lib/tcl8.6/tzdata/Africa/Windhoek +++ b/win32/lib/tcl8.6/tzdata/Africa/Windhoek @@ -7,53 +7,52 @@ set TZData(:Africa/Windhoek) { {-860976000 10800 1 SAST} {-845254800 7200 0 SAST} {637970400 7200 0 CAT} - {764200800 3600 0 WAT} - {764204400 3600 0 WAT} - {778640400 7200 1 WAST} - {796780800 3600 0 WAT} - {810090000 7200 1 WAST} - {828835200 3600 0 WAT} - {841539600 7200 1 WAST} - {860284800 3600 0 WAT} - {873594000 7200 1 WAST} - {891734400 3600 0 WAT} - {905043600 7200 1 WAST} - {923184000 3600 0 WAT} - {936493200 7200 1 WAST} - {954633600 3600 0 WAT} - {967942800 7200 1 WAST} - {986083200 3600 0 WAT} - {999392400 7200 1 WAST} - {1018137600 3600 0 WAT} - {1030842000 7200 1 WAST} - {1049587200 3600 0 WAT} - {1062896400 7200 1 WAST} - {1081036800 3600 0 WAT} - {1094346000 7200 1 WAST} - {1112486400 3600 0 WAT} - {1125795600 7200 1 WAST} - {1143936000 3600 0 WAT} - {1157245200 7200 1 WAST} - {1175385600 3600 0 WAT} - {1188694800 7200 1 WAST} - {1207440000 3600 0 WAT} - {1220749200 7200 1 WAST} - {1238889600 3600 0 WAT} - {1252198800 7200 1 WAST} - {1270339200 3600 0 WAT} - {1283648400 7200 1 WAST} - {1301788800 3600 0 WAT} - {1315098000 7200 1 WAST} - {1333238400 3600 0 WAT} - {1346547600 7200 1 WAST} - {1365292800 3600 0 WAT} - {1377997200 7200 1 WAST} - {1396742400 3600 0 WAT} - {1410051600 7200 1 WAST} - {1428192000 3600 0 WAT} - {1441501200 7200 1 WAST} - {1459641600 3600 0 WAT} - {1472950800 7200 1 WAST} - {1491091200 3600 0 WAT} + {764200800 3600 1 WAT} + {778640400 7200 0 CAT} + {796780800 3600 1 WAT} + {810090000 7200 0 CAT} + {828835200 3600 1 WAT} + {841539600 7200 0 CAT} + {860284800 3600 1 WAT} + {873594000 7200 0 CAT} + {891734400 3600 1 WAT} + {905043600 7200 0 CAT} + {923184000 3600 1 WAT} + {936493200 7200 0 CAT} + {954633600 3600 1 WAT} + {967942800 7200 0 CAT} + {986083200 3600 1 WAT} + {999392400 7200 0 CAT} + {1018137600 3600 1 WAT} + {1030842000 7200 0 CAT} + {1049587200 3600 1 WAT} + {1062896400 7200 0 CAT} + {1081036800 3600 1 WAT} + {1094346000 7200 0 CAT} + {1112486400 3600 1 WAT} + {1125795600 7200 0 CAT} + {1143936000 3600 1 WAT} + {1157245200 7200 0 CAT} + {1175385600 3600 1 WAT} + {1188694800 7200 0 CAT} + {1207440000 3600 1 WAT} + {1220749200 7200 0 CAT} + {1238889600 3600 1 WAT} + {1252198800 7200 0 CAT} + {1270339200 3600 1 WAT} + {1283648400 7200 0 CAT} + {1301788800 3600 1 WAT} + {1315098000 7200 0 CAT} + {1333238400 3600 1 WAT} + {1346547600 7200 0 CAT} + {1365292800 3600 1 WAT} + {1377997200 7200 0 CAT} + {1396742400 3600 1 WAT} + {1410051600 7200 0 CAT} + {1428192000 3600 1 WAT} + {1441501200 7200 0 CAT} + {1459641600 3600 1 WAT} + {1472950800 7200 0 CAT} + {1491091200 3600 1 WAT} {1504400400 7200 0 CAT} } diff --git a/win32/lib/tcl8.6/tzdata/America/Araguaina b/win32/lib/tcl8.6/tzdata/America/Araguaina index b9e2aec..ca64292 100644 --- a/win32/lib/tcl8.6/tzdata/America/Araguaina +++ b/win32/lib/tcl8.6/tzdata/America/Araguaina @@ -3,58 +3,58 @@ set TZData(:America/Araguaina) { {-9223372036854775808 -11568 0 LMT} {-1767214032 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {811047600 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} - {844570800 -7200 1 -02} + {844570800 -7200 1 -03} {856058400 -10800 0 -03} - {876106800 -7200 1 -02} + {876106800 -7200 1 -03} {888717600 -10800 0 -03} - {908074800 -7200 1 -02} + {908074800 -7200 1 -03} {919562400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {982461600 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} - {1036292400 -7200 1 -02} + {1036292400 -7200 1 -03} {1045360800 -10800 0 -03} {1064368800 -10800 0 -03} - {1350788400 -7200 0 -02} + {1350788400 -7200 0 -03} {1361066400 -10800 0 -03} {1378000800 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires b/win32/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires index 8be2c45..40f1912 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Buenos_Aires @@ -4,64 +4,64 @@ set TZData(:America/Argentina/Buenos_Aires) { {-9223372036854775808 -14028 0 LMT} {-2372097972 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1237082400 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Catamarca b/win32/lib/tcl8.6/tzdata/America/Argentina/Catamarca index a546bfc..da5b42a 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Catamarca +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Catamarca @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Catamarca) { {-9223372036854775808 -15788 0 LMT} {-2372096212 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Cordoba b/win32/lib/tcl8.6/tzdata/America/Argentina/Cordoba index ec6978e..6a1426e 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Cordoba +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Cordoba @@ -4,64 +4,64 @@ set TZData(:America/Argentina/Cordoba) { {-9223372036854775808 -15408 0 LMT} {-2372096592 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1237082400 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Jujuy b/win32/lib/tcl8.6/tzdata/America/Argentina/Jujuy index 0e11ba2..72080f5 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Jujuy +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Jujuy @@ -4,64 +4,64 @@ set TZData(:America/Argentina/Jujuy) { {-9223372036854775808 -15672 0 LMT} {-2372096328 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -14400 0 -04} {657086400 -10800 1 -03} {669178800 -14400 0 -04} {686721600 -7200 1 -02} {694231200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/La_Rioja b/win32/lib/tcl8.6/tzdata/America/Argentina/La_Rioja index 90e0030..fb7b237 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/La_Rioja +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/La_Rioja @@ -4,66 +4,66 @@ set TZData(:America/Argentina/La_Rioja) { {-9223372036854775808 -16044 0 LMT} {-2372095956 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667792800 -14400 0 -04} {673588800 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Mendoza b/win32/lib/tcl8.6/tzdata/America/Argentina/Mendoza index 8dfcd2b..af7342e 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Mendoza +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Mendoza @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Mendoza) { {-9223372036854775808 -16516 0 LMT} {-2372095484 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -14400 0 -04} {655963200 -10800 1 -03} {667796400 -14400 0 -04} {687499200 -10800 1 -03} {699418800 -14400 0 -04} - {719380800 -7200 0 -02} + {719380800 -7200 0 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1085281200 -14400 0 -04} {1096171200 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos b/win32/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos index 4b2a348..2a197a4 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Rio_Gallegos @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Rio_Gallegos) { {-9223372036854775808 -16612 0 LMT} {-2372095388 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Salta b/win32/lib/tcl8.6/tzdata/America/Argentina/Salta index 4f9ccf9..d49e82f 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Salta +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Salta @@ -4,63 +4,63 @@ set TZData(:America/Argentina/Salta) { {-9223372036854775808 -15700 0 LMT} {-2372096300 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/San_Juan b/win32/lib/tcl8.6/tzdata/America/Argentina/San_Juan index 1f0530a..d67f688 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/San_Juan +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/San_Juan @@ -4,66 +4,66 @@ set TZData(:America/Argentina/San_Juan) { {-9223372036854775808 -16444 0 LMT} {-2372095556 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667792800 -14400 0 -04} {673588800 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1085972400 -14400 0 -04} {1090728000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/San_Luis b/win32/lib/tcl8.6/tzdata/America/Argentina/San_Luis index 3583a39..4d27c32 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/San_Luis +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/San_Luis @@ -4,52 +4,52 @@ set TZData(:America/Argentina/San_Luis) { {-9223372036854775808 -15924 0 LMT} {-2372096076 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {631159200 -7200 1 -02} {637380000 -14400 0 -04} {655963200 -10800 1 -03} @@ -59,10 +59,10 @@ set TZData(:America/Argentina/San_Luis) { {952052400 -10800 0 -03} {1085972400 -14400 0 -04} {1090728000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1200880800 -10800 0 -04} {1205031600 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1236481200 -14400 0 -04} {1255233600 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Tucuman b/win32/lib/tcl8.6/tzdata/America/Argentina/Tucuman index 15c5c63..6809800 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Tucuman +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Tucuman @@ -4,66 +4,66 @@ set TZData(:America/Argentina/Tucuman) { {-9223372036854775808 -15652 0 LMT} {-2372096348 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -14400 0 -04} - {687931200 -7200 0 -02} + {687931200 -7200 0 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1086058800 -14400 0 -04} {1087099200 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1237082400 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Argentina/Ushuaia b/win32/lib/tcl8.6/tzdata/America/Argentina/Ushuaia index 4214c1d..c62ca0d 100644 --- a/win32/lib/tcl8.6/tzdata/America/Argentina/Ushuaia +++ b/win32/lib/tcl8.6/tzdata/America/Argentina/Ushuaia @@ -4,65 +4,65 @@ set TZData(:America/Argentina/Ushuaia) { {-9223372036854775808 -16392 0 LMT} {-2372095608 -15408 0 CMT} {-1567453392 -14400 0 -04} - {-1233432000 -10800 0 -03} + {-1233432000 -10800 0 -04} {-1222981200 -14400 0 -04} - {-1205956800 -10800 1 -03} + {-1205956800 -10800 1 -04} {-1194037200 -14400 0 -04} - {-1172865600 -10800 1 -03} + {-1172865600 -10800 1 -04} {-1162501200 -14400 0 -04} - {-1141329600 -10800 1 -03} + {-1141329600 -10800 1 -04} {-1130965200 -14400 0 -04} - {-1109793600 -10800 1 -03} + {-1109793600 -10800 1 -04} {-1099429200 -14400 0 -04} - {-1078257600 -10800 1 -03} + {-1078257600 -10800 1 -04} {-1067806800 -14400 0 -04} - {-1046635200 -10800 1 -03} + {-1046635200 -10800 1 -04} {-1036270800 -14400 0 -04} - {-1015099200 -10800 1 -03} + {-1015099200 -10800 1 -04} {-1004734800 -14400 0 -04} - {-983563200 -10800 1 -03} + {-983563200 -10800 1 -04} {-973198800 -14400 0 -04} - {-952027200 -10800 1 -03} + {-952027200 -10800 1 -04} {-941576400 -14400 0 -04} - {-931032000 -10800 1 -03} + {-931032000 -10800 1 -04} {-900882000 -14400 0 -04} - {-890337600 -10800 1 -03} + {-890337600 -10800 1 -04} {-833749200 -14400 0 -04} - {-827265600 -10800 1 -03} + {-827265600 -10800 1 -04} {-752274000 -14400 0 -04} - {-733780800 -10800 1 -03} + {-733780800 -10800 1 -04} {-197326800 -14400 0 -04} - {-190843200 -10800 1 -03} + {-190843200 -10800 1 -04} {-184194000 -14400 0 -04} - {-164491200 -10800 1 -03} + {-164491200 -10800 1 -04} {-152658000 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} - {596948400 -7200 1 -02} + {596948400 -7200 1 -03} {605066400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {731469600 -10800 0 -03} {938916000 -10800 0 -04} - {938919600 -10800 1 -03} + {938919600 -10800 1 -04} {952056000 -10800 0 -03} {1085886000 -14400 0 -04} {1087704000 -10800 0 -03} - {1198983600 -7200 1 -02} + {1198983600 -7200 1 -03} {1205632800 -10800 0 -03} {1224295200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Asuncion b/win32/lib/tcl8.6/tzdata/America/Asuncion index 606db57..8e6c1b0 100644 --- a/win32/lib/tcl8.6/tzdata/America/Asuncion +++ b/win32/lib/tcl8.6/tzdata/America/Asuncion @@ -7,253 +7,253 @@ set TZData(:America/Asuncion) { {86760000 -10800 0 -03} {134017200 -14400 0 -04} {162878400 -14400 0 -04} - {181368000 -10800 1 -03} + {181368000 -10800 1 -04} {194497200 -14400 0 -04} - {212990400 -10800 1 -03} + {212990400 -10800 1 -04} {226033200 -14400 0 -04} - {244526400 -10800 1 -03} + {244526400 -10800 1 -04} {257569200 -14400 0 -04} - {276062400 -10800 1 -03} + {276062400 -10800 1 -04} {291783600 -14400 0 -04} - {307598400 -10800 1 -03} + {307598400 -10800 1 -04} {323406000 -14400 0 -04} - {339220800 -10800 1 -03} + {339220800 -10800 1 -04} {354942000 -14400 0 -04} - {370756800 -10800 1 -03} + {370756800 -10800 1 -04} {386478000 -14400 0 -04} - {402292800 -10800 1 -03} + {402292800 -10800 1 -04} {418014000 -14400 0 -04} - {433828800 -10800 1 -03} + {433828800 -10800 1 -04} {449636400 -14400 0 -04} - {465451200 -10800 1 -03} + {465451200 -10800 1 -04} {481172400 -14400 0 -04} - {496987200 -10800 1 -03} + {496987200 -10800 1 -04} {512708400 -14400 0 -04} - {528523200 -10800 1 -03} + {528523200 -10800 1 -04} {544244400 -14400 0 -04} - {560059200 -10800 1 -03} + {560059200 -10800 1 -04} {575866800 -14400 0 -04} - {591681600 -10800 1 -03} + {591681600 -10800 1 -04} {607402800 -14400 0 -04} - {625032000 -10800 1 -03} + {625032000 -10800 1 -04} {638938800 -14400 0 -04} - {654753600 -10800 1 -03} + {654753600 -10800 1 -04} {670474800 -14400 0 -04} - {686721600 -10800 1 -03} + {686721600 -10800 1 -04} {699418800 -14400 0 -04} - {718257600 -10800 1 -03} + {718257600 -10800 1 -04} {733546800 -14400 0 -04} - {749448000 -10800 1 -03} + {749448000 -10800 1 -04} {762318000 -14400 0 -04} - {780984000 -10800 1 -03} + {780984000 -10800 1 -04} {793767600 -14400 0 -04} - {812520000 -10800 1 -03} + {812520000 -10800 1 -04} {825649200 -14400 0 -04} - {844574400 -10800 1 -03} + {844574400 -10800 1 -04} {856666800 -14400 0 -04} - {876024000 -10800 1 -03} + {876024000 -10800 1 -04} {888721200 -14400 0 -04} - {907473600 -10800 1 -03} + {907473600 -10800 1 -04} {920775600 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {952225200 -14400 0 -04} - {970372800 -10800 1 -03} + {970372800 -10800 1 -04} {983674800 -14400 0 -04} - {1002427200 -10800 1 -03} + {1002427200 -10800 1 -04} {1018148400 -14400 0 -04} - {1030852800 -10800 1 -03} + {1030852800 -10800 1 -04} {1049598000 -14400 0 -04} - {1062907200 -10800 1 -03} + {1062907200 -10800 1 -04} {1081047600 -14400 0 -04} - {1097985600 -10800 1 -03} + {1097985600 -10800 1 -04} {1110682800 -14400 0 -04} - {1129435200 -10800 1 -03} + {1129435200 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192939200 -10800 1 -03} + {1192939200 -10800 1 -04} {1205031600 -14400 0 -04} - {1224388800 -10800 1 -03} + {1224388800 -10800 1 -04} {1236481200 -14400 0 -04} - {1255838400 -10800 1 -03} + {1255838400 -10800 1 -04} {1270954800 -14400 0 -04} - {1286078400 -10800 1 -03} + {1286078400 -10800 1 -04} {1302404400 -14400 0 -04} - {1317528000 -10800 1 -03} + {1317528000 -10800 1 -04} {1333854000 -14400 0 -04} - {1349582400 -10800 1 -03} + {1349582400 -10800 1 -04} {1364094000 -14400 0 -04} - {1381032000 -10800 1 -03} + {1381032000 -10800 1 -04} {1395543600 -14400 0 -04} - {1412481600 -10800 1 -03} + {1412481600 -10800 1 -04} {1426993200 -14400 0 -04} - {1443931200 -10800 1 -03} + {1443931200 -10800 1 -04} {1459047600 -14400 0 -04} - {1475380800 -10800 1 -03} + {1475380800 -10800 1 -04} {1490497200 -14400 0 -04} - {1506830400 -10800 1 -03} + {1506830400 -10800 1 -04} {1521946800 -14400 0 -04} - {1538884800 -10800 1 -03} + {1538884800 -10800 1 -04} {1553396400 -14400 0 -04} - {1570334400 -10800 1 -03} + {1570334400 -10800 1 -04} {1584846000 -14400 0 -04} - {1601784000 -10800 1 -03} + {1601784000 -10800 1 -04} {1616900400 -14400 0 -04} - {1633233600 -10800 1 -03} + {1633233600 -10800 1 -04} {1648350000 -14400 0 -04} - {1664683200 -10800 1 -03} + {1664683200 -10800 1 -04} {1679799600 -14400 0 -04} - {1696132800 -10800 1 -03} + {1696132800 -10800 1 -04} {1711249200 -14400 0 -04} - {1728187200 -10800 1 -03} + {1728187200 -10800 1 -04} {1742698800 -14400 0 -04} - {1759636800 -10800 1 -03} + {1759636800 -10800 1 -04} {1774148400 -14400 0 -04} - {1791086400 -10800 1 -03} + {1791086400 -10800 1 -04} {1806202800 -14400 0 -04} - {1822536000 -10800 1 -03} + {1822536000 -10800 1 -04} {1837652400 -14400 0 -04} - {1853985600 -10800 1 -03} + {1853985600 -10800 1 -04} {1869102000 -14400 0 -04} - {1886040000 -10800 1 -03} + {1886040000 -10800 1 -04} {1900551600 -14400 0 -04} - {1917489600 -10800 1 -03} + {1917489600 -10800 1 -04} {1932001200 -14400 0 -04} - {1948939200 -10800 1 -03} + {1948939200 -10800 1 -04} {1964055600 -14400 0 -04} - {1980388800 -10800 1 -03} + {1980388800 -10800 1 -04} {1995505200 -14400 0 -04} - {2011838400 -10800 1 -03} + {2011838400 -10800 1 -04} {2026954800 -14400 0 -04} - {2043288000 -10800 1 -03} + {2043288000 -10800 1 -04} {2058404400 -14400 0 -04} - {2075342400 -10800 1 -03} + {2075342400 -10800 1 -04} {2089854000 -14400 0 -04} - {2106792000 -10800 1 -03} + {2106792000 -10800 1 -04} {2121303600 -14400 0 -04} - {2138241600 -10800 1 -03} + {2138241600 -10800 1 -04} {2153358000 -14400 0 -04} - {2169691200 -10800 1 -03} + {2169691200 -10800 1 -04} {2184807600 -14400 0 -04} - {2201140800 -10800 1 -03} + {2201140800 -10800 1 -04} {2216257200 -14400 0 -04} - {2233195200 -10800 1 -03} + {2233195200 -10800 1 -04} {2247706800 -14400 0 -04} - {2264644800 -10800 1 -03} + {2264644800 -10800 1 -04} {2279156400 -14400 0 -04} - {2296094400 -10800 1 -03} + {2296094400 -10800 1 -04} {2310606000 -14400 0 -04} - {2327544000 -10800 1 -03} + {2327544000 -10800 1 -04} {2342660400 -14400 0 -04} - {2358993600 -10800 1 -03} + {2358993600 -10800 1 -04} {2374110000 -14400 0 -04} - {2390443200 -10800 1 -03} + {2390443200 -10800 1 -04} {2405559600 -14400 0 -04} - {2422497600 -10800 1 -03} + {2422497600 -10800 1 -04} {2437009200 -14400 0 -04} - {2453947200 -10800 1 -03} + {2453947200 -10800 1 -04} {2468458800 -14400 0 -04} - {2485396800 -10800 1 -03} + {2485396800 -10800 1 -04} {2500513200 -14400 0 -04} - {2516846400 -10800 1 -03} + {2516846400 -10800 1 -04} {2531962800 -14400 0 -04} - {2548296000 -10800 1 -03} + {2548296000 -10800 1 -04} {2563412400 -14400 0 -04} - {2579745600 -10800 1 -03} + {2579745600 -10800 1 -04} {2594862000 -14400 0 -04} - {2611800000 -10800 1 -03} + {2611800000 -10800 1 -04} {2626311600 -14400 0 -04} - {2643249600 -10800 1 -03} + {2643249600 -10800 1 -04} {2657761200 -14400 0 -04} - {2674699200 -10800 1 -03} + {2674699200 -10800 1 -04} {2689815600 -14400 0 -04} - {2706148800 -10800 1 -03} + {2706148800 -10800 1 -04} {2721265200 -14400 0 -04} - {2737598400 -10800 1 -03} + {2737598400 -10800 1 -04} {2752714800 -14400 0 -04} - {2769652800 -10800 1 -03} + {2769652800 -10800 1 -04} {2784164400 -14400 0 -04} - {2801102400 -10800 1 -03} + {2801102400 -10800 1 -04} {2815614000 -14400 0 -04} - {2832552000 -10800 1 -03} + {2832552000 -10800 1 -04} {2847668400 -14400 0 -04} - {2864001600 -10800 1 -03} + {2864001600 -10800 1 -04} {2879118000 -14400 0 -04} - {2895451200 -10800 1 -03} + {2895451200 -10800 1 -04} {2910567600 -14400 0 -04} - {2926900800 -10800 1 -03} + {2926900800 -10800 1 -04} {2942017200 -14400 0 -04} - {2958955200 -10800 1 -03} + {2958955200 -10800 1 -04} {2973466800 -14400 0 -04} - {2990404800 -10800 1 -03} + {2990404800 -10800 1 -04} {3004916400 -14400 0 -04} - {3021854400 -10800 1 -03} + {3021854400 -10800 1 -04} {3036970800 -14400 0 -04} - {3053304000 -10800 1 -03} + {3053304000 -10800 1 -04} {3068420400 -14400 0 -04} - {3084753600 -10800 1 -03} + {3084753600 -10800 1 -04} {3099870000 -14400 0 -04} - {3116808000 -10800 1 -03} + {3116808000 -10800 1 -04} {3131319600 -14400 0 -04} - {3148257600 -10800 1 -03} + {3148257600 -10800 1 -04} {3162769200 -14400 0 -04} - {3179707200 -10800 1 -03} + {3179707200 -10800 1 -04} {3194218800 -14400 0 -04} - {3211156800 -10800 1 -03} + {3211156800 -10800 1 -04} {3226273200 -14400 0 -04} - {3242606400 -10800 1 -03} + {3242606400 -10800 1 -04} {3257722800 -14400 0 -04} - {3274056000 -10800 1 -03} + {3274056000 -10800 1 -04} {3289172400 -14400 0 -04} - {3306110400 -10800 1 -03} + {3306110400 -10800 1 -04} {3320622000 -14400 0 -04} - {3337560000 -10800 1 -03} + {3337560000 -10800 1 -04} {3352071600 -14400 0 -04} - {3369009600 -10800 1 -03} + {3369009600 -10800 1 -04} {3384126000 -14400 0 -04} - {3400459200 -10800 1 -03} + {3400459200 -10800 1 -04} {3415575600 -14400 0 -04} - {3431908800 -10800 1 -03} + {3431908800 -10800 1 -04} {3447025200 -14400 0 -04} - {3463358400 -10800 1 -03} + {3463358400 -10800 1 -04} {3478474800 -14400 0 -04} - {3495412800 -10800 1 -03} + {3495412800 -10800 1 -04} {3509924400 -14400 0 -04} - {3526862400 -10800 1 -03} + {3526862400 -10800 1 -04} {3541374000 -14400 0 -04} - {3558312000 -10800 1 -03} + {3558312000 -10800 1 -04} {3573428400 -14400 0 -04} - {3589761600 -10800 1 -03} + {3589761600 -10800 1 -04} {3604878000 -14400 0 -04} - {3621211200 -10800 1 -03} + {3621211200 -10800 1 -04} {3636327600 -14400 0 -04} - {3653265600 -10800 1 -03} + {3653265600 -10800 1 -04} {3667777200 -14400 0 -04} - {3684715200 -10800 1 -03} + {3684715200 -10800 1 -04} {3699226800 -14400 0 -04} - {3716164800 -10800 1 -03} + {3716164800 -10800 1 -04} {3731281200 -14400 0 -04} - {3747614400 -10800 1 -03} + {3747614400 -10800 1 -04} {3762730800 -14400 0 -04} - {3779064000 -10800 1 -03} + {3779064000 -10800 1 -04} {3794180400 -14400 0 -04} - {3810513600 -10800 1 -03} + {3810513600 -10800 1 -04} {3825630000 -14400 0 -04} - {3842568000 -10800 1 -03} + {3842568000 -10800 1 -04} {3857079600 -14400 0 -04} - {3874017600 -10800 1 -03} + {3874017600 -10800 1 -04} {3888529200 -14400 0 -04} - {3905467200 -10800 1 -03} + {3905467200 -10800 1 -04} {3920583600 -14400 0 -04} - {3936916800 -10800 1 -03} + {3936916800 -10800 1 -04} {3952033200 -14400 0 -04} - {3968366400 -10800 1 -03} + {3968366400 -10800 1 -04} {3983482800 -14400 0 -04} - {4000420800 -10800 1 -03} + {4000420800 -10800 1 -04} {4014932400 -14400 0 -04} - {4031870400 -10800 1 -03} + {4031870400 -10800 1 -04} {4046382000 -14400 0 -04} - {4063320000 -10800 1 -03} + {4063320000 -10800 1 -04} {4077831600 -14400 0 -04} - {4094769600 -10800 1 -03} + {4094769600 -10800 1 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Bahia b/win32/lib/tcl8.6/tzdata/America/Bahia index 7dbcb90..7aaf834 100644 --- a/win32/lib/tcl8.6/tzdata/America/Bahia +++ b/win32/lib/tcl8.6/tzdata/America/Bahia @@ -3,66 +3,66 @@ set TZData(:America/Bahia) { {-9223372036854775808 -9244 0 LMT} {-1767216356 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {666756000 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {697600800 -10800 0 -03} - {719982000 -7200 1 -02} + {719982000 -7200 1 -03} {728445600 -10800 0 -03} - {750826800 -7200 1 -02} + {750826800 -7200 1 -03} {761709600 -10800 0 -03} - {782276400 -7200 1 -02} + {782276400 -7200 1 -03} {793159200 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} - {844570800 -7200 1 -02} + {844570800 -7200 1 -03} {856058400 -10800 0 -03} - {876106800 -7200 1 -02} + {876106800 -7200 1 -03} {888717600 -10800 0 -03} - {908074800 -7200 1 -02} + {908074800 -7200 1 -03} {919562400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {982461600 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} - {1036292400 -7200 1 -02} + {1036292400 -7200 1 -03} {1045360800 -10800 0 -03} {1064368800 -10800 0 -03} - {1318734000 -7200 0 -02} + {1318734000 -7200 0 -03} {1330221600 -10800 0 -03} {1350784800 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Belem b/win32/lib/tcl8.6/tzdata/America/Belem index b2bf3a6..42a3ec5 100644 --- a/win32/lib/tcl8.6/tzdata/America/Belem +++ b/win32/lib/tcl8.6/tzdata/America/Belem @@ -3,33 +3,33 @@ set TZData(:America/Belem) { {-9223372036854775808 -11636 0 LMT} {-1767213964 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} {590032800 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Boa_Vista b/win32/lib/tcl8.6/tzdata/America/Boa_Vista index 982249b..0af989e 100644 --- a/win32/lib/tcl8.6/tzdata/America/Boa_Vista +++ b/win32/lib/tcl8.6/tzdata/America/Boa_Vista @@ -3,38 +3,38 @@ set TZData(:America/Boa_Vista) { {-9223372036854775808 -14560 0 LMT} {-1767211040 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} {938664000 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {951620400 -14400 0 -04} - {970977600 -10800 1 -03} + {970977600 -10800 1 -04} {971578800 -14400 0 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Bogota b/win32/lib/tcl8.6/tzdata/America/Bogota index 69e4557..8ca39ba 100644 --- a/win32/lib/tcl8.6/tzdata/America/Bogota +++ b/win32/lib/tcl8.6/tzdata/America/Bogota @@ -4,6 +4,6 @@ set TZData(:America/Bogota) { {-9223372036854775808 -17776 0 LMT} {-2707671824 -17776 0 BMT} {-1739041424 -18000 0 -05} - {704869200 -14400 1 -04} + {704869200 -14400 1 -05} {733896000 -18000 0 -05} } diff --git a/win32/lib/tcl8.6/tzdata/America/Campo_Grande b/win32/lib/tcl8.6/tzdata/America/Campo_Grande index 77cb4d1..5ec7112 100644 --- a/win32/lib/tcl8.6/tzdata/America/Campo_Grande +++ b/win32/lib/tcl8.6/tzdata/America/Campo_Grande @@ -3,255 +3,255 @@ set TZData(:America/Campo_Grande) { {-9223372036854775808 -13108 0 LMT} {-1767212492 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} - {592977600 -10800 1 -03} + {592977600 -10800 1 -04} {602046000 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {634705200 -14400 0 -04} - {656481600 -10800 1 -03} + {656481600 -10800 1 -04} {666759600 -14400 0 -04} - {687931200 -10800 1 -03} + {687931200 -10800 1 -04} {697604400 -14400 0 -04} - {719985600 -10800 1 -03} + {719985600 -10800 1 -04} {728449200 -14400 0 -04} - {750830400 -10800 1 -03} + {750830400 -10800 1 -04} {761713200 -14400 0 -04} - {782280000 -10800 1 -03} + {782280000 -10800 1 -04} {793162800 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {824007600 -14400 0 -04} - {844574400 -10800 1 -03} + {844574400 -10800 1 -04} {856062000 -14400 0 -04} - {876110400 -10800 1 -03} + {876110400 -10800 1 -04} {888721200 -14400 0 -04} - {908078400 -10800 1 -03} + {908078400 -10800 1 -04} {919566000 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {951620400 -14400 0 -04} - {970977600 -10800 1 -03} + {970977600 -10800 1 -04} {982465200 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1013914800 -14400 0 -04} - {1036296000 -10800 1 -03} + {1036296000 -10800 1 -04} {1045364400 -14400 0 -04} - {1066536000 -10800 1 -03} + {1066536000 -10800 1 -04} {1076814000 -14400 0 -04} - {1099368000 -10800 1 -03} + {1099368000 -10800 1 -04} {1108868400 -14400 0 -04} - {1129435200 -10800 1 -03} + {1129435200 -10800 1 -04} {1140318000 -14400 0 -04} - {1162699200 -10800 1 -03} + {1162699200 -10800 1 -04} {1172372400 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1203217200 -14400 0 -04} - {1224388800 -10800 1 -03} + {1224388800 -10800 1 -04} {1234666800 -14400 0 -04} - {1255838400 -10800 1 -03} + {1255838400 -10800 1 -04} {1266721200 -14400 0 -04} - {1287288000 -10800 1 -03} + {1287288000 -10800 1 -04} {1298170800 -14400 0 -04} - {1318737600 -10800 1 -03} + {1318737600 -10800 1 -04} {1330225200 -14400 0 -04} - {1350792000 -10800 1 -03} + {1350792000 -10800 1 -04} {1361070000 -14400 0 -04} - {1382241600 -10800 1 -03} + {1382241600 -10800 1 -04} {1392519600 -14400 0 -04} - {1413691200 -10800 1 -03} + {1413691200 -10800 1 -04} {1424574000 -14400 0 -04} - {1445140800 -10800 1 -03} + {1445140800 -10800 1 -04} {1456023600 -14400 0 -04} - {1476590400 -10800 1 -03} + {1476590400 -10800 1 -04} {1487473200 -14400 0 -04} - {1508040000 -10800 1 -03} + {1508040000 -10800 1 -04} {1518922800 -14400 0 -04} - {1540094400 -10800 1 -03} + {1541304000 -10800 1 -04} {1550372400 -14400 0 -04} - {1571544000 -10800 1 -03} + {1572753600 -10800 1 -04} {1581822000 -14400 0 -04} - {1602993600 -10800 1 -03} + {1604203200 -10800 1 -04} {1613876400 -14400 0 -04} - {1634443200 -10800 1 -03} + {1636257600 -10800 1 -04} {1645326000 -14400 0 -04} - {1665892800 -10800 1 -03} + {1667707200 -10800 1 -04} {1677380400 -14400 0 -04} - {1697342400 -10800 1 -03} + {1699156800 -10800 1 -04} {1708225200 -14400 0 -04} - {1729396800 -10800 1 -03} + {1730606400 -10800 1 -04} {1739674800 -14400 0 -04} - {1760846400 -10800 1 -03} + {1762056000 -10800 1 -04} {1771729200 -14400 0 -04} - {1792296000 -10800 1 -03} + {1793505600 -10800 1 -04} {1803178800 -14400 0 -04} - {1823745600 -10800 1 -03} + {1825560000 -10800 1 -04} {1834628400 -14400 0 -04} - {1855195200 -10800 1 -03} + {1857009600 -10800 1 -04} {1866078000 -14400 0 -04} - {1887249600 -10800 1 -03} + {1888459200 -10800 1 -04} {1897527600 -14400 0 -04} - {1918699200 -10800 1 -03} + {1919908800 -10800 1 -04} {1928977200 -14400 0 -04} - {1950148800 -10800 1 -03} + {1951358400 -10800 1 -04} {1960426800 -14400 0 -04} - {1981598400 -10800 1 -03} + {1983412800 -10800 1 -04} {1992481200 -14400 0 -04} - {2013048000 -10800 1 -03} + {2014862400 -10800 1 -04} {2024535600 -14400 0 -04} - {2044497600 -10800 1 -03} + {2046312000 -10800 1 -04} {2055380400 -14400 0 -04} - {2076552000 -10800 1 -03} + {2077761600 -10800 1 -04} {2086830000 -14400 0 -04} - {2108001600 -10800 1 -03} + {2109211200 -10800 1 -04} {2118884400 -14400 0 -04} - {2139451200 -10800 1 -03} + {2140660800 -10800 1 -04} {2150334000 -14400 0 -04} - {2170900800 -10800 1 -03} + {2172715200 -10800 1 -04} {2181783600 -14400 0 -04} - {2202350400 -10800 1 -03} + {2204164800 -10800 1 -04} {2213233200 -14400 0 -04} - {2234404800 -10800 1 -03} + {2235614400 -10800 1 -04} {2244682800 -14400 0 -04} - {2265854400 -10800 1 -03} + {2267064000 -10800 1 -04} {2276132400 -14400 0 -04} - {2297304000 -10800 1 -03} + {2298513600 -10800 1 -04} {2307582000 -14400 0 -04} - {2328753600 -10800 1 -03} + {2329963200 -10800 1 -04} {2339636400 -14400 0 -04} - {2360203200 -10800 1 -03} + {2362017600 -10800 1 -04} {2371086000 -14400 0 -04} - {2391652800 -10800 1 -03} + {2393467200 -10800 1 -04} {2402535600 -14400 0 -04} - {2423707200 -10800 1 -03} + {2424916800 -10800 1 -04} {2433985200 -14400 0 -04} - {2455156800 -10800 1 -03} + {2456366400 -10800 1 -04} {2465434800 -14400 0 -04} - {2486606400 -10800 1 -03} + {2487816000 -10800 1 -04} {2497489200 -14400 0 -04} - {2518056000 -10800 1 -03} + {2519870400 -10800 1 -04} {2528938800 -14400 0 -04} - {2549505600 -10800 1 -03} + {2551320000 -10800 1 -04} {2560388400 -14400 0 -04} - {2580955200 -10800 1 -03} + {2582769600 -10800 1 -04} {2591838000 -14400 0 -04} - {2613009600 -10800 1 -03} + {2614219200 -10800 1 -04} {2623287600 -14400 0 -04} - {2644459200 -10800 1 -03} + {2645668800 -10800 1 -04} {2654737200 -14400 0 -04} - {2675908800 -10800 1 -03} + {2677118400 -10800 1 -04} {2686791600 -14400 0 -04} - {2707358400 -10800 1 -03} + {2709172800 -10800 1 -04} {2718241200 -14400 0 -04} - {2738808000 -10800 1 -03} + {2740622400 -10800 1 -04} {2749690800 -14400 0 -04} - {2770862400 -10800 1 -03} + {2772072000 -10800 1 -04} {2781140400 -14400 0 -04} - {2802312000 -10800 1 -03} + {2803521600 -10800 1 -04} {2812590000 -14400 0 -04} - {2833761600 -10800 1 -03} + {2834971200 -10800 1 -04} {2844039600 -14400 0 -04} - {2865211200 -10800 1 -03} + {2867025600 -10800 1 -04} {2876094000 -14400 0 -04} - {2896660800 -10800 1 -03} + {2898475200 -10800 1 -04} {2907543600 -14400 0 -04} - {2928110400 -10800 1 -03} + {2929924800 -10800 1 -04} {2938993200 -14400 0 -04} - {2960164800 -10800 1 -03} + {2961374400 -10800 1 -04} {2970442800 -14400 0 -04} - {2991614400 -10800 1 -03} + {2992824000 -10800 1 -04} {3001892400 -14400 0 -04} - {3023064000 -10800 1 -03} + {3024273600 -10800 1 -04} {3033946800 -14400 0 -04} - {3054513600 -10800 1 -03} + {3056328000 -10800 1 -04} {3065396400 -14400 0 -04} - {3085963200 -10800 1 -03} + {3087777600 -10800 1 -04} {3096846000 -14400 0 -04} - {3118017600 -10800 1 -03} + {3119227200 -10800 1 -04} {3128295600 -14400 0 -04} - {3149467200 -10800 1 -03} + {3150676800 -10800 1 -04} {3159745200 -14400 0 -04} - {3180916800 -10800 1 -03} + {3182126400 -10800 1 -04} {3191194800 -14400 0 -04} - {3212366400 -10800 1 -03} + {3213576000 -10800 1 -04} {3223249200 -14400 0 -04} - {3243816000 -10800 1 -03} + {3245630400 -10800 1 -04} {3254698800 -14400 0 -04} - {3275265600 -10800 1 -03} + {3277080000 -10800 1 -04} {3286148400 -14400 0 -04} - {3307320000 -10800 1 -03} + {3308529600 -10800 1 -04} {3317598000 -14400 0 -04} - {3338769600 -10800 1 -03} + {3339979200 -10800 1 -04} {3349047600 -14400 0 -04} - {3370219200 -10800 1 -03} + {3371428800 -10800 1 -04} {3381102000 -14400 0 -04} - {3401668800 -10800 1 -03} + {3403483200 -10800 1 -04} {3412551600 -14400 0 -04} - {3433118400 -10800 1 -03} + {3434932800 -10800 1 -04} {3444001200 -14400 0 -04} - {3464568000 -10800 1 -03} + {3466382400 -10800 1 -04} {3475450800 -14400 0 -04} - {3496622400 -10800 1 -03} + {3497832000 -10800 1 -04} {3506900400 -14400 0 -04} - {3528072000 -10800 1 -03} + {3529281600 -10800 1 -04} {3538350000 -14400 0 -04} - {3559521600 -10800 1 -03} + {3560731200 -10800 1 -04} {3570404400 -14400 0 -04} - {3590971200 -10800 1 -03} + {3592785600 -10800 1 -04} {3601854000 -14400 0 -04} - {3622420800 -10800 1 -03} + {3624235200 -10800 1 -04} {3633303600 -14400 0 -04} - {3654475200 -10800 1 -03} + {3655684800 -10800 1 -04} {3664753200 -14400 0 -04} - {3685924800 -10800 1 -03} + {3687134400 -10800 1 -04} {3696202800 -14400 0 -04} - {3717374400 -10800 1 -03} + {3718584000 -10800 1 -04} {3727652400 -14400 0 -04} - {3748824000 -10800 1 -03} + {3750638400 -10800 1 -04} {3759706800 -14400 0 -04} - {3780273600 -10800 1 -03} + {3782088000 -10800 1 -04} {3791156400 -14400 0 -04} - {3811723200 -10800 1 -03} + {3813537600 -10800 1 -04} {3822606000 -14400 0 -04} - {3843777600 -10800 1 -03} + {3844987200 -10800 1 -04} {3854055600 -14400 0 -04} - {3875227200 -10800 1 -03} + {3876436800 -10800 1 -04} {3885505200 -14400 0 -04} - {3906676800 -10800 1 -03} + {3907886400 -10800 1 -04} {3917559600 -14400 0 -04} - {3938126400 -10800 1 -03} + {3939940800 -10800 1 -04} {3949009200 -14400 0 -04} - {3969576000 -10800 1 -03} + {3971390400 -10800 1 -04} {3980458800 -14400 0 -04} - {4001630400 -10800 1 -03} + {4002840000 -10800 1 -04} {4011908400 -14400 0 -04} - {4033080000 -10800 1 -03} + {4034289600 -10800 1 -04} {4043358000 -14400 0 -04} - {4064529600 -10800 1 -03} + {4065739200 -10800 1 -04} {4074807600 -14400 0 -04} - {4095979200 -10800 1 -03} + {4097188800 -10800 1 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Cuiaba b/win32/lib/tcl8.6/tzdata/America/Cuiaba index 57cd38c..09f5b1f 100644 --- a/win32/lib/tcl8.6/tzdata/America/Cuiaba +++ b/win32/lib/tcl8.6/tzdata/America/Cuiaba @@ -3,255 +3,255 @@ set TZData(:America/Cuiaba) { {-9223372036854775808 -13460 0 LMT} {-1767212140 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} - {592977600 -10800 1 -03} + {592977600 -10800 1 -04} {602046000 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {634705200 -14400 0 -04} - {656481600 -10800 1 -03} + {656481600 -10800 1 -04} {666759600 -14400 0 -04} - {687931200 -10800 1 -03} + {687931200 -10800 1 -04} {697604400 -14400 0 -04} - {719985600 -10800 1 -03} + {719985600 -10800 1 -04} {728449200 -14400 0 -04} - {750830400 -10800 1 -03} + {750830400 -10800 1 -04} {761713200 -14400 0 -04} - {782280000 -10800 1 -03} + {782280000 -10800 1 -04} {793162800 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {824007600 -14400 0 -04} - {844574400 -10800 1 -03} + {844574400 -10800 1 -04} {856062000 -14400 0 -04} - {876110400 -10800 1 -03} + {876110400 -10800 1 -04} {888721200 -14400 0 -04} - {908078400 -10800 1 -03} + {908078400 -10800 1 -04} {919566000 -14400 0 -04} - {938923200 -10800 1 -03} + {938923200 -10800 1 -04} {951620400 -14400 0 -04} - {970977600 -10800 1 -03} + {970977600 -10800 1 -04} {982465200 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1013914800 -14400 0 -04} - {1036296000 -10800 1 -03} + {1036296000 -10800 1 -04} {1045364400 -14400 0 -04} {1064372400 -14400 0 -04} {1096603200 -14400 0 -04} - {1099368000 -10800 1 -03} + {1099368000 -10800 1 -04} {1108868400 -14400 0 -04} - {1129435200 -10800 1 -03} + {1129435200 -10800 1 -04} {1140318000 -14400 0 -04} - {1162699200 -10800 1 -03} + {1162699200 -10800 1 -04} {1172372400 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1203217200 -14400 0 -04} - {1224388800 -10800 1 -03} + {1224388800 -10800 1 -04} {1234666800 -14400 0 -04} - {1255838400 -10800 1 -03} + {1255838400 -10800 1 -04} {1266721200 -14400 0 -04} - {1287288000 -10800 1 -03} + {1287288000 -10800 1 -04} {1298170800 -14400 0 -04} - {1318737600 -10800 1 -03} + {1318737600 -10800 1 -04} {1330225200 -14400 0 -04} - {1350792000 -10800 1 -03} + {1350792000 -10800 1 -04} {1361070000 -14400 0 -04} - {1382241600 -10800 1 -03} + {1382241600 -10800 1 -04} {1392519600 -14400 0 -04} - {1413691200 -10800 1 -03} + {1413691200 -10800 1 -04} {1424574000 -14400 0 -04} - {1445140800 -10800 1 -03} + {1445140800 -10800 1 -04} {1456023600 -14400 0 -04} - {1476590400 -10800 1 -03} + {1476590400 -10800 1 -04} {1487473200 -14400 0 -04} - {1508040000 -10800 1 -03} + {1508040000 -10800 1 -04} {1518922800 -14400 0 -04} - {1540094400 -10800 1 -03} + {1541304000 -10800 1 -04} {1550372400 -14400 0 -04} - {1571544000 -10800 1 -03} + {1572753600 -10800 1 -04} {1581822000 -14400 0 -04} - {1602993600 -10800 1 -03} + {1604203200 -10800 1 -04} {1613876400 -14400 0 -04} - {1634443200 -10800 1 -03} + {1636257600 -10800 1 -04} {1645326000 -14400 0 -04} - {1665892800 -10800 1 -03} + {1667707200 -10800 1 -04} {1677380400 -14400 0 -04} - {1697342400 -10800 1 -03} + {1699156800 -10800 1 -04} {1708225200 -14400 0 -04} - {1729396800 -10800 1 -03} + {1730606400 -10800 1 -04} {1739674800 -14400 0 -04} - {1760846400 -10800 1 -03} + {1762056000 -10800 1 -04} {1771729200 -14400 0 -04} - {1792296000 -10800 1 -03} + {1793505600 -10800 1 -04} {1803178800 -14400 0 -04} - {1823745600 -10800 1 -03} + {1825560000 -10800 1 -04} {1834628400 -14400 0 -04} - {1855195200 -10800 1 -03} + {1857009600 -10800 1 -04} {1866078000 -14400 0 -04} - {1887249600 -10800 1 -03} + {1888459200 -10800 1 -04} {1897527600 -14400 0 -04} - {1918699200 -10800 1 -03} + {1919908800 -10800 1 -04} {1928977200 -14400 0 -04} - {1950148800 -10800 1 -03} + {1951358400 -10800 1 -04} {1960426800 -14400 0 -04} - {1981598400 -10800 1 -03} + {1983412800 -10800 1 -04} {1992481200 -14400 0 -04} - {2013048000 -10800 1 -03} + {2014862400 -10800 1 -04} {2024535600 -14400 0 -04} - {2044497600 -10800 1 -03} + {2046312000 -10800 1 -04} {2055380400 -14400 0 -04} - {2076552000 -10800 1 -03} + {2077761600 -10800 1 -04} {2086830000 -14400 0 -04} - {2108001600 -10800 1 -03} + {2109211200 -10800 1 -04} {2118884400 -14400 0 -04} - {2139451200 -10800 1 -03} + {2140660800 -10800 1 -04} {2150334000 -14400 0 -04} - {2170900800 -10800 1 -03} + {2172715200 -10800 1 -04} {2181783600 -14400 0 -04} - {2202350400 -10800 1 -03} + {2204164800 -10800 1 -04} {2213233200 -14400 0 -04} - {2234404800 -10800 1 -03} + {2235614400 -10800 1 -04} {2244682800 -14400 0 -04} - {2265854400 -10800 1 -03} + {2267064000 -10800 1 -04} {2276132400 -14400 0 -04} - {2297304000 -10800 1 -03} + {2298513600 -10800 1 -04} {2307582000 -14400 0 -04} - {2328753600 -10800 1 -03} + {2329963200 -10800 1 -04} {2339636400 -14400 0 -04} - {2360203200 -10800 1 -03} + {2362017600 -10800 1 -04} {2371086000 -14400 0 -04} - {2391652800 -10800 1 -03} + {2393467200 -10800 1 -04} {2402535600 -14400 0 -04} - {2423707200 -10800 1 -03} + {2424916800 -10800 1 -04} {2433985200 -14400 0 -04} - {2455156800 -10800 1 -03} + {2456366400 -10800 1 -04} {2465434800 -14400 0 -04} - {2486606400 -10800 1 -03} + {2487816000 -10800 1 -04} {2497489200 -14400 0 -04} - {2518056000 -10800 1 -03} + {2519870400 -10800 1 -04} {2528938800 -14400 0 -04} - {2549505600 -10800 1 -03} + {2551320000 -10800 1 -04} {2560388400 -14400 0 -04} - {2580955200 -10800 1 -03} + {2582769600 -10800 1 -04} {2591838000 -14400 0 -04} - {2613009600 -10800 1 -03} + {2614219200 -10800 1 -04} {2623287600 -14400 0 -04} - {2644459200 -10800 1 -03} + {2645668800 -10800 1 -04} {2654737200 -14400 0 -04} - {2675908800 -10800 1 -03} + {2677118400 -10800 1 -04} {2686791600 -14400 0 -04} - {2707358400 -10800 1 -03} + {2709172800 -10800 1 -04} {2718241200 -14400 0 -04} - {2738808000 -10800 1 -03} + {2740622400 -10800 1 -04} {2749690800 -14400 0 -04} - {2770862400 -10800 1 -03} + {2772072000 -10800 1 -04} {2781140400 -14400 0 -04} - {2802312000 -10800 1 -03} + {2803521600 -10800 1 -04} {2812590000 -14400 0 -04} - {2833761600 -10800 1 -03} + {2834971200 -10800 1 -04} {2844039600 -14400 0 -04} - {2865211200 -10800 1 -03} + {2867025600 -10800 1 -04} {2876094000 -14400 0 -04} - {2896660800 -10800 1 -03} + {2898475200 -10800 1 -04} {2907543600 -14400 0 -04} - {2928110400 -10800 1 -03} + {2929924800 -10800 1 -04} {2938993200 -14400 0 -04} - {2960164800 -10800 1 -03} + {2961374400 -10800 1 -04} {2970442800 -14400 0 -04} - {2991614400 -10800 1 -03} + {2992824000 -10800 1 -04} {3001892400 -14400 0 -04} - {3023064000 -10800 1 -03} + {3024273600 -10800 1 -04} {3033946800 -14400 0 -04} - {3054513600 -10800 1 -03} + {3056328000 -10800 1 -04} {3065396400 -14400 0 -04} - {3085963200 -10800 1 -03} + {3087777600 -10800 1 -04} {3096846000 -14400 0 -04} - {3118017600 -10800 1 -03} + {3119227200 -10800 1 -04} {3128295600 -14400 0 -04} - {3149467200 -10800 1 -03} + {3150676800 -10800 1 -04} {3159745200 -14400 0 -04} - {3180916800 -10800 1 -03} + {3182126400 -10800 1 -04} {3191194800 -14400 0 -04} - {3212366400 -10800 1 -03} + {3213576000 -10800 1 -04} {3223249200 -14400 0 -04} - {3243816000 -10800 1 -03} + {3245630400 -10800 1 -04} {3254698800 -14400 0 -04} - {3275265600 -10800 1 -03} + {3277080000 -10800 1 -04} {3286148400 -14400 0 -04} - {3307320000 -10800 1 -03} + {3308529600 -10800 1 -04} {3317598000 -14400 0 -04} - {3338769600 -10800 1 -03} + {3339979200 -10800 1 -04} {3349047600 -14400 0 -04} - {3370219200 -10800 1 -03} + {3371428800 -10800 1 -04} {3381102000 -14400 0 -04} - {3401668800 -10800 1 -03} + {3403483200 -10800 1 -04} {3412551600 -14400 0 -04} - {3433118400 -10800 1 -03} + {3434932800 -10800 1 -04} {3444001200 -14400 0 -04} - {3464568000 -10800 1 -03} + {3466382400 -10800 1 -04} {3475450800 -14400 0 -04} - {3496622400 -10800 1 -03} + {3497832000 -10800 1 -04} {3506900400 -14400 0 -04} - {3528072000 -10800 1 -03} + {3529281600 -10800 1 -04} {3538350000 -14400 0 -04} - {3559521600 -10800 1 -03} + {3560731200 -10800 1 -04} {3570404400 -14400 0 -04} - {3590971200 -10800 1 -03} + {3592785600 -10800 1 -04} {3601854000 -14400 0 -04} - {3622420800 -10800 1 -03} + {3624235200 -10800 1 -04} {3633303600 -14400 0 -04} - {3654475200 -10800 1 -03} + {3655684800 -10800 1 -04} {3664753200 -14400 0 -04} - {3685924800 -10800 1 -03} + {3687134400 -10800 1 -04} {3696202800 -14400 0 -04} - {3717374400 -10800 1 -03} + {3718584000 -10800 1 -04} {3727652400 -14400 0 -04} - {3748824000 -10800 1 -03} + {3750638400 -10800 1 -04} {3759706800 -14400 0 -04} - {3780273600 -10800 1 -03} + {3782088000 -10800 1 -04} {3791156400 -14400 0 -04} - {3811723200 -10800 1 -03} + {3813537600 -10800 1 -04} {3822606000 -14400 0 -04} - {3843777600 -10800 1 -03} + {3844987200 -10800 1 -04} {3854055600 -14400 0 -04} - {3875227200 -10800 1 -03} + {3876436800 -10800 1 -04} {3885505200 -14400 0 -04} - {3906676800 -10800 1 -03} + {3907886400 -10800 1 -04} {3917559600 -14400 0 -04} - {3938126400 -10800 1 -03} + {3939940800 -10800 1 -04} {3949009200 -14400 0 -04} - {3969576000 -10800 1 -03} + {3971390400 -10800 1 -04} {3980458800 -14400 0 -04} - {4001630400 -10800 1 -03} + {4002840000 -10800 1 -04} {4011908400 -14400 0 -04} - {4033080000 -10800 1 -03} + {4034289600 -10800 1 -04} {4043358000 -14400 0 -04} - {4064529600 -10800 1 -03} + {4065739200 -10800 1 -04} {4074807600 -14400 0 -04} - {4095979200 -10800 1 -03} + {4097188800 -10800 1 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Eirunepe b/win32/lib/tcl8.6/tzdata/America/Eirunepe index 41b4cc9..a81b09e 100644 --- a/win32/lib/tcl8.6/tzdata/America/Eirunepe +++ b/win32/lib/tcl8.6/tzdata/America/Eirunepe @@ -3,37 +3,37 @@ set TZData(:America/Eirunepe) { {-9223372036854775808 -16768 0 LMT} {-1767208832 -18000 0 -05} - {-1206950400 -14400 1 -04} + {-1206950400 -14400 1 -05} {-1191355200 -18000 0 -05} - {-1175367600 -14400 1 -04} + {-1175367600 -14400 1 -05} {-1159819200 -18000 0 -05} - {-633812400 -14400 1 -04} + {-633812400 -14400 1 -05} {-622062000 -18000 0 -05} - {-602276400 -14400 1 -04} + {-602276400 -14400 1 -05} {-591825600 -18000 0 -05} - {-570740400 -14400 1 -04} + {-570740400 -14400 1 -05} {-560203200 -18000 0 -05} - {-539118000 -14400 1 -04} + {-539118000 -14400 1 -05} {-531345600 -18000 0 -05} - {-191358000 -14400 1 -04} + {-191358000 -14400 1 -05} {-184190400 -18000 0 -05} - {-155156400 -14400 1 -04} + {-155156400 -14400 1 -05} {-150062400 -18000 0 -05} - {-128890800 -14400 1 -04} + {-128890800 -14400 1 -05} {-121118400 -18000 0 -05} - {-99946800 -14400 1 -04} + {-99946800 -14400 1 -05} {-89582400 -18000 0 -05} - {-68410800 -14400 1 -04} + {-68410800 -14400 1 -05} {-57960000 -18000 0 -05} - {499755600 -14400 1 -04} + {499755600 -14400 1 -05} {511243200 -18000 0 -05} - {530600400 -14400 1 -04} + {530600400 -14400 1 -05} {540273600 -18000 0 -05} - {562136400 -14400 1 -04} + {562136400 -14400 1 -05} {571204800 -18000 0 -05} {590040000 -18000 0 -05} {749192400 -18000 0 -05} - {750834000 -14400 1 -04} + {750834000 -14400 1 -05} {761716800 -18000 0 -05} {780206400 -18000 0 -05} {1214283600 -14400 0 -04} diff --git a/win32/lib/tcl8.6/tzdata/America/Fortaleza b/win32/lib/tcl8.6/tzdata/America/Fortaleza index 06c7b84..bd806f1 100644 --- a/win32/lib/tcl8.6/tzdata/America/Fortaleza +++ b/win32/lib/tcl8.6/tzdata/America/Fortaleza @@ -3,46 +3,46 @@ set TZData(:America/Fortaleza) { {-9223372036854775808 -9240 0 LMT} {-1767216360 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {938660400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {972180000 -10800 0 -03} {1000350000 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} {1033437600 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Grand_Turk b/win32/lib/tcl8.6/tzdata/America/Grand_Turk index c963adc..da5f09b 100644 --- a/win32/lib/tcl8.6/tzdata/America/Grand_Turk +++ b/win32/lib/tcl8.6/tzdata/America/Grand_Turk @@ -2,8 +2,8 @@ set TZData(:America/Grand_Turk) { {-9223372036854775808 -17072 0 LMT} - {-2524504528 -18431 0 KMT} - {-1827687169 -18000 0 EST} + {-2524504528 -18430 0 KMT} + {-1827687170 -18000 0 EST} {284014800 -18000 0 EST} {294217200 -14400 1 EDT} {309938400 -18000 0 EST} diff --git a/win32/lib/tcl8.6/tzdata/America/Guayaquil b/win32/lib/tcl8.6/tzdata/America/Guayaquil index 353eb69..6ba7b93 100644 --- a/win32/lib/tcl8.6/tzdata/America/Guayaquil +++ b/win32/lib/tcl8.6/tzdata/America/Guayaquil @@ -4,6 +4,6 @@ set TZData(:America/Guayaquil) { {-9223372036854775808 -19160 0 LMT} {-2524502440 -18840 0 QMT} {-1230749160 -18000 0 -05} - {722926800 -14400 1 -04} + {722926800 -14400 1 -05} {728884800 -18000 0 -05} } diff --git a/win32/lib/tcl8.6/tzdata/America/Jamaica b/win32/lib/tcl8.6/tzdata/America/Jamaica index f752842..0f758bd 100644 --- a/win32/lib/tcl8.6/tzdata/America/Jamaica +++ b/win32/lib/tcl8.6/tzdata/America/Jamaica @@ -1,9 +1,9 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Jamaica) { - {-9223372036854775808 -18431 0 LMT} - {-2524503169 -18431 0 KMT} - {-1827687169 -18000 0 EST} + {-9223372036854775808 -18430 0 LMT} + {-2524503170 -18430 0 KMT} + {-1827687170 -18000 0 EST} {126248400 -18000 0 EST} {126687600 -14400 1 EDT} {152085600 -18000 0 EST} diff --git a/win32/lib/tcl8.6/tzdata/America/La_Paz b/win32/lib/tcl8.6/tzdata/America/La_Paz index a245afd..ea2f711 100644 --- a/win32/lib/tcl8.6/tzdata/America/La_Paz +++ b/win32/lib/tcl8.6/tzdata/America/La_Paz @@ -3,6 +3,6 @@ set TZData(:America/La_Paz) { {-9223372036854775808 -16356 0 LMT} {-2524505244 -16356 0 CMT} - {-1205954844 -12756 1 BOST} + {-1205954844 -12756 1 BST} {-1192307244 -14400 0 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Lima b/win32/lib/tcl8.6/tzdata/America/Lima index b224a64..e8b69d6 100644 --- a/win32/lib/tcl8.6/tzdata/America/Lima +++ b/win32/lib/tcl8.6/tzdata/America/Lima @@ -3,11 +3,11 @@ set TZData(:America/Lima) { {-9223372036854775808 -18492 0 LMT} {-2524503108 -18516 0 LMT} - {-1938538284 -14400 0 -04} + {-1938538284 -14400 0 -05} {-1002052800 -18000 0 -05} - {-986756400 -14400 1 -04} + {-986756400 -14400 1 -05} {-971035200 -18000 0 -05} - {-955306800 -14400 1 -04} + {-955306800 -14400 1 -05} {-939585600 -18000 0 -05} {512712000 -18000 0 -05} {544248000 -18000 0 -05} diff --git a/win32/lib/tcl8.6/tzdata/America/Maceio b/win32/lib/tcl8.6/tzdata/America/Maceio index e6ed548..eab534e 100644 --- a/win32/lib/tcl8.6/tzdata/America/Maceio +++ b/win32/lib/tcl8.6/tzdata/America/Maceio @@ -3,50 +3,50 @@ set TZData(:America/Maceio) { {-9223372036854775808 -8572 0 LMT} {-1767217028 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {813553200 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} {841802400 -10800 0 -03} {938660400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {972180000 -10800 0 -03} {1000350000 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} {1033437600 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Manaus b/win32/lib/tcl8.6/tzdata/America/Manaus index f17023c..a855062 100644 --- a/win32/lib/tcl8.6/tzdata/America/Manaus +++ b/win32/lib/tcl8.6/tzdata/America/Manaus @@ -3,37 +3,37 @@ set TZData(:America/Manaus) { {-9223372036854775808 -14404 0 LMT} {-1767211196 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} {749188800 -14400 0 -04} - {750830400 -10800 1 -03} + {750830400 -10800 1 -04} {761713200 -14400 0 -04} {780202800 -14400 0 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Montevideo b/win32/lib/tcl8.6/tzdata/America/Montevideo index ff85fb3..27fb76e 100644 --- a/win32/lib/tcl8.6/tzdata/America/Montevideo +++ b/win32/lib/tcl8.6/tzdata/America/Montevideo @@ -1,96 +1,96 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Montevideo) { - {-9223372036854775808 -13484 0 LMT} - {-2256668116 -13484 0 MMT} - {-1567455316 -12600 0 -0330} - {-1459542600 -10800 1 -03} + {-9223372036854775808 -13491 0 LMT} + {-1942690509 -13491 0 MMT} + {-1567455309 -14400 0 -04} + {-1459627200 -10800 0 -0330} {-1443819600 -12600 0 -0330} - {-1428006600 -10800 1 -03} + {-1428006600 -10800 1 -0330} {-1412283600 -12600 0 -0330} - {-1396470600 -10800 1 -03} + {-1396470600 -10800 1 -0330} {-1380747600 -12600 0 -0330} - {-1141590600 -10800 1 -03} + {-1141590600 -10800 1 -0330} {-1128286800 -12600 0 -0330} - {-1110141000 -10800 1 -03} + {-1110141000 -10800 1 -0330} {-1096837200 -12600 0 -0330} - {-1078691400 -10800 1 -03} + {-1078691400 -10800 1 -0330} {-1065387600 -12600 0 -0330} - {-1046637000 -10800 1 -03} + {-1047241800 -10800 1 -0330} {-1033938000 -12600 0 -0330} - {-1015187400 -10800 1 -03} + {-1015187400 -10800 1 -0330} {-1002488400 -12600 0 -0330} - {-983737800 -10800 1 -03} + {-983737800 -10800 1 -0330} {-971038800 -12600 0 -0330} - {-952288200 -10800 1 -03} + {-954707400 -10800 1 -0330} {-938984400 -12600 0 -0330} - {-920838600 -10800 1 -03} + {-920838600 -10800 1 -0330} {-907534800 -12600 0 -0330} - {-896819400 -10800 1 -03} - {-853623000 -10800 0 -03} - {-853621200 -7200 1 -02} - {-845848800 -10800 0 -03} - {-334789200 -7200 1 -02} - {-319672800 -10800 0 -03} - {-314226000 -7200 1 -02} + {-896819400 -10800 1 -0330} + {-853621200 -9000 0 -03} + {-845847000 -10800 0 -03} + {-334789200 -9000 1 -03} + {-319671000 -10800 0 -03} + {-315608400 -10800 0 -03} + {-314226000 -7200 1 -03} {-309996000 -10800 0 -03} - {-149720400 -7200 1 -02} + {-149720400 -7200 1 -03} {-134604000 -10800 0 -03} - {-118270800 -7200 1 -02} - {-100044000 -10800 0 -03} - {-86821200 -7200 1 -02} - {-68508000 -10800 0 -03} {-63147600 -10800 0 -03} - {-50446800 -9000 1 -0230} - {-34119000 -10800 0 -03} - {-18910800 -9000 1 -0230} - {-2583000 -10800 0 -03} - {12625200 -9000 1 -0230} - {28953000 -10800 0 -03} - {31546800 -10800 0 -03} - {72932400 -7200 1 -02} - {82692000 -10800 0 -03} + {-50446800 -9000 1 -03} + {-34205400 -10800 0 -03} + {10800 -10800 0 -03} + {9860400 -7200 1 -03} + {14176800 -10800 0 -03} + {72846000 -7200 1 -03} + {80100000 -10800 0 -03} {126241200 -10800 0 -03} - {132116400 -9000 1 -0230} - {156909600 -9000 0 -02} - {156911400 -7200 1 -02} - {212983200 -10800 0 -03} - {250052400 -7200 1 -02} - {260244000 -10800 0 -03} - {307594800 -7200 1 -02} - {325994400 -10800 0 -03} - {566449200 -7200 1 -02} - {574308000 -10800 0 -03} - {597812400 -7200 1 -02} - {605671200 -10800 0 -03} - {625633200 -7200 1 -02} - {636516000 -10800 0 -03} - {656478000 -7200 1 -02} + {127278000 -5400 1 -03} + {132112800 -9000 0 -03} + {147234600 -10800 0 -03} + {156909600 -10800 0 -03} + {156913200 -7200 1 -03} + {165376800 -10800 0 -03} + {219812400 -7200 1 -03} + {226461600 -10800 0 -03} + {250052400 -7200 1 -03} + {257911200 -10800 0 -03} + {282711600 -7200 1 -03} + {289360800 -10800 0 -03} + {294202800 -7200 1 -03} + {322020000 -10800 0 -03} + {566449200 -7200 1 -03} + {573012000 -10800 0 -03} + {597812400 -7200 1 -03} + {605066400 -10800 0 -03} + {625633200 -7200 1 -03} + {635911200 -10800 0 -03} + {656478000 -7200 1 -03} {667965600 -10800 0 -03} - {688532400 -7200 1 -02} + {688532400 -7200 1 -03} {699415200 -10800 0 -03} - {719377200 -7200 1 -02} + {719377200 -7200 1 -03} {730864800 -10800 0 -03} - {1095562800 -7200 1 -02} + {1095562800 -7200 1 -03} {1111896000 -10800 0 -03} - {1128834000 -7200 1 -02} + {1128834000 -7200 1 -03} {1142136000 -10800 0 -03} - {1159678800 -7200 1 -02} + {1159678800 -7200 1 -03} {1173585600 -10800 0 -03} - {1191733200 -7200 1 -02} + {1191733200 -7200 1 -03} {1205035200 -10800 0 -03} - {1223182800 -7200 1 -02} + {1223182800 -7200 1 -03} {1236484800 -10800 0 -03} - {1254632400 -7200 1 -02} + {1254632400 -7200 1 -03} {1268539200 -10800 0 -03} - {1286082000 -7200 1 -02} + {1286082000 -7200 1 -03} {1299988800 -10800 0 -03} - {1317531600 -7200 1 -02} + {1317531600 -7200 1 -03} {1331438400 -10800 0 -03} - {1349586000 -7200 1 -02} + {1349586000 -7200 1 -03} {1362888000 -10800 0 -03} - {1381035600 -7200 1 -02} + {1381035600 -7200 1 -03} {1394337600 -10800 0 -03} - {1412485200 -7200 1 -02} + {1412485200 -7200 1 -03} {1425787200 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Noronha b/win32/lib/tcl8.6/tzdata/America/Noronha index f24b412..01fb745 100644 --- a/win32/lib/tcl8.6/tzdata/America/Noronha +++ b/win32/lib/tcl8.6/tzdata/America/Noronha @@ -3,46 +3,46 @@ set TZData(:America/Noronha) { {-9223372036854775808 -7780 0 LMT} {-1767217820 -7200 0 -02} - {-1206961200 -3600 1 -01} + {-1206961200 -3600 1 -02} {-1191366000 -7200 0 -02} - {-1175378400 -3600 1 -01} + {-1175378400 -3600 1 -02} {-1159830000 -7200 0 -02} - {-633823200 -3600 1 -01} + {-633823200 -3600 1 -02} {-622072800 -7200 0 -02} - {-602287200 -3600 1 -01} + {-602287200 -3600 1 -02} {-591836400 -7200 0 -02} - {-570751200 -3600 1 -01} + {-570751200 -3600 1 -02} {-560214000 -7200 0 -02} - {-539128800 -3600 1 -01} + {-539128800 -3600 1 -02} {-531356400 -7200 0 -02} - {-191368800 -3600 1 -01} + {-191368800 -3600 1 -02} {-184201200 -7200 0 -02} - {-155167200 -3600 1 -01} + {-155167200 -3600 1 -02} {-150073200 -7200 0 -02} - {-128901600 -3600 1 -01} + {-128901600 -3600 1 -02} {-121129200 -7200 0 -02} - {-99957600 -3600 1 -01} + {-99957600 -3600 1 -02} {-89593200 -7200 0 -02} - {-68421600 -3600 1 -01} + {-68421600 -3600 1 -02} {-57970800 -7200 0 -02} - {499744800 -3600 1 -01} + {499744800 -3600 1 -02} {511232400 -7200 0 -02} - {530589600 -3600 1 -01} + {530589600 -3600 1 -02} {540262800 -7200 0 -02} - {562125600 -3600 1 -01} + {562125600 -3600 1 -02} {571194000 -7200 0 -02} - {592970400 -3600 1 -01} + {592970400 -3600 1 -02} {602038800 -7200 0 -02} - {624420000 -3600 1 -01} + {624420000 -3600 1 -02} {634698000 -7200 0 -02} {653533200 -7200 0 -02} {938656800 -7200 0 -02} - {938916000 -3600 1 -01} + {938916000 -3600 1 -02} {951613200 -7200 0 -02} - {970970400 -3600 1 -01} + {970970400 -3600 1 -02} {971571600 -7200 0 -02} {1000346400 -7200 0 -02} - {1003024800 -3600 1 -01} + {1003024800 -3600 1 -02} {1013907600 -7200 0 -02} {1033434000 -7200 0 -02} } diff --git a/win32/lib/tcl8.6/tzdata/America/Porto_Velho b/win32/lib/tcl8.6/tzdata/America/Porto_Velho index 42566ad..8d7c8fd 100644 --- a/win32/lib/tcl8.6/tzdata/America/Porto_Velho +++ b/win32/lib/tcl8.6/tzdata/America/Porto_Velho @@ -3,33 +3,33 @@ set TZData(:America/Porto_Velho) { {-9223372036854775808 -15336 0 LMT} {-1767210264 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Punta_Arenas b/win32/lib/tcl8.6/tzdata/America/Punta_Arenas index 75487e7..5e8202a 100644 --- a/win32/lib/tcl8.6/tzdata/America/Punta_Arenas +++ b/win32/lib/tcl8.6/tzdata/America/Punta_Arenas @@ -8,115 +8,115 @@ set TZData(:America/Punta_Arenas) { {-1619205434 -14400 0 -04} {-1593806400 -16966 0 SMT} {-1335986234 -18000 0 -05} - {-1335985200 -14400 1 -04} + {-1335985200 -14400 1 -05} {-1317585600 -18000 0 -05} - {-1304362800 -14400 1 -04} + {-1304362800 -14400 1 -05} {-1286049600 -18000 0 -05} - {-1272826800 -14400 1 -04} + {-1272826800 -14400 1 -05} {-1254513600 -18000 0 -05} - {-1241290800 -14400 1 -04} + {-1241290800 -14400 1 -05} {-1222977600 -18000 0 -05} - {-1209754800 -14400 1 -04} + {-1209754800 -14400 1 -05} {-1191355200 -18000 0 -05} {-1178132400 -14400 0 -04} {-870552000 -18000 0 -05} {-865278000 -14400 0 -04} {-718056000 -18000 0 -05} {-713649600 -14400 0 -04} - {-36619200 -10800 1 -03} + {-36619200 -10800 1 -04} {-23922000 -14400 0 -04} - {-3355200 -10800 1 -03} + {-3355200 -10800 1 -04} {7527600 -14400 0 -04} - {24465600 -10800 1 -03} + {24465600 -10800 1 -04} {37767600 -14400 0 -04} - {55915200 -10800 1 -03} + {55915200 -10800 1 -04} {69217200 -14400 0 -04} - {87969600 -10800 1 -03} + {87969600 -10800 1 -04} {100666800 -14400 0 -04} - {118209600 -10800 1 -03} + {118209600 -10800 1 -04} {132116400 -14400 0 -04} - {150868800 -10800 1 -03} + {150868800 -10800 1 -04} {163566000 -14400 0 -04} - {182318400 -10800 1 -03} + {182318400 -10800 1 -04} {195620400 -14400 0 -04} - {213768000 -10800 1 -03} + {213768000 -10800 1 -04} {227070000 -14400 0 -04} - {245217600 -10800 1 -03} + {245217600 -10800 1 -04} {258519600 -14400 0 -04} - {277272000 -10800 1 -03} + {277272000 -10800 1 -04} {289969200 -14400 0 -04} - {308721600 -10800 1 -03} + {308721600 -10800 1 -04} {321418800 -14400 0 -04} - {340171200 -10800 1 -03} + {340171200 -10800 1 -04} {353473200 -14400 0 -04} - {371620800 -10800 1 -03} + {371620800 -10800 1 -04} {384922800 -14400 0 -04} - {403070400 -10800 1 -03} + {403070400 -10800 1 -04} {416372400 -14400 0 -04} - {434520000 -10800 1 -03} + {434520000 -10800 1 -04} {447822000 -14400 0 -04} - {466574400 -10800 1 -03} + {466574400 -10800 1 -04} {479271600 -14400 0 -04} - {498024000 -10800 1 -03} + {498024000 -10800 1 -04} {510721200 -14400 0 -04} - {529473600 -10800 1 -03} + {529473600 -10800 1 -04} {545194800 -14400 0 -04} - {560923200 -10800 1 -03} + {560923200 -10800 1 -04} {574225200 -14400 0 -04} - {592372800 -10800 1 -03} + {592372800 -10800 1 -04} {605674800 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {637124400 -14400 0 -04} - {653457600 -10800 1 -03} + {653457600 -10800 1 -04} {668574000 -14400 0 -04} - {687326400 -10800 1 -03} + {687326400 -10800 1 -04} {700628400 -14400 0 -04} - {718776000 -10800 1 -03} + {718776000 -10800 1 -04} {732078000 -14400 0 -04} - {750225600 -10800 1 -03} + {750225600 -10800 1 -04} {763527600 -14400 0 -04} - {781675200 -10800 1 -03} + {781675200 -10800 1 -04} {794977200 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {826426800 -14400 0 -04} - {845179200 -10800 1 -03} + {845179200 -10800 1 -04} {859690800 -14400 0 -04} - {876628800 -10800 1 -03} + {876628800 -10800 1 -04} {889930800 -14400 0 -04} - {906868800 -10800 1 -03} + {906868800 -10800 1 -04} {923194800 -14400 0 -04} - {939528000 -10800 1 -03} + {939528000 -10800 1 -04} {952830000 -14400 0 -04} - {971582400 -10800 1 -03} + {971582400 -10800 1 -04} {984279600 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1015729200 -14400 0 -04} - {1034481600 -10800 1 -03} + {1034481600 -10800 1 -04} {1047178800 -14400 0 -04} - {1065931200 -10800 1 -03} + {1065931200 -10800 1 -04} {1079233200 -14400 0 -04} - {1097380800 -10800 1 -03} + {1097380800 -10800 1 -04} {1110682800 -14400 0 -04} - {1128830400 -10800 1 -03} + {1128830400 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1206846000 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1237086000 -14400 0 -04} - {1255233600 -10800 1 -03} + {1255233600 -10800 1 -04} {1270350000 -14400 0 -04} - {1286683200 -10800 1 -03} + {1286683200 -10800 1 -04} {1304823600 -14400 0 -04} - {1313899200 -10800 1 -03} + {1313899200 -10800 1 -04} {1335668400 -14400 0 -04} - {1346558400 -10800 1 -03} + {1346558400 -10800 1 -04} {1367118000 -14400 0 -04} - {1378612800 -10800 1 -03} + {1378612800 -10800 1 -04} {1398567600 -14400 0 -04} - {1410062400 -10800 1 -03} + {1410062400 -10800 1 -04} {1463281200 -14400 0 -04} - {1471147200 -10800 1 -03} + {1471147200 -10800 1 -04} {1480820400 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Recife b/win32/lib/tcl8.6/tzdata/America/Recife index 8eae571..db0a445 100644 --- a/win32/lib/tcl8.6/tzdata/America/Recife +++ b/win32/lib/tcl8.6/tzdata/America/Recife @@ -3,46 +3,46 @@ set TZData(:America/Recife) { {-9223372036854775808 -8376 0 LMT} {-1767217224 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} - {-191365200 -7200 1 -02} + {-191365200 -7200 1 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} {653536800 -10800 0 -03} {938660400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {971575200 -10800 0 -03} {1000350000 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} {1033437600 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/America/Rio_Branco b/win32/lib/tcl8.6/tzdata/America/Rio_Branco index e3c2f31..088800b 100644 --- a/win32/lib/tcl8.6/tzdata/America/Rio_Branco +++ b/win32/lib/tcl8.6/tzdata/America/Rio_Branco @@ -3,33 +3,33 @@ set TZData(:America/Rio_Branco) { {-9223372036854775808 -16272 0 LMT} {-1767209328 -18000 0 -05} - {-1206950400 -14400 1 -04} + {-1206950400 -14400 1 -05} {-1191355200 -18000 0 -05} - {-1175367600 -14400 1 -04} + {-1175367600 -14400 1 -05} {-1159819200 -18000 0 -05} - {-633812400 -14400 1 -04} + {-633812400 -14400 1 -05} {-622062000 -18000 0 -05} - {-602276400 -14400 1 -04} + {-602276400 -14400 1 -05} {-591825600 -18000 0 -05} - {-570740400 -14400 1 -04} + {-570740400 -14400 1 -05} {-560203200 -18000 0 -05} - {-539118000 -14400 1 -04} + {-539118000 -14400 1 -05} {-531345600 -18000 0 -05} - {-191358000 -14400 1 -04} + {-191358000 -14400 1 -05} {-184190400 -18000 0 -05} - {-155156400 -14400 1 -04} + {-155156400 -14400 1 -05} {-150062400 -18000 0 -05} - {-128890800 -14400 1 -04} + {-128890800 -14400 1 -05} {-121118400 -18000 0 -05} - {-99946800 -14400 1 -04} + {-99946800 -14400 1 -05} {-89582400 -18000 0 -05} - {-68410800 -14400 1 -04} + {-68410800 -14400 1 -05} {-57960000 -18000 0 -05} - {499755600 -14400 1 -04} + {499755600 -14400 1 -05} {511243200 -18000 0 -05} - {530600400 -14400 1 -04} + {530600400 -14400 1 -05} {540273600 -18000 0 -05} - {562136400 -14400 1 -04} + {562136400 -14400 1 -05} {571204800 -18000 0 -05} {590040000 -18000 0 -05} {1214283600 -14400 0 -04} diff --git a/win32/lib/tcl8.6/tzdata/America/Santarem b/win32/lib/tcl8.6/tzdata/America/Santarem index f81e9b6..5fa3551 100644 --- a/win32/lib/tcl8.6/tzdata/America/Santarem +++ b/win32/lib/tcl8.6/tzdata/America/Santarem @@ -3,33 +3,33 @@ set TZData(:America/Santarem) { {-9223372036854775808 -13128 0 LMT} {-1767212472 -14400 0 -04} - {-1206954000 -10800 1 -03} + {-1206954000 -10800 1 -04} {-1191358800 -14400 0 -04} - {-1175371200 -10800 1 -03} + {-1175371200 -10800 1 -04} {-1159822800 -14400 0 -04} - {-633816000 -10800 1 -03} + {-633816000 -10800 1 -04} {-622065600 -14400 0 -04} - {-602280000 -10800 1 -03} + {-602280000 -10800 1 -04} {-591829200 -14400 0 -04} - {-570744000 -10800 1 -03} + {-570744000 -10800 1 -04} {-560206800 -14400 0 -04} - {-539121600 -10800 1 -03} + {-539121600 -10800 1 -04} {-531349200 -14400 0 -04} - {-191361600 -10800 1 -03} + {-191361600 -10800 1 -04} {-184194000 -14400 0 -04} - {-155160000 -10800 1 -03} + {-155160000 -10800 1 -04} {-150066000 -14400 0 -04} - {-128894400 -10800 1 -03} + {-128894400 -10800 1 -04} {-121122000 -14400 0 -04} - {-99950400 -10800 1 -03} + {-99950400 -10800 1 -04} {-89586000 -14400 0 -04} - {-68414400 -10800 1 -03} + {-68414400 -10800 1 -04} {-57963600 -14400 0 -04} - {499752000 -10800 1 -03} + {499752000 -10800 1 -04} {511239600 -14400 0 -04} - {530596800 -10800 1 -03} + {530596800 -10800 1 -04} {540270000 -14400 0 -04} - {562132800 -10800 1 -03} + {562132800 -10800 1 -04} {571201200 -14400 0 -04} {590036400 -14400 0 -04} {1214280000 -10800 0 -03} diff --git a/win32/lib/tcl8.6/tzdata/America/Santiago b/win32/lib/tcl8.6/tzdata/America/Santiago index 95e920d..55212b9 100644 --- a/win32/lib/tcl8.6/tzdata/America/Santiago +++ b/win32/lib/tcl8.6/tzdata/America/Santiago @@ -8,15 +8,15 @@ set TZData(:America/Santiago) { {-1619205434 -14400 0 -04} {-1593806400 -16966 0 SMT} {-1335986234 -18000 0 -05} - {-1335985200 -14400 1 -04} + {-1335985200 -14400 1 -05} {-1317585600 -18000 0 -05} - {-1304362800 -14400 1 -04} + {-1304362800 -14400 1 -05} {-1286049600 -18000 0 -05} - {-1272826800 -14400 1 -04} + {-1272826800 -14400 1 -05} {-1254513600 -18000 0 -05} - {-1241290800 -14400 1 -04} + {-1241290800 -14400 1 -05} {-1222977600 -18000 0 -05} - {-1209754800 -14400 1 -04} + {-1209754800 -14400 1 -05} {-1191355200 -18000 0 -05} {-1178132400 -14400 0 -04} {-870552000 -18000 0 -05} @@ -25,265 +25,265 @@ set TZData(:America/Santiago) { {-736376400 -14400 0 -04} {-718056000 -18000 0 -05} {-713649600 -14400 0 -04} - {-36619200 -10800 1 -03} + {-36619200 -10800 1 -04} {-23922000 -14400 0 -04} - {-3355200 -10800 1 -03} + {-3355200 -10800 1 -04} {7527600 -14400 0 -04} - {24465600 -10800 1 -03} + {24465600 -10800 1 -04} {37767600 -14400 0 -04} - {55915200 -10800 1 -03} + {55915200 -10800 1 -04} {69217200 -14400 0 -04} - {87969600 -10800 1 -03} + {87969600 -10800 1 -04} {100666800 -14400 0 -04} - {118209600 -10800 1 -03} + {118209600 -10800 1 -04} {132116400 -14400 0 -04} - {150868800 -10800 1 -03} + {150868800 -10800 1 -04} {163566000 -14400 0 -04} - {182318400 -10800 1 -03} + {182318400 -10800 1 -04} {195620400 -14400 0 -04} - {213768000 -10800 1 -03} + {213768000 -10800 1 -04} {227070000 -14400 0 -04} - {245217600 -10800 1 -03} + {245217600 -10800 1 -04} {258519600 -14400 0 -04} - {277272000 -10800 1 -03} + {277272000 -10800 1 -04} {289969200 -14400 0 -04} - {308721600 -10800 1 -03} + {308721600 -10800 1 -04} {321418800 -14400 0 -04} - {340171200 -10800 1 -03} + {340171200 -10800 1 -04} {353473200 -14400 0 -04} - {371620800 -10800 1 -03} + {371620800 -10800 1 -04} {384922800 -14400 0 -04} - {403070400 -10800 1 -03} + {403070400 -10800 1 -04} {416372400 -14400 0 -04} - {434520000 -10800 1 -03} + {434520000 -10800 1 -04} {447822000 -14400 0 -04} - {466574400 -10800 1 -03} + {466574400 -10800 1 -04} {479271600 -14400 0 -04} - {498024000 -10800 1 -03} + {498024000 -10800 1 -04} {510721200 -14400 0 -04} - {529473600 -10800 1 -03} + {529473600 -10800 1 -04} {545194800 -14400 0 -04} - {560923200 -10800 1 -03} + {560923200 -10800 1 -04} {574225200 -14400 0 -04} - {592372800 -10800 1 -03} + {592372800 -10800 1 -04} {605674800 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {637124400 -14400 0 -04} - {653457600 -10800 1 -03} + {653457600 -10800 1 -04} {668574000 -14400 0 -04} - {687326400 -10800 1 -03} + {687326400 -10800 1 -04} {700628400 -14400 0 -04} - {718776000 -10800 1 -03} + {718776000 -10800 1 -04} {732078000 -14400 0 -04} - {750225600 -10800 1 -03} + {750225600 -10800 1 -04} {763527600 -14400 0 -04} - {781675200 -10800 1 -03} + {781675200 -10800 1 -04} {794977200 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {826426800 -14400 0 -04} - {845179200 -10800 1 -03} + {845179200 -10800 1 -04} {859690800 -14400 0 -04} - {876628800 -10800 1 -03} + {876628800 -10800 1 -04} {889930800 -14400 0 -04} - {906868800 -10800 1 -03} + {906868800 -10800 1 -04} {923194800 -14400 0 -04} - {939528000 -10800 1 -03} + {939528000 -10800 1 -04} {952830000 -14400 0 -04} - {971582400 -10800 1 -03} + {971582400 -10800 1 -04} {984279600 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1015729200 -14400 0 -04} - {1034481600 -10800 1 -03} + {1034481600 -10800 1 -04} {1047178800 -14400 0 -04} - {1065931200 -10800 1 -03} + {1065931200 -10800 1 -04} {1079233200 -14400 0 -04} - {1097380800 -10800 1 -03} + {1097380800 -10800 1 -04} {1110682800 -14400 0 -04} - {1128830400 -10800 1 -03} + {1128830400 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1206846000 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1237086000 -14400 0 -04} - {1255233600 -10800 1 -03} + {1255233600 -10800 1 -04} {1270350000 -14400 0 -04} - {1286683200 -10800 1 -03} + {1286683200 -10800 1 -04} {1304823600 -14400 0 -04} - {1313899200 -10800 1 -03} + {1313899200 -10800 1 -04} {1335668400 -14400 0 -04} - {1346558400 -10800 1 -03} + {1346558400 -10800 1 -04} {1367118000 -14400 0 -04} - {1378612800 -10800 1 -03} + {1378612800 -10800 1 -04} {1398567600 -14400 0 -04} - {1410062400 -10800 1 -03} + {1410062400 -10800 1 -04} {1463281200 -14400 0 -04} - {1471147200 -10800 1 -03} + {1471147200 -10800 1 -04} {1494730800 -14400 0 -04} - {1502596800 -10800 1 -03} + {1502596800 -10800 1 -04} {1526180400 -14400 0 -04} - {1534046400 -10800 1 -03} - {1557630000 -14400 0 -04} - {1565496000 -10800 1 -03} - {1589079600 -14400 0 -04} - {1596945600 -10800 1 -03} - {1620529200 -14400 0 -04} - {1629000000 -10800 1 -03} - {1652583600 -14400 0 -04} - {1660449600 -10800 1 -03} - {1684033200 -14400 0 -04} - {1691899200 -10800 1 -03} - {1715482800 -14400 0 -04} - {1723348800 -10800 1 -03} - {1746932400 -14400 0 -04} - {1754798400 -10800 1 -03} - {1778382000 -14400 0 -04} - {1786248000 -10800 1 -03} - {1809831600 -14400 0 -04} - {1818302400 -10800 1 -03} - {1841886000 -14400 0 -04} - {1849752000 -10800 1 -03} - {1873335600 -14400 0 -04} - {1881201600 -10800 1 -03} - {1904785200 -14400 0 -04} - {1912651200 -10800 1 -03} - {1936234800 -14400 0 -04} - {1944100800 -10800 1 -03} - {1967684400 -14400 0 -04} - {1976155200 -10800 1 -03} - {1999738800 -14400 0 -04} - {2007604800 -10800 1 -03} - {2031188400 -14400 0 -04} - {2039054400 -10800 1 -03} - {2062638000 -14400 0 -04} - {2070504000 -10800 1 -03} - {2094087600 -14400 0 -04} - {2101953600 -10800 1 -03} - {2125537200 -14400 0 -04} - {2133403200 -10800 1 -03} - {2156986800 -14400 0 -04} - {2165457600 -10800 1 -03} - {2189041200 -14400 0 -04} - {2196907200 -10800 1 -03} - {2220490800 -14400 0 -04} - {2228356800 -10800 1 -03} - {2251940400 -14400 0 -04} - {2259806400 -10800 1 -03} - {2283390000 -14400 0 -04} - {2291256000 -10800 1 -03} - {2314839600 -14400 0 -04} - {2322705600 -10800 1 -03} - {2346894000 -14400 0 -04} - {2354760000 -10800 1 -03} - {2378343600 -14400 0 -04} - {2386209600 -10800 1 -03} - {2409793200 -14400 0 -04} - {2417659200 -10800 1 -03} - {2441242800 -14400 0 -04} - {2449108800 -10800 1 -03} - {2472692400 -14400 0 -04} - {2480558400 -10800 1 -03} - {2504142000 -14400 0 -04} - {2512612800 -10800 1 -03} - {2536196400 -14400 0 -04} - {2544062400 -10800 1 -03} - {2567646000 -14400 0 -04} - {2575512000 -10800 1 -03} - {2599095600 -14400 0 -04} - {2606961600 -10800 1 -03} - {2630545200 -14400 0 -04} - {2638411200 -10800 1 -03} - {2661994800 -14400 0 -04} - {2669860800 -10800 1 -03} - {2693444400 -14400 0 -04} - {2701915200 -10800 1 -03} - {2725498800 -14400 0 -04} - {2733364800 -10800 1 -03} - {2756948400 -14400 0 -04} - {2764814400 -10800 1 -03} - {2788398000 -14400 0 -04} - {2796264000 -10800 1 -03} - {2819847600 -14400 0 -04} - {2827713600 -10800 1 -03} - {2851297200 -14400 0 -04} - {2859768000 -10800 1 -03} - {2883351600 -14400 0 -04} - {2891217600 -10800 1 -03} - {2914801200 -14400 0 -04} - {2922667200 -10800 1 -03} - {2946250800 -14400 0 -04} - {2954116800 -10800 1 -03} - {2977700400 -14400 0 -04} - {2985566400 -10800 1 -03} - {3009150000 -14400 0 -04} - {3017016000 -10800 1 -03} - {3040599600 -14400 0 -04} - {3049070400 -10800 1 -03} - {3072654000 -14400 0 -04} - {3080520000 -10800 1 -03} - {3104103600 -14400 0 -04} - {3111969600 -10800 1 -03} - {3135553200 -14400 0 -04} - {3143419200 -10800 1 -03} - {3167002800 -14400 0 -04} - {3174868800 -10800 1 -03} - {3198452400 -14400 0 -04} - {3206318400 -10800 1 -03} - {3230506800 -14400 0 -04} - {3238372800 -10800 1 -03} - {3261956400 -14400 0 -04} - {3269822400 -10800 1 -03} - {3293406000 -14400 0 -04} - {3301272000 -10800 1 -03} - {3324855600 -14400 0 -04} - {3332721600 -10800 1 -03} - {3356305200 -14400 0 -04} - {3364171200 -10800 1 -03} - {3387754800 -14400 0 -04} - {3396225600 -10800 1 -03} - {3419809200 -14400 0 -04} - {3427675200 -10800 1 -03} - {3451258800 -14400 0 -04} - {3459124800 -10800 1 -03} - {3482708400 -14400 0 -04} - {3490574400 -10800 1 -03} - {3514158000 -14400 0 -04} - {3522024000 -10800 1 -03} - {3545607600 -14400 0 -04} - {3553473600 -10800 1 -03} - {3577057200 -14400 0 -04} - {3585528000 -10800 1 -03} - {3609111600 -14400 0 -04} - {3616977600 -10800 1 -03} - {3640561200 -14400 0 -04} - {3648427200 -10800 1 -03} - {3672010800 -14400 0 -04} - {3679876800 -10800 1 -03} - {3703460400 -14400 0 -04} - {3711326400 -10800 1 -03} - {3734910000 -14400 0 -04} - {3743380800 -10800 1 -03} - {3766964400 -14400 0 -04} - {3774830400 -10800 1 -03} - {3798414000 -14400 0 -04} - {3806280000 -10800 1 -03} - {3829863600 -14400 0 -04} - {3837729600 -10800 1 -03} - {3861313200 -14400 0 -04} - {3869179200 -10800 1 -03} - {3892762800 -14400 0 -04} - {3900628800 -10800 1 -03} - {3924212400 -14400 0 -04} - {3932683200 -10800 1 -03} - {3956266800 -14400 0 -04} - {3964132800 -10800 1 -03} - {3987716400 -14400 0 -04} - {3995582400 -10800 1 -03} - {4019166000 -14400 0 -04} - {4027032000 -10800 1 -03} - {4050615600 -14400 0 -04} - {4058481600 -10800 1 -03} - {4082065200 -14400 0 -04} - {4089931200 -10800 1 -03} + {1534046400 -10800 1 -04} + {1554606000 -14400 0 -04} + {1567915200 -10800 1 -04} + {1586055600 -14400 0 -04} + {1599364800 -10800 1 -04} + {1617505200 -14400 0 -04} + {1630814400 -10800 1 -04} + {1648954800 -14400 0 -04} + {1662264000 -10800 1 -04} + {1680404400 -14400 0 -04} + {1693713600 -10800 1 -04} + {1712458800 -14400 0 -04} + {1725768000 -10800 1 -04} + {1743908400 -14400 0 -04} + {1757217600 -10800 1 -04} + {1775358000 -14400 0 -04} + {1788667200 -10800 1 -04} + {1806807600 -14400 0 -04} + {1820116800 -10800 1 -04} + {1838257200 -14400 0 -04} + {1851566400 -10800 1 -04} + {1870311600 -14400 0 -04} + {1883016000 -10800 1 -04} + {1901761200 -14400 0 -04} + {1915070400 -10800 1 -04} + {1933210800 -14400 0 -04} + {1946520000 -10800 1 -04} + {1964660400 -14400 0 -04} + {1977969600 -10800 1 -04} + {1996110000 -14400 0 -04} + {2009419200 -10800 1 -04} + {2027559600 -14400 0 -04} + {2040868800 -10800 1 -04} + {2059614000 -14400 0 -04} + {2072318400 -10800 1 -04} + {2091063600 -14400 0 -04} + {2104372800 -10800 1 -04} + {2122513200 -14400 0 -04} + {2135822400 -10800 1 -04} + {2153962800 -14400 0 -04} + {2167272000 -10800 1 -04} + {2185412400 -14400 0 -04} + {2198721600 -10800 1 -04} + {2217466800 -14400 0 -04} + {2230171200 -10800 1 -04} + {2248916400 -14400 0 -04} + {2262225600 -10800 1 -04} + {2280366000 -14400 0 -04} + {2293675200 -10800 1 -04} + {2311815600 -14400 0 -04} + {2325124800 -10800 1 -04} + {2343265200 -14400 0 -04} + {2356574400 -10800 1 -04} + {2374714800 -14400 0 -04} + {2388024000 -10800 1 -04} + {2406769200 -14400 0 -04} + {2419473600 -10800 1 -04} + {2438218800 -14400 0 -04} + {2451528000 -10800 1 -04} + {2469668400 -14400 0 -04} + {2482977600 -10800 1 -04} + {2501118000 -14400 0 -04} + {2514427200 -10800 1 -04} + {2532567600 -14400 0 -04} + {2545876800 -10800 1 -04} + {2564017200 -14400 0 -04} + {2577326400 -10800 1 -04} + {2596071600 -14400 0 -04} + {2609380800 -10800 1 -04} + {2627521200 -14400 0 -04} + {2640830400 -10800 1 -04} + {2658970800 -14400 0 -04} + {2672280000 -10800 1 -04} + {2690420400 -14400 0 -04} + {2703729600 -10800 1 -04} + {2721870000 -14400 0 -04} + {2735179200 -10800 1 -04} + {2753924400 -14400 0 -04} + {2766628800 -10800 1 -04} + {2785374000 -14400 0 -04} + {2798683200 -10800 1 -04} + {2816823600 -14400 0 -04} + {2830132800 -10800 1 -04} + {2848273200 -14400 0 -04} + {2861582400 -10800 1 -04} + {2879722800 -14400 0 -04} + {2893032000 -10800 1 -04} + {2911172400 -14400 0 -04} + {2924481600 -10800 1 -04} + {2943226800 -14400 0 -04} + {2955931200 -10800 1 -04} + {2974676400 -14400 0 -04} + {2987985600 -10800 1 -04} + {3006126000 -14400 0 -04} + {3019435200 -10800 1 -04} + {3037575600 -14400 0 -04} + {3050884800 -10800 1 -04} + {3069025200 -14400 0 -04} + {3082334400 -10800 1 -04} + {3101079600 -14400 0 -04} + {3113784000 -10800 1 -04} + {3132529200 -14400 0 -04} + {3145838400 -10800 1 -04} + {3163978800 -14400 0 -04} + {3177288000 -10800 1 -04} + {3195428400 -14400 0 -04} + {3208737600 -10800 1 -04} + {3226878000 -14400 0 -04} + {3240187200 -10800 1 -04} + {3258327600 -14400 0 -04} + {3271636800 -10800 1 -04} + {3290382000 -14400 0 -04} + {3303086400 -10800 1 -04} + {3321831600 -14400 0 -04} + {3335140800 -10800 1 -04} + {3353281200 -14400 0 -04} + {3366590400 -10800 1 -04} + {3384730800 -14400 0 -04} + {3398040000 -10800 1 -04} + {3416180400 -14400 0 -04} + {3429489600 -10800 1 -04} + {3447630000 -14400 0 -04} + {3460939200 -10800 1 -04} + {3479684400 -14400 0 -04} + {3492993600 -10800 1 -04} + {3511134000 -14400 0 -04} + {3524443200 -10800 1 -04} + {3542583600 -14400 0 -04} + {3555892800 -10800 1 -04} + {3574033200 -14400 0 -04} + {3587342400 -10800 1 -04} + {3605482800 -14400 0 -04} + {3618792000 -10800 1 -04} + {3637537200 -14400 0 -04} + {3650241600 -10800 1 -04} + {3668986800 -14400 0 -04} + {3682296000 -10800 1 -04} + {3700436400 -14400 0 -04} + {3713745600 -10800 1 -04} + {3731886000 -14400 0 -04} + {3745195200 -10800 1 -04} + {3763335600 -14400 0 -04} + {3776644800 -10800 1 -04} + {3794785200 -14400 0 -04} + {3808094400 -10800 1 -04} + {3826839600 -14400 0 -04} + {3839544000 -10800 1 -04} + {3858289200 -14400 0 -04} + {3871598400 -10800 1 -04} + {3889738800 -14400 0 -04} + {3903048000 -10800 1 -04} + {3921188400 -14400 0 -04} + {3934497600 -10800 1 -04} + {3952638000 -14400 0 -04} + {3965947200 -10800 1 -04} + {3984692400 -14400 0 -04} + {3997396800 -10800 1 -04} + {4016142000 -14400 0 -04} + {4029451200 -10800 1 -04} + {4047591600 -14400 0 -04} + {4060900800 -10800 1 -04} + {4079041200 -14400 0 -04} + {4092350400 -10800 1 -04} } diff --git a/win32/lib/tcl8.6/tzdata/America/Sao_Paulo b/win32/lib/tcl8.6/tzdata/America/Sao_Paulo index a61c638..235f57a 100644 --- a/win32/lib/tcl8.6/tzdata/America/Sao_Paulo +++ b/win32/lib/tcl8.6/tzdata/America/Sao_Paulo @@ -3,256 +3,256 @@ set TZData(:America/Sao_Paulo) { {-9223372036854775808 -11188 0 LMT} {-1767214412 -10800 0 -03} - {-1206957600 -7200 1 -02} + {-1206957600 -7200 1 -03} {-1191362400 -10800 0 -03} - {-1175374800 -7200 1 -02} + {-1175374800 -7200 1 -03} {-1159826400 -10800 0 -03} - {-633819600 -7200 1 -02} + {-633819600 -7200 1 -03} {-622069200 -10800 0 -03} - {-602283600 -7200 1 -02} + {-602283600 -7200 1 -03} {-591832800 -10800 0 -03} - {-570747600 -7200 1 -02} + {-570747600 -7200 1 -03} {-560210400 -10800 0 -03} - {-539125200 -7200 1 -02} + {-539125200 -7200 1 -03} {-531352800 -10800 0 -03} {-195429600 -7200 1 -02} {-189381600 -7200 0 -03} {-184197600 -10800 0 -03} - {-155163600 -7200 1 -02} + {-155163600 -7200 1 -03} {-150069600 -10800 0 -03} - {-128898000 -7200 1 -02} + {-128898000 -7200 1 -03} {-121125600 -10800 0 -03} - {-99954000 -7200 1 -02} + {-99954000 -7200 1 -03} {-89589600 -10800 0 -03} - {-68418000 -7200 1 -02} + {-68418000 -7200 1 -03} {-57967200 -10800 0 -03} - {499748400 -7200 1 -02} + {499748400 -7200 1 -03} {511236000 -10800 0 -03} - {530593200 -7200 1 -02} + {530593200 -7200 1 -03} {540266400 -10800 0 -03} - {562129200 -7200 1 -02} + {562129200 -7200 1 -03} {571197600 -10800 0 -03} - {592974000 -7200 1 -02} + {592974000 -7200 1 -03} {602042400 -10800 0 -03} - {624423600 -7200 1 -02} + {624423600 -7200 1 -03} {634701600 -10800 0 -03} - {656478000 -7200 1 -02} + {656478000 -7200 1 -03} {666756000 -10800 0 -03} - {687927600 -7200 1 -02} + {687927600 -7200 1 -03} {697600800 -10800 0 -03} - {719982000 -7200 1 -02} + {719982000 -7200 1 -03} {728445600 -10800 0 -03} - {750826800 -7200 1 -02} + {750826800 -7200 1 -03} {761709600 -10800 0 -03} - {782276400 -7200 1 -02} + {782276400 -7200 1 -03} {793159200 -10800 0 -03} - {813726000 -7200 1 -02} + {813726000 -7200 1 -03} {824004000 -10800 0 -03} - {844570800 -7200 1 -02} + {844570800 -7200 1 -03} {856058400 -10800 0 -03} - {876106800 -7200 1 -02} + {876106800 -7200 1 -03} {888717600 -10800 0 -03} - {908074800 -7200 1 -02} + {908074800 -7200 1 -03} {919562400 -10800 0 -03} - {938919600 -7200 1 -02} + {938919600 -7200 1 -03} {951616800 -10800 0 -03} - {970974000 -7200 1 -02} + {970974000 -7200 1 -03} {982461600 -10800 0 -03} - {1003028400 -7200 1 -02} + {1003028400 -7200 1 -03} {1013911200 -10800 0 -03} - {1036292400 -7200 1 -02} + {1036292400 -7200 1 -03} {1045360800 -10800 0 -03} - {1066532400 -7200 1 -02} + {1066532400 -7200 1 -03} {1076810400 -10800 0 -03} - {1099364400 -7200 1 -02} + {1099364400 -7200 1 -03} {1108864800 -10800 0 -03} - {1129431600 -7200 1 -02} + {1129431600 -7200 1 -03} {1140314400 -10800 0 -03} - {1162695600 -7200 1 -02} + {1162695600 -7200 1 -03} {1172368800 -10800 0 -03} - {1192330800 -7200 1 -02} + {1192330800 -7200 1 -03} {1203213600 -10800 0 -03} - {1224385200 -7200 1 -02} + {1224385200 -7200 1 -03} {1234663200 -10800 0 -03} - {1255834800 -7200 1 -02} + {1255834800 -7200 1 -03} {1266717600 -10800 0 -03} - {1287284400 -7200 1 -02} + {1287284400 -7200 1 -03} {1298167200 -10800 0 -03} - {1318734000 -7200 1 -02} + {1318734000 -7200 1 -03} {1330221600 -10800 0 -03} - {1350788400 -7200 1 -02} + {1350788400 -7200 1 -03} {1361066400 -10800 0 -03} - {1382238000 -7200 1 -02} + {1382238000 -7200 1 -03} {1392516000 -10800 0 -03} - {1413687600 -7200 1 -02} + {1413687600 -7200 1 -03} {1424570400 -10800 0 -03} - {1445137200 -7200 1 -02} + {1445137200 -7200 1 -03} {1456020000 -10800 0 -03} - {1476586800 -7200 1 -02} + {1476586800 -7200 1 -03} {1487469600 -10800 0 -03} - {1508036400 -7200 1 -02} + {1508036400 -7200 1 -03} {1518919200 -10800 0 -03} - {1540090800 -7200 1 -02} + {1541300400 -7200 1 -03} {1550368800 -10800 0 -03} - {1571540400 -7200 1 -02} + {1572750000 -7200 1 -03} {1581818400 -10800 0 -03} - {1602990000 -7200 1 -02} + {1604199600 -7200 1 -03} {1613872800 -10800 0 -03} - {1634439600 -7200 1 -02} + {1636254000 -7200 1 -03} {1645322400 -10800 0 -03} - {1665889200 -7200 1 -02} + {1667703600 -7200 1 -03} {1677376800 -10800 0 -03} - {1697338800 -7200 1 -02} + {1699153200 -7200 1 -03} {1708221600 -10800 0 -03} - {1729393200 -7200 1 -02} + {1730602800 -7200 1 -03} {1739671200 -10800 0 -03} - {1760842800 -7200 1 -02} + {1762052400 -7200 1 -03} {1771725600 -10800 0 -03} - {1792292400 -7200 1 -02} + {1793502000 -7200 1 -03} {1803175200 -10800 0 -03} - {1823742000 -7200 1 -02} + {1825556400 -7200 1 -03} {1834624800 -10800 0 -03} - {1855191600 -7200 1 -02} + {1857006000 -7200 1 -03} {1866074400 -10800 0 -03} - {1887246000 -7200 1 -02} + {1888455600 -7200 1 -03} {1897524000 -10800 0 -03} - {1918695600 -7200 1 -02} + {1919905200 -7200 1 -03} {1928973600 -10800 0 -03} - {1950145200 -7200 1 -02} + {1951354800 -7200 1 -03} {1960423200 -10800 0 -03} - {1981594800 -7200 1 -02} + {1983409200 -7200 1 -03} {1992477600 -10800 0 -03} - {2013044400 -7200 1 -02} + {2014858800 -7200 1 -03} {2024532000 -10800 0 -03} - {2044494000 -7200 1 -02} + {2046308400 -7200 1 -03} {2055376800 -10800 0 -03} - {2076548400 -7200 1 -02} + {2077758000 -7200 1 -03} {2086826400 -10800 0 -03} - {2107998000 -7200 1 -02} + {2109207600 -7200 1 -03} {2118880800 -10800 0 -03} - {2139447600 -7200 1 -02} + {2140657200 -7200 1 -03} {2150330400 -10800 0 -03} - {2170897200 -7200 1 -02} + {2172711600 -7200 1 -03} {2181780000 -10800 0 -03} - {2202346800 -7200 1 -02} + {2204161200 -7200 1 -03} {2213229600 -10800 0 -03} - {2234401200 -7200 1 -02} + {2235610800 -7200 1 -03} {2244679200 -10800 0 -03} - {2265850800 -7200 1 -02} + {2267060400 -7200 1 -03} {2276128800 -10800 0 -03} - {2297300400 -7200 1 -02} + {2298510000 -7200 1 -03} {2307578400 -10800 0 -03} - {2328750000 -7200 1 -02} + {2329959600 -7200 1 -03} {2339632800 -10800 0 -03} - {2360199600 -7200 1 -02} + {2362014000 -7200 1 -03} {2371082400 -10800 0 -03} - {2391649200 -7200 1 -02} + {2393463600 -7200 1 -03} {2402532000 -10800 0 -03} - {2423703600 -7200 1 -02} + {2424913200 -7200 1 -03} {2433981600 -10800 0 -03} - {2455153200 -7200 1 -02} + {2456362800 -7200 1 -03} {2465431200 -10800 0 -03} - {2486602800 -7200 1 -02} + {2487812400 -7200 1 -03} {2497485600 -10800 0 -03} - {2518052400 -7200 1 -02} + {2519866800 -7200 1 -03} {2528935200 -10800 0 -03} - {2549502000 -7200 1 -02} + {2551316400 -7200 1 -03} {2560384800 -10800 0 -03} - {2580951600 -7200 1 -02} + {2582766000 -7200 1 -03} {2591834400 -10800 0 -03} - {2613006000 -7200 1 -02} + {2614215600 -7200 1 -03} {2623284000 -10800 0 -03} - {2644455600 -7200 1 -02} + {2645665200 -7200 1 -03} {2654733600 -10800 0 -03} - {2675905200 -7200 1 -02} + {2677114800 -7200 1 -03} {2686788000 -10800 0 -03} - {2707354800 -7200 1 -02} + {2709169200 -7200 1 -03} {2718237600 -10800 0 -03} - {2738804400 -7200 1 -02} + {2740618800 -7200 1 -03} {2749687200 -10800 0 -03} - {2770858800 -7200 1 -02} + {2772068400 -7200 1 -03} {2781136800 -10800 0 -03} - {2802308400 -7200 1 -02} + {2803518000 -7200 1 -03} {2812586400 -10800 0 -03} - {2833758000 -7200 1 -02} + {2834967600 -7200 1 -03} {2844036000 -10800 0 -03} - {2865207600 -7200 1 -02} + {2867022000 -7200 1 -03} {2876090400 -10800 0 -03} - {2896657200 -7200 1 -02} + {2898471600 -7200 1 -03} {2907540000 -10800 0 -03} - {2928106800 -7200 1 -02} + {2929921200 -7200 1 -03} {2938989600 -10800 0 -03} - {2960161200 -7200 1 -02} + {2961370800 -7200 1 -03} {2970439200 -10800 0 -03} - {2991610800 -7200 1 -02} + {2992820400 -7200 1 -03} {3001888800 -10800 0 -03} - {3023060400 -7200 1 -02} + {3024270000 -7200 1 -03} {3033943200 -10800 0 -03} - {3054510000 -7200 1 -02} + {3056324400 -7200 1 -03} {3065392800 -10800 0 -03} - {3085959600 -7200 1 -02} + {3087774000 -7200 1 -03} {3096842400 -10800 0 -03} - {3118014000 -7200 1 -02} + {3119223600 -7200 1 -03} {3128292000 -10800 0 -03} - {3149463600 -7200 1 -02} + {3150673200 -7200 1 -03} {3159741600 -10800 0 -03} - {3180913200 -7200 1 -02} + {3182122800 -7200 1 -03} {3191191200 -10800 0 -03} - {3212362800 -7200 1 -02} + {3213572400 -7200 1 -03} {3223245600 -10800 0 -03} - {3243812400 -7200 1 -02} + {3245626800 -7200 1 -03} {3254695200 -10800 0 -03} - {3275262000 -7200 1 -02} + {3277076400 -7200 1 -03} {3286144800 -10800 0 -03} - {3307316400 -7200 1 -02} + {3308526000 -7200 1 -03} {3317594400 -10800 0 -03} - {3338766000 -7200 1 -02} + {3339975600 -7200 1 -03} {3349044000 -10800 0 -03} - {3370215600 -7200 1 -02} + {3371425200 -7200 1 -03} {3381098400 -10800 0 -03} - {3401665200 -7200 1 -02} + {3403479600 -7200 1 -03} {3412548000 -10800 0 -03} - {3433114800 -7200 1 -02} + {3434929200 -7200 1 -03} {3443997600 -10800 0 -03} - {3464564400 -7200 1 -02} + {3466378800 -7200 1 -03} {3475447200 -10800 0 -03} - {3496618800 -7200 1 -02} + {3497828400 -7200 1 -03} {3506896800 -10800 0 -03} - {3528068400 -7200 1 -02} + {3529278000 -7200 1 -03} {3538346400 -10800 0 -03} - {3559518000 -7200 1 -02} + {3560727600 -7200 1 -03} {3570400800 -10800 0 -03} - {3590967600 -7200 1 -02} + {3592782000 -7200 1 -03} {3601850400 -10800 0 -03} - {3622417200 -7200 1 -02} + {3624231600 -7200 1 -03} {3633300000 -10800 0 -03} - {3654471600 -7200 1 -02} + {3655681200 -7200 1 -03} {3664749600 -10800 0 -03} - {3685921200 -7200 1 -02} + {3687130800 -7200 1 -03} {3696199200 -10800 0 -03} - {3717370800 -7200 1 -02} + {3718580400 -7200 1 -03} {3727648800 -10800 0 -03} - {3748820400 -7200 1 -02} + {3750634800 -7200 1 -03} {3759703200 -10800 0 -03} - {3780270000 -7200 1 -02} + {3782084400 -7200 1 -03} {3791152800 -10800 0 -03} - {3811719600 -7200 1 -02} + {3813534000 -7200 1 -03} {3822602400 -10800 0 -03} - {3843774000 -7200 1 -02} + {3844983600 -7200 1 -03} {3854052000 -10800 0 -03} - {3875223600 -7200 1 -02} + {3876433200 -7200 1 -03} {3885501600 -10800 0 -03} - {3906673200 -7200 1 -02} + {3907882800 -7200 1 -03} {3917556000 -10800 0 -03} - {3938122800 -7200 1 -02} + {3939937200 -7200 1 -03} {3949005600 -10800 0 -03} - {3969572400 -7200 1 -02} + {3971386800 -7200 1 -03} {3980455200 -10800 0 -03} - {4001626800 -7200 1 -02} + {4002836400 -7200 1 -03} {4011904800 -10800 0 -03} - {4033076400 -7200 1 -02} + {4034286000 -7200 1 -03} {4043354400 -10800 0 -03} - {4064526000 -7200 1 -02} + {4065735600 -7200 1 -03} {4074804000 -10800 0 -03} - {4095975600 -7200 1 -02} + {4097185200 -7200 1 -03} } diff --git a/win32/lib/tcl8.6/tzdata/Antarctica/Casey b/win32/lib/tcl8.6/tzdata/Antarctica/Casey index beb0f9e..aa37480 100644 --- a/win32/lib/tcl8.6/tzdata/Antarctica/Casey +++ b/win32/lib/tcl8.6/tzdata/Antarctica/Casey @@ -8,4 +8,5 @@ set TZData(:Antarctica/Casey) { {1319738400 39600 0 +11} {1329843600 28800 0 +08} {1477065600 39600 0 +11} + {1520701200 28800 0 +08} } diff --git a/win32/lib/tcl8.6/tzdata/Antarctica/Palmer b/win32/lib/tcl8.6/tzdata/Antarctica/Palmer index bb2be4d..f450e3b 100644 --- a/win32/lib/tcl8.6/tzdata/Antarctica/Palmer +++ b/win32/lib/tcl8.6/tzdata/Antarctica/Palmer @@ -4,84 +4,84 @@ set TZData(:Antarctica/Palmer) { {-9223372036854775808 0 0 -00} {-157766400 -14400 0 -04} {-152654400 -14400 0 -04} - {-132955200 -10800 1 -03} + {-132955200 -10800 1 -04} {-121122000 -14400 0 -04} - {-101419200 -10800 1 -03} + {-101419200 -10800 1 -04} {-86821200 -14400 0 -04} - {-71092800 -10800 1 -03} + {-71092800 -10800 1 -04} {-54766800 -14400 0 -04} - {-39038400 -10800 1 -03} + {-39038400 -10800 1 -04} {-23317200 -14400 0 -04} {-7588800 -10800 0 -03} - {128142000 -7200 1 -02} + {128142000 -7200 1 -03} {136605600 -10800 0 -03} {389070000 -14400 0 -04} - {403070400 -10800 1 -03} + {403070400 -10800 1 -04} {416372400 -14400 0 -04} - {434520000 -10800 1 -03} + {434520000 -10800 1 -04} {447822000 -14400 0 -04} - {466574400 -10800 1 -03} + {466574400 -10800 1 -04} {479271600 -14400 0 -04} - {498024000 -10800 1 -03} + {498024000 -10800 1 -04} {510721200 -14400 0 -04} - {529473600 -10800 1 -03} + {529473600 -10800 1 -04} {545194800 -14400 0 -04} - {560923200 -10800 1 -03} + {560923200 -10800 1 -04} {574225200 -14400 0 -04} - {592372800 -10800 1 -03} + {592372800 -10800 1 -04} {605674800 -14400 0 -04} - {624427200 -10800 1 -03} + {624427200 -10800 1 -04} {637124400 -14400 0 -04} - {653457600 -10800 1 -03} + {653457600 -10800 1 -04} {668574000 -14400 0 -04} - {687326400 -10800 1 -03} + {687326400 -10800 1 -04} {700628400 -14400 0 -04} - {718776000 -10800 1 -03} + {718776000 -10800 1 -04} {732078000 -14400 0 -04} - {750225600 -10800 1 -03} + {750225600 -10800 1 -04} {763527600 -14400 0 -04} - {781675200 -10800 1 -03} + {781675200 -10800 1 -04} {794977200 -14400 0 -04} - {813729600 -10800 1 -03} + {813729600 -10800 1 -04} {826426800 -14400 0 -04} - {845179200 -10800 1 -03} + {845179200 -10800 1 -04} {859690800 -14400 0 -04} - {876628800 -10800 1 -03} + {876628800 -10800 1 -04} {889930800 -14400 0 -04} - {906868800 -10800 1 -03} + {906868800 -10800 1 -04} {923194800 -14400 0 -04} - {939528000 -10800 1 -03} + {939528000 -10800 1 -04} {952830000 -14400 0 -04} - {971582400 -10800 1 -03} + {971582400 -10800 1 -04} {984279600 -14400 0 -04} - {1003032000 -10800 1 -03} + {1003032000 -10800 1 -04} {1015729200 -14400 0 -04} - {1034481600 -10800 1 -03} + {1034481600 -10800 1 -04} {1047178800 -14400 0 -04} - {1065931200 -10800 1 -03} + {1065931200 -10800 1 -04} {1079233200 -14400 0 -04} - {1097380800 -10800 1 -03} + {1097380800 -10800 1 -04} {1110682800 -14400 0 -04} - {1128830400 -10800 1 -03} + {1128830400 -10800 1 -04} {1142132400 -14400 0 -04} - {1160884800 -10800 1 -03} + {1160884800 -10800 1 -04} {1173582000 -14400 0 -04} - {1192334400 -10800 1 -03} + {1192334400 -10800 1 -04} {1206846000 -14400 0 -04} - {1223784000 -10800 1 -03} + {1223784000 -10800 1 -04} {1237086000 -14400 0 -04} - {1255233600 -10800 1 -03} + {1255233600 -10800 1 -04} {1270350000 -14400 0 -04} - {1286683200 -10800 1 -03} + {1286683200 -10800 1 -04} {1304823600 -14400 0 -04} - {1313899200 -10800 1 -03} + {1313899200 -10800 1 -04} {1335668400 -14400 0 -04} - {1346558400 -10800 1 -03} + {1346558400 -10800 1 -04} {1367118000 -14400 0 -04} - {1378612800 -10800 1 -03} + {1378612800 -10800 1 -04} {1398567600 -14400 0 -04} - {1410062400 -10800 1 -03} + {1410062400 -10800 1 -04} {1463281200 -14400 0 -04} - {1471147200 -10800 1 -03} + {1471147200 -10800 1 -04} {1480820400 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Almaty b/win32/lib/tcl8.6/tzdata/Asia/Almaty index 2b83197..f42935d 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Almaty +++ b/win32/lib/tcl8.6/tzdata/Asia/Almaty @@ -4,54 +4,54 @@ set TZData(:Asia/Almaty) { {-9223372036854775808 18468 0 LMT} {-1441170468 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {686091600 18000 0 +05} {695768400 21600 0 +06} - {701812800 25200 1 +07} + {701812800 25200 1 +06} {717537600 21600 0 +06} - {733262400 25200 1 +07} + {733262400 25200 1 +06} {748987200 21600 0 +06} - {764712000 25200 1 +07} + {764712000 25200 1 +06} {780436800 21600 0 +06} - {796161600 25200 1 +07} + {796161600 25200 1 +06} {811886400 21600 0 +06} - {828216000 25200 1 +07} + {828216000 25200 1 +06} {846360000 21600 0 +06} - {859665600 25200 1 +07} + {859665600 25200 1 +06} {877809600 21600 0 +06} - {891115200 25200 1 +07} + {891115200 25200 1 +06} {909259200 21600 0 +06} - {922564800 25200 1 +07} + {922564800 25200 1 +06} {941313600 21600 0 +06} - {954014400 25200 1 +07} + {954014400 25200 1 +06} {972763200 21600 0 +06} - {985464000 25200 1 +07} + {985464000 25200 1 +06} {1004212800 21600 0 +06} - {1017518400 25200 1 +07} + {1017518400 25200 1 +06} {1035662400 21600 0 +06} - {1048968000 25200 1 +07} + {1048968000 25200 1 +06} {1067112000 21600 0 +06} - {1080417600 25200 1 +07} + {1080417600 25200 1 +06} {1099166400 21600 0 +06} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Aqtau b/win32/lib/tcl8.6/tzdata/Asia/Aqtau index c128b27..41da2ca 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Aqtau +++ b/win32/lib/tcl8.6/tzdata/Asia/Aqtau @@ -6,53 +6,53 @@ set TZData(:Asia/Aqtau) { {-1247544000 18000 0 +05} {370724400 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} - {780440400 18000 0 +05} + {764715600 21600 1 +05} + {780440400 18000 0 +04} {780444000 14400 0 +04} - {796168800 18000 1 +05} + {796168800 18000 1 +04} {811893600 14400 0 +04} - {828223200 18000 1 +05} + {828223200 18000 1 +04} {846367200 14400 0 +04} - {859672800 18000 1 +05} + {859672800 18000 1 +04} {877816800 14400 0 +04} - {891122400 18000 1 +05} + {891122400 18000 1 +04} {909266400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Aqtobe b/win32/lib/tcl8.6/tzdata/Asia/Aqtobe index 55ef556..2316e68 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Aqtobe +++ b/win32/lib/tcl8.6/tzdata/Asia/Aqtobe @@ -7,52 +7,52 @@ set TZData(:Asia/Aqtobe) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} + {764715600 21600 1 +05} {780440400 18000 0 +05} - {796165200 21600 1 +06} + {796165200 21600 1 +05} {811890000 18000 0 +05} - {828219600 21600 1 +06} + {828219600 21600 1 +05} {846363600 18000 0 +05} - {859669200 21600 1 +06} + {859669200 21600 1 +05} {877813200 18000 0 +05} - {891118800 21600 1 +06} + {891118800 21600 1 +05} {909262800 18000 0 +05} - {922568400 21600 1 +06} + {922568400 21600 1 +05} {941317200 18000 0 +05} - {954018000 21600 1 +06} + {954018000 21600 1 +05} {972766800 18000 0 +05} - {985467600 21600 1 +06} + {985467600 21600 1 +05} {1004216400 18000 0 +05} - {1017522000 21600 1 +06} + {1017522000 21600 1 +05} {1035666000 18000 0 +05} - {1048971600 21600 1 +06} + {1048971600 21600 1 +05} {1067115600 18000 0 +05} - {1080421200 21600 1 +06} + {1080421200 21600 1 +05} {1099170000 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Ashgabat b/win32/lib/tcl8.6/tzdata/Asia/Ashgabat index fa6a619..feb7725 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Ashgabat +++ b/win32/lib/tcl8.6/tzdata/Asia/Ashgabat @@ -4,28 +4,28 @@ set TZData(:Asia/Ashgabat) { {-9223372036854775808 14012 0 LMT} {-1441166012 14400 0 +04} {-1247544000 18000 0 +05} - {354913200 21600 1 +06} + {354913200 21600 1 +05} {370720800 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Atyrau b/win32/lib/tcl8.6/tzdata/Asia/Atyrau index c31ff11..b6d8253 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Atyrau +++ b/win32/lib/tcl8.6/tzdata/Asia/Atyrau @@ -6,53 +6,53 @@ set TZData(:Asia/Atyrau) { {-1247540400 18000 0 +05} {370724400 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {695772000 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} + {764715600 21600 1 +05} {780440400 18000 0 +05} - {796165200 21600 1 +06} + {796165200 21600 1 +05} {811890000 18000 0 +05} - {828219600 21600 1 +06} + {828219600 21600 1 +05} {846363600 18000 0 +05} - {859669200 21600 1 +06} + {859669200 21600 1 +05} {877813200 18000 0 +05} - {891118800 21600 1 +06} + {891118800 21600 1 +05} {909262800 18000 0 +05} {922568400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Baghdad b/win32/lib/tcl8.6/tzdata/Asia/Baghdad index 623e310..c76a6a1 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Baghdad +++ b/win32/lib/tcl8.6/tzdata/Asia/Baghdad @@ -4,56 +4,56 @@ set TZData(:Asia/Baghdad) { {-9223372036854775808 10660 0 LMT} {-2524532260 10656 0 BMT} {-1641005856 10800 0 +03} - {389048400 14400 0 +04} - {402264000 10800 0 +04} - {417906000 14400 1 +04} - {433800000 10800 0 +04} - {449614800 14400 1 +04} - {465422400 10800 0 +04} - {481150800 14400 1 +04} - {496792800 10800 0 +04} - {512517600 14400 1 +04} - {528242400 10800 0 +04} - {543967200 14400 1 +04} - {559692000 10800 0 +04} - {575416800 14400 1 +04} - {591141600 10800 0 +04} - {606866400 14400 1 +04} - {622591200 10800 0 +04} - {638316000 14400 1 +04} - {654645600 10800 0 +04} - {670464000 14400 1 +04} - {686275200 10800 0 +04} - {702086400 14400 1 +04} - {717897600 10800 0 +04} - {733622400 14400 1 +04} - {749433600 10800 0 +04} - {765158400 14400 1 +04} - {780969600 10800 0 +04} - {796694400 14400 1 +04} - {812505600 10800 0 +04} - {828316800 14400 1 +04} - {844128000 10800 0 +04} - {859852800 14400 1 +04} - {875664000 10800 0 +04} - {891388800 14400 1 +04} - {907200000 10800 0 +04} - {922924800 14400 1 +04} - {938736000 10800 0 +04} - {954547200 14400 1 +04} - {970358400 10800 0 +04} - {986083200 14400 1 +04} - {1001894400 10800 0 +04} - {1017619200 14400 1 +04} - {1033430400 10800 0 +04} - {1049155200 14400 1 +04} - {1064966400 10800 0 +04} - {1080777600 14400 1 +04} - {1096588800 10800 0 +04} - {1112313600 14400 1 +04} - {1128124800 10800 0 +04} - {1143849600 14400 1 +04} - {1159660800 10800 0 +04} - {1175385600 14400 1 +04} - {1191196800 10800 0 +04} + {389048400 14400 0 +03} + {402264000 10800 0 +03} + {417906000 14400 1 +03} + {433800000 10800 0 +03} + {449614800 14400 1 +03} + {465422400 10800 0 +03} + {481150800 14400 1 +03} + {496792800 10800 0 +03} + {512517600 14400 1 +03} + {528242400 10800 0 +03} + {543967200 14400 1 +03} + {559692000 10800 0 +03} + {575416800 14400 1 +03} + {591141600 10800 0 +03} + {606866400 14400 1 +03} + {622591200 10800 0 +03} + {638316000 14400 1 +03} + {654645600 10800 0 +03} + {670464000 14400 1 +03} + {686275200 10800 0 +03} + {702086400 14400 1 +03} + {717897600 10800 0 +03} + {733622400 14400 1 +03} + {749433600 10800 0 +03} + {765158400 14400 1 +03} + {780969600 10800 0 +03} + {796694400 14400 1 +03} + {812505600 10800 0 +03} + {828316800 14400 1 +03} + {844128000 10800 0 +03} + {859852800 14400 1 +03} + {875664000 10800 0 +03} + {891388800 14400 1 +03} + {907200000 10800 0 +03} + {922924800 14400 1 +03} + {938736000 10800 0 +03} + {954547200 14400 1 +03} + {970358400 10800 0 +03} + {986083200 14400 1 +03} + {1001894400 10800 0 +03} + {1017619200 14400 1 +03} + {1033430400 10800 0 +03} + {1049155200 14400 1 +03} + {1064966400 10800 0 +03} + {1080777600 14400 1 +03} + {1096588800 10800 0 +03} + {1112313600 14400 1 +03} + {1128124800 10800 0 +03} + {1143849600 14400 1 +03} + {1159660800 10800 0 +03} + {1175385600 14400 1 +03} + {1191196800 10800 0 +03} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Baku b/win32/lib/tcl8.6/tzdata/Asia/Baku index f945b89..03dee19 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Baku +++ b/win32/lib/tcl8.6/tzdata/Asia/Baku @@ -4,71 +4,71 @@ set TZData(:Asia/Baku) { {-9223372036854775808 11964 0 LMT} {-1441163964 10800 0 +03} {-405140400 14400 0 +04} - {354916800 18000 1 +05} + {354916800 18000 1 +04} {370724400 14400 0 +04} - {386452800 18000 1 +05} + {386452800 18000 1 +04} {402260400 14400 0 +04} - {417988800 18000 1 +05} + {417988800 18000 1 +04} {433796400 14400 0 +04} - {449611200 18000 1 +05} + {449611200 18000 1 +04} {465343200 14400 0 +04} - {481068000 18000 1 +05} + {481068000 18000 1 +04} {496792800 14400 0 +04} - {512517600 18000 1 +05} + {512517600 18000 1 +04} {528242400 14400 0 +04} - {543967200 18000 1 +05} + {543967200 18000 1 +04} {559692000 14400 0 +04} - {575416800 18000 1 +05} + {575416800 18000 1 +04} {591141600 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} {670370400 10800 0 +03} - {670374000 14400 1 +04} + {670374000 14400 1 +03} {686098800 10800 0 +03} - {701823600 14400 1 +04} + {701823600 14400 1 +03} {717548400 14400 0 +04} {820440000 14400 0 +04} {828234000 18000 1 +05} {846378000 14400 0 +04} {852062400 14400 0 +04} - {859680000 18000 1 +05} + {859680000 18000 1 +04} {877824000 14400 0 +04} - {891129600 18000 1 +05} + {891129600 18000 1 +04} {909273600 14400 0 +04} - {922579200 18000 1 +05} + {922579200 18000 1 +04} {941328000 14400 0 +04} - {954028800 18000 1 +05} + {954028800 18000 1 +04} {972777600 14400 0 +04} - {985478400 18000 1 +05} + {985478400 18000 1 +04} {1004227200 14400 0 +04} - {1017532800 18000 1 +05} + {1017532800 18000 1 +04} {1035676800 14400 0 +04} - {1048982400 18000 1 +05} + {1048982400 18000 1 +04} {1067126400 14400 0 +04} - {1080432000 18000 1 +05} + {1080432000 18000 1 +04} {1099180800 14400 0 +04} - {1111881600 18000 1 +05} + {1111881600 18000 1 +04} {1130630400 14400 0 +04} - {1143331200 18000 1 +05} + {1143331200 18000 1 +04} {1162080000 14400 0 +04} - {1174780800 18000 1 +05} + {1174780800 18000 1 +04} {1193529600 14400 0 +04} - {1206835200 18000 1 +05} + {1206835200 18000 1 +04} {1224979200 14400 0 +04} - {1238284800 18000 1 +05} + {1238284800 18000 1 +04} {1256428800 14400 0 +04} - {1269734400 18000 1 +05} + {1269734400 18000 1 +04} {1288483200 14400 0 +04} - {1301184000 18000 1 +05} + {1301184000 18000 1 +04} {1319932800 14400 0 +04} - {1332633600 18000 1 +05} + {1332633600 18000 1 +04} {1351382400 14400 0 +04} - {1364688000 18000 1 +05} + {1364688000 18000 1 +04} {1382832000 14400 0 +04} - {1396137600 18000 1 +05} + {1396137600 18000 1 +04} {1414281600 14400 0 +04} - {1427587200 18000 1 +05} + {1427587200 18000 1 +04} {1445731200 14400 0 +04} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Bishkek b/win32/lib/tcl8.6/tzdata/Asia/Bishkek index a02d789..bc4cbdd 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Bishkek +++ b/win32/lib/tcl8.6/tzdata/Asia/Bishkek @@ -4,55 +4,55 @@ set TZData(:Asia/Bishkek) { {-9223372036854775808 17904 0 LMT} {-1441169904 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {683586000 18000 0 +05} - {703018800 21600 1 +06} + {703018800 21600 1 +05} {717530400 18000 0 +05} - {734468400 21600 1 +06} + {734468400 21600 1 +05} {748980000 18000 0 +05} - {765918000 21600 1 +06} + {765918000 21600 1 +05} {780429600 18000 0 +05} - {797367600 21600 1 +06} + {797367600 21600 1 +05} {811879200 18000 0 +05} - {828817200 21600 1 +06} + {828817200 21600 1 +05} {843933600 18000 0 +05} - {859671000 21600 1 +06} + {859671000 21600 1 +05} {877811400 18000 0 +05} - {891120600 21600 1 +06} + {891120600 21600 1 +05} {909261000 18000 0 +05} - {922570200 21600 1 +06} + {922570200 21600 1 +05} {941315400 18000 0 +05} - {954019800 21600 1 +06} + {954019800 21600 1 +05} {972765000 18000 0 +05} - {985469400 21600 1 +06} + {985469400 21600 1 +05} {1004214600 18000 0 +05} - {1017523800 21600 1 +06} + {1017523800 21600 1 +05} {1035664200 18000 0 +05} - {1048973400 21600 1 +06} + {1048973400 21600 1 +05} {1067113800 18000 0 +05} - {1080423000 21600 1 +06} + {1080423000 21600 1 +05} {1099168200 18000 0 +05} - {1111872600 21600 1 +06} + {1111872600 21600 1 +05} {1123783200 21600 0 +06} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Choibalsan b/win32/lib/tcl8.6/tzdata/Asia/Choibalsan index 3db65de..b072c76 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Choibalsan +++ b/win32/lib/tcl8.6/tzdata/Asia/Choibalsan @@ -4,53 +4,53 @@ set TZData(:Asia/Choibalsan) { {-9223372036854775808 27480 0 LMT} {-2032933080 25200 0 +07} {252435600 28800 0 +08} - {417974400 36000 0 +10} + {417974400 36000 0 +09} {433778400 32400 0 +09} - {449593200 36000 1 +10} + {449593200 36000 1 +09} {465314400 32400 0 +09} - {481042800 36000 1 +10} + {481042800 36000 1 +09} {496764000 32400 0 +09} - {512492400 36000 1 +10} + {512492400 36000 1 +09} {528213600 32400 0 +09} - {543942000 36000 1 +10} + {543942000 36000 1 +09} {559663200 32400 0 +09} - {575391600 36000 1 +10} + {575391600 36000 1 +09} {591112800 32400 0 +09} - {606841200 36000 1 +10} + {606841200 36000 1 +09} {622562400 32400 0 +09} - {638290800 36000 1 +10} + {638290800 36000 1 +09} {654616800 32400 0 +09} - {670345200 36000 1 +10} + {670345200 36000 1 +09} {686066400 32400 0 +09} - {701794800 36000 1 +10} + {701794800 36000 1 +09} {717516000 32400 0 +09} - {733244400 36000 1 +10} + {733244400 36000 1 +09} {748965600 32400 0 +09} - {764694000 36000 1 +10} + {764694000 36000 1 +09} {780415200 32400 0 +09} - {796143600 36000 1 +10} + {796143600 36000 1 +09} {811864800 32400 0 +09} - {828198000 36000 1 +10} + {828198000 36000 1 +09} {843919200 32400 0 +09} - {859647600 36000 1 +10} + {859647600 36000 1 +09} {875368800 32400 0 +09} - {891097200 36000 1 +10} + {891097200 36000 1 +09} {906818400 32400 0 +09} - {988390800 36000 1 +10} + {988390800 36000 1 +09} {1001692800 32400 0 +09} - {1017421200 36000 1 +10} + {1017421200 36000 1 +09} {1033142400 32400 0 +09} - {1048870800 36000 1 +10} + {1048870800 36000 1 +09} {1064592000 32400 0 +09} - {1080320400 36000 1 +10} + {1080320400 36000 1 +09} {1096041600 32400 0 +09} - {1111770000 36000 1 +10} + {1111770000 36000 1 +09} {1127491200 32400 0 +09} - {1143219600 36000 1 +10} + {1143219600 36000 1 +09} {1159545600 32400 0 +09} {1206889200 28800 0 +08} - {1427479200 32400 1 +09} + {1427479200 32400 1 +08} {1443193200 28800 0 +08} - {1458928800 32400 1 +09} + {1458928800 32400 1 +08} {1474642800 28800 0 +08} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Dhaka b/win32/lib/tcl8.6/tzdata/Asia/Dhaka index 0dc3987..c044095 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Dhaka +++ b/win32/lib/tcl8.6/tzdata/Asia/Dhaka @@ -8,6 +8,6 @@ set TZData(:Asia/Dhaka) { {-862637400 23400 0 +0630} {-576138600 21600 0 +06} {1230746400 21600 0 +06} - {1245430800 25200 1 +07} + {1245430800 25200 1 +06} {1262278800 21600 0 +06} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Dushanbe b/win32/lib/tcl8.6/tzdata/Asia/Dushanbe index e9ed132..fe82ce7 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Dushanbe +++ b/win32/lib/tcl8.6/tzdata/Asia/Dushanbe @@ -4,25 +4,25 @@ set TZData(:Asia/Dushanbe) { {-9223372036854775808 16512 0 LMT} {-1441168512 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 21600 1 +06} {684363600 18000 0 +05} diff --git a/win32/lib/tcl8.6/tzdata/Asia/Gaza b/win32/lib/tcl8.6/tzdata/Asia/Gaza index 1149d51..85b9f67 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Gaza +++ b/win32/lib/tcl8.6/tzdata/Asia/Gaza @@ -111,9 +111,9 @@ set TZData(:Asia/Gaza) { {1477692000 7200 0 EET} {1490396400 10800 1 EEST} {1509141600 7200 0 EET} - {1522450800 10800 1 EEST} + {1521846000 10800 1 EEST} {1540591200 7200 0 EET} - {1553900400 10800 1 EEST} + {1553295600 10800 1 EEST} {1572040800 7200 0 EET} {1585350000 10800 1 EEST} {1604095200 7200 0 EET} @@ -123,9 +123,9 @@ set TZData(:Asia/Gaza) { {1666994400 7200 0 EET} {1679698800 10800 1 EEST} {1698444000 7200 0 EET} - {1711753200 10800 1 EEST} + {1711148400 10800 1 EEST} {1729893600 7200 0 EET} - {1743202800 10800 1 EEST} + {1742598000 10800 1 EEST} {1761343200 7200 0 EET} {1774652400 10800 1 EEST} {1793397600 7200 0 EET} @@ -133,11 +133,11 @@ set TZData(:Asia/Gaza) { {1824847200 7200 0 EET} {1837551600 10800 1 EEST} {1856296800 7200 0 EET} - {1869606000 10800 1 EEST} + {1869001200 10800 1 EEST} {1887746400 7200 0 EET} - {1901055600 10800 1 EEST} + {1900450800 10800 1 EEST} {1919196000 7200 0 EET} - {1932505200 10800 1 EEST} + {1931900400 10800 1 EEST} {1950645600 7200 0 EET} {1963954800 10800 1 EEST} {1982700000 7200 0 EET} @@ -145,9 +145,9 @@ set TZData(:Asia/Gaza) { {2014149600 7200 0 EET} {2026854000 10800 1 EEST} {2045599200 7200 0 EET} - {2058908400 10800 1 EEST} + {2058303600 10800 1 EEST} {2077048800 7200 0 EET} - {2090358000 10800 1 EEST} + {2089753200 10800 1 EEST} {2108498400 7200 0 EET} {2121807600 10800 1 EEST} {2140552800 7200 0 EET} @@ -155,11 +155,11 @@ set TZData(:Asia/Gaza) { {2172002400 7200 0 EET} {2184706800 10800 1 EEST} {2203452000 7200 0 EET} - {2216761200 10800 1 EEST} + {2216156400 10800 1 EEST} {2234901600 7200 0 EET} - {2248210800 10800 1 EEST} + {2247606000 10800 1 EEST} {2266351200 7200 0 EET} - {2279660400 10800 1 EEST} + {2279055600 10800 1 EEST} {2297800800 7200 0 EET} {2311110000 10800 1 EEST} {2329855200 7200 0 EET} @@ -167,9 +167,9 @@ set TZData(:Asia/Gaza) { {2361304800 7200 0 EET} {2374009200 10800 1 EEST} {2392754400 7200 0 EET} - {2406063600 10800 1 EEST} + {2405458800 10800 1 EEST} {2424204000 7200 0 EET} - {2437513200 10800 1 EEST} + {2436908400 10800 1 EEST} {2455653600 7200 0 EET} {2468962800 10800 1 EEST} {2487708000 7200 0 EET} @@ -179,9 +179,9 @@ set TZData(:Asia/Gaza) { {2550607200 7200 0 EET} {2563311600 10800 1 EEST} {2582056800 7200 0 EET} - {2595366000 10800 1 EEST} + {2594761200 10800 1 EEST} {2613506400 7200 0 EET} - {2626815600 10800 1 EEST} + {2626210800 10800 1 EEST} {2644956000 7200 0 EET} {2658265200 10800 1 EEST} {2677010400 7200 0 EET} @@ -189,11 +189,11 @@ set TZData(:Asia/Gaza) { {2708460000 7200 0 EET} {2721164400 10800 1 EEST} {2739909600 7200 0 EET} - {2753218800 10800 1 EEST} + {2752614000 10800 1 EEST} {2771359200 7200 0 EET} - {2784668400 10800 1 EEST} + {2784063600 10800 1 EEST} {2802808800 7200 0 EET} - {2816118000 10800 1 EEST} + {2815513200 10800 1 EEST} {2834258400 7200 0 EET} {2847567600 10800 1 EEST} {2866312800 7200 0 EET} @@ -201,9 +201,9 @@ set TZData(:Asia/Gaza) { {2897762400 7200 0 EET} {2910466800 10800 1 EEST} {2929212000 7200 0 EET} - {2942521200 10800 1 EEST} + {2941916400 10800 1 EEST} {2960661600 7200 0 EET} - {2973970800 10800 1 EEST} + {2973366000 10800 1 EEST} {2992111200 7200 0 EET} {3005420400 10800 1 EEST} {3024165600 7200 0 EET} @@ -211,11 +211,11 @@ set TZData(:Asia/Gaza) { {3055615200 7200 0 EET} {3068319600 10800 1 EEST} {3087064800 7200 0 EET} - {3100374000 10800 1 EEST} + {3099769200 10800 1 EEST} {3118514400 7200 0 EET} - {3131823600 10800 1 EEST} + {3131218800 10800 1 EEST} {3149964000 7200 0 EET} - {3163273200 10800 1 EEST} + {3162668400 10800 1 EEST} {3181413600 7200 0 EET} {3194722800 10800 1 EEST} {3213468000 7200 0 EET} @@ -223,9 +223,9 @@ set TZData(:Asia/Gaza) { {3244917600 7200 0 EET} {3257622000 10800 1 EEST} {3276367200 7200 0 EET} - {3289676400 10800 1 EEST} + {3289071600 10800 1 EEST} {3307816800 7200 0 EET} - {3321126000 10800 1 EEST} + {3320521200 10800 1 EEST} {3339266400 7200 0 EET} {3352575600 10800 1 EEST} {3371320800 7200 0 EET} @@ -235,9 +235,9 @@ set TZData(:Asia/Gaza) { {3434220000 7200 0 EET} {3446924400 10800 1 EEST} {3465669600 7200 0 EET} - {3478978800 10800 1 EEST} + {3478374000 10800 1 EEST} {3497119200 7200 0 EET} - {3510428400 10800 1 EEST} + {3509823600 10800 1 EEST} {3528568800 7200 0 EET} {3541878000 10800 1 EEST} {3560623200 7200 0 EET} @@ -245,11 +245,11 @@ set TZData(:Asia/Gaza) { {3592072800 7200 0 EET} {3604777200 10800 1 EEST} {3623522400 7200 0 EET} - {3636831600 10800 1 EEST} + {3636226800 10800 1 EEST} {3654972000 7200 0 EET} - {3668281200 10800 1 EEST} + {3667676400 10800 1 EEST} {3686421600 7200 0 EET} - {3699730800 10800 1 EEST} + {3699126000 10800 1 EEST} {3717871200 7200 0 EET} {3731180400 10800 1 EEST} {3749925600 7200 0 EET} @@ -257,9 +257,9 @@ set TZData(:Asia/Gaza) { {3781375200 7200 0 EET} {3794079600 10800 1 EEST} {3812824800 7200 0 EET} - {3826134000 10800 1 EEST} + {3825529200 10800 1 EEST} {3844274400 7200 0 EET} - {3857583600 10800 1 EEST} + {3856978800 10800 1 EEST} {3875724000 7200 0 EET} {3889033200 10800 1 EEST} {3907778400 7200 0 EET} @@ -267,11 +267,11 @@ set TZData(:Asia/Gaza) { {3939228000 7200 0 EET} {3951932400 10800 1 EEST} {3970677600 7200 0 EET} - {3983986800 10800 1 EEST} + {3983382000 10800 1 EEST} {4002127200 7200 0 EET} - {4015436400 10800 1 EEST} + {4014831600 10800 1 EEST} {4033576800 7200 0 EET} - {4046886000 10800 1 EEST} + {4046281200 10800 1 EEST} {4065026400 7200 0 EET} {4078335600 10800 1 EEST} {4097080800 7200 0 EET} diff --git a/win32/lib/tcl8.6/tzdata/Asia/Hebron b/win32/lib/tcl8.6/tzdata/Asia/Hebron index 5d312b8..c0f5447 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Hebron +++ b/win32/lib/tcl8.6/tzdata/Asia/Hebron @@ -110,9 +110,9 @@ set TZData(:Asia/Hebron) { {1477692000 7200 0 EET} {1490396400 10800 1 EEST} {1509141600 7200 0 EET} - {1522450800 10800 1 EEST} + {1521846000 10800 1 EEST} {1540591200 7200 0 EET} - {1553900400 10800 1 EEST} + {1553295600 10800 1 EEST} {1572040800 7200 0 EET} {1585350000 10800 1 EEST} {1604095200 7200 0 EET} @@ -122,9 +122,9 @@ set TZData(:Asia/Hebron) { {1666994400 7200 0 EET} {1679698800 10800 1 EEST} {1698444000 7200 0 EET} - {1711753200 10800 1 EEST} + {1711148400 10800 1 EEST} {1729893600 7200 0 EET} - {1743202800 10800 1 EEST} + {1742598000 10800 1 EEST} {1761343200 7200 0 EET} {1774652400 10800 1 EEST} {1793397600 7200 0 EET} @@ -132,11 +132,11 @@ set TZData(:Asia/Hebron) { {1824847200 7200 0 EET} {1837551600 10800 1 EEST} {1856296800 7200 0 EET} - {1869606000 10800 1 EEST} + {1869001200 10800 1 EEST} {1887746400 7200 0 EET} - {1901055600 10800 1 EEST} + {1900450800 10800 1 EEST} {1919196000 7200 0 EET} - {1932505200 10800 1 EEST} + {1931900400 10800 1 EEST} {1950645600 7200 0 EET} {1963954800 10800 1 EEST} {1982700000 7200 0 EET} @@ -144,9 +144,9 @@ set TZData(:Asia/Hebron) { {2014149600 7200 0 EET} {2026854000 10800 1 EEST} {2045599200 7200 0 EET} - {2058908400 10800 1 EEST} + {2058303600 10800 1 EEST} {2077048800 7200 0 EET} - {2090358000 10800 1 EEST} + {2089753200 10800 1 EEST} {2108498400 7200 0 EET} {2121807600 10800 1 EEST} {2140552800 7200 0 EET} @@ -154,11 +154,11 @@ set TZData(:Asia/Hebron) { {2172002400 7200 0 EET} {2184706800 10800 1 EEST} {2203452000 7200 0 EET} - {2216761200 10800 1 EEST} + {2216156400 10800 1 EEST} {2234901600 7200 0 EET} - {2248210800 10800 1 EEST} + {2247606000 10800 1 EEST} {2266351200 7200 0 EET} - {2279660400 10800 1 EEST} + {2279055600 10800 1 EEST} {2297800800 7200 0 EET} {2311110000 10800 1 EEST} {2329855200 7200 0 EET} @@ -166,9 +166,9 @@ set TZData(:Asia/Hebron) { {2361304800 7200 0 EET} {2374009200 10800 1 EEST} {2392754400 7200 0 EET} - {2406063600 10800 1 EEST} + {2405458800 10800 1 EEST} {2424204000 7200 0 EET} - {2437513200 10800 1 EEST} + {2436908400 10800 1 EEST} {2455653600 7200 0 EET} {2468962800 10800 1 EEST} {2487708000 7200 0 EET} @@ -178,9 +178,9 @@ set TZData(:Asia/Hebron) { {2550607200 7200 0 EET} {2563311600 10800 1 EEST} {2582056800 7200 0 EET} - {2595366000 10800 1 EEST} + {2594761200 10800 1 EEST} {2613506400 7200 0 EET} - {2626815600 10800 1 EEST} + {2626210800 10800 1 EEST} {2644956000 7200 0 EET} {2658265200 10800 1 EEST} {2677010400 7200 0 EET} @@ -188,11 +188,11 @@ set TZData(:Asia/Hebron) { {2708460000 7200 0 EET} {2721164400 10800 1 EEST} {2739909600 7200 0 EET} - {2753218800 10800 1 EEST} + {2752614000 10800 1 EEST} {2771359200 7200 0 EET} - {2784668400 10800 1 EEST} + {2784063600 10800 1 EEST} {2802808800 7200 0 EET} - {2816118000 10800 1 EEST} + {2815513200 10800 1 EEST} {2834258400 7200 0 EET} {2847567600 10800 1 EEST} {2866312800 7200 0 EET} @@ -200,9 +200,9 @@ set TZData(:Asia/Hebron) { {2897762400 7200 0 EET} {2910466800 10800 1 EEST} {2929212000 7200 0 EET} - {2942521200 10800 1 EEST} + {2941916400 10800 1 EEST} {2960661600 7200 0 EET} - {2973970800 10800 1 EEST} + {2973366000 10800 1 EEST} {2992111200 7200 0 EET} {3005420400 10800 1 EEST} {3024165600 7200 0 EET} @@ -210,11 +210,11 @@ set TZData(:Asia/Hebron) { {3055615200 7200 0 EET} {3068319600 10800 1 EEST} {3087064800 7200 0 EET} - {3100374000 10800 1 EEST} + {3099769200 10800 1 EEST} {3118514400 7200 0 EET} - {3131823600 10800 1 EEST} + {3131218800 10800 1 EEST} {3149964000 7200 0 EET} - {3163273200 10800 1 EEST} + {3162668400 10800 1 EEST} {3181413600 7200 0 EET} {3194722800 10800 1 EEST} {3213468000 7200 0 EET} @@ -222,9 +222,9 @@ set TZData(:Asia/Hebron) { {3244917600 7200 0 EET} {3257622000 10800 1 EEST} {3276367200 7200 0 EET} - {3289676400 10800 1 EEST} + {3289071600 10800 1 EEST} {3307816800 7200 0 EET} - {3321126000 10800 1 EEST} + {3320521200 10800 1 EEST} {3339266400 7200 0 EET} {3352575600 10800 1 EEST} {3371320800 7200 0 EET} @@ -234,9 +234,9 @@ set TZData(:Asia/Hebron) { {3434220000 7200 0 EET} {3446924400 10800 1 EEST} {3465669600 7200 0 EET} - {3478978800 10800 1 EEST} + {3478374000 10800 1 EEST} {3497119200 7200 0 EET} - {3510428400 10800 1 EEST} + {3509823600 10800 1 EEST} {3528568800 7200 0 EET} {3541878000 10800 1 EEST} {3560623200 7200 0 EET} @@ -244,11 +244,11 @@ set TZData(:Asia/Hebron) { {3592072800 7200 0 EET} {3604777200 10800 1 EEST} {3623522400 7200 0 EET} - {3636831600 10800 1 EEST} + {3636226800 10800 1 EEST} {3654972000 7200 0 EET} - {3668281200 10800 1 EEST} + {3667676400 10800 1 EEST} {3686421600 7200 0 EET} - {3699730800 10800 1 EEST} + {3699126000 10800 1 EEST} {3717871200 7200 0 EET} {3731180400 10800 1 EEST} {3749925600 7200 0 EET} @@ -256,9 +256,9 @@ set TZData(:Asia/Hebron) { {3781375200 7200 0 EET} {3794079600 10800 1 EEST} {3812824800 7200 0 EET} - {3826134000 10800 1 EEST} + {3825529200 10800 1 EEST} {3844274400 7200 0 EET} - {3857583600 10800 1 EEST} + {3856978800 10800 1 EEST} {3875724000 7200 0 EET} {3889033200 10800 1 EEST} {3907778400 7200 0 EET} @@ -266,11 +266,11 @@ set TZData(:Asia/Hebron) { {3939228000 7200 0 EET} {3951932400 10800 1 EEST} {3970677600 7200 0 EET} - {3983986800 10800 1 EEST} + {3983382000 10800 1 EEST} {4002127200 7200 0 EET} - {4015436400 10800 1 EEST} + {4014831600 10800 1 EEST} {4033576800 7200 0 EET} - {4046886000 10800 1 EEST} + {4046281200 10800 1 EEST} {4065026400 7200 0 EET} {4078335600 10800 1 EEST} {4097080800 7200 0 EET} diff --git a/win32/lib/tcl8.6/tzdata/Asia/Hovd b/win32/lib/tcl8.6/tzdata/Asia/Hovd index a9c995b..9b14d5b 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Hovd +++ b/win32/lib/tcl8.6/tzdata/Asia/Hovd @@ -4,52 +4,52 @@ set TZData(:Asia/Hovd) { {-9223372036854775808 21996 0 LMT} {-2032927596 21600 0 +06} {252439200 25200 0 +07} - {417978000 28800 1 +08} + {417978000 28800 1 +07} {433785600 25200 0 +07} - {449600400 28800 1 +08} + {449600400 28800 1 +07} {465321600 25200 0 +07} - {481050000 28800 1 +08} + {481050000 28800 1 +07} {496771200 25200 0 +07} - {512499600 28800 1 +08} + {512499600 28800 1 +07} {528220800 25200 0 +07} - {543949200 28800 1 +08} + {543949200 28800 1 +07} {559670400 25200 0 +07} - {575398800 28800 1 +08} + {575398800 28800 1 +07} {591120000 25200 0 +07} - {606848400 28800 1 +08} + {606848400 28800 1 +07} {622569600 25200 0 +07} - {638298000 28800 1 +08} + {638298000 28800 1 +07} {654624000 25200 0 +07} - {670352400 28800 1 +08} + {670352400 28800 1 +07} {686073600 25200 0 +07} - {701802000 28800 1 +08} + {701802000 28800 1 +07} {717523200 25200 0 +07} - {733251600 28800 1 +08} + {733251600 28800 1 +07} {748972800 25200 0 +07} - {764701200 28800 1 +08} + {764701200 28800 1 +07} {780422400 25200 0 +07} - {796150800 28800 1 +08} + {796150800 28800 1 +07} {811872000 25200 0 +07} - {828205200 28800 1 +08} + {828205200 28800 1 +07} {843926400 25200 0 +07} - {859654800 28800 1 +08} + {859654800 28800 1 +07} {875376000 25200 0 +07} - {891104400 28800 1 +08} + {891104400 28800 1 +07} {906825600 25200 0 +07} - {988398000 28800 1 +08} + {988398000 28800 1 +07} {1001700000 25200 0 +07} - {1017428400 28800 1 +08} + {1017428400 28800 1 +07} {1033149600 25200 0 +07} - {1048878000 28800 1 +08} + {1048878000 28800 1 +07} {1064599200 25200 0 +07} - {1080327600 28800 1 +08} + {1080327600 28800 1 +07} {1096048800 25200 0 +07} - {1111777200 28800 1 +08} + {1111777200 28800 1 +07} {1127498400 25200 0 +07} - {1143226800 28800 1 +08} + {1143226800 28800 1 +07} {1159552800 25200 0 +07} - {1427482800 28800 1 +08} + {1427482800 28800 1 +07} {1443196800 25200 0 +07} - {1458932400 28800 1 +08} + {1458932400 28800 1 +07} {1474646400 25200 0 +07} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Kuching b/win32/lib/tcl8.6/tzdata/Asia/Kuching index d6f5ad4..e5dc1b7 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Kuching +++ b/win32/lib/tcl8.6/tzdata/Asia/Kuching @@ -4,19 +4,19 @@ set TZData(:Asia/Kuching) { {-9223372036854775808 26480 0 LMT} {-1383463280 27000 0 +0730} {-1167636600 28800 0 +08} - {-1082448000 30000 1 +0820} + {-1082448000 30000 1 +08} {-1074586800 28800 0 +08} - {-1050825600 30000 1 +0820} + {-1050825600 30000 1 +08} {-1042964400 28800 0 +08} - {-1019289600 30000 1 +0820} + {-1019289600 30000 1 +08} {-1011428400 28800 0 +08} - {-987753600 30000 1 +0820} + {-987753600 30000 1 +08} {-979892400 28800 0 +08} - {-956217600 30000 1 +0820} + {-956217600 30000 1 +08} {-948356400 28800 0 +08} - {-924595200 30000 1 +0820} + {-924595200 30000 1 +08} {-916734000 28800 0 +08} - {-893059200 30000 1 +0820} + {-893059200 30000 1 +08} {-885198000 28800 0 +08} {-879667200 32400 0 +09} {-767005200 28800 0 +08} diff --git a/win32/lib/tcl8.6/tzdata/Asia/Macau b/win32/lib/tcl8.6/tzdata/Asia/Macau index 8458a8a..cbafd0e 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Macau +++ b/win32/lib/tcl8.6/tzdata/Asia/Macau @@ -1,20 +1,56 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Macau) { - {-9223372036854775808 27260 0 LMT} - {-1830411260 28800 0 CST} + {-9223372036854775808 27250 0 LMT} + {-2056692850 28800 0 CST} + {-884509200 32400 0 +09} + {-873280800 36000 1 +09} + {-855918000 32400 0 +09} + {-841744800 36000 1 +09} + {-828529200 32400 0 +10} + {-765363600 28800 0 CT} + {-747046800 32400 1 CDT} + {-733827600 28800 0 CST} + {-716461200 32400 1 CDT} + {-697021200 28800 0 CST} + {-683715600 32400 1 CDT} + {-667990800 28800 0 CST} + {-654771600 32400 1 CDT} + {-636627600 28800 0 CST} + {-623322000 32400 1 CDT} + {-605178000 28800 0 CST} + {-591872400 32400 1 CDT} + {-573642000 28800 0 CST} + {-559818000 32400 1 CDT} + {-541674000 28800 0 CST} + {-528368400 32400 1 CDT} + {-510224400 28800 0 CST} + {-498128400 32400 1 CDT} + {-478774800 28800 0 CST} + {-466678800 32400 1 CDT} + {-446720400 28800 0 CST} + {-435229200 32400 1 CDT} + {-415258200 28800 0 CST} + {-403158600 32400 1 CDT} + {-383808600 28800 0 CST} + {-371709000 32400 1 CDT} + {-352359000 28800 0 CST} + {-340259400 32400 1 CDT} + {-320909400 28800 0 CST} + {-308809800 32400 1 CDT} + {-288855000 28800 0 CST} {-277360200 32400 1 CDT} {-257405400 28800 0 CST} {-245910600 32400 1 CDT} {-225955800 28800 0 CST} - {-214473600 32400 1 CDT} + {-213856200 32400 1 CDT} {-194506200 28800 0 CST} {-182406600 32400 1 CDT} {-163056600 28800 0 CST} - {-150969600 32400 1 CDT} - {-131619600 28800 0 CST} + {-148537800 32400 1 CDT} + {-132820200 28800 0 CST} {-117088200 32400 1 CDT} - {-101367000 28800 0 CST} + {-101370600 28800 0 CST} {-85638600 32400 1 CDT} {-69312600 28800 0 CST} {-53584200 32400 1 CDT} @@ -25,22 +61,16 @@ set TZData(:Asia/Macau) { {25036200 28800 0 CST} {40764600 32400 1 CDT} {56485800 28800 0 CST} - {72201600 32400 1 CDT} - {87922800 28800 0 CST} - {103651200 32400 1 CDT} - {119977200 28800 0 CST} - {135705600 32400 1 CDT} + {72214200 32400 1 CDT} + {88540200 28800 0 CST} + {104268600 32400 1 CDT} + {119989800 28800 0 CST} + {126041400 32400 1 CDT} {151439400 28800 0 CST} {167167800 32400 1 CDT} {182889000 28800 0 CST} {198617400 32400 1 CDT} {214338600 28800 0 CST} - {230067000 32400 1 CDT} - {245788200 28800 0 CST} - {261504000 32400 1 CDT} - {277225200 28800 0 CST} - {292953600 32400 1 CDT} - {309279600 28800 0 CST} - {325008000 32400 1 CDT} - {340729200 28800 0 CST} + {295385400 32400 1 CDT} + {309292200 28800 0 CST} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Manila b/win32/lib/tcl8.6/tzdata/Asia/Manila index 987919a..6eb1db3 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Manila +++ b/win32/lib/tcl8.6/tzdata/Asia/Manila @@ -3,13 +3,13 @@ set TZData(:Asia/Manila) { {-9223372036854775808 -57360 0 LMT} {-3944621040 29040 0 LMT} - {-2229321840 28800 0 +08} - {-1046678400 32400 1 +09} - {-1038733200 28800 0 +08} - {-873273600 32400 0 +09} - {-794221200 28800 0 +08} - {-496224000 32400 1 +09} - {-489315600 28800 0 +08} - {259344000 32400 1 +09} - {275151600 28800 0 +08} + {-2229321840 28800 0 PST} + {-1046678400 32400 1 PDT} + {-1038733200 28800 0 PST} + {-873273600 32400 0 JST} + {-794221200 28800 0 PST} + {-496224000 32400 1 PDT} + {-489315600 28800 0 PST} + {259344000 32400 1 PDT} + {275151600 28800 0 PST} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Oral b/win32/lib/tcl8.6/tzdata/Asia/Oral index 624a59d..e781b60 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Oral +++ b/win32/lib/tcl8.6/tzdata/Asia/Oral @@ -7,52 +7,52 @@ set TZData(:Asia/Oral) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} {606862800 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {686095200 14400 0 +04} {701816400 14400 0 +04} - {701820000 18000 1 +05} + {701820000 18000 1 +04} {717544800 14400 0 +04} - {733269600 18000 1 +05} + {733269600 18000 1 +04} {748994400 14400 0 +04} - {764719200 18000 1 +05} + {764719200 18000 1 +04} {780444000 14400 0 +04} - {796168800 18000 1 +05} + {796168800 18000 1 +04} {811893600 14400 0 +04} - {828223200 18000 1 +05} + {828223200 18000 1 +04} {846367200 14400 0 +04} - {859672800 18000 1 +05} + {859672800 18000 1 +04} {877816800 14400 0 +04} - {891122400 18000 1 +05} + {891122400 18000 1 +04} {909266400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Pyongyang b/win32/lib/tcl8.6/tzdata/Asia/Pyongyang index 72e7f23..5351736 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Pyongyang +++ b/win32/lib/tcl8.6/tzdata/Asia/Pyongyang @@ -6,4 +6,5 @@ set TZData(:Asia/Pyongyang) { {-1830414600 32400 0 JST} {-768646800 32400 0 KST} {1439564400 30600 0 KST} + {1525446000 32400 0 KST} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Qyzylorda b/win32/lib/tcl8.6/tzdata/Asia/Qyzylorda index b2e9472..7c6df32 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Qyzylorda +++ b/win32/lib/tcl8.6/tzdata/Asia/Qyzylorda @@ -7,51 +7,51 @@ set TZData(:Asia/Qyzylorda) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} {670366800 14400 0 +04} - {670370400 18000 1 +05} + {670370400 18000 1 +04} {701812800 18000 0 +05} - {701816400 21600 1 +06} + {701816400 21600 1 +05} {717541200 18000 0 +05} - {733266000 21600 1 +06} + {733266000 21600 1 +05} {748990800 18000 0 +05} - {764715600 21600 1 +06} + {764715600 21600 1 +05} {780440400 18000 0 +05} - {796165200 21600 1 +06} + {796165200 21600 1 +05} {811890000 18000 0 +05} - {828219600 21600 1 +06} + {828219600 21600 1 +05} {846363600 18000 0 +05} - {859669200 21600 1 +06} + {859669200 21600 1 +05} {877813200 18000 0 +05} - {891118800 21600 1 +06} + {891118800 21600 1 +05} {909262800 18000 0 +05} - {922568400 21600 1 +06} + {922568400 21600 1 +05} {941317200 18000 0 +05} - {954018000 21600 1 +06} + {954018000 21600 1 +05} {972766800 18000 0 +05} - {985467600 21600 1 +06} + {985467600 21600 1 +05} {1004216400 18000 0 +05} - {1017522000 21600 1 +06} + {1017522000 21600 1 +05} {1035666000 18000 0 +05} - {1048971600 21600 1 +06} + {1048971600 21600 1 +05} {1067115600 18000 0 +05} - {1080421200 21600 1 +06} + {1080421200 21600 1 +05} {1099170000 21600 0 +06} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Samarkand b/win32/lib/tcl8.6/tzdata/Asia/Samarkand index 43ad774..805bab7 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Samarkand +++ b/win32/lib/tcl8.6/tzdata/Asia/Samarkand @@ -7,25 +7,25 @@ set TZData(:Asia/Samarkand) { {354913200 21600 1 +06} {370720800 21600 0 +06} {386445600 18000 0 +05} - {386449200 21600 1 +06} + {386449200 21600 1 +05} {402256800 18000 0 +05} - {417985200 21600 1 +06} + {417985200 21600 1 +05} {433792800 18000 0 +05} - {449607600 21600 1 +06} + {449607600 21600 1 +05} {465339600 18000 0 +05} - {481064400 21600 1 +06} + {481064400 21600 1 +05} {496789200 18000 0 +05} - {512514000 21600 1 +06} + {512514000 21600 1 +05} {528238800 18000 0 +05} - {543963600 21600 1 +06} + {543963600 21600 1 +05} {559688400 18000 0 +05} - {575413200 21600 1 +06} + {575413200 21600 1 +05} {591138000 18000 0 +05} - {606862800 21600 1 +06} + {606862800 21600 1 +05} {622587600 18000 0 +05} - {638312400 21600 1 +06} + {638312400 21600 1 +05} {654642000 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {686091600 18000 0 +05} {694206000 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Shanghai b/win32/lib/tcl8.6/tzdata/Asia/Shanghai index ff2d2b5..66bc433 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Shanghai +++ b/win32/lib/tcl8.6/tzdata/Asia/Shanghai @@ -3,21 +3,30 @@ set TZData(:Asia/Shanghai) { {-9223372036854775808 29143 0 LMT} {-2177481943 28800 0 CST} - {-933494400 32400 1 CDT} - {-923130000 28800 0 CST} - {-908784000 32400 1 CDT} - {-891594000 28800 0 CST} - {-662716800 28800 0 CST} - {515520000 32400 1 CDT} - {527007600 28800 0 CST} - {545155200 32400 1 CDT} - {558457200 28800 0 CST} - {576604800 32400 1 CDT} - {589906800 28800 0 CST} - {608659200 32400 1 CDT} - {621961200 28800 0 CST} - {640108800 32400 1 CDT} - {653410800 28800 0 CST} - {671558400 32400 1 CDT} - {684860400 28800 0 CST} + {-933667200 32400 1 CDT} + {-922093200 28800 0 CST} + {-908870400 32400 1 CDT} + {-888829200 28800 0 CST} + {-881049600 32400 1 CDT} + {-767869200 28800 0 CST} + {-745833600 32400 1 CDT} + {-733827600 28800 0 CST} + {-716889600 32400 1 CDT} + {-699613200 28800 0 CST} + {-683884800 32400 1 CDT} + {-670669200 28800 0 CST} + {-652348800 32400 1 CDT} + {-650016000 28800 0 CST} + {515527200 32400 1 CDT} + {527014800 28800 0 CST} + {545162400 32400 1 CDT} + {558464400 28800 0 CST} + {577216800 32400 1 CDT} + {589914000 28800 0 CST} + {608666400 32400 1 CDT} + {621968400 28800 0 CST} + {640116000 32400 1 CDT} + {653418000 28800 0 CST} + {671565600 32400 1 CDT} + {684867600 28800 0 CST} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Tashkent b/win32/lib/tcl8.6/tzdata/Asia/Tashkent index 7b6abe4..bd16c91 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Tashkent +++ b/win32/lib/tcl8.6/tzdata/Asia/Tashkent @@ -4,28 +4,28 @@ set TZData(:Asia/Tashkent) { {-9223372036854775808 16631 0 LMT} {-1441168631 18000 0 +05} {-1247547600 21600 0 +06} - {354909600 25200 1 +07} + {354909600 25200 1 +06} {370717200 21600 0 +06} - {386445600 25200 1 +07} + {386445600 25200 1 +06} {402253200 21600 0 +06} - {417981600 25200 1 +07} + {417981600 25200 1 +06} {433789200 21600 0 +06} - {449604000 25200 1 +07} + {449604000 25200 1 +06} {465336000 21600 0 +06} - {481060800 25200 1 +07} + {481060800 25200 1 +06} {496785600 21600 0 +06} - {512510400 25200 1 +07} + {512510400 25200 1 +06} {528235200 21600 0 +06} - {543960000 25200 1 +07} + {543960000 25200 1 +06} {559684800 21600 0 +06} - {575409600 25200 1 +07} + {575409600 25200 1 +06} {591134400 21600 0 +06} - {606859200 25200 1 +07} + {606859200 25200 1 +06} {622584000 21600 0 +06} - {638308800 25200 1 +07} + {638308800 25200 1 +06} {654638400 21600 0 +06} {670363200 18000 0 +05} - {670366800 21600 1 +06} + {670366800 21600 1 +05} {686091600 18000 0 +05} {694206000 18000 0 +05} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Tbilisi b/win32/lib/tcl8.6/tzdata/Asia/Tbilisi index 60d253c..71e7695 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Tbilisi +++ b/win32/lib/tcl8.6/tzdata/Asia/Tbilisi @@ -5,56 +5,56 @@ set TZData(:Asia/Tbilisi) { {-2840151551 10751 0 TBMT} {-1441162751 10800 0 +03} {-405140400 14400 0 +04} - {354916800 18000 1 +05} + {354916800 18000 1 +04} {370724400 14400 0 +04} - {386452800 18000 1 +05} + {386452800 18000 1 +04} {402260400 14400 0 +04} - {417988800 18000 1 +05} + {417988800 18000 1 +04} {433796400 14400 0 +04} - {449611200 18000 1 +05} + {449611200 18000 1 +04} {465343200 14400 0 +04} - {481068000 18000 1 +05} + {481068000 18000 1 +04} {496792800 14400 0 +04} - {512517600 18000 1 +05} + {512517600 18000 1 +04} {528242400 14400 0 +04} - {543967200 18000 1 +05} + {543967200 18000 1 +04} {559692000 14400 0 +04} - {575416800 18000 1 +05} + {575416800 18000 1 +04} {591141600 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} {670370400 10800 0 +03} - {670374000 14400 1 +04} + {670374000 14400 1 +03} {686098800 10800 0 +03} {694213200 10800 0 +03} - {701816400 14400 1 +04} + {701816400 14400 1 +03} {717537600 10800 0 +03} - {733266000 14400 1 +04} + {733266000 14400 1 +03} {748987200 10800 0 +03} - {764715600 14400 1 +04} + {764715600 14400 1 +03} {780440400 14400 0 +04} - {796161600 18000 1 +05} + {796161600 18000 1 +04} {811882800 14400 0 +04} - {828216000 18000 1 +05} + {828216000 18000 1 +04} {846360000 18000 1 +05} - {859662000 18000 0 +05} + {859662000 18000 0 +04} {877806000 14400 0 +04} - {891115200 18000 1 +05} + {891115200 18000 1 +04} {909255600 14400 0 +04} - {922564800 18000 1 +05} + {922564800 18000 1 +04} {941310000 14400 0 +04} - {954014400 18000 1 +05} + {954014400 18000 1 +04} {972759600 14400 0 +04} - {985464000 18000 1 +05} + {985464000 18000 1 +04} {1004209200 14400 0 +04} - {1017518400 18000 1 +05} + {1017518400 18000 1 +04} {1035658800 14400 0 +04} - {1048968000 18000 1 +05} + {1048968000 18000 1 +04} {1067108400 14400 0 +04} - {1080417600 18000 1 +05} - {1088280000 14400 0 +04} + {1080417600 18000 1 +04} + {1088280000 14400 0 +03} {1099177200 10800 0 +03} {1111878000 14400 0 +04} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Tehran b/win32/lib/tcl8.6/tzdata/Asia/Tehran index a8912ce..3d44e42 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Tehran +++ b/win32/lib/tcl8.6/tzdata/Asia/Tehran @@ -4,226 +4,226 @@ set TZData(:Asia/Tehran) { {-9223372036854775808 12344 0 LMT} {-1704165944 12344 0 TMT} {-757394744 12600 0 +0330} - {247177800 14400 0 +05} - {259272000 18000 1 +05} - {277758000 14400 0 +05} - {283982400 12600 0 +0430} - {290809800 16200 1 +0430} - {306531000 12600 0 +0430} - {322432200 16200 1 +0430} - {338499000 12600 0 +0430} - {673216200 16200 1 +0430} - {685481400 12600 0 +0430} - {701209800 16200 1 +0430} - {717103800 12600 0 +0430} - {732745800 16200 1 +0430} - {748639800 12600 0 +0430} - {764281800 16200 1 +0430} - {780175800 12600 0 +0430} - {795817800 16200 1 +0430} - {811711800 12600 0 +0430} - {827353800 16200 1 +0430} - {843247800 12600 0 +0430} - {858976200 16200 1 +0430} - {874870200 12600 0 +0430} - {890512200 16200 1 +0430} - {906406200 12600 0 +0430} - {922048200 16200 1 +0430} - {937942200 12600 0 +0430} - {953584200 16200 1 +0430} - {969478200 12600 0 +0430} - {985206600 16200 1 +0430} - {1001100600 12600 0 +0430} - {1016742600 16200 1 +0430} - {1032636600 12600 0 +0430} - {1048278600 16200 1 +0430} - {1064172600 12600 0 +0430} - {1079814600 16200 1 +0430} - {1095708600 12600 0 +0430} - {1111437000 16200 1 +0430} - {1127331000 12600 0 +0430} - {1206045000 16200 1 +0430} - {1221939000 12600 0 +0430} - {1237667400 16200 1 +0430} - {1253561400 12600 0 +0430} - {1269203400 16200 1 +0430} - {1285097400 12600 0 +0430} - {1300739400 16200 1 +0430} - {1316633400 12600 0 +0430} - {1332275400 16200 1 +0430} - {1348169400 12600 0 +0430} - {1363897800 16200 1 +0430} - {1379791800 12600 0 +0430} - {1395433800 16200 1 +0430} - {1411327800 12600 0 +0430} - {1426969800 16200 1 +0430} - {1442863800 12600 0 +0430} - {1458505800 16200 1 +0430} - {1474399800 12600 0 +0430} - {1490128200 16200 1 +0430} - {1506022200 12600 0 +0430} - {1521664200 16200 1 +0430} - {1537558200 12600 0 +0430} - {1553200200 16200 1 +0430} - {1569094200 12600 0 +0430} - {1584736200 16200 1 +0430} - {1600630200 12600 0 +0430} - {1616358600 16200 1 +0430} - {1632252600 12600 0 +0430} - {1647894600 16200 1 +0430} - {1663788600 12600 0 +0430} - {1679430600 16200 1 +0430} - {1695324600 12600 0 +0430} - {1710966600 16200 1 +0430} - {1726860600 12600 0 +0430} - {1742589000 16200 1 +0430} - {1758483000 12600 0 +0430} - {1774125000 16200 1 +0430} - {1790019000 12600 0 +0430} - {1805661000 16200 1 +0430} - {1821555000 12600 0 +0430} - {1837197000 16200 1 +0430} - {1853091000 12600 0 +0430} - {1868733000 16200 1 +0430} - {1884627000 12600 0 +0430} - {1900355400 16200 1 +0430} - {1916249400 12600 0 +0430} - {1931891400 16200 1 +0430} - {1947785400 12600 0 +0430} - {1963427400 16200 1 +0430} - {1979321400 12600 0 +0430} - {1994963400 16200 1 +0430} - {2010857400 12600 0 +0430} - {2026585800 16200 1 +0430} - {2042479800 12600 0 +0430} - {2058121800 16200 1 +0430} - {2074015800 12600 0 +0430} - {2089657800 16200 1 +0430} - {2105551800 12600 0 +0430} - {2121193800 16200 1 +0430} - {2137087800 12600 0 +0430} - {2152729800 16200 1 +0430} - {2168623800 12600 0 +0430} - {2184265800 16200 1 +0430} - {2200159800 12600 0 +0430} - {2215888200 16200 1 +0430} - {2231782200 12600 0 +0430} - {2247424200 16200 1 +0430} - {2263318200 12600 0 +0430} - {2278960200 16200 1 +0430} - {2294854200 12600 0 +0430} - {2310496200 16200 1 +0430} - {2326390200 12600 0 +0430} - {2342118600 16200 1 +0430} - {2358012600 12600 0 +0430} - {2373654600 16200 1 +0430} - {2389548600 12600 0 +0430} - {2405190600 16200 1 +0430} - {2421084600 12600 0 +0430} - {2436726600 16200 1 +0430} - {2452620600 12600 0 +0430} - {2468349000 16200 1 +0430} - {2484243000 12600 0 +0430} - {2499885000 16200 1 +0430} - {2515779000 12600 0 +0430} - {2531421000 16200 1 +0430} - {2547315000 12600 0 +0430} - {2562957000 16200 1 +0430} - {2578851000 12600 0 +0430} - {2594579400 16200 1 +0430} - {2610473400 12600 0 +0430} - {2626115400 16200 1 +0430} - {2642009400 12600 0 +0430} - {2657651400 16200 1 +0430} - {2673545400 12600 0 +0430} - {2689187400 16200 1 +0430} - {2705081400 12600 0 +0430} - {2720809800 16200 1 +0430} - {2736703800 12600 0 +0430} - {2752345800 16200 1 +0430} - {2768239800 12600 0 +0430} - {2783881800 16200 1 +0430} - {2799775800 12600 0 +0430} - {2815417800 16200 1 +0430} - {2831311800 12600 0 +0430} - {2847040200 16200 1 +0430} - {2862934200 12600 0 +0430} - {2878576200 16200 1 +0430} - {2894470200 12600 0 +0430} - {2910112200 16200 1 +0430} - {2926006200 12600 0 +0430} - {2941648200 16200 1 +0430} - {2957542200 12600 0 +0430} - {2973270600 16200 1 +0430} - {2989164600 12600 0 +0430} - {3004806600 16200 1 +0430} - {3020700600 12600 0 +0430} - {3036342600 16200 1 +0430} - {3052236600 12600 0 +0430} - {3067878600 16200 1 +0430} - {3083772600 12600 0 +0430} - {3099501000 16200 1 +0430} - {3115395000 12600 0 +0430} - {3131037000 16200 1 +0430} - {3146931000 12600 0 +0430} - {3162573000 16200 1 +0430} - {3178467000 12600 0 +0430} - {3194109000 16200 1 +0430} - {3210003000 12600 0 +0430} - {3225731400 16200 1 +0430} - {3241625400 12600 0 +0430} - {3257267400 16200 1 +0430} - {3273161400 12600 0 +0430} - {3288803400 16200 1 +0430} - {3304697400 12600 0 +0430} - {3320339400 16200 1 +0430} - {3336233400 12600 0 +0430} - {3351961800 16200 1 +0430} - {3367855800 12600 0 +0430} - {3383497800 16200 1 +0430} - {3399391800 12600 0 +0430} - {3415033800 16200 1 +0430} - {3430927800 12600 0 +0430} - {3446569800 16200 1 +0430} - {3462463800 12600 0 +0430} - {3478192200 16200 1 +0430} - {3494086200 12600 0 +0430} - {3509728200 16200 1 +0430} - {3525622200 12600 0 +0430} - {3541264200 16200 1 +0430} - {3557158200 12600 0 +0430} - {3572800200 16200 1 +0430} - {3588694200 12600 0 +0430} - {3604422600 16200 1 +0430} - {3620316600 12600 0 +0430} - {3635958600 16200 1 +0430} - {3651852600 12600 0 +0430} - {3667494600 16200 1 +0430} - {3683388600 12600 0 +0430} - {3699030600 16200 1 +0430} - {3714924600 12600 0 +0430} - {3730653000 16200 1 +0430} - {3746547000 12600 0 +0430} - {3762189000 16200 1 +0430} - {3778083000 12600 0 +0430} - {3793725000 16200 1 +0430} - {3809619000 12600 0 +0430} - {3825261000 16200 1 +0430} - {3841155000 12600 0 +0430} - {3856883400 16200 1 +0430} - {3872777400 12600 0 +0430} - {3888419400 16200 1 +0430} - {3904313400 12600 0 +0430} - {3919955400 16200 1 +0430} - {3935849400 12600 0 +0430} - {3951491400 16200 1 +0430} - {3967385400 12600 0 +0430} - {3983113800 16200 1 +0430} - {3999007800 12600 0 +0430} - {4014649800 16200 1 +0430} - {4030543800 12600 0 +0430} - {4046185800 16200 1 +0430} - {4062079800 12600 0 +0430} - {4077721800 16200 1 +0430} - {4093615800 12600 0 +0430} + {247177800 14400 0 +04} + {259272000 18000 1 +04} + {277758000 14400 0 +04} + {283982400 12600 0 +0330} + {290809800 16200 1 +0330} + {306531000 12600 0 +0330} + {322432200 16200 1 +0330} + {338499000 12600 0 +0330} + {673216200 16200 1 +0330} + {685481400 12600 0 +0330} + {701209800 16200 1 +0330} + {717103800 12600 0 +0330} + {732745800 16200 1 +0330} + {748639800 12600 0 +0330} + {764281800 16200 1 +0330} + {780175800 12600 0 +0330} + {795817800 16200 1 +0330} + {811711800 12600 0 +0330} + {827353800 16200 1 +0330} + {843247800 12600 0 +0330} + {858976200 16200 1 +0330} + {874870200 12600 0 +0330} + {890512200 16200 1 +0330} + {906406200 12600 0 +0330} + {922048200 16200 1 +0330} + {937942200 12600 0 +0330} + {953584200 16200 1 +0330} + {969478200 12600 0 +0330} + {985206600 16200 1 +0330} + {1001100600 12600 0 +0330} + {1016742600 16200 1 +0330} + {1032636600 12600 0 +0330} + {1048278600 16200 1 +0330} + {1064172600 12600 0 +0330} + {1079814600 16200 1 +0330} + {1095708600 12600 0 +0330} + {1111437000 16200 1 +0330} + {1127331000 12600 0 +0330} + {1206045000 16200 1 +0330} + {1221939000 12600 0 +0330} + {1237667400 16200 1 +0330} + {1253561400 12600 0 +0330} + {1269203400 16200 1 +0330} + {1285097400 12600 0 +0330} + {1300739400 16200 1 +0330} + {1316633400 12600 0 +0330} + {1332275400 16200 1 +0330} + {1348169400 12600 0 +0330} + {1363897800 16200 1 +0330} + {1379791800 12600 0 +0330} + {1395433800 16200 1 +0330} + {1411327800 12600 0 +0330} + {1426969800 16200 1 +0330} + {1442863800 12600 0 +0330} + {1458505800 16200 1 +0330} + {1474399800 12600 0 +0330} + {1490128200 16200 1 +0330} + {1506022200 12600 0 +0330} + {1521664200 16200 1 +0330} + {1537558200 12600 0 +0330} + {1553200200 16200 1 +0330} + {1569094200 12600 0 +0330} + {1584736200 16200 1 +0330} + {1600630200 12600 0 +0330} + {1616358600 16200 1 +0330} + {1632252600 12600 0 +0330} + {1647894600 16200 1 +0330} + {1663788600 12600 0 +0330} + {1679430600 16200 1 +0330} + {1695324600 12600 0 +0330} + {1710966600 16200 1 +0330} + {1726860600 12600 0 +0330} + {1742589000 16200 1 +0330} + {1758483000 12600 0 +0330} + {1774125000 16200 1 +0330} + {1790019000 12600 0 +0330} + {1805661000 16200 1 +0330} + {1821555000 12600 0 +0330} + {1837197000 16200 1 +0330} + {1853091000 12600 0 +0330} + {1868733000 16200 1 +0330} + {1884627000 12600 0 +0330} + {1900355400 16200 1 +0330} + {1916249400 12600 0 +0330} + {1931891400 16200 1 +0330} + {1947785400 12600 0 +0330} + {1963427400 16200 1 +0330} + {1979321400 12600 0 +0330} + {1994963400 16200 1 +0330} + {2010857400 12600 0 +0330} + {2026585800 16200 1 +0330} + {2042479800 12600 0 +0330} + {2058121800 16200 1 +0330} + {2074015800 12600 0 +0330} + {2089657800 16200 1 +0330} + {2105551800 12600 0 +0330} + {2121193800 16200 1 +0330} + {2137087800 12600 0 +0330} + {2152729800 16200 1 +0330} + {2168623800 12600 0 +0330} + {2184265800 16200 1 +0330} + {2200159800 12600 0 +0330} + {2215888200 16200 1 +0330} + {2231782200 12600 0 +0330} + {2247424200 16200 1 +0330} + {2263318200 12600 0 +0330} + {2278960200 16200 1 +0330} + {2294854200 12600 0 +0330} + {2310496200 16200 1 +0330} + {2326390200 12600 0 +0330} + {2342118600 16200 1 +0330} + {2358012600 12600 0 +0330} + {2373654600 16200 1 +0330} + {2389548600 12600 0 +0330} + {2405190600 16200 1 +0330} + {2421084600 12600 0 +0330} + {2436726600 16200 1 +0330} + {2452620600 12600 0 +0330} + {2468349000 16200 1 +0330} + {2484243000 12600 0 +0330} + {2499885000 16200 1 +0330} + {2515779000 12600 0 +0330} + {2531421000 16200 1 +0330} + {2547315000 12600 0 +0330} + {2562957000 16200 1 +0330} + {2578851000 12600 0 +0330} + {2594579400 16200 1 +0330} + {2610473400 12600 0 +0330} + {2626115400 16200 1 +0330} + {2642009400 12600 0 +0330} + {2657651400 16200 1 +0330} + {2673545400 12600 0 +0330} + {2689187400 16200 1 +0330} + {2705081400 12600 0 +0330} + {2720809800 16200 1 +0330} + {2736703800 12600 0 +0330} + {2752345800 16200 1 +0330} + {2768239800 12600 0 +0330} + {2783881800 16200 1 +0330} + {2799775800 12600 0 +0330} + {2815417800 16200 1 +0330} + {2831311800 12600 0 +0330} + {2847040200 16200 1 +0330} + {2862934200 12600 0 +0330} + {2878576200 16200 1 +0330} + {2894470200 12600 0 +0330} + {2910112200 16200 1 +0330} + {2926006200 12600 0 +0330} + {2941648200 16200 1 +0330} + {2957542200 12600 0 +0330} + {2973270600 16200 1 +0330} + {2989164600 12600 0 +0330} + {3004806600 16200 1 +0330} + {3020700600 12600 0 +0330} + {3036342600 16200 1 +0330} + {3052236600 12600 0 +0330} + {3067878600 16200 1 +0330} + {3083772600 12600 0 +0330} + {3099501000 16200 1 +0330} + {3115395000 12600 0 +0330} + {3131037000 16200 1 +0330} + {3146931000 12600 0 +0330} + {3162573000 16200 1 +0330} + {3178467000 12600 0 +0330} + {3194109000 16200 1 +0330} + {3210003000 12600 0 +0330} + {3225731400 16200 1 +0330} + {3241625400 12600 0 +0330} + {3257267400 16200 1 +0330} + {3273161400 12600 0 +0330} + {3288803400 16200 1 +0330} + {3304697400 12600 0 +0330} + {3320339400 16200 1 +0330} + {3336233400 12600 0 +0330} + {3351961800 16200 1 +0330} + {3367855800 12600 0 +0330} + {3383497800 16200 1 +0330} + {3399391800 12600 0 +0330} + {3415033800 16200 1 +0330} + {3430927800 12600 0 +0330} + {3446569800 16200 1 +0330} + {3462463800 12600 0 +0330} + {3478192200 16200 1 +0330} + {3494086200 12600 0 +0330} + {3509728200 16200 1 +0330} + {3525622200 12600 0 +0330} + {3541264200 16200 1 +0330} + {3557158200 12600 0 +0330} + {3572800200 16200 1 +0330} + {3588694200 12600 0 +0330} + {3604422600 16200 1 +0330} + {3620316600 12600 0 +0330} + {3635958600 16200 1 +0330} + {3651852600 12600 0 +0330} + {3667494600 16200 1 +0330} + {3683388600 12600 0 +0330} + {3699030600 16200 1 +0330} + {3714924600 12600 0 +0330} + {3730653000 16200 1 +0330} + {3746547000 12600 0 +0330} + {3762189000 16200 1 +0330} + {3778083000 12600 0 +0330} + {3793725000 16200 1 +0330} + {3809619000 12600 0 +0330} + {3825261000 16200 1 +0330} + {3841155000 12600 0 +0330} + {3856883400 16200 1 +0330} + {3872777400 12600 0 +0330} + {3888419400 16200 1 +0330} + {3904313400 12600 0 +0330} + {3919955400 16200 1 +0330} + {3935849400 12600 0 +0330} + {3951491400 16200 1 +0330} + {3967385400 12600 0 +0330} + {3983113800 16200 1 +0330} + {3999007800 12600 0 +0330} + {4014649800 16200 1 +0330} + {4030543800 12600 0 +0330} + {4046185800 16200 1 +0330} + {4062079800 12600 0 +0330} + {4077721800 16200 1 +0330} + {4093615800 12600 0 +0330} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Tokyo b/win32/lib/tcl8.6/tzdata/Asia/Tokyo index 10add1c..cc7a857 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Tokyo +++ b/win32/lib/tcl8.6/tzdata/Asia/Tokyo @@ -3,12 +3,12 @@ set TZData(:Asia/Tokyo) { {-9223372036854775808 33539 0 LMT} {-2587712400 32400 0 JST} - {-683794800 36000 1 JDT} - {-672393600 32400 0 JST} - {-654764400 36000 1 JDT} - {-640944000 32400 0 JST} - {-620290800 36000 1 JDT} - {-609494400 32400 0 JST} - {-588841200 36000 1 JDT} - {-578044800 32400 0 JST} + {-683802000 36000 1 JDT} + {-672310800 32400 0 JST} + {-654771600 36000 1 JDT} + {-640861200 32400 0 JST} + {-620298000 36000 1 JDT} + {-609411600 32400 0 JST} + {-588848400 36000 1 JDT} + {-577962000 32400 0 JST} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Ulaanbaatar b/win32/lib/tcl8.6/tzdata/Asia/Ulaanbaatar index e0ba7ab..3a33ef9 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Ulaanbaatar +++ b/win32/lib/tcl8.6/tzdata/Asia/Ulaanbaatar @@ -4,52 +4,52 @@ set TZData(:Asia/Ulaanbaatar) { {-9223372036854775808 25652 0 LMT} {-2032931252 25200 0 +07} {252435600 28800 0 +08} - {417974400 32400 1 +09} + {417974400 32400 1 +08} {433782000 28800 0 +08} - {449596800 32400 1 +09} + {449596800 32400 1 +08} {465318000 28800 0 +08} - {481046400 32400 1 +09} + {481046400 32400 1 +08} {496767600 28800 0 +08} - {512496000 32400 1 +09} + {512496000 32400 1 +08} {528217200 28800 0 +08} - {543945600 32400 1 +09} + {543945600 32400 1 +08} {559666800 28800 0 +08} - {575395200 32400 1 +09} + {575395200 32400 1 +08} {591116400 28800 0 +08} - {606844800 32400 1 +09} + {606844800 32400 1 +08} {622566000 28800 0 +08} - {638294400 32400 1 +09} + {638294400 32400 1 +08} {654620400 28800 0 +08} - {670348800 32400 1 +09} + {670348800 32400 1 +08} {686070000 28800 0 +08} - {701798400 32400 1 +09} + {701798400 32400 1 +08} {717519600 28800 0 +08} - {733248000 32400 1 +09} + {733248000 32400 1 +08} {748969200 28800 0 +08} - {764697600 32400 1 +09} + {764697600 32400 1 +08} {780418800 28800 0 +08} - {796147200 32400 1 +09} + {796147200 32400 1 +08} {811868400 28800 0 +08} - {828201600 32400 1 +09} + {828201600 32400 1 +08} {843922800 28800 0 +08} - {859651200 32400 1 +09} + {859651200 32400 1 +08} {875372400 28800 0 +08} - {891100800 32400 1 +09} + {891100800 32400 1 +08} {906822000 28800 0 +08} - {988394400 32400 1 +09} + {988394400 32400 1 +08} {1001696400 28800 0 +08} - {1017424800 32400 1 +09} + {1017424800 32400 1 +08} {1033146000 28800 0 +08} - {1048874400 32400 1 +09} + {1048874400 32400 1 +08} {1064595600 28800 0 +08} - {1080324000 32400 1 +09} + {1080324000 32400 1 +08} {1096045200 28800 0 +08} - {1111773600 32400 1 +09} + {1111773600 32400 1 +08} {1127494800 28800 0 +08} - {1143223200 32400 1 +09} + {1143223200 32400 1 +08} {1159549200 28800 0 +08} - {1427479200 32400 1 +09} + {1427479200 32400 1 +08} {1443193200 28800 0 +08} - {1458928800 32400 1 +09} + {1458928800 32400 1 +08} {1474642800 28800 0 +08} } diff --git a/win32/lib/tcl8.6/tzdata/Asia/Yerevan b/win32/lib/tcl8.6/tzdata/Asia/Yerevan index 25a349a..463bed0 100644 --- a/win32/lib/tcl8.6/tzdata/Asia/Yerevan +++ b/win32/lib/tcl8.6/tzdata/Asia/Yerevan @@ -4,67 +4,67 @@ set TZData(:Asia/Yerevan) { {-9223372036854775808 10680 0 LMT} {-1441162680 10800 0 +03} {-405140400 14400 0 +04} - {354916800 18000 1 +05} + {354916800 18000 1 +04} {370724400 14400 0 +04} - {386452800 18000 1 +05} + {386452800 18000 1 +04} {402260400 14400 0 +04} - {417988800 18000 1 +05} + {417988800 18000 1 +04} {433796400 14400 0 +04} - {449611200 18000 1 +05} + {449611200 18000 1 +04} {465343200 14400 0 +04} - {481068000 18000 1 +05} + {481068000 18000 1 +04} {496792800 14400 0 +04} - {512517600 18000 1 +05} + {512517600 18000 1 +04} {528242400 14400 0 +04} - {543967200 18000 1 +05} + {543967200 18000 1 +04} {559692000 14400 0 +04} - {575416800 18000 1 +05} + {575416800 18000 1 +04} {591141600 14400 0 +04} - {606866400 18000 1 +05} + {606866400 18000 1 +04} {622591200 14400 0 +04} - {638316000 18000 1 +05} + {638316000 18000 1 +04} {654645600 14400 0 +04} {670370400 10800 0 +03} - {670374000 14400 1 +04} + {670374000 14400 1 +03} {686098800 10800 0 +03} - {701823600 14400 1 +04} + {701823600 14400 1 +03} {717548400 10800 0 +03} - {733273200 14400 1 +04} + {733273200 14400 1 +03} {748998000 10800 0 +03} - {764722800 14400 1 +04} + {764722800 14400 1 +03} {780447600 10800 0 +03} - {796172400 14400 1 +04} + {796172400 14400 1 +03} {811897200 14400 0 +04} {852062400 14400 0 +04} - {859672800 18000 1 +05} + {859672800 18000 1 +04} {877816800 14400 0 +04} - {891122400 18000 1 +05} + {891122400 18000 1 +04} {909266400 14400 0 +04} - {922572000 18000 1 +05} + {922572000 18000 1 +04} {941320800 14400 0 +04} - {954021600 18000 1 +05} + {954021600 18000 1 +04} {972770400 14400 0 +04} - {985471200 18000 1 +05} + {985471200 18000 1 +04} {1004220000 14400 0 +04} - {1017525600 18000 1 +05} + {1017525600 18000 1 +04} {1035669600 14400 0 +04} - {1048975200 18000 1 +05} + {1048975200 18000 1 +04} {1067119200 14400 0 +04} - {1080424800 18000 1 +05} + {1080424800 18000 1 +04} {1099173600 14400 0 +04} - {1111874400 18000 1 +05} + {1111874400 18000 1 +04} {1130623200 14400 0 +04} - {1143324000 18000 1 +05} + {1143324000 18000 1 +04} {1162072800 14400 0 +04} - {1174773600 18000 1 +05} + {1174773600 18000 1 +04} {1193522400 14400 0 +04} - {1206828000 18000 1 +05} + {1206828000 18000 1 +04} {1224972000 14400 0 +04} - {1238277600 18000 1 +05} + {1238277600 18000 1 +04} {1256421600 14400 0 +04} - {1269727200 18000 1 +05} + {1269727200 18000 1 +04} {1288476000 14400 0 +04} {1293825600 14400 0 +04} - {1301176800 18000 1 +05} + {1301176800 18000 1 +04} {1319925600 14400 0 +04} } diff --git a/win32/lib/tcl8.6/tzdata/Atlantic/Azores b/win32/lib/tcl8.6/tzdata/Atlantic/Azores index a9bec94..088dd9a 100644 --- a/win32/lib/tcl8.6/tzdata/Atlantic/Azores +++ b/win32/lib/tcl8.6/tzdata/Atlantic/Azores @@ -3,7 +3,7 @@ set TZData(:Atlantic/Azores) { {-9223372036854775808 -6160 0 LMT} {-2713904240 -6872 0 HMT} - {-1830377128 -7200 0 -02} + {-1830376800 -7200 0 -02} {-1689548400 -3600 1 -01} {-1677794400 -7200 0 -02} {-1667430000 -3600 1 -01} diff --git a/win32/lib/tcl8.6/tzdata/Atlantic/Cape_Verde b/win32/lib/tcl8.6/tzdata/Atlantic/Cape_Verde index 6fc94eb..595db0b 100644 --- a/win32/lib/tcl8.6/tzdata/Atlantic/Cape_Verde +++ b/win32/lib/tcl8.6/tzdata/Atlantic/Cape_Verde @@ -2,7 +2,7 @@ set TZData(:Atlantic/Cape_Verde) { {-9223372036854775808 -5644 0 LMT} - {-1988144756 -7200 0 -02} + {-1830376800 -7200 0 -02} {-862610400 -3600 1 -01} {-764118000 -7200 0 -02} {186120000 -3600 0 -01} diff --git a/win32/lib/tcl8.6/tzdata/Atlantic/Madeira b/win32/lib/tcl8.6/tzdata/Atlantic/Madeira index cc5e5f8..fed9c19 100644 --- a/win32/lib/tcl8.6/tzdata/Atlantic/Madeira +++ b/win32/lib/tcl8.6/tzdata/Atlantic/Madeira @@ -3,7 +3,7 @@ set TZData(:Atlantic/Madeira) { {-9223372036854775808 -4056 0 LMT} {-2713906344 -4056 0 FMT} - {-1830379944 -3600 0 -01} + {-1830380400 -3600 0 -01} {-1689552000 0 1 +00} {-1677798000 -3600 0 -01} {-1667433600 0 1 +00} diff --git a/win32/lib/tcl8.6/tzdata/Atlantic/Reykjavik b/win32/lib/tcl8.6/tzdata/Atlantic/Reykjavik index 5555460..6270572 100644 --- a/win32/lib/tcl8.6/tzdata/Atlantic/Reykjavik +++ b/win32/lib/tcl8.6/tzdata/Atlantic/Reykjavik @@ -3,71 +3,71 @@ set TZData(:Atlantic/Reykjavik) { {-9223372036854775808 -5280 0 LMT} {-1956609120 -3600 0 -01} - {-1668211200 0 1 +00} + {-1668211200 0 1 -01} {-1647212400 -3600 0 -01} - {-1636675200 0 1 +00} + {-1636675200 0 1 -01} {-1613430000 -3600 0 -01} - {-1605139200 0 1 +00} + {-1605139200 0 1 -01} {-1581894000 -3600 0 -01} - {-1539561600 0 1 +00} + {-1539561600 0 1 -01} {-1531350000 -3600 0 -01} - {-968025600 0 1 +00} + {-968025600 0 1 -01} {-952293600 -3600 0 -01} - {-942008400 0 1 +00} + {-942008400 0 1 -01} {-920239200 -3600 0 -01} - {-909957600 0 1 +00} + {-909957600 0 1 -01} {-888789600 -3600 0 -01} - {-877903200 0 1 +00} + {-877903200 0 1 -01} {-857944800 -3600 0 -01} - {-846453600 0 1 +00} + {-846453600 0 1 -01} {-826495200 -3600 0 -01} - {-815004000 0 1 +00} + {-815004000 0 1 -01} {-795045600 -3600 0 -01} - {-783554400 0 1 +00} + {-783554400 0 1 -01} {-762991200 -3600 0 -01} - {-752104800 0 1 +00} + {-752104800 0 1 -01} {-731541600 -3600 0 -01} - {-717631200 0 1 +00} + {-717631200 0 1 -01} {-700092000 -3600 0 -01} - {-686181600 0 1 +00} + {-686181600 0 1 -01} {-668642400 -3600 0 -01} - {-654732000 0 1 +00} + {-654732000 0 1 -01} {-636588000 -3600 0 -01} - {-623282400 0 1 +00} + {-623282400 0 1 -01} {-605743200 -3600 0 -01} - {-591832800 0 1 +00} + {-591832800 0 1 -01} {-573688800 -3600 0 -01} - {-559778400 0 1 +00} + {-559778400 0 1 -01} {-542239200 -3600 0 -01} - {-528328800 0 1 +00} + {-528328800 0 1 -01} {-510789600 -3600 0 -01} - {-496879200 0 1 +00} + {-496879200 0 1 -01} {-479340000 -3600 0 -01} - {-465429600 0 1 +00} + {-465429600 0 1 -01} {-447890400 -3600 0 -01} - {-433980000 0 1 +00} + {-433980000 0 1 -01} {-415836000 -3600 0 -01} - {-401925600 0 1 +00} + {-401925600 0 1 -01} {-384386400 -3600 0 -01} - {-370476000 0 1 +00} + {-370476000 0 1 -01} {-352936800 -3600 0 -01} - {-339026400 0 1 +00} + {-339026400 0 1 -01} {-321487200 -3600 0 -01} - {-307576800 0 1 +00} + {-307576800 0 1 -01} {-290037600 -3600 0 -01} - {-276127200 0 1 +00} + {-276127200 0 1 -01} {-258588000 -3600 0 -01} - {-244677600 0 1 +00} + {-244677600 0 1 -01} {-226533600 -3600 0 -01} - {-212623200 0 1 +00} + {-212623200 0 1 -01} {-195084000 -3600 0 -01} - {-181173600 0 1 +00} + {-181173600 0 1 -01} {-163634400 -3600 0 -01} - {-149724000 0 1 +00} + {-149724000 0 1 -01} {-132184800 -3600 0 -01} - {-118274400 0 1 +00} + {-118274400 0 1 -01} {-100735200 -3600 0 -01} - {-86824800 0 1 +00} + {-86824800 0 1 -01} {-68680800 -3600 0 -01} {-54770400 0 0 GMT} } diff --git a/win32/lib/tcl8.6/tzdata/Atlantic/Stanley b/win32/lib/tcl8.6/tzdata/Atlantic/Stanley index 5210832..48473ca 100644 --- a/win32/lib/tcl8.6/tzdata/Atlantic/Stanley +++ b/win32/lib/tcl8.6/tzdata/Atlantic/Stanley @@ -4,72 +4,72 @@ set TZData(:Atlantic/Stanley) { {-9223372036854775808 -13884 0 LMT} {-2524507716 -13884 0 SMT} {-1824235716 -14400 0 -04} - {-1018209600 -10800 1 -03} + {-1018209600 -10800 1 -04} {-1003093200 -14400 0 -04} - {-986760000 -10800 1 -03} + {-986760000 -10800 1 -04} {-971643600 -14400 0 -04} - {-954705600 -10800 1 -03} + {-954705600 -10800 1 -04} {-939589200 -14400 0 -04} - {-923256000 -10800 1 -03} + {-923256000 -10800 1 -04} {-908139600 -14400 0 -04} - {-891806400 -10800 1 -03} + {-891806400 -10800 1 -04} {-876690000 -14400 0 -04} - {-860356800 -10800 1 -03} + {-860356800 -10800 1 -04} {420606000 -7200 0 -03} - {433303200 -7200 1 -02} + {433303200 -7200 1 -03} {452052000 -10800 0 -03} - {464151600 -7200 1 -02} + {464151600 -7200 1 -03} {483501600 -10800 0 -03} {495597600 -14400 0 -04} - {495604800 -10800 1 -03} + {495604800 -10800 1 -04} {514350000 -14400 0 -04} - {527054400 -10800 1 -03} + {527054400 -10800 1 -04} {545799600 -14400 0 -04} - {558504000 -10800 1 -03} + {558504000 -10800 1 -04} {577249200 -14400 0 -04} - {589953600 -10800 1 -03} + {589953600 -10800 1 -04} {608698800 -14400 0 -04} - {621403200 -10800 1 -03} + {621403200 -10800 1 -04} {640753200 -14400 0 -04} - {652852800 -10800 1 -03} + {652852800 -10800 1 -04} {672202800 -14400 0 -04} - {684907200 -10800 1 -03} + {684907200 -10800 1 -04} {703652400 -14400 0 -04} - {716356800 -10800 1 -03} + {716356800 -10800 1 -04} {735102000 -14400 0 -04} - {747806400 -10800 1 -03} + {747806400 -10800 1 -04} {766551600 -14400 0 -04} - {779256000 -10800 1 -03} + {779256000 -10800 1 -04} {798001200 -14400 0 -04} - {810705600 -10800 1 -03} + {810705600 -10800 1 -04} {830055600 -14400 0 -04} - {842760000 -10800 1 -03} + {842760000 -10800 1 -04} {861505200 -14400 0 -04} - {874209600 -10800 1 -03} + {874209600 -10800 1 -04} {892954800 -14400 0 -04} - {905659200 -10800 1 -03} + {905659200 -10800 1 -04} {924404400 -14400 0 -04} - {937108800 -10800 1 -03} + {937108800 -10800 1 -04} {955854000 -14400 0 -04} - {968558400 -10800 1 -03} + {968558400 -10800 1 -04} {987310800 -14400 0 -04} - {999410400 -10800 1 -03} + {999410400 -10800 1 -04} {1019365200 -14400 0 -04} - {1030860000 -10800 1 -03} + {1030860000 -10800 1 -04} {1050814800 -14400 0 -04} - {1062914400 -10800 1 -03} + {1062914400 -10800 1 -04} {1082264400 -14400 0 -04} - {1094364000 -10800 1 -03} + {1094364000 -10800 1 -04} {1113714000 -14400 0 -04} - {1125813600 -10800 1 -03} + {1125813600 -10800 1 -04} {1145163600 -14400 0 -04} - {1157263200 -10800 1 -03} + {1157263200 -10800 1 -04} {1176613200 -14400 0 -04} - {1188712800 -10800 1 -03} + {1188712800 -10800 1 -04} {1208667600 -14400 0 -04} - {1220767200 -10800 1 -03} + {1220767200 -10800 1 -04} {1240117200 -14400 0 -04} - {1252216800 -10800 1 -03} + {1252216800 -10800 1 -04} {1271566800 -14400 0 -04} {1283662800 -10800 0 -03} } diff --git a/win32/lib/tcl8.6/tzdata/Australia/Lord_Howe b/win32/lib/tcl8.6/tzdata/Australia/Lord_Howe index 0e2405e..c595967 100644 --- a/win32/lib/tcl8.6/tzdata/Australia/Lord_Howe +++ b/win32/lib/tcl8.6/tzdata/Australia/Lord_Howe @@ -3,243 +3,243 @@ set TZData(:Australia/Lord_Howe) { {-9223372036854775808 38180 0 LMT} {-2364114980 36000 0 AEST} - {352216800 37800 0 +1130} - {372785400 41400 1 +1130} - {384273000 37800 0 +1130} - {404839800 41400 1 +1130} - {415722600 37800 0 +1130} - {436289400 41400 1 +1130} - {447172200 37800 0 +1130} - {467739000 41400 1 +1130} - {478621800 37800 0 +1130} - {488984400 37800 0 +11} - {499188600 39600 1 +11} - {511282800 37800 0 +11} - {530033400 39600 1 +11} - {542732400 37800 0 +11} - {562087800 39600 1 +11} - {574786800 37800 0 +11} - {594142200 39600 1 +11} - {606236400 37800 0 +11} - {625591800 39600 1 +11} - {636476400 37800 0 +11} - {657041400 39600 1 +11} - {667926000 37800 0 +11} - {688491000 39600 1 +11} - {699375600 37800 0 +11} - {719940600 39600 1 +11} - {731430000 37800 0 +11} - {751995000 39600 1 +11} - {762879600 37800 0 +11} - {783444600 39600 1 +11} - {794329200 37800 0 +11} - {814894200 39600 1 +11} - {828198000 37800 0 +11} - {846343800 39600 1 +11} - {859647600 37800 0 +11} - {877793400 39600 1 +11} - {891097200 37800 0 +11} - {909243000 39600 1 +11} - {922546800 37800 0 +11} - {941297400 39600 1 +11} - {953996400 37800 0 +11} - {967303800 39600 1 +11} - {985446000 37800 0 +11} - {1004196600 39600 1 +11} - {1017500400 37800 0 +11} - {1035646200 39600 1 +11} - {1048950000 37800 0 +11} - {1067095800 39600 1 +11} - {1080399600 37800 0 +11} - {1099150200 39600 1 +11} - {1111849200 37800 0 +11} - {1130599800 39600 1 +11} - {1143903600 37800 0 +11} - {1162049400 39600 1 +11} - {1174748400 37800 0 +11} - {1193499000 39600 1 +11} - {1207407600 37800 0 +11} - {1223134200 39600 1 +11} - {1238857200 37800 0 +11} - {1254583800 39600 1 +11} - {1270306800 37800 0 +11} - {1286033400 39600 1 +11} - {1301756400 37800 0 +11} - {1317483000 39600 1 +11} - {1333206000 37800 0 +11} - {1349537400 39600 1 +11} - {1365260400 37800 0 +11} - {1380987000 39600 1 +11} - {1396710000 37800 0 +11} - {1412436600 39600 1 +11} - {1428159600 37800 0 +11} - {1443886200 39600 1 +11} - {1459609200 37800 0 +11} - {1475335800 39600 1 +11} - {1491058800 37800 0 +11} - {1506785400 39600 1 +11} - {1522508400 37800 0 +11} - {1538839800 39600 1 +11} - {1554562800 37800 0 +11} - {1570289400 39600 1 +11} - {1586012400 37800 0 +11} - {1601739000 39600 1 +11} - {1617462000 37800 0 +11} - {1633188600 39600 1 +11} - {1648911600 37800 0 +11} - {1664638200 39600 1 +11} - {1680361200 37800 0 +11} - {1696087800 39600 1 +11} - {1712415600 37800 0 +11} - {1728142200 39600 1 +11} - {1743865200 37800 0 +11} - {1759591800 39600 1 +11} - {1775314800 37800 0 +11} - {1791041400 39600 1 +11} - {1806764400 37800 0 +11} - {1822491000 39600 1 +11} - {1838214000 37800 0 +11} - {1853940600 39600 1 +11} - {1869663600 37800 0 +11} - {1885995000 39600 1 +11} - {1901718000 37800 0 +11} - {1917444600 39600 1 +11} - {1933167600 37800 0 +11} - {1948894200 39600 1 +11} - {1964617200 37800 0 +11} - {1980343800 39600 1 +11} - {1996066800 37800 0 +11} - {2011793400 39600 1 +11} - {2027516400 37800 0 +11} - {2043243000 39600 1 +11} - {2058966000 37800 0 +11} - {2075297400 39600 1 +11} - {2091020400 37800 0 +11} - {2106747000 39600 1 +11} - {2122470000 37800 0 +11} - {2138196600 39600 1 +11} - {2153919600 37800 0 +11} - {2169646200 39600 1 +11} - {2185369200 37800 0 +11} - {2201095800 39600 1 +11} - {2216818800 37800 0 +11} - {2233150200 39600 1 +11} - {2248873200 37800 0 +11} - {2264599800 39600 1 +11} - {2280322800 37800 0 +11} - {2296049400 39600 1 +11} - {2311772400 37800 0 +11} - {2327499000 39600 1 +11} - {2343222000 37800 0 +11} - {2358948600 39600 1 +11} - {2374671600 37800 0 +11} - {2390398200 39600 1 +11} - {2406121200 37800 0 +11} - {2422452600 39600 1 +11} - {2438175600 37800 0 +11} - {2453902200 39600 1 +11} - {2469625200 37800 0 +11} - {2485351800 39600 1 +11} - {2501074800 37800 0 +11} - {2516801400 39600 1 +11} - {2532524400 37800 0 +11} - {2548251000 39600 1 +11} - {2563974000 37800 0 +11} - {2579700600 39600 1 +11} - {2596028400 37800 0 +11} - {2611755000 39600 1 +11} - {2627478000 37800 0 +11} - {2643204600 39600 1 +11} - {2658927600 37800 0 +11} - {2674654200 39600 1 +11} - {2690377200 37800 0 +11} - {2706103800 39600 1 +11} - {2721826800 37800 0 +11} - {2737553400 39600 1 +11} - {2753276400 37800 0 +11} - {2769607800 39600 1 +11} - {2785330800 37800 0 +11} - {2801057400 39600 1 +11} - {2816780400 37800 0 +11} - {2832507000 39600 1 +11} - {2848230000 37800 0 +11} - {2863956600 39600 1 +11} - {2879679600 37800 0 +11} - {2895406200 39600 1 +11} - {2911129200 37800 0 +11} - {2926855800 39600 1 +11} - {2942578800 37800 0 +11} - {2958910200 39600 1 +11} - {2974633200 37800 0 +11} - {2990359800 39600 1 +11} - {3006082800 37800 0 +11} - {3021809400 39600 1 +11} - {3037532400 37800 0 +11} - {3053259000 39600 1 +11} - {3068982000 37800 0 +11} - {3084708600 39600 1 +11} - {3100431600 37800 0 +11} - {3116763000 39600 1 +11} - {3132486000 37800 0 +11} - {3148212600 39600 1 +11} - {3163935600 37800 0 +11} - {3179662200 39600 1 +11} - {3195385200 37800 0 +11} - {3211111800 39600 1 +11} - {3226834800 37800 0 +11} - {3242561400 39600 1 +11} - {3258284400 37800 0 +11} - {3274011000 39600 1 +11} - {3289734000 37800 0 +11} - {3306065400 39600 1 +11} - {3321788400 37800 0 +11} - {3337515000 39600 1 +11} - {3353238000 37800 0 +11} - {3368964600 39600 1 +11} - {3384687600 37800 0 +11} - {3400414200 39600 1 +11} - {3416137200 37800 0 +11} - {3431863800 39600 1 +11} - {3447586800 37800 0 +11} - {3463313400 39600 1 +11} - {3479641200 37800 0 +11} - {3495367800 39600 1 +11} - {3511090800 37800 0 +11} - {3526817400 39600 1 +11} - {3542540400 37800 0 +11} - {3558267000 39600 1 +11} - {3573990000 37800 0 +11} - {3589716600 39600 1 +11} - {3605439600 37800 0 +11} - {3621166200 39600 1 +11} - {3636889200 37800 0 +11} - {3653220600 39600 1 +11} - {3668943600 37800 0 +11} - {3684670200 39600 1 +11} - {3700393200 37800 0 +11} - {3716119800 39600 1 +11} - {3731842800 37800 0 +11} - {3747569400 39600 1 +11} - {3763292400 37800 0 +11} - {3779019000 39600 1 +11} - {3794742000 37800 0 +11} - {3810468600 39600 1 +11} - {3826191600 37800 0 +11} - {3842523000 39600 1 +11} - {3858246000 37800 0 +11} - {3873972600 39600 1 +11} - {3889695600 37800 0 +11} - {3905422200 39600 1 +11} - {3921145200 37800 0 +11} - {3936871800 39600 1 +11} - {3952594800 37800 0 +11} - {3968321400 39600 1 +11} - {3984044400 37800 0 +11} - {4000375800 39600 1 +11} - {4016098800 37800 0 +11} - {4031825400 39600 1 +11} - {4047548400 37800 0 +11} - {4063275000 39600 1 +11} - {4078998000 37800 0 +11} - {4094724600 39600 1 +11} + {352216800 37800 0 +1030} + {372785400 41400 1 +1030} + {384273000 37800 0 +1030} + {404839800 41400 1 +1030} + {415722600 37800 0 +1030} + {436289400 41400 1 +1030} + {447172200 37800 0 +1030} + {467739000 41400 1 +1030} + {478621800 37800 0 +1030} + {488984400 37800 0 +1030} + {499188600 39600 1 +1030} + {511282800 37800 0 +1030} + {530033400 39600 1 +1030} + {542732400 37800 0 +1030} + {562087800 39600 1 +1030} + {574786800 37800 0 +1030} + {594142200 39600 1 +1030} + {606236400 37800 0 +1030} + {625591800 39600 1 +1030} + {636476400 37800 0 +1030} + {657041400 39600 1 +1030} + {667926000 37800 0 +1030} + {688491000 39600 1 +1030} + {699375600 37800 0 +1030} + {719940600 39600 1 +1030} + {731430000 37800 0 +1030} + {751995000 39600 1 +1030} + {762879600 37800 0 +1030} + {783444600 39600 1 +1030} + {794329200 37800 0 +1030} + {814894200 39600 1 +1030} + {828198000 37800 0 +1030} + {846343800 39600 1 +1030} + {859647600 37800 0 +1030} + {877793400 39600 1 +1030} + {891097200 37800 0 +1030} + {909243000 39600 1 +1030} + {922546800 37800 0 +1030} + {941297400 39600 1 +1030} + {953996400 37800 0 +1030} + {967303800 39600 1 +1030} + {985446000 37800 0 +1030} + {1004196600 39600 1 +1030} + {1017500400 37800 0 +1030} + {1035646200 39600 1 +1030} + {1048950000 37800 0 +1030} + {1067095800 39600 1 +1030} + {1080399600 37800 0 +1030} + {1099150200 39600 1 +1030} + {1111849200 37800 0 +1030} + {1130599800 39600 1 +1030} + {1143903600 37800 0 +1030} + {1162049400 39600 1 +1030} + {1174748400 37800 0 +1030} + {1193499000 39600 1 +1030} + {1207407600 37800 0 +1030} + {1223134200 39600 1 +1030} + {1238857200 37800 0 +1030} + {1254583800 39600 1 +1030} + {1270306800 37800 0 +1030} + {1286033400 39600 1 +1030} + {1301756400 37800 0 +1030} + {1317483000 39600 1 +1030} + {1333206000 37800 0 +1030} + {1349537400 39600 1 +1030} + {1365260400 37800 0 +1030} + {1380987000 39600 1 +1030} + {1396710000 37800 0 +1030} + {1412436600 39600 1 +1030} + {1428159600 37800 0 +1030} + {1443886200 39600 1 +1030} + {1459609200 37800 0 +1030} + {1475335800 39600 1 +1030} + {1491058800 37800 0 +1030} + {1506785400 39600 1 +1030} + {1522508400 37800 0 +1030} + {1538839800 39600 1 +1030} + {1554562800 37800 0 +1030} + {1570289400 39600 1 +1030} + {1586012400 37800 0 +1030} + {1601739000 39600 1 +1030} + {1617462000 37800 0 +1030} + {1633188600 39600 1 +1030} + {1648911600 37800 0 +1030} + {1664638200 39600 1 +1030} + {1680361200 37800 0 +1030} + {1696087800 39600 1 +1030} + {1712415600 37800 0 +1030} + {1728142200 39600 1 +1030} + {1743865200 37800 0 +1030} + {1759591800 39600 1 +1030} + {1775314800 37800 0 +1030} + {1791041400 39600 1 +1030} + {1806764400 37800 0 +1030} + {1822491000 39600 1 +1030} + {1838214000 37800 0 +1030} + {1853940600 39600 1 +1030} + {1869663600 37800 0 +1030} + {1885995000 39600 1 +1030} + {1901718000 37800 0 +1030} + {1917444600 39600 1 +1030} + {1933167600 37800 0 +1030} + {1948894200 39600 1 +1030} + {1964617200 37800 0 +1030} + {1980343800 39600 1 +1030} + {1996066800 37800 0 +1030} + {2011793400 39600 1 +1030} + {2027516400 37800 0 +1030} + {2043243000 39600 1 +1030} + {2058966000 37800 0 +1030} + {2075297400 39600 1 +1030} + {2091020400 37800 0 +1030} + {2106747000 39600 1 +1030} + {2122470000 37800 0 +1030} + {2138196600 39600 1 +1030} + {2153919600 37800 0 +1030} + {2169646200 39600 1 +1030} + {2185369200 37800 0 +1030} + {2201095800 39600 1 +1030} + {2216818800 37800 0 +1030} + {2233150200 39600 1 +1030} + {2248873200 37800 0 +1030} + {2264599800 39600 1 +1030} + {2280322800 37800 0 +1030} + {2296049400 39600 1 +1030} + {2311772400 37800 0 +1030} + {2327499000 39600 1 +1030} + {2343222000 37800 0 +1030} + {2358948600 39600 1 +1030} + {2374671600 37800 0 +1030} + {2390398200 39600 1 +1030} + {2406121200 37800 0 +1030} + {2422452600 39600 1 +1030} + {2438175600 37800 0 +1030} + {2453902200 39600 1 +1030} + {2469625200 37800 0 +1030} + {2485351800 39600 1 +1030} + {2501074800 37800 0 +1030} + {2516801400 39600 1 +1030} + {2532524400 37800 0 +1030} + {2548251000 39600 1 +1030} + {2563974000 37800 0 +1030} + {2579700600 39600 1 +1030} + {2596028400 37800 0 +1030} + {2611755000 39600 1 +1030} + {2627478000 37800 0 +1030} + {2643204600 39600 1 +1030} + {2658927600 37800 0 +1030} + {2674654200 39600 1 +1030} + {2690377200 37800 0 +1030} + {2706103800 39600 1 +1030} + {2721826800 37800 0 +1030} + {2737553400 39600 1 +1030} + {2753276400 37800 0 +1030} + {2769607800 39600 1 +1030} + {2785330800 37800 0 +1030} + {2801057400 39600 1 +1030} + {2816780400 37800 0 +1030} + {2832507000 39600 1 +1030} + {2848230000 37800 0 +1030} + {2863956600 39600 1 +1030} + {2879679600 37800 0 +1030} + {2895406200 39600 1 +1030} + {2911129200 37800 0 +1030} + {2926855800 39600 1 +1030} + {2942578800 37800 0 +1030} + {2958910200 39600 1 +1030} + {2974633200 37800 0 +1030} + {2990359800 39600 1 +1030} + {3006082800 37800 0 +1030} + {3021809400 39600 1 +1030} + {3037532400 37800 0 +1030} + {3053259000 39600 1 +1030} + {3068982000 37800 0 +1030} + {3084708600 39600 1 +1030} + {3100431600 37800 0 +1030} + {3116763000 39600 1 +1030} + {3132486000 37800 0 +1030} + {3148212600 39600 1 +1030} + {3163935600 37800 0 +1030} + {3179662200 39600 1 +1030} + {3195385200 37800 0 +1030} + {3211111800 39600 1 +1030} + {3226834800 37800 0 +1030} + {3242561400 39600 1 +1030} + {3258284400 37800 0 +1030} + {3274011000 39600 1 +1030} + {3289734000 37800 0 +1030} + {3306065400 39600 1 +1030} + {3321788400 37800 0 +1030} + {3337515000 39600 1 +1030} + {3353238000 37800 0 +1030} + {3368964600 39600 1 +1030} + {3384687600 37800 0 +1030} + {3400414200 39600 1 +1030} + {3416137200 37800 0 +1030} + {3431863800 39600 1 +1030} + {3447586800 37800 0 +1030} + {3463313400 39600 1 +1030} + {3479641200 37800 0 +1030} + {3495367800 39600 1 +1030} + {3511090800 37800 0 +1030} + {3526817400 39600 1 +1030} + {3542540400 37800 0 +1030} + {3558267000 39600 1 +1030} + {3573990000 37800 0 +1030} + {3589716600 39600 1 +1030} + {3605439600 37800 0 +1030} + {3621166200 39600 1 +1030} + {3636889200 37800 0 +1030} + {3653220600 39600 1 +1030} + {3668943600 37800 0 +1030} + {3684670200 39600 1 +1030} + {3700393200 37800 0 +1030} + {3716119800 39600 1 +1030} + {3731842800 37800 0 +1030} + {3747569400 39600 1 +1030} + {3763292400 37800 0 +1030} + {3779019000 39600 1 +1030} + {3794742000 37800 0 +1030} + {3810468600 39600 1 +1030} + {3826191600 37800 0 +1030} + {3842523000 39600 1 +1030} + {3858246000 37800 0 +1030} + {3873972600 39600 1 +1030} + {3889695600 37800 0 +1030} + {3905422200 39600 1 +1030} + {3921145200 37800 0 +1030} + {3936871800 39600 1 +1030} + {3952594800 37800 0 +1030} + {3968321400 39600 1 +1030} + {3984044400 37800 0 +1030} + {4000375800 39600 1 +1030} + {4016098800 37800 0 +1030} + {4031825400 39600 1 +1030} + {4047548400 37800 0 +1030} + {4063275000 39600 1 +1030} + {4078998000 37800 0 +1030} + {4094724600 39600 1 +1030} } diff --git a/win32/lib/tcl8.6/tzdata/Europe/Dublin b/win32/lib/tcl8.6/tzdata/Europe/Dublin index c3a5c0e..56afc93 100644 --- a/win32/lib/tcl8.6/tzdata/Europe/Dublin +++ b/win32/lib/tcl8.6/tzdata/Europe/Dublin @@ -98,262 +98,261 @@ set TZData(:Europe/Dublin) { {-68680800 0 0 IST} {-59004000 3600 1 IST} {-37238400 3600 0 IST} - {57722400 0 0 IST} - {69818400 3600 1 IST} - {89172000 0 0 IST} - {101268000 3600 1 IST} - {120621600 0 0 IST} - {132717600 3600 1 IST} - {152071200 0 0 IST} - {164167200 3600 1 IST} - {183520800 0 0 IST} - {196221600 3600 1 IST} - {214970400 0 0 IST} - {227671200 3600 1 IST} - {246420000 0 0 IST} - {259120800 3600 1 IST} - {278474400 0 0 IST} - {290570400 3600 1 IST} - {309924000 0 0 IST} - {322020000 3600 1 IST} - {341373600 0 0 IST} - {354675600 3600 1 IST} - {372819600 0 0 IST} - {386125200 3600 1 IST} - {404269200 0 0 IST} - {417574800 3600 1 IST} - {435718800 0 0 IST} - {449024400 3600 1 IST} - {467773200 0 0 IST} - {481078800 3600 1 IST} - {499222800 0 0 IST} - {512528400 3600 1 IST} - {530672400 0 0 IST} - {543978000 3600 1 IST} - {562122000 0 0 IST} - {575427600 3600 1 IST} - {593571600 0 0 IST} - {606877200 3600 1 IST} - {625626000 0 0 IST} - {638326800 3600 1 IST} - {657075600 0 0 IST} - {670381200 3600 1 IST} - {688525200 0 0 IST} - {701830800 3600 1 IST} - {719974800 0 0 IST} - {733280400 3600 1 IST} - {751424400 0 0 IST} - {764730000 3600 1 IST} - {782874000 0 0 IST} - {796179600 3600 1 IST} - {814323600 0 0 IST} - {820454400 0 0 GMT} - {828234000 3600 1 IST} - {846378000 0 0 GMT} - {859683600 3600 1 IST} - {877827600 0 0 GMT} - {891133200 3600 1 IST} - {909277200 0 0 GMT} - {922582800 3600 1 IST} - {941331600 0 0 GMT} - {954032400 3600 1 IST} - {972781200 0 0 GMT} - {985482000 3600 1 IST} - {1004230800 0 0 GMT} - {1017536400 3600 1 IST} - {1035680400 0 0 GMT} - {1048986000 3600 1 IST} - {1067130000 0 0 GMT} - {1080435600 3600 1 IST} - {1099184400 0 0 GMT} - {1111885200 3600 1 IST} - {1130634000 0 0 GMT} - {1143334800 3600 1 IST} - {1162083600 0 0 GMT} - {1174784400 3600 1 IST} - {1193533200 0 0 GMT} - {1206838800 3600 1 IST} - {1224982800 0 0 GMT} - {1238288400 3600 1 IST} - {1256432400 0 0 GMT} - {1269738000 3600 1 IST} - {1288486800 0 0 GMT} - {1301187600 3600 1 IST} - {1319936400 0 0 GMT} - {1332637200 3600 1 IST} - {1351386000 0 0 GMT} - {1364691600 3600 1 IST} - {1382835600 0 0 GMT} - {1396141200 3600 1 IST} - {1414285200 0 0 GMT} - {1427590800 3600 1 IST} - {1445734800 0 0 GMT} - {1459040400 3600 1 IST} - {1477789200 0 0 GMT} - {1490490000 3600 1 IST} - {1509238800 0 0 GMT} - {1521939600 3600 1 IST} - {1540688400 0 0 GMT} - {1553994000 3600 1 IST} - {1572138000 0 0 GMT} - {1585443600 3600 1 IST} - {1603587600 0 0 GMT} - {1616893200 3600 1 IST} - {1635642000 0 0 GMT} - {1648342800 3600 1 IST} - {1667091600 0 0 GMT} - {1679792400 3600 1 IST} - {1698541200 0 0 GMT} - {1711846800 3600 1 IST} - {1729990800 0 0 GMT} - {1743296400 3600 1 IST} - {1761440400 0 0 GMT} - {1774746000 3600 1 IST} - {1792890000 0 0 GMT} - {1806195600 3600 1 IST} - {1824944400 0 0 GMT} - {1837645200 3600 1 IST} - {1856394000 0 0 GMT} - {1869094800 3600 1 IST} - {1887843600 0 0 GMT} - {1901149200 3600 1 IST} - {1919293200 0 0 GMT} - {1932598800 3600 1 IST} - {1950742800 0 0 GMT} - {1964048400 3600 1 IST} - {1982797200 0 0 GMT} - {1995498000 3600 1 IST} - {2014246800 0 0 GMT} - {2026947600 3600 1 IST} - {2045696400 0 0 GMT} - {2058397200 3600 1 IST} - {2077146000 0 0 GMT} - {2090451600 3600 1 IST} - {2108595600 0 0 GMT} - {2121901200 3600 1 IST} - {2140045200 0 0 GMT} - {2153350800 3600 1 IST} - {2172099600 0 0 GMT} - {2184800400 3600 1 IST} - {2203549200 0 0 GMT} - {2216250000 3600 1 IST} - {2234998800 0 0 GMT} - {2248304400 3600 1 IST} - {2266448400 0 0 GMT} - {2279754000 3600 1 IST} - {2297898000 0 0 GMT} - {2311203600 3600 1 IST} - {2329347600 0 0 GMT} - {2342653200 3600 1 IST} - {2361402000 0 0 GMT} - {2374102800 3600 1 IST} - {2392851600 0 0 GMT} - {2405552400 3600 1 IST} - {2424301200 0 0 GMT} - {2437606800 3600 1 IST} - {2455750800 0 0 GMT} - {2469056400 3600 1 IST} - {2487200400 0 0 GMT} - {2500506000 3600 1 IST} - {2519254800 0 0 GMT} - {2531955600 3600 1 IST} - {2550704400 0 0 GMT} - {2563405200 3600 1 IST} - {2582154000 0 0 GMT} - {2595459600 3600 1 IST} - {2613603600 0 0 GMT} - {2626909200 3600 1 IST} - {2645053200 0 0 GMT} - {2658358800 3600 1 IST} - {2676502800 0 0 GMT} - {2689808400 3600 1 IST} - {2708557200 0 0 GMT} - {2721258000 3600 1 IST} - {2740006800 0 0 GMT} - {2752707600 3600 1 IST} - {2771456400 0 0 GMT} - {2784762000 3600 1 IST} - {2802906000 0 0 GMT} - {2816211600 3600 1 IST} - {2834355600 0 0 GMT} - {2847661200 3600 1 IST} - {2866410000 0 0 GMT} - {2879110800 3600 1 IST} - {2897859600 0 0 GMT} - {2910560400 3600 1 IST} - {2929309200 0 0 GMT} - {2942010000 3600 1 IST} - {2960758800 0 0 GMT} - {2974064400 3600 1 IST} - {2992208400 0 0 GMT} - {3005514000 3600 1 IST} - {3023658000 0 0 GMT} - {3036963600 3600 1 IST} - {3055712400 0 0 GMT} - {3068413200 3600 1 IST} - {3087162000 0 0 GMT} - {3099862800 3600 1 IST} - {3118611600 0 0 GMT} - {3131917200 3600 1 IST} - {3150061200 0 0 GMT} - {3163366800 3600 1 IST} - {3181510800 0 0 GMT} - {3194816400 3600 1 IST} - {3212960400 0 0 GMT} - {3226266000 3600 1 IST} - {3245014800 0 0 GMT} - {3257715600 3600 1 IST} - {3276464400 0 0 GMT} - {3289165200 3600 1 IST} - {3307914000 0 0 GMT} - {3321219600 3600 1 IST} - {3339363600 0 0 GMT} - {3352669200 3600 1 IST} - {3370813200 0 0 GMT} - {3384118800 3600 1 IST} - {3402867600 0 0 GMT} - {3415568400 3600 1 IST} - {3434317200 0 0 GMT} - {3447018000 3600 1 IST} - {3465766800 0 0 GMT} - {3479072400 3600 1 IST} - {3497216400 0 0 GMT} - {3510522000 3600 1 IST} - {3528666000 0 0 GMT} - {3541971600 3600 1 IST} - {3560115600 0 0 GMT} - {3573421200 3600 1 IST} - {3592170000 0 0 GMT} - {3604870800 3600 1 IST} - {3623619600 0 0 GMT} - {3636320400 3600 1 IST} - {3655069200 0 0 GMT} - {3668374800 3600 1 IST} - {3686518800 0 0 GMT} - {3699824400 3600 1 IST} - {3717968400 0 0 GMT} - {3731274000 3600 1 IST} - {3750022800 0 0 GMT} - {3762723600 3600 1 IST} - {3781472400 0 0 GMT} - {3794173200 3600 1 IST} - {3812922000 0 0 GMT} - {3825622800 3600 1 IST} - {3844371600 0 0 GMT} - {3857677200 3600 1 IST} - {3875821200 0 0 GMT} - {3889126800 3600 1 IST} - {3907270800 0 0 GMT} - {3920576400 3600 1 IST} - {3939325200 0 0 GMT} - {3952026000 3600 1 IST} - {3970774800 0 0 GMT} - {3983475600 3600 1 IST} - {4002224400 0 0 GMT} - {4015530000 3600 1 IST} - {4033674000 0 0 GMT} - {4046979600 3600 1 IST} - {4065123600 0 0 GMT} - {4078429200 3600 1 IST} - {4096573200 0 0 GMT} + {57722400 0 1 IST} + {69818400 3600 0 IST} + {89172000 0 1 IST} + {101268000 3600 0 IST} + {120621600 0 1 IST} + {132717600 3600 0 IST} + {152071200 0 1 IST} + {164167200 3600 0 IST} + {183520800 0 1 IST} + {196221600 3600 0 IST} + {214970400 0 1 IST} + {227671200 3600 0 IST} + {246420000 0 1 IST} + {259120800 3600 0 IST} + {278474400 0 1 IST} + {290570400 3600 0 IST} + {309924000 0 1 IST} + {322020000 3600 0 IST} + {341373600 0 1 IST} + {354675600 3600 0 IST} + {372819600 0 1 IST} + {386125200 3600 0 IST} + {404269200 0 1 IST} + {417574800 3600 0 IST} + {435718800 0 1 IST} + {449024400 3600 0 IST} + {467773200 0 1 IST} + {481078800 3600 0 IST} + {499222800 0 1 IST} + {512528400 3600 0 IST} + {530672400 0 1 IST} + {543978000 3600 0 IST} + {562122000 0 1 IST} + {575427600 3600 0 IST} + {593571600 0 1 IST} + {606877200 3600 0 IST} + {625626000 0 1 IST} + {638326800 3600 0 IST} + {657075600 0 1 IST} + {670381200 3600 0 IST} + {688525200 0 1 IST} + {701830800 3600 0 IST} + {719974800 0 1 IST} + {733280400 3600 0 IST} + {751424400 0 1 IST} + {764730000 3600 0 IST} + {782874000 0 1 IST} + {796179600 3600 0 IST} + {814323600 0 1 IST} + {828234000 3600 0 IST} + {846378000 0 1 IST} + {859683600 3600 0 IST} + {877827600 0 1 IST} + {891133200 3600 0 IST} + {909277200 0 1 IST} + {922582800 3600 0 IST} + {941331600 0 1 IST} + {954032400 3600 0 IST} + {972781200 0 1 IST} + {985482000 3600 0 IST} + {1004230800 0 1 IST} + {1017536400 3600 0 IST} + {1035680400 0 1 IST} + {1048986000 3600 0 IST} + {1067130000 0 1 IST} + {1080435600 3600 0 IST} + {1099184400 0 1 IST} + {1111885200 3600 0 IST} + {1130634000 0 1 IST} + {1143334800 3600 0 IST} + {1162083600 0 1 IST} + {1174784400 3600 0 IST} + {1193533200 0 1 IST} + {1206838800 3600 0 IST} + {1224982800 0 1 IST} + {1238288400 3600 0 IST} + {1256432400 0 1 IST} + {1269738000 3600 0 IST} + {1288486800 0 1 IST} + {1301187600 3600 0 IST} + {1319936400 0 1 IST} + {1332637200 3600 0 IST} + {1351386000 0 1 IST} + {1364691600 3600 0 IST} + {1382835600 0 1 IST} + {1396141200 3600 0 IST} + {1414285200 0 1 IST} + {1427590800 3600 0 IST} + {1445734800 0 1 IST} + {1459040400 3600 0 IST} + {1477789200 0 1 IST} + {1490490000 3600 0 IST} + {1509238800 0 1 IST} + {1521939600 3600 0 IST} + {1540688400 0 1 IST} + {1553994000 3600 0 IST} + {1572138000 0 1 IST} + {1585443600 3600 0 IST} + {1603587600 0 1 IST} + {1616893200 3600 0 IST} + {1635642000 0 1 IST} + {1648342800 3600 0 IST} + {1667091600 0 1 IST} + {1679792400 3600 0 IST} + {1698541200 0 1 IST} + {1711846800 3600 0 IST} + {1729990800 0 1 IST} + {1743296400 3600 0 IST} + {1761440400 0 1 IST} + {1774746000 3600 0 IST} + {1792890000 0 1 IST} + {1806195600 3600 0 IST} + {1824944400 0 1 IST} + {1837645200 3600 0 IST} + {1856394000 0 1 IST} + {1869094800 3600 0 IST} + {1887843600 0 1 IST} + {1901149200 3600 0 IST} + {1919293200 0 1 IST} + {1932598800 3600 0 IST} + {1950742800 0 1 IST} + {1964048400 3600 0 IST} + {1982797200 0 1 IST} + {1995498000 3600 0 IST} + {2014246800 0 1 IST} + {2026947600 3600 0 IST} + {2045696400 0 1 IST} + {2058397200 3600 0 IST} + {2077146000 0 1 IST} + {2090451600 3600 0 IST} + {2108595600 0 1 IST} + {2121901200 3600 0 IST} + {2140045200 0 1 IST} + {2153350800 3600 0 IST} + {2172099600 0 1 IST} + {2184800400 3600 0 IST} + {2203549200 0 1 IST} + {2216250000 3600 0 IST} + {2234998800 0 1 IST} + {2248304400 3600 0 IST} + {2266448400 0 1 IST} + {2279754000 3600 0 IST} + {2297898000 0 1 IST} + {2311203600 3600 0 IST} + {2329347600 0 1 IST} + {2342653200 3600 0 IST} + {2361402000 0 1 IST} + {2374102800 3600 0 IST} + {2392851600 0 1 IST} + {2405552400 3600 0 IST} + {2424301200 0 1 IST} + {2437606800 3600 0 IST} + {2455750800 0 1 IST} + {2469056400 3600 0 IST} + {2487200400 0 1 IST} + {2500506000 3600 0 IST} + {2519254800 0 1 IST} + {2531955600 3600 0 IST} + {2550704400 0 1 IST} + {2563405200 3600 0 IST} + {2582154000 0 1 IST} + {2595459600 3600 0 IST} + {2613603600 0 1 IST} + {2626909200 3600 0 IST} + {2645053200 0 1 IST} + {2658358800 3600 0 IST} + {2676502800 0 1 IST} + {2689808400 3600 0 IST} + {2708557200 0 1 IST} + {2721258000 3600 0 IST} + {2740006800 0 1 IST} + {2752707600 3600 0 IST} + {2771456400 0 1 IST} + {2784762000 3600 0 IST} + {2802906000 0 1 IST} + {2816211600 3600 0 IST} + {2834355600 0 1 IST} + {2847661200 3600 0 IST} + {2866410000 0 1 IST} + {2879110800 3600 0 IST} + {2897859600 0 1 IST} + {2910560400 3600 0 IST} + {2929309200 0 1 IST} + {2942010000 3600 0 IST} + {2960758800 0 1 IST} + {2974064400 3600 0 IST} + {2992208400 0 1 IST} + {3005514000 3600 0 IST} + {3023658000 0 1 IST} + {3036963600 3600 0 IST} + {3055712400 0 1 IST} + {3068413200 3600 0 IST} + {3087162000 0 1 IST} + {3099862800 3600 0 IST} + {3118611600 0 1 IST} + {3131917200 3600 0 IST} + {3150061200 0 1 IST} + {3163366800 3600 0 IST} + {3181510800 0 1 IST} + {3194816400 3600 0 IST} + {3212960400 0 1 IST} + {3226266000 3600 0 IST} + {3245014800 0 1 IST} + {3257715600 3600 0 IST} + {3276464400 0 1 IST} + {3289165200 3600 0 IST} + {3307914000 0 1 IST} + {3321219600 3600 0 IST} + {3339363600 0 1 IST} + {3352669200 3600 0 IST} + {3370813200 0 1 IST} + {3384118800 3600 0 IST} + {3402867600 0 1 IST} + {3415568400 3600 0 IST} + {3434317200 0 1 IST} + {3447018000 3600 0 IST} + {3465766800 0 1 IST} + {3479072400 3600 0 IST} + {3497216400 0 1 IST} + {3510522000 3600 0 IST} + {3528666000 0 1 IST} + {3541971600 3600 0 IST} + {3560115600 0 1 IST} + {3573421200 3600 0 IST} + {3592170000 0 1 IST} + {3604870800 3600 0 IST} + {3623619600 0 1 IST} + {3636320400 3600 0 IST} + {3655069200 0 1 IST} + {3668374800 3600 0 IST} + {3686518800 0 1 IST} + {3699824400 3600 0 IST} + {3717968400 0 1 IST} + {3731274000 3600 0 IST} + {3750022800 0 1 IST} + {3762723600 3600 0 IST} + {3781472400 0 1 IST} + {3794173200 3600 0 IST} + {3812922000 0 1 IST} + {3825622800 3600 0 IST} + {3844371600 0 1 IST} + {3857677200 3600 0 IST} + {3875821200 0 1 IST} + {3889126800 3600 0 IST} + {3907270800 0 1 IST} + {3920576400 3600 0 IST} + {3939325200 0 1 IST} + {3952026000 3600 0 IST} + {3970774800 0 1 IST} + {3983475600 3600 0 IST} + {4002224400 0 1 IST} + {4015530000 3600 0 IST} + {4033674000 0 1 IST} + {4046979600 3600 0 IST} + {4065123600 0 1 IST} + {4078429200 3600 0 IST} + {4096573200 0 1 IST} } diff --git a/win32/lib/tcl8.6/tzdata/Europe/Lisbon b/win32/lib/tcl8.6/tzdata/Europe/Lisbon index 7168f96..b566b51 100644 --- a/win32/lib/tcl8.6/tzdata/Europe/Lisbon +++ b/win32/lib/tcl8.6/tzdata/Europe/Lisbon @@ -3,7 +3,7 @@ set TZData(:Europe/Lisbon) { {-9223372036854775808 -2205 0 LMT} {-2713908195 -2205 0 LMT} - {-1830381795 0 0 WET} + {-1830384000 0 0 WET} {-1689555600 3600 1 WEST} {-1677801600 0 0 WET} {-1667437200 3600 1 WEST} diff --git a/win32/lib/tcl8.6/tzdata/Europe/Prague b/win32/lib/tcl8.6/tzdata/Europe/Prague index 222b1ae..34df8ed 100644 --- a/win32/lib/tcl8.6/tzdata/Europe/Prague +++ b/win32/lib/tcl8.6/tzdata/Europe/Prague @@ -15,11 +15,14 @@ set TZData(:Europe/Prague) { {-844556400 7200 1 CEST} {-828226800 3600 0 CET} {-812502000 7200 1 CEST} - {-798073200 3600 0 CET} - {-780534000 7200 1 CEST} - {-761180400 3600 0 CET} + {-796777200 3600 0 CET} + {-781052400 7200 1 CEST} + {-777862800 7200 0 CEST} + {-765327600 3600 0 CET} {-746578800 7200 1 CEST} {-733359600 3600 0 CET} + {-728517600 0 1 GMT} + {-721260000 0 0 CET} {-716425200 7200 1 CEST} {-701910000 3600 0 CET} {-684975600 7200 1 CEST} diff --git a/win32/lib/tcl8.6/tzdata/Europe/Volgograd b/win32/lib/tcl8.6/tzdata/Europe/Volgograd index 05e1044..3938683 100644 --- a/win32/lib/tcl8.6/tzdata/Europe/Volgograd +++ b/win32/lib/tcl8.6/tzdata/Europe/Volgograd @@ -68,4 +68,5 @@ set TZData(:Europe/Volgograd) { {1288479600 10800 0 +03} {1301180400 14400 0 +04} {1414274400 10800 0 +03} + {1540681200 14400 0 +04} } diff --git a/win32/lib/tcl8.6/tzdata/Indian/Mauritius b/win32/lib/tcl8.6/tzdata/Indian/Mauritius index 2a7a0b1..4c9a051 100644 --- a/win32/lib/tcl8.6/tzdata/Indian/Mauritius +++ b/win32/lib/tcl8.6/tzdata/Indian/Mauritius @@ -3,8 +3,8 @@ set TZData(:Indian/Mauritius) { {-9223372036854775808 13800 0 LMT} {-1988164200 14400 0 +04} - {403041600 18000 1 +05} + {403041600 18000 1 +04} {417034800 14400 0 +04} - {1224972000 18000 1 +05} + {1224972000 18000 1 +04} {1238274000 14400 0 +04} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Apia b/win32/lib/tcl8.6/tzdata/Pacific/Apia index 4c0d84a..4fc91f4 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Apia +++ b/win32/lib/tcl8.6/tzdata/Pacific/Apia @@ -4,185 +4,185 @@ set TZData(:Pacific/Apia) { {-9223372036854775808 45184 0 LMT} {-2445424384 -41216 0 LMT} {-1861878784 -41400 0 -1130} - {-631110600 -39600 0 -10} - {1285498800 -36000 1 -10} - {1301752800 -39600 0 -10} - {1316872800 -36000 1 -10} - {1325239200 50400 0 +14} - {1333202400 46800 0 +14} - {1348927200 50400 1 +14} - {1365256800 46800 0 +14} - {1380376800 50400 1 +14} - {1396706400 46800 0 +14} - {1411826400 50400 1 +14} - {1428156000 46800 0 +14} - {1443276000 50400 1 +14} - {1459605600 46800 0 +14} - {1474725600 50400 1 +14} - {1491055200 46800 0 +14} - {1506175200 50400 1 +14} - {1522504800 46800 0 +14} - {1538229600 50400 1 +14} - {1554559200 46800 0 +14} - {1569679200 50400 1 +14} - {1586008800 46800 0 +14} - {1601128800 50400 1 +14} - {1617458400 46800 0 +14} - {1632578400 50400 1 +14} - {1648908000 46800 0 +14} - {1664028000 50400 1 +14} - {1680357600 46800 0 +14} - {1695477600 50400 1 +14} - {1712412000 46800 0 +14} - {1727532000 50400 1 +14} - {1743861600 46800 0 +14} - {1758981600 50400 1 +14} - {1775311200 46800 0 +14} - {1790431200 50400 1 +14} - {1806760800 46800 0 +14} - {1821880800 50400 1 +14} - {1838210400 46800 0 +14} - {1853330400 50400 1 +14} - {1869660000 46800 0 +14} - {1885384800 50400 1 +14} - {1901714400 46800 0 +14} - {1916834400 50400 1 +14} - {1933164000 46800 0 +14} - {1948284000 50400 1 +14} - {1964613600 46800 0 +14} - {1979733600 50400 1 +14} - {1996063200 46800 0 +14} - {2011183200 50400 1 +14} - {2027512800 46800 0 +14} - {2042632800 50400 1 +14} - {2058962400 46800 0 +14} - {2074687200 50400 1 +14} - {2091016800 46800 0 +14} - {2106136800 50400 1 +14} - {2122466400 46800 0 +14} - {2137586400 50400 1 +14} - {2153916000 46800 0 +14} - {2169036000 50400 1 +14} - {2185365600 46800 0 +14} - {2200485600 50400 1 +14} - {2216815200 46800 0 +14} - {2232540000 50400 1 +14} - {2248869600 46800 0 +14} - {2263989600 50400 1 +14} - {2280319200 46800 0 +14} - {2295439200 50400 1 +14} - {2311768800 46800 0 +14} - {2326888800 50400 1 +14} - {2343218400 46800 0 +14} - {2358338400 50400 1 +14} - {2374668000 46800 0 +14} - {2389788000 50400 1 +14} - {2406117600 46800 0 +14} - {2421842400 50400 1 +14} - {2438172000 46800 0 +14} - {2453292000 50400 1 +14} - {2469621600 46800 0 +14} - {2484741600 50400 1 +14} - {2501071200 46800 0 +14} - {2516191200 50400 1 +14} - {2532520800 46800 0 +14} - {2547640800 50400 1 +14} - {2563970400 46800 0 +14} - {2579090400 50400 1 +14} - {2596024800 46800 0 +14} - {2611144800 50400 1 +14} - {2627474400 46800 0 +14} - {2642594400 50400 1 +14} - {2658924000 46800 0 +14} - {2674044000 50400 1 +14} - {2690373600 46800 0 +14} - {2705493600 50400 1 +14} - {2721823200 46800 0 +14} - {2736943200 50400 1 +14} - {2753272800 46800 0 +14} - {2768997600 50400 1 +14} - {2785327200 46800 0 +14} - {2800447200 50400 1 +14} - {2816776800 46800 0 +14} - {2831896800 50400 1 +14} - {2848226400 46800 0 +14} - {2863346400 50400 1 +14} - {2879676000 46800 0 +14} - {2894796000 50400 1 +14} - {2911125600 46800 0 +14} - {2926245600 50400 1 +14} - {2942575200 46800 0 +14} - {2958300000 50400 1 +14} - {2974629600 46800 0 +14} - {2989749600 50400 1 +14} - {3006079200 46800 0 +14} - {3021199200 50400 1 +14} - {3037528800 46800 0 +14} - {3052648800 50400 1 +14} - {3068978400 46800 0 +14} - {3084098400 50400 1 +14} - {3100428000 46800 0 +14} - {3116152800 50400 1 +14} - {3132482400 46800 0 +14} - {3147602400 50400 1 +14} - {3163932000 46800 0 +14} - {3179052000 50400 1 +14} - {3195381600 46800 0 +14} - {3210501600 50400 1 +14} - {3226831200 46800 0 +14} - {3241951200 50400 1 +14} - {3258280800 46800 0 +14} - {3273400800 50400 1 +14} - {3289730400 46800 0 +14} - {3305455200 50400 1 +14} - {3321784800 46800 0 +14} - {3336904800 50400 1 +14} - {3353234400 46800 0 +14} - {3368354400 50400 1 +14} - {3384684000 46800 0 +14} - {3399804000 50400 1 +14} - {3416133600 46800 0 +14} - {3431253600 50400 1 +14} - {3447583200 46800 0 +14} - {3462703200 50400 1 +14} - {3479637600 46800 0 +14} - {3494757600 50400 1 +14} - {3511087200 46800 0 +14} - {3526207200 50400 1 +14} - {3542536800 46800 0 +14} - {3557656800 50400 1 +14} - {3573986400 46800 0 +14} - {3589106400 50400 1 +14} - {3605436000 46800 0 +14} - {3620556000 50400 1 +14} - {3636885600 46800 0 +14} - {3652610400 50400 1 +14} - {3668940000 46800 0 +14} - {3684060000 50400 1 +14} - {3700389600 46800 0 +14} - {3715509600 50400 1 +14} - {3731839200 46800 0 +14} - {3746959200 50400 1 +14} - {3763288800 46800 0 +14} - {3778408800 50400 1 +14} - {3794738400 46800 0 +14} - {3809858400 50400 1 +14} - {3826188000 46800 0 +14} - {3841912800 50400 1 +14} - {3858242400 46800 0 +14} - {3873362400 50400 1 +14} - {3889692000 46800 0 +14} - {3904812000 50400 1 +14} - {3921141600 46800 0 +14} - {3936261600 50400 1 +14} - {3952591200 46800 0 +14} - {3967711200 50400 1 +14} - {3984040800 46800 0 +14} - {3999765600 50400 1 +14} - {4016095200 46800 0 +14} - {4031215200 50400 1 +14} - {4047544800 46800 0 +14} - {4062664800 50400 1 +14} - {4078994400 46800 0 +14} - {4094114400 50400 1 +14} + {-631110600 -39600 0 -11} + {1285498800 -36000 1 -11} + {1301752800 -39600 0 -11} + {1316872800 -36000 1 -11} + {1325239200 50400 0 +13} + {1333202400 46800 0 +13} + {1348927200 50400 1 +13} + {1365256800 46800 0 +13} + {1380376800 50400 1 +13} + {1396706400 46800 0 +13} + {1411826400 50400 1 +13} + {1428156000 46800 0 +13} + {1443276000 50400 1 +13} + {1459605600 46800 0 +13} + {1474725600 50400 1 +13} + {1491055200 46800 0 +13} + {1506175200 50400 1 +13} + {1522504800 46800 0 +13} + {1538229600 50400 1 +13} + {1554559200 46800 0 +13} + {1569679200 50400 1 +13} + {1586008800 46800 0 +13} + {1601128800 50400 1 +13} + {1617458400 46800 0 +13} + {1632578400 50400 1 +13} + {1648908000 46800 0 +13} + {1664028000 50400 1 +13} + {1680357600 46800 0 +13} + {1695477600 50400 1 +13} + {1712412000 46800 0 +13} + {1727532000 50400 1 +13} + {1743861600 46800 0 +13} + {1758981600 50400 1 +13} + {1775311200 46800 0 +13} + {1790431200 50400 1 +13} + {1806760800 46800 0 +13} + {1821880800 50400 1 +13} + {1838210400 46800 0 +13} + {1853330400 50400 1 +13} + {1869660000 46800 0 +13} + {1885384800 50400 1 +13} + {1901714400 46800 0 +13} + {1916834400 50400 1 +13} + {1933164000 46800 0 +13} + {1948284000 50400 1 +13} + {1964613600 46800 0 +13} + {1979733600 50400 1 +13} + {1996063200 46800 0 +13} + {2011183200 50400 1 +13} + {2027512800 46800 0 +13} + {2042632800 50400 1 +13} + {2058962400 46800 0 +13} + {2074687200 50400 1 +13} + {2091016800 46800 0 +13} + {2106136800 50400 1 +13} + {2122466400 46800 0 +13} + {2137586400 50400 1 +13} + {2153916000 46800 0 +13} + {2169036000 50400 1 +13} + {2185365600 46800 0 +13} + {2200485600 50400 1 +13} + {2216815200 46800 0 +13} + {2232540000 50400 1 +13} + {2248869600 46800 0 +13} + {2263989600 50400 1 +13} + {2280319200 46800 0 +13} + {2295439200 50400 1 +13} + {2311768800 46800 0 +13} + {2326888800 50400 1 +13} + {2343218400 46800 0 +13} + {2358338400 50400 1 +13} + {2374668000 46800 0 +13} + {2389788000 50400 1 +13} + {2406117600 46800 0 +13} + {2421842400 50400 1 +13} + {2438172000 46800 0 +13} + {2453292000 50400 1 +13} + {2469621600 46800 0 +13} + {2484741600 50400 1 +13} + {2501071200 46800 0 +13} + {2516191200 50400 1 +13} + {2532520800 46800 0 +13} + {2547640800 50400 1 +13} + {2563970400 46800 0 +13} + {2579090400 50400 1 +13} + {2596024800 46800 0 +13} + {2611144800 50400 1 +13} + {2627474400 46800 0 +13} + {2642594400 50400 1 +13} + {2658924000 46800 0 +13} + {2674044000 50400 1 +13} + {2690373600 46800 0 +13} + {2705493600 50400 1 +13} + {2721823200 46800 0 +13} + {2736943200 50400 1 +13} + {2753272800 46800 0 +13} + {2768997600 50400 1 +13} + {2785327200 46800 0 +13} + {2800447200 50400 1 +13} + {2816776800 46800 0 +13} + {2831896800 50400 1 +13} + {2848226400 46800 0 +13} + {2863346400 50400 1 +13} + {2879676000 46800 0 +13} + {2894796000 50400 1 +13} + {2911125600 46800 0 +13} + {2926245600 50400 1 +13} + {2942575200 46800 0 +13} + {2958300000 50400 1 +13} + {2974629600 46800 0 +13} + {2989749600 50400 1 +13} + {3006079200 46800 0 +13} + {3021199200 50400 1 +13} + {3037528800 46800 0 +13} + {3052648800 50400 1 +13} + {3068978400 46800 0 +13} + {3084098400 50400 1 +13} + {3100428000 46800 0 +13} + {3116152800 50400 1 +13} + {3132482400 46800 0 +13} + {3147602400 50400 1 +13} + {3163932000 46800 0 +13} + {3179052000 50400 1 +13} + {3195381600 46800 0 +13} + {3210501600 50400 1 +13} + {3226831200 46800 0 +13} + {3241951200 50400 1 +13} + {3258280800 46800 0 +13} + {3273400800 50400 1 +13} + {3289730400 46800 0 +13} + {3305455200 50400 1 +13} + {3321784800 46800 0 +13} + {3336904800 50400 1 +13} + {3353234400 46800 0 +13} + {3368354400 50400 1 +13} + {3384684000 46800 0 +13} + {3399804000 50400 1 +13} + {3416133600 46800 0 +13} + {3431253600 50400 1 +13} + {3447583200 46800 0 +13} + {3462703200 50400 1 +13} + {3479637600 46800 0 +13} + {3494757600 50400 1 +13} + {3511087200 46800 0 +13} + {3526207200 50400 1 +13} + {3542536800 46800 0 +13} + {3557656800 50400 1 +13} + {3573986400 46800 0 +13} + {3589106400 50400 1 +13} + {3605436000 46800 0 +13} + {3620556000 50400 1 +13} + {3636885600 46800 0 +13} + {3652610400 50400 1 +13} + {3668940000 46800 0 +13} + {3684060000 50400 1 +13} + {3700389600 46800 0 +13} + {3715509600 50400 1 +13} + {3731839200 46800 0 +13} + {3746959200 50400 1 +13} + {3763288800 46800 0 +13} + {3778408800 50400 1 +13} + {3794738400 46800 0 +13} + {3809858400 50400 1 +13} + {3826188000 46800 0 +13} + {3841912800 50400 1 +13} + {3858242400 46800 0 +13} + {3873362400 50400 1 +13} + {3889692000 46800 0 +13} + {3904812000 50400 1 +13} + {3921141600 46800 0 +13} + {3936261600 50400 1 +13} + {3952591200 46800 0 +13} + {3967711200 50400 1 +13} + {3984040800 46800 0 +13} + {3999765600 50400 1 +13} + {4016095200 46800 0 +13} + {4031215200 50400 1 +13} + {4047544800 46800 0 +13} + {4062664800 50400 1 +13} + {4078994400 46800 0 +13} + {4094114400 50400 1 +13} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Chatham b/win32/lib/tcl8.6/tzdata/Pacific/Chatham index 5d39879..6c1ab19 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Chatham +++ b/win32/lib/tcl8.6/tzdata/Pacific/Chatham @@ -3,256 +3,256 @@ set TZData(:Pacific/Chatham) { {-9223372036854775808 44028 0 LMT} {-3192437628 44100 0 +1215} - {-757426500 45900 0 +1345} - {152632800 49500 1 +1345} - {162309600 45900 0 +1345} - {183477600 49500 1 +1345} - {194968800 45900 0 +1345} - {215532000 49500 1 +1345} - {226418400 45900 0 +1345} - {246981600 49500 1 +1345} - {257868000 45900 0 +1345} - {278431200 49500 1 +1345} - {289317600 45900 0 +1345} - {309880800 49500 1 +1345} - {320767200 45900 0 +1345} - {341330400 49500 1 +1345} - {352216800 45900 0 +1345} - {372780000 49500 1 +1345} - {384271200 45900 0 +1345} - {404834400 49500 1 +1345} - {415720800 45900 0 +1345} - {436284000 49500 1 +1345} - {447170400 45900 0 +1345} - {467733600 49500 1 +1345} - {478620000 45900 0 +1345} - {499183200 49500 1 +1345} - {510069600 45900 0 +1345} - {530632800 49500 1 +1345} - {541519200 45900 0 +1345} - {562082400 49500 1 +1345} - {573573600 45900 0 +1345} - {594136800 49500 1 +1345} - {605023200 45900 0 +1345} - {623772000 49500 1 +1345} - {637682400 45900 0 +1345} - {655221600 49500 1 +1345} - {669132000 45900 0 +1345} - {686671200 49500 1 +1345} - {700581600 45900 0 +1345} - {718120800 49500 1 +1345} - {732636000 45900 0 +1345} - {749570400 49500 1 +1345} - {764085600 45900 0 +1345} - {781020000 49500 1 +1345} - {795535200 45900 0 +1345} - {812469600 49500 1 +1345} - {826984800 45900 0 +1345} - {844524000 49500 1 +1345} - {858434400 45900 0 +1345} - {875973600 49500 1 +1345} - {889884000 45900 0 +1345} - {907423200 49500 1 +1345} - {921938400 45900 0 +1345} - {938872800 49500 1 +1345} - {953388000 45900 0 +1345} - {970322400 49500 1 +1345} - {984837600 45900 0 +1345} - {1002376800 49500 1 +1345} - {1016287200 45900 0 +1345} - {1033826400 49500 1 +1345} - {1047736800 45900 0 +1345} - {1065276000 49500 1 +1345} - {1079791200 45900 0 +1345} - {1096725600 49500 1 +1345} - {1111240800 45900 0 +1345} - {1128175200 49500 1 +1345} - {1142690400 45900 0 +1345} - {1159624800 49500 1 +1345} - {1174140000 45900 0 +1345} - {1191074400 49500 1 +1345} - {1207404000 45900 0 +1345} - {1222524000 49500 1 +1345} - {1238853600 45900 0 +1345} - {1253973600 49500 1 +1345} - {1270303200 45900 0 +1345} - {1285423200 49500 1 +1345} - {1301752800 45900 0 +1345} - {1316872800 49500 1 +1345} - {1333202400 45900 0 +1345} - {1348927200 49500 1 +1345} - {1365256800 45900 0 +1345} - {1380376800 49500 1 +1345} - {1396706400 45900 0 +1345} - {1411826400 49500 1 +1345} - {1428156000 45900 0 +1345} - {1443276000 49500 1 +1345} - {1459605600 45900 0 +1345} - {1474725600 49500 1 +1345} - {1491055200 45900 0 +1345} - {1506175200 49500 1 +1345} - {1522504800 45900 0 +1345} - {1538229600 49500 1 +1345} - {1554559200 45900 0 +1345} - {1569679200 49500 1 +1345} - {1586008800 45900 0 +1345} - {1601128800 49500 1 +1345} - {1617458400 45900 0 +1345} - {1632578400 49500 1 +1345} - {1648908000 45900 0 +1345} - {1664028000 49500 1 +1345} - {1680357600 45900 0 +1345} - {1695477600 49500 1 +1345} - {1712412000 45900 0 +1345} - {1727532000 49500 1 +1345} - {1743861600 45900 0 +1345} - {1758981600 49500 1 +1345} - {1775311200 45900 0 +1345} - {1790431200 49500 1 +1345} - {1806760800 45900 0 +1345} - {1821880800 49500 1 +1345} - {1838210400 45900 0 +1345} - {1853330400 49500 1 +1345} - {1869660000 45900 0 +1345} - {1885384800 49500 1 +1345} - {1901714400 45900 0 +1345} - {1916834400 49500 1 +1345} - {1933164000 45900 0 +1345} - {1948284000 49500 1 +1345} - {1964613600 45900 0 +1345} - {1979733600 49500 1 +1345} - {1996063200 45900 0 +1345} - {2011183200 49500 1 +1345} - {2027512800 45900 0 +1345} - {2042632800 49500 1 +1345} - {2058962400 45900 0 +1345} - {2074687200 49500 1 +1345} - {2091016800 45900 0 +1345} - {2106136800 49500 1 +1345} - {2122466400 45900 0 +1345} - {2137586400 49500 1 +1345} - {2153916000 45900 0 +1345} - {2169036000 49500 1 +1345} - {2185365600 45900 0 +1345} - {2200485600 49500 1 +1345} - {2216815200 45900 0 +1345} - {2232540000 49500 1 +1345} - {2248869600 45900 0 +1345} - {2263989600 49500 1 +1345} - {2280319200 45900 0 +1345} - {2295439200 49500 1 +1345} - {2311768800 45900 0 +1345} - {2326888800 49500 1 +1345} - {2343218400 45900 0 +1345} - {2358338400 49500 1 +1345} - {2374668000 45900 0 +1345} - {2389788000 49500 1 +1345} - {2406117600 45900 0 +1345} - {2421842400 49500 1 +1345} - {2438172000 45900 0 +1345} - {2453292000 49500 1 +1345} - {2469621600 45900 0 +1345} - {2484741600 49500 1 +1345} - {2501071200 45900 0 +1345} - {2516191200 49500 1 +1345} - {2532520800 45900 0 +1345} - {2547640800 49500 1 +1345} - {2563970400 45900 0 +1345} - {2579090400 49500 1 +1345} - {2596024800 45900 0 +1345} - {2611144800 49500 1 +1345} - {2627474400 45900 0 +1345} - {2642594400 49500 1 +1345} - {2658924000 45900 0 +1345} - {2674044000 49500 1 +1345} - {2690373600 45900 0 +1345} - {2705493600 49500 1 +1345} - {2721823200 45900 0 +1345} - {2736943200 49500 1 +1345} - {2753272800 45900 0 +1345} - {2768997600 49500 1 +1345} - {2785327200 45900 0 +1345} - {2800447200 49500 1 +1345} - {2816776800 45900 0 +1345} - {2831896800 49500 1 +1345} - {2848226400 45900 0 +1345} - {2863346400 49500 1 +1345} - {2879676000 45900 0 +1345} - {2894796000 49500 1 +1345} - {2911125600 45900 0 +1345} - {2926245600 49500 1 +1345} - {2942575200 45900 0 +1345} - {2958300000 49500 1 +1345} - {2974629600 45900 0 +1345} - {2989749600 49500 1 +1345} - {3006079200 45900 0 +1345} - {3021199200 49500 1 +1345} - {3037528800 45900 0 +1345} - {3052648800 49500 1 +1345} - {3068978400 45900 0 +1345} - {3084098400 49500 1 +1345} - {3100428000 45900 0 +1345} - {3116152800 49500 1 +1345} - {3132482400 45900 0 +1345} - {3147602400 49500 1 +1345} - {3163932000 45900 0 +1345} - {3179052000 49500 1 +1345} - {3195381600 45900 0 +1345} - {3210501600 49500 1 +1345} - {3226831200 45900 0 +1345} - {3241951200 49500 1 +1345} - {3258280800 45900 0 +1345} - {3273400800 49500 1 +1345} - {3289730400 45900 0 +1345} - {3305455200 49500 1 +1345} - {3321784800 45900 0 +1345} - {3336904800 49500 1 +1345} - {3353234400 45900 0 +1345} - {3368354400 49500 1 +1345} - {3384684000 45900 0 +1345} - {3399804000 49500 1 +1345} - {3416133600 45900 0 +1345} - {3431253600 49500 1 +1345} - {3447583200 45900 0 +1345} - {3462703200 49500 1 +1345} - {3479637600 45900 0 +1345} - {3494757600 49500 1 +1345} - {3511087200 45900 0 +1345} - {3526207200 49500 1 +1345} - {3542536800 45900 0 +1345} - {3557656800 49500 1 +1345} - {3573986400 45900 0 +1345} - {3589106400 49500 1 +1345} - {3605436000 45900 0 +1345} - {3620556000 49500 1 +1345} - {3636885600 45900 0 +1345} - {3652610400 49500 1 +1345} - {3668940000 45900 0 +1345} - {3684060000 49500 1 +1345} - {3700389600 45900 0 +1345} - {3715509600 49500 1 +1345} - {3731839200 45900 0 +1345} - {3746959200 49500 1 +1345} - {3763288800 45900 0 +1345} - {3778408800 49500 1 +1345} - {3794738400 45900 0 +1345} - {3809858400 49500 1 +1345} - {3826188000 45900 0 +1345} - {3841912800 49500 1 +1345} - {3858242400 45900 0 +1345} - {3873362400 49500 1 +1345} - {3889692000 45900 0 +1345} - {3904812000 49500 1 +1345} - {3921141600 45900 0 +1345} - {3936261600 49500 1 +1345} - {3952591200 45900 0 +1345} - {3967711200 49500 1 +1345} - {3984040800 45900 0 +1345} - {3999765600 49500 1 +1345} - {4016095200 45900 0 +1345} - {4031215200 49500 1 +1345} - {4047544800 45900 0 +1345} - {4062664800 49500 1 +1345} - {4078994400 45900 0 +1345} - {4094114400 49500 1 +1345} + {-757426500 45900 0 +1245} + {152632800 49500 1 +1245} + {162309600 45900 0 +1245} + {183477600 49500 1 +1245} + {194968800 45900 0 +1245} + {215532000 49500 1 +1245} + {226418400 45900 0 +1245} + {246981600 49500 1 +1245} + {257868000 45900 0 +1245} + {278431200 49500 1 +1245} + {289317600 45900 0 +1245} + {309880800 49500 1 +1245} + {320767200 45900 0 +1245} + {341330400 49500 1 +1245} + {352216800 45900 0 +1245} + {372780000 49500 1 +1245} + {384271200 45900 0 +1245} + {404834400 49500 1 +1245} + {415720800 45900 0 +1245} + {436284000 49500 1 +1245} + {447170400 45900 0 +1245} + {467733600 49500 1 +1245} + {478620000 45900 0 +1245} + {499183200 49500 1 +1245} + {510069600 45900 0 +1245} + {530632800 49500 1 +1245} + {541519200 45900 0 +1245} + {562082400 49500 1 +1245} + {573573600 45900 0 +1245} + {594136800 49500 1 +1245} + {605023200 45900 0 +1245} + {623772000 49500 1 +1245} + {637682400 45900 0 +1245} + {655221600 49500 1 +1245} + {669132000 45900 0 +1245} + {686671200 49500 1 +1245} + {700581600 45900 0 +1245} + {718120800 49500 1 +1245} + {732636000 45900 0 +1245} + {749570400 49500 1 +1245} + {764085600 45900 0 +1245} + {781020000 49500 1 +1245} + {795535200 45900 0 +1245} + {812469600 49500 1 +1245} + {826984800 45900 0 +1245} + {844524000 49500 1 +1245} + {858434400 45900 0 +1245} + {875973600 49500 1 +1245} + {889884000 45900 0 +1245} + {907423200 49500 1 +1245} + {921938400 45900 0 +1245} + {938872800 49500 1 +1245} + {953388000 45900 0 +1245} + {970322400 49500 1 +1245} + {984837600 45900 0 +1245} + {1002376800 49500 1 +1245} + {1016287200 45900 0 +1245} + {1033826400 49500 1 +1245} + {1047736800 45900 0 +1245} + {1065276000 49500 1 +1245} + {1079791200 45900 0 +1245} + {1096725600 49500 1 +1245} + {1111240800 45900 0 +1245} + {1128175200 49500 1 +1245} + {1142690400 45900 0 +1245} + {1159624800 49500 1 +1245} + {1174140000 45900 0 +1245} + {1191074400 49500 1 +1245} + {1207404000 45900 0 +1245} + {1222524000 49500 1 +1245} + {1238853600 45900 0 +1245} + {1253973600 49500 1 +1245} + {1270303200 45900 0 +1245} + {1285423200 49500 1 +1245} + {1301752800 45900 0 +1245} + {1316872800 49500 1 +1245} + {1333202400 45900 0 +1245} + {1348927200 49500 1 +1245} + {1365256800 45900 0 +1245} + {1380376800 49500 1 +1245} + {1396706400 45900 0 +1245} + {1411826400 49500 1 +1245} + {1428156000 45900 0 +1245} + {1443276000 49500 1 +1245} + {1459605600 45900 0 +1245} + {1474725600 49500 1 +1245} + {1491055200 45900 0 +1245} + {1506175200 49500 1 +1245} + {1522504800 45900 0 +1245} + {1538229600 49500 1 +1245} + {1554559200 45900 0 +1245} + {1569679200 49500 1 +1245} + {1586008800 45900 0 +1245} + {1601128800 49500 1 +1245} + {1617458400 45900 0 +1245} + {1632578400 49500 1 +1245} + {1648908000 45900 0 +1245} + {1664028000 49500 1 +1245} + {1680357600 45900 0 +1245} + {1695477600 49500 1 +1245} + {1712412000 45900 0 +1245} + {1727532000 49500 1 +1245} + {1743861600 45900 0 +1245} + {1758981600 49500 1 +1245} + {1775311200 45900 0 +1245} + {1790431200 49500 1 +1245} + {1806760800 45900 0 +1245} + {1821880800 49500 1 +1245} + {1838210400 45900 0 +1245} + {1853330400 49500 1 +1245} + {1869660000 45900 0 +1245} + {1885384800 49500 1 +1245} + {1901714400 45900 0 +1245} + {1916834400 49500 1 +1245} + {1933164000 45900 0 +1245} + {1948284000 49500 1 +1245} + {1964613600 45900 0 +1245} + {1979733600 49500 1 +1245} + {1996063200 45900 0 +1245} + {2011183200 49500 1 +1245} + {2027512800 45900 0 +1245} + {2042632800 49500 1 +1245} + {2058962400 45900 0 +1245} + {2074687200 49500 1 +1245} + {2091016800 45900 0 +1245} + {2106136800 49500 1 +1245} + {2122466400 45900 0 +1245} + {2137586400 49500 1 +1245} + {2153916000 45900 0 +1245} + {2169036000 49500 1 +1245} + {2185365600 45900 0 +1245} + {2200485600 49500 1 +1245} + {2216815200 45900 0 +1245} + {2232540000 49500 1 +1245} + {2248869600 45900 0 +1245} + {2263989600 49500 1 +1245} + {2280319200 45900 0 +1245} + {2295439200 49500 1 +1245} + {2311768800 45900 0 +1245} + {2326888800 49500 1 +1245} + {2343218400 45900 0 +1245} + {2358338400 49500 1 +1245} + {2374668000 45900 0 +1245} + {2389788000 49500 1 +1245} + {2406117600 45900 0 +1245} + {2421842400 49500 1 +1245} + {2438172000 45900 0 +1245} + {2453292000 49500 1 +1245} + {2469621600 45900 0 +1245} + {2484741600 49500 1 +1245} + {2501071200 45900 0 +1245} + {2516191200 49500 1 +1245} + {2532520800 45900 0 +1245} + {2547640800 49500 1 +1245} + {2563970400 45900 0 +1245} + {2579090400 49500 1 +1245} + {2596024800 45900 0 +1245} + {2611144800 49500 1 +1245} + {2627474400 45900 0 +1245} + {2642594400 49500 1 +1245} + {2658924000 45900 0 +1245} + {2674044000 49500 1 +1245} + {2690373600 45900 0 +1245} + {2705493600 49500 1 +1245} + {2721823200 45900 0 +1245} + {2736943200 49500 1 +1245} + {2753272800 45900 0 +1245} + {2768997600 49500 1 +1245} + {2785327200 45900 0 +1245} + {2800447200 49500 1 +1245} + {2816776800 45900 0 +1245} + {2831896800 49500 1 +1245} + {2848226400 45900 0 +1245} + {2863346400 49500 1 +1245} + {2879676000 45900 0 +1245} + {2894796000 49500 1 +1245} + {2911125600 45900 0 +1245} + {2926245600 49500 1 +1245} + {2942575200 45900 0 +1245} + {2958300000 49500 1 +1245} + {2974629600 45900 0 +1245} + {2989749600 49500 1 +1245} + {3006079200 45900 0 +1245} + {3021199200 49500 1 +1245} + {3037528800 45900 0 +1245} + {3052648800 49500 1 +1245} + {3068978400 45900 0 +1245} + {3084098400 49500 1 +1245} + {3100428000 45900 0 +1245} + {3116152800 49500 1 +1245} + {3132482400 45900 0 +1245} + {3147602400 49500 1 +1245} + {3163932000 45900 0 +1245} + {3179052000 49500 1 +1245} + {3195381600 45900 0 +1245} + {3210501600 49500 1 +1245} + {3226831200 45900 0 +1245} + {3241951200 49500 1 +1245} + {3258280800 45900 0 +1245} + {3273400800 49500 1 +1245} + {3289730400 45900 0 +1245} + {3305455200 49500 1 +1245} + {3321784800 45900 0 +1245} + {3336904800 49500 1 +1245} + {3353234400 45900 0 +1245} + {3368354400 49500 1 +1245} + {3384684000 45900 0 +1245} + {3399804000 49500 1 +1245} + {3416133600 45900 0 +1245} + {3431253600 49500 1 +1245} + {3447583200 45900 0 +1245} + {3462703200 49500 1 +1245} + {3479637600 45900 0 +1245} + {3494757600 49500 1 +1245} + {3511087200 45900 0 +1245} + {3526207200 49500 1 +1245} + {3542536800 45900 0 +1245} + {3557656800 49500 1 +1245} + {3573986400 45900 0 +1245} + {3589106400 49500 1 +1245} + {3605436000 45900 0 +1245} + {3620556000 49500 1 +1245} + {3636885600 45900 0 +1245} + {3652610400 49500 1 +1245} + {3668940000 45900 0 +1245} + {3684060000 49500 1 +1245} + {3700389600 45900 0 +1245} + {3715509600 49500 1 +1245} + {3731839200 45900 0 +1245} + {3746959200 49500 1 +1245} + {3763288800 45900 0 +1245} + {3778408800 49500 1 +1245} + {3794738400 45900 0 +1245} + {3809858400 49500 1 +1245} + {3826188000 45900 0 +1245} + {3841912800 49500 1 +1245} + {3858242400 45900 0 +1245} + {3873362400 49500 1 +1245} + {3889692000 45900 0 +1245} + {3904812000 49500 1 +1245} + {3921141600 45900 0 +1245} + {3936261600 49500 1 +1245} + {3952591200 45900 0 +1245} + {3967711200 49500 1 +1245} + {3984040800 45900 0 +1245} + {3999765600 49500 1 +1245} + {4016095200 45900 0 +1245} + {4031215200 49500 1 +1245} + {4047544800 45900 0 +1245} + {4062664800 49500 1 +1245} + {4078994400 45900 0 +1245} + {4094114400 49500 1 +1245} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Easter b/win32/lib/tcl8.6/tzdata/Pacific/Easter index 474a32b..7a8d525 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Easter +++ b/win32/lib/tcl8.6/tzdata/Pacific/Easter @@ -4,265 +4,265 @@ set TZData(:Pacific/Easter) { {-9223372036854775808 -26248 0 LMT} {-2524495352 -26248 0 EMT} {-1178124152 -25200 0 -07} - {-36619200 -21600 1 -06} + {-36619200 -21600 1 -07} {-23922000 -25200 0 -07} - {-3355200 -21600 1 -06} + {-3355200 -21600 1 -07} {7527600 -25200 0 -07} - {24465600 -21600 1 -06} + {24465600 -21600 1 -07} {37767600 -25200 0 -07} - {55915200 -21600 1 -06} + {55915200 -21600 1 -07} {69217200 -25200 0 -07} - {87969600 -21600 1 -06} + {87969600 -21600 1 -07} {100666800 -25200 0 -07} - {118209600 -21600 1 -06} + {118209600 -21600 1 -07} {132116400 -25200 0 -07} - {150868800 -21600 1 -06} + {150868800 -21600 1 -07} {163566000 -25200 0 -07} - {182318400 -21600 1 -06} + {182318400 -21600 1 -07} {195620400 -25200 0 -07} - {213768000 -21600 1 -06} + {213768000 -21600 1 -07} {227070000 -25200 0 -07} - {245217600 -21600 1 -06} + {245217600 -21600 1 -07} {258519600 -25200 0 -07} - {277272000 -21600 1 -06} + {277272000 -21600 1 -07} {289969200 -25200 0 -07} - {308721600 -21600 1 -06} + {308721600 -21600 1 -07} {321418800 -25200 0 -07} - {340171200 -21600 1 -06} + {340171200 -21600 1 -07} {353473200 -25200 0 -07} - {371620800 -21600 1 -06} + {371620800 -21600 1 -07} {384922800 -21600 0 -06} - {403070400 -18000 1 -05} + {403070400 -18000 1 -06} {416372400 -21600 0 -06} - {434520000 -18000 1 -05} + {434520000 -18000 1 -06} {447822000 -21600 0 -06} - {466574400 -18000 1 -05} + {466574400 -18000 1 -06} {479271600 -21600 0 -06} - {498024000 -18000 1 -05} + {498024000 -18000 1 -06} {510721200 -21600 0 -06} - {529473600 -18000 1 -05} + {529473600 -18000 1 -06} {545194800 -21600 0 -06} - {560923200 -18000 1 -05} + {560923200 -18000 1 -06} {574225200 -21600 0 -06} - {592372800 -18000 1 -05} + {592372800 -18000 1 -06} {605674800 -21600 0 -06} - {624427200 -18000 1 -05} + {624427200 -18000 1 -06} {637124400 -21600 0 -06} - {653457600 -18000 1 -05} + {653457600 -18000 1 -06} {668574000 -21600 0 -06} - {687326400 -18000 1 -05} + {687326400 -18000 1 -06} {700628400 -21600 0 -06} - {718776000 -18000 1 -05} + {718776000 -18000 1 -06} {732078000 -21600 0 -06} - {750225600 -18000 1 -05} + {750225600 -18000 1 -06} {763527600 -21600 0 -06} - {781675200 -18000 1 -05} + {781675200 -18000 1 -06} {794977200 -21600 0 -06} - {813729600 -18000 1 -05} + {813729600 -18000 1 -06} {826426800 -21600 0 -06} - {845179200 -18000 1 -05} + {845179200 -18000 1 -06} {859690800 -21600 0 -06} - {876628800 -18000 1 -05} + {876628800 -18000 1 -06} {889930800 -21600 0 -06} - {906868800 -18000 1 -05} + {906868800 -18000 1 -06} {923194800 -21600 0 -06} - {939528000 -18000 1 -05} + {939528000 -18000 1 -06} {952830000 -21600 0 -06} - {971582400 -18000 1 -05} + {971582400 -18000 1 -06} {984279600 -21600 0 -06} - {1003032000 -18000 1 -05} + {1003032000 -18000 1 -06} {1015729200 -21600 0 -06} - {1034481600 -18000 1 -05} + {1034481600 -18000 1 -06} {1047178800 -21600 0 -06} - {1065931200 -18000 1 -05} + {1065931200 -18000 1 -06} {1079233200 -21600 0 -06} - {1097380800 -18000 1 -05} + {1097380800 -18000 1 -06} {1110682800 -21600 0 -06} - {1128830400 -18000 1 -05} + {1128830400 -18000 1 -06} {1142132400 -21600 0 -06} - {1160884800 -18000 1 -05} + {1160884800 -18000 1 -06} {1173582000 -21600 0 -06} - {1192334400 -18000 1 -05} + {1192334400 -18000 1 -06} {1206846000 -21600 0 -06} - {1223784000 -18000 1 -05} + {1223784000 -18000 1 -06} {1237086000 -21600 0 -06} - {1255233600 -18000 1 -05} + {1255233600 -18000 1 -06} {1270350000 -21600 0 -06} - {1286683200 -18000 1 -05} + {1286683200 -18000 1 -06} {1304823600 -21600 0 -06} - {1313899200 -18000 1 -05} + {1313899200 -18000 1 -06} {1335668400 -21600 0 -06} - {1346558400 -18000 1 -05} + {1346558400 -18000 1 -06} {1367118000 -21600 0 -06} - {1378612800 -18000 1 -05} + {1378612800 -18000 1 -06} {1398567600 -21600 0 -06} - {1410062400 -18000 1 -05} + {1410062400 -18000 1 -06} {1463281200 -21600 0 -06} - {1471147200 -18000 1 -05} + {1471147200 -18000 1 -06} {1494730800 -21600 0 -06} - {1502596800 -18000 1 -05} + {1502596800 -18000 1 -06} {1526180400 -21600 0 -06} - {1534046400 -18000 1 -05} - {1557630000 -21600 0 -06} - {1565496000 -18000 1 -05} - {1589079600 -21600 0 -06} - {1596945600 -18000 1 -05} - {1620529200 -21600 0 -06} - {1629000000 -18000 1 -05} - {1652583600 -21600 0 -06} - {1660449600 -18000 1 -05} - {1684033200 -21600 0 -06} - {1691899200 -18000 1 -05} - {1715482800 -21600 0 -06} - {1723348800 -18000 1 -05} - {1746932400 -21600 0 -06} - {1754798400 -18000 1 -05} - {1778382000 -21600 0 -06} - {1786248000 -18000 1 -05} - {1809831600 -21600 0 -06} - {1818302400 -18000 1 -05} - {1841886000 -21600 0 -06} - {1849752000 -18000 1 -05} - {1873335600 -21600 0 -06} - {1881201600 -18000 1 -05} - {1904785200 -21600 0 -06} - {1912651200 -18000 1 -05} - {1936234800 -21600 0 -06} - {1944100800 -18000 1 -05} - {1967684400 -21600 0 -06} - {1976155200 -18000 1 -05} - {1999738800 -21600 0 -06} - {2007604800 -18000 1 -05} - {2031188400 -21600 0 -06} - {2039054400 -18000 1 -05} - {2062638000 -21600 0 -06} - {2070504000 -18000 1 -05} - {2094087600 -21600 0 -06} - {2101953600 -18000 1 -05} - {2125537200 -21600 0 -06} - {2133403200 -18000 1 -05} - {2156986800 -21600 0 -06} - {2165457600 -18000 1 -05} - {2189041200 -21600 0 -06} - {2196907200 -18000 1 -05} - {2220490800 -21600 0 -06} - {2228356800 -18000 1 -05} - {2251940400 -21600 0 -06} - {2259806400 -18000 1 -05} - {2283390000 -21600 0 -06} - {2291256000 -18000 1 -05} - {2314839600 -21600 0 -06} - {2322705600 -18000 1 -05} - {2346894000 -21600 0 -06} - {2354760000 -18000 1 -05} - {2378343600 -21600 0 -06} - {2386209600 -18000 1 -05} - {2409793200 -21600 0 -06} - {2417659200 -18000 1 -05} - {2441242800 -21600 0 -06} - {2449108800 -18000 1 -05} - {2472692400 -21600 0 -06} - {2480558400 -18000 1 -05} - {2504142000 -21600 0 -06} - {2512612800 -18000 1 -05} - {2536196400 -21600 0 -06} - {2544062400 -18000 1 -05} - {2567646000 -21600 0 -06} - {2575512000 -18000 1 -05} - {2599095600 -21600 0 -06} - {2606961600 -18000 1 -05} - {2630545200 -21600 0 -06} - {2638411200 -18000 1 -05} - {2661994800 -21600 0 -06} - {2669860800 -18000 1 -05} - {2693444400 -21600 0 -06} - {2701915200 -18000 1 -05} - {2725498800 -21600 0 -06} - {2733364800 -18000 1 -05} - {2756948400 -21600 0 -06} - {2764814400 -18000 1 -05} - {2788398000 -21600 0 -06} - {2796264000 -18000 1 -05} - {2819847600 -21600 0 -06} - {2827713600 -18000 1 -05} - {2851297200 -21600 0 -06} - {2859768000 -18000 1 -05} - {2883351600 -21600 0 -06} - {2891217600 -18000 1 -05} - {2914801200 -21600 0 -06} - {2922667200 -18000 1 -05} - {2946250800 -21600 0 -06} - {2954116800 -18000 1 -05} - {2977700400 -21600 0 -06} - {2985566400 -18000 1 -05} - {3009150000 -21600 0 -06} - {3017016000 -18000 1 -05} - {3040599600 -21600 0 -06} - {3049070400 -18000 1 -05} - {3072654000 -21600 0 -06} - {3080520000 -18000 1 -05} - {3104103600 -21600 0 -06} - {3111969600 -18000 1 -05} - {3135553200 -21600 0 -06} - {3143419200 -18000 1 -05} - {3167002800 -21600 0 -06} - {3174868800 -18000 1 -05} - {3198452400 -21600 0 -06} - {3206318400 -18000 1 -05} - {3230506800 -21600 0 -06} - {3238372800 -18000 1 -05} - {3261956400 -21600 0 -06} - {3269822400 -18000 1 -05} - {3293406000 -21600 0 -06} - {3301272000 -18000 1 -05} - {3324855600 -21600 0 -06} - {3332721600 -18000 1 -05} - {3356305200 -21600 0 -06} - {3364171200 -18000 1 -05} - {3387754800 -21600 0 -06} - {3396225600 -18000 1 -05} - {3419809200 -21600 0 -06} - {3427675200 -18000 1 -05} - {3451258800 -21600 0 -06} - {3459124800 -18000 1 -05} - {3482708400 -21600 0 -06} - {3490574400 -18000 1 -05} - {3514158000 -21600 0 -06} - {3522024000 -18000 1 -05} - {3545607600 -21600 0 -06} - {3553473600 -18000 1 -05} - {3577057200 -21600 0 -06} - {3585528000 -18000 1 -05} - {3609111600 -21600 0 -06} - {3616977600 -18000 1 -05} - {3640561200 -21600 0 -06} - {3648427200 -18000 1 -05} - {3672010800 -21600 0 -06} - {3679876800 -18000 1 -05} - {3703460400 -21600 0 -06} - {3711326400 -18000 1 -05} - {3734910000 -21600 0 -06} - {3743380800 -18000 1 -05} - {3766964400 -21600 0 -06} - {3774830400 -18000 1 -05} - {3798414000 -21600 0 -06} - {3806280000 -18000 1 -05} - {3829863600 -21600 0 -06} - {3837729600 -18000 1 -05} - {3861313200 -21600 0 -06} - {3869179200 -18000 1 -05} - {3892762800 -21600 0 -06} - {3900628800 -18000 1 -05} - {3924212400 -21600 0 -06} - {3932683200 -18000 1 -05} - {3956266800 -21600 0 -06} - {3964132800 -18000 1 -05} - {3987716400 -21600 0 -06} - {3995582400 -18000 1 -05} - {4019166000 -21600 0 -06} - {4027032000 -18000 1 -05} - {4050615600 -21600 0 -06} - {4058481600 -18000 1 -05} - {4082065200 -21600 0 -06} - {4089931200 -18000 1 -05} + {1534046400 -18000 1 -06} + {1554606000 -21600 0 -06} + {1567915200 -18000 1 -06} + {1586055600 -21600 0 -06} + {1599364800 -18000 1 -06} + {1617505200 -21600 0 -06} + {1630814400 -18000 1 -06} + {1648954800 -21600 0 -06} + {1662264000 -18000 1 -06} + {1680404400 -21600 0 -06} + {1693713600 -18000 1 -06} + {1712458800 -21600 0 -06} + {1725768000 -18000 1 -06} + {1743908400 -21600 0 -06} + {1757217600 -18000 1 -06} + {1775358000 -21600 0 -06} + {1788667200 -18000 1 -06} + {1806807600 -21600 0 -06} + {1820116800 -18000 1 -06} + {1838257200 -21600 0 -06} + {1851566400 -18000 1 -06} + {1870311600 -21600 0 -06} + {1883016000 -18000 1 -06} + {1901761200 -21600 0 -06} + {1915070400 -18000 1 -06} + {1933210800 -21600 0 -06} + {1946520000 -18000 1 -06} + {1964660400 -21600 0 -06} + {1977969600 -18000 1 -06} + {1996110000 -21600 0 -06} + {2009419200 -18000 1 -06} + {2027559600 -21600 0 -06} + {2040868800 -18000 1 -06} + {2059614000 -21600 0 -06} + {2072318400 -18000 1 -06} + {2091063600 -21600 0 -06} + {2104372800 -18000 1 -06} + {2122513200 -21600 0 -06} + {2135822400 -18000 1 -06} + {2153962800 -21600 0 -06} + {2167272000 -18000 1 -06} + {2185412400 -21600 0 -06} + {2198721600 -18000 1 -06} + {2217466800 -21600 0 -06} + {2230171200 -18000 1 -06} + {2248916400 -21600 0 -06} + {2262225600 -18000 1 -06} + {2280366000 -21600 0 -06} + {2293675200 -18000 1 -06} + {2311815600 -21600 0 -06} + {2325124800 -18000 1 -06} + {2343265200 -21600 0 -06} + {2356574400 -18000 1 -06} + {2374714800 -21600 0 -06} + {2388024000 -18000 1 -06} + {2406769200 -21600 0 -06} + {2419473600 -18000 1 -06} + {2438218800 -21600 0 -06} + {2451528000 -18000 1 -06} + {2469668400 -21600 0 -06} + {2482977600 -18000 1 -06} + {2501118000 -21600 0 -06} + {2514427200 -18000 1 -06} + {2532567600 -21600 0 -06} + {2545876800 -18000 1 -06} + {2564017200 -21600 0 -06} + {2577326400 -18000 1 -06} + {2596071600 -21600 0 -06} + {2609380800 -18000 1 -06} + {2627521200 -21600 0 -06} + {2640830400 -18000 1 -06} + {2658970800 -21600 0 -06} + {2672280000 -18000 1 -06} + {2690420400 -21600 0 -06} + {2703729600 -18000 1 -06} + {2721870000 -21600 0 -06} + {2735179200 -18000 1 -06} + {2753924400 -21600 0 -06} + {2766628800 -18000 1 -06} + {2785374000 -21600 0 -06} + {2798683200 -18000 1 -06} + {2816823600 -21600 0 -06} + {2830132800 -18000 1 -06} + {2848273200 -21600 0 -06} + {2861582400 -18000 1 -06} + {2879722800 -21600 0 -06} + {2893032000 -18000 1 -06} + {2911172400 -21600 0 -06} + {2924481600 -18000 1 -06} + {2943226800 -21600 0 -06} + {2955931200 -18000 1 -06} + {2974676400 -21600 0 -06} + {2987985600 -18000 1 -06} + {3006126000 -21600 0 -06} + {3019435200 -18000 1 -06} + {3037575600 -21600 0 -06} + {3050884800 -18000 1 -06} + {3069025200 -21600 0 -06} + {3082334400 -18000 1 -06} + {3101079600 -21600 0 -06} + {3113784000 -18000 1 -06} + {3132529200 -21600 0 -06} + {3145838400 -18000 1 -06} + {3163978800 -21600 0 -06} + {3177288000 -18000 1 -06} + {3195428400 -21600 0 -06} + {3208737600 -18000 1 -06} + {3226878000 -21600 0 -06} + {3240187200 -18000 1 -06} + {3258327600 -21600 0 -06} + {3271636800 -18000 1 -06} + {3290382000 -21600 0 -06} + {3303086400 -18000 1 -06} + {3321831600 -21600 0 -06} + {3335140800 -18000 1 -06} + {3353281200 -21600 0 -06} + {3366590400 -18000 1 -06} + {3384730800 -21600 0 -06} + {3398040000 -18000 1 -06} + {3416180400 -21600 0 -06} + {3429489600 -18000 1 -06} + {3447630000 -21600 0 -06} + {3460939200 -18000 1 -06} + {3479684400 -21600 0 -06} + {3492993600 -18000 1 -06} + {3511134000 -21600 0 -06} + {3524443200 -18000 1 -06} + {3542583600 -21600 0 -06} + {3555892800 -18000 1 -06} + {3574033200 -21600 0 -06} + {3587342400 -18000 1 -06} + {3605482800 -21600 0 -06} + {3618792000 -18000 1 -06} + {3637537200 -21600 0 -06} + {3650241600 -18000 1 -06} + {3668986800 -21600 0 -06} + {3682296000 -18000 1 -06} + {3700436400 -21600 0 -06} + {3713745600 -18000 1 -06} + {3731886000 -21600 0 -06} + {3745195200 -18000 1 -06} + {3763335600 -21600 0 -06} + {3776644800 -18000 1 -06} + {3794785200 -21600 0 -06} + {3808094400 -18000 1 -06} + {3826839600 -21600 0 -06} + {3839544000 -18000 1 -06} + {3858289200 -21600 0 -06} + {3871598400 -18000 1 -06} + {3889738800 -21600 0 -06} + {3903048000 -18000 1 -06} + {3921188400 -21600 0 -06} + {3934497600 -18000 1 -06} + {3952638000 -21600 0 -06} + {3965947200 -18000 1 -06} + {3984692400 -21600 0 -06} + {3997396800 -18000 1 -06} + {4016142000 -21600 0 -06} + {4029451200 -18000 1 -06} + {4047591600 -21600 0 -06} + {4060900800 -18000 1 -06} + {4079041200 -21600 0 -06} + {4092350400 -18000 1 -06} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Efate b/win32/lib/tcl8.6/tzdata/Pacific/Efate index a43852e..a026ee1 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Efate +++ b/win32/lib/tcl8.6/tzdata/Pacific/Efate @@ -3,24 +3,24 @@ set TZData(:Pacific/Efate) { {-9223372036854775808 40396 0 LMT} {-1829387596 39600 0 +11} - {433256400 43200 1 +12} + {433256400 43200 1 +11} {448977600 39600 0 +11} - {467298000 43200 1 +12} + {467298000 43200 1 +11} {480427200 39600 0 +11} - {496760400 43200 1 +12} + {496760400 43200 1 +11} {511876800 39600 0 +11} - {528210000 43200 1 +12} + {528210000 43200 1 +11} {543931200 39600 0 +11} - {559659600 43200 1 +12} + {559659600 43200 1 +11} {575380800 39600 0 +11} - {591109200 43200 1 +12} + {591109200 43200 1 +11} {606830400 39600 0 +11} - {622558800 43200 1 +12} + {622558800 43200 1 +11} {638280000 39600 0 +11} - {654008400 43200 1 +12} + {654008400 43200 1 +11} {669729600 39600 0 +11} - {686062800 43200 1 +12} + {686062800 43200 1 +11} {696340800 39600 0 +11} - {719931600 43200 1 +12} + {719931600 43200 1 +11} {727790400 39600 0 +11} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Enderbury b/win32/lib/tcl8.6/tzdata/Pacific/Enderbury index 6abd57e..48eaafe 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Enderbury +++ b/win32/lib/tcl8.6/tzdata/Pacific/Enderbury @@ -4,5 +4,5 @@ set TZData(:Pacific/Enderbury) { {-9223372036854775808 -41060 0 LMT} {-2177411740 -43200 0 -12} {307627200 -39600 0 -11} - {788958000 46800 0 +13} + {788871600 46800 0 +13} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Fiji b/win32/lib/tcl8.6/tzdata/Pacific/Fiji index f9d393c..b05985c 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Fiji +++ b/win32/lib/tcl8.6/tzdata/Pacific/Fiji @@ -3,189 +3,189 @@ set TZData(:Pacific/Fiji) { {-9223372036854775808 42944 0 LMT} {-1709985344 43200 0 +12} - {909842400 46800 1 +13} + {909842400 46800 1 +12} {920124000 43200 0 +12} - {941896800 46800 1 +13} + {941896800 46800 1 +12} {951573600 43200 0 +12} - {1259416800 46800 1 +13} + {1259416800 46800 1 +12} {1269698400 43200 0 +12} - {1287842400 46800 1 +13} + {1287842400 46800 1 +12} {1299333600 43200 0 +12} - {1319292000 46800 1 +13} + {1319292000 46800 1 +12} {1327154400 43200 0 +12} - {1350741600 46800 1 +13} + {1350741600 46800 1 +12} {1358604000 43200 0 +12} - {1382796000 46800 1 +13} + {1382796000 46800 1 +12} {1390050000 43200 0 +12} - {1414850400 46800 1 +13} + {1414850400 46800 1 +12} {1421503200 43200 0 +12} - {1446300000 46800 1 +13} + {1446300000 46800 1 +12} {1452952800 43200 0 +12} - {1478354400 46800 1 +13} + {1478354400 46800 1 +12} {1484402400 43200 0 +12} - {1509804000 46800 1 +13} + {1509804000 46800 1 +12} {1515852000 43200 0 +12} - {1541253600 46800 1 +13} - {1547906400 43200 0 +12} - {1572703200 46800 1 +13} + {1541253600 46800 1 +12} + {1547301600 43200 0 +12} + {1572703200 46800 1 +12} {1579356000 43200 0 +12} - {1604152800 46800 1 +13} + {1604152800 46800 1 +12} {1610805600 43200 0 +12} - {1636207200 46800 1 +13} + {1636207200 46800 1 +12} {1642255200 43200 0 +12} - {1667656800 46800 1 +13} + {1667656800 46800 1 +12} {1673704800 43200 0 +12} - {1699106400 46800 1 +13} + {1699106400 46800 1 +12} {1705154400 43200 0 +12} - {1730556000 46800 1 +13} + {1730556000 46800 1 +12} {1737208800 43200 0 +12} - {1762005600 46800 1 +13} + {1762005600 46800 1 +12} {1768658400 43200 0 +12} - {1793455200 46800 1 +13} + {1793455200 46800 1 +12} {1800108000 43200 0 +12} - {1825509600 46800 1 +13} + {1825509600 46800 1 +12} {1831557600 43200 0 +12} - {1856959200 46800 1 +13} + {1856959200 46800 1 +12} {1863007200 43200 0 +12} - {1888408800 46800 1 +13} - {1895061600 43200 0 +12} - {1919858400 46800 1 +13} + {1888408800 46800 1 +12} + {1894456800 43200 0 +12} + {1919858400 46800 1 +12} {1926511200 43200 0 +12} - {1951308000 46800 1 +13} + {1951308000 46800 1 +12} {1957960800 43200 0 +12} - {1983362400 46800 1 +13} + {1983362400 46800 1 +12} {1989410400 43200 0 +12} - {2014812000 46800 1 +13} + {2014812000 46800 1 +12} {2020860000 43200 0 +12} - {2046261600 46800 1 +13} + {2046261600 46800 1 +12} {2052309600 43200 0 +12} - {2077711200 46800 1 +13} - {2084364000 43200 0 +12} - {2109160800 46800 1 +13} + {2077711200 46800 1 +12} + {2083759200 43200 0 +12} + {2109160800 46800 1 +12} {2115813600 43200 0 +12} - {2140610400 46800 1 +13} + {2140610400 46800 1 +12} {2147263200 43200 0 +12} - {2172664800 46800 1 +13} + {2172664800 46800 1 +12} {2178712800 43200 0 +12} - {2204114400 46800 1 +13} + {2204114400 46800 1 +12} {2210162400 43200 0 +12} - {2235564000 46800 1 +13} - {2242216800 43200 0 +12} - {2267013600 46800 1 +13} + {2235564000 46800 1 +12} + {2241612000 43200 0 +12} + {2267013600 46800 1 +12} {2273666400 43200 0 +12} - {2298463200 46800 1 +13} + {2298463200 46800 1 +12} {2305116000 43200 0 +12} - {2329912800 46800 1 +13} + {2329912800 46800 1 +12} {2336565600 43200 0 +12} - {2361967200 46800 1 +13} + {2361967200 46800 1 +12} {2368015200 43200 0 +12} - {2393416800 46800 1 +13} + {2393416800 46800 1 +12} {2399464800 43200 0 +12} - {2424866400 46800 1 +13} - {2431519200 43200 0 +12} - {2456316000 46800 1 +13} + {2424866400 46800 1 +12} + {2430914400 43200 0 +12} + {2456316000 46800 1 +12} {2462968800 43200 0 +12} - {2487765600 46800 1 +13} + {2487765600 46800 1 +12} {2494418400 43200 0 +12} - {2519820000 46800 1 +13} + {2519820000 46800 1 +12} {2525868000 43200 0 +12} - {2551269600 46800 1 +13} + {2551269600 46800 1 +12} {2557317600 43200 0 +12} - {2582719200 46800 1 +13} + {2582719200 46800 1 +12} {2588767200 43200 0 +12} - {2614168800 46800 1 +13} + {2614168800 46800 1 +12} {2620821600 43200 0 +12} - {2645618400 46800 1 +13} + {2645618400 46800 1 +12} {2652271200 43200 0 +12} - {2677068000 46800 1 +13} + {2677068000 46800 1 +12} {2683720800 43200 0 +12} - {2709122400 46800 1 +13} + {2709122400 46800 1 +12} {2715170400 43200 0 +12} - {2740572000 46800 1 +13} + {2740572000 46800 1 +12} {2746620000 43200 0 +12} - {2772021600 46800 1 +13} - {2778674400 43200 0 +12} - {2803471200 46800 1 +13} + {2772021600 46800 1 +12} + {2778069600 43200 0 +12} + {2803471200 46800 1 +12} {2810124000 43200 0 +12} - {2834920800 46800 1 +13} + {2834920800 46800 1 +12} {2841573600 43200 0 +12} - {2866975200 46800 1 +13} + {2866975200 46800 1 +12} {2873023200 43200 0 +12} - {2898424800 46800 1 +13} + {2898424800 46800 1 +12} {2904472800 43200 0 +12} - {2929874400 46800 1 +13} + {2929874400 46800 1 +12} {2935922400 43200 0 +12} - {2961324000 46800 1 +13} - {2967976800 43200 0 +12} - {2992773600 46800 1 +13} + {2961324000 46800 1 +12} + {2967372000 43200 0 +12} + {2992773600 46800 1 +12} {2999426400 43200 0 +12} - {3024223200 46800 1 +13} + {3024223200 46800 1 +12} {3030876000 43200 0 +12} - {3056277600 46800 1 +13} + {3056277600 46800 1 +12} {3062325600 43200 0 +12} - {3087727200 46800 1 +13} + {3087727200 46800 1 +12} {3093775200 43200 0 +12} - {3119176800 46800 1 +13} - {3125829600 43200 0 +12} - {3150626400 46800 1 +13} + {3119176800 46800 1 +12} + {3125224800 43200 0 +12} + {3150626400 46800 1 +12} {3157279200 43200 0 +12} - {3182076000 46800 1 +13} + {3182076000 46800 1 +12} {3188728800 43200 0 +12} - {3213525600 46800 1 +13} + {3213525600 46800 1 +12} {3220178400 43200 0 +12} - {3245580000 46800 1 +13} + {3245580000 46800 1 +12} {3251628000 43200 0 +12} - {3277029600 46800 1 +13} + {3277029600 46800 1 +12} {3283077600 43200 0 +12} - {3308479200 46800 1 +13} - {3315132000 43200 0 +12} - {3339928800 46800 1 +13} + {3308479200 46800 1 +12} + {3314527200 43200 0 +12} + {3339928800 46800 1 +12} {3346581600 43200 0 +12} - {3371378400 46800 1 +13} + {3371378400 46800 1 +12} {3378031200 43200 0 +12} - {3403432800 46800 1 +13} + {3403432800 46800 1 +12} {3409480800 43200 0 +12} - {3434882400 46800 1 +13} + {3434882400 46800 1 +12} {3440930400 43200 0 +12} - {3466332000 46800 1 +13} + {3466332000 46800 1 +12} {3472380000 43200 0 +12} - {3497781600 46800 1 +13} + {3497781600 46800 1 +12} {3504434400 43200 0 +12} - {3529231200 46800 1 +13} + {3529231200 46800 1 +12} {3535884000 43200 0 +12} - {3560680800 46800 1 +13} + {3560680800 46800 1 +12} {3567333600 43200 0 +12} - {3592735200 46800 1 +13} + {3592735200 46800 1 +12} {3598783200 43200 0 +12} - {3624184800 46800 1 +13} + {3624184800 46800 1 +12} {3630232800 43200 0 +12} - {3655634400 46800 1 +13} - {3662287200 43200 0 +12} - {3687084000 46800 1 +13} + {3655634400 46800 1 +12} + {3661682400 43200 0 +12} + {3687084000 46800 1 +12} {3693736800 43200 0 +12} - {3718533600 46800 1 +13} + {3718533600 46800 1 +12} {3725186400 43200 0 +12} - {3750588000 46800 1 +13} + {3750588000 46800 1 +12} {3756636000 43200 0 +12} - {3782037600 46800 1 +13} + {3782037600 46800 1 +12} {3788085600 43200 0 +12} - {3813487200 46800 1 +13} + {3813487200 46800 1 +12} {3819535200 43200 0 +12} - {3844936800 46800 1 +13} - {3851589600 43200 0 +12} - {3876386400 46800 1 +13} + {3844936800 46800 1 +12} + {3850984800 43200 0 +12} + {3876386400 46800 1 +12} {3883039200 43200 0 +12} - {3907836000 46800 1 +13} + {3907836000 46800 1 +12} {3914488800 43200 0 +12} - {3939890400 46800 1 +13} + {3939890400 46800 1 +12} {3945938400 43200 0 +12} - {3971340000 46800 1 +13} + {3971340000 46800 1 +12} {3977388000 43200 0 +12} - {4002789600 46800 1 +13} - {4009442400 43200 0 +12} - {4034239200 46800 1 +13} + {4002789600 46800 1 +12} + {4008837600 43200 0 +12} + {4034239200 46800 1 +12} {4040892000 43200 0 +12} - {4065688800 46800 1 +13} + {4065688800 46800 1 +12} {4072341600 43200 0 +12} - {4097138400 46800 1 +13} + {4097138400 46800 1 +12} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Galapagos b/win32/lib/tcl8.6/tzdata/Pacific/Galapagos index f276f73..180ce6a 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Galapagos +++ b/win32/lib/tcl8.6/tzdata/Pacific/Galapagos @@ -4,6 +4,6 @@ set TZData(:Pacific/Galapagos) { {-9223372036854775808 -21504 0 LMT} {-1230746496 -18000 0 -05} {504939600 -21600 0 -06} - {722930400 -18000 1 -05} + {722930400 -18000 1 -06} {728888400 -21600 0 -06} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Honolulu b/win32/lib/tcl8.6/tzdata/Pacific/Honolulu index 5e70598..7d03b45 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Honolulu +++ b/win32/lib/tcl8.6/tzdata/Pacific/Honolulu @@ -4,8 +4,9 @@ set TZData(:Pacific/Honolulu) { {-9223372036854775808 -37886 0 LMT} {-2334101314 -37800 0 HST} {-1157283000 -34200 1 HDT} - {-1155436200 -37800 0 HST} - {-880198200 -34200 1 HDT} + {-1155436200 -34200 0 HST} + {-880201800 -34200 1 HWT} + {-769395600 -34200 1 HPT} {-765376200 -37800 0 HST} {-712150200 -36000 0 HST} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Kiritimati b/win32/lib/tcl8.6/tzdata/Pacific/Kiritimati index b703f19..7d600f3 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Kiritimati +++ b/win32/lib/tcl8.6/tzdata/Pacific/Kiritimati @@ -4,5 +4,5 @@ set TZData(:Pacific/Kiritimati) { {-9223372036854775808 -37760 0 LMT} {-2177415040 -38400 0 -1040} {307622400 -36000 0 -10} - {788954400 50400 0 +14} + {788868000 50400 0 +14} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Noumea b/win32/lib/tcl8.6/tzdata/Pacific/Noumea index 36b570d..c9da825 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Noumea +++ b/win32/lib/tcl8.6/tzdata/Pacific/Noumea @@ -3,10 +3,10 @@ set TZData(:Pacific/Noumea) { {-9223372036854775808 39948 0 LMT} {-1829387148 39600 0 +11} - {250002000 43200 1 +12} + {250002000 43200 1 +11} {257342400 39600 0 +11} - {281451600 43200 1 +12} + {281451600 43200 1 +11} {288878400 39600 0 +11} - {849366000 43200 1 +12} + {849366000 43200 1 +11} {857228400 39600 0 +11} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Rarotonga b/win32/lib/tcl8.6/tzdata/Pacific/Rarotonga index 9a70318..2913d68 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Rarotonga +++ b/win32/lib/tcl8.6/tzdata/Pacific/Rarotonga @@ -3,30 +3,30 @@ set TZData(:Pacific/Rarotonga) { {-9223372036854775808 -38344 0 LMT} {-2177414456 -37800 0 -1030} - {279714600 -34200 0 -0930} + {279714600 -34200 0 -10} {289387800 -36000 0 -10} - {309952800 -34200 1 -0930} + {309952800 -34200 1 -10} {320837400 -36000 0 -10} - {341402400 -34200 1 -0930} + {341402400 -34200 1 -10} {352287000 -36000 0 -10} - {372852000 -34200 1 -0930} + {372852000 -34200 1 -10} {384341400 -36000 0 -10} - {404906400 -34200 1 -0930} + {404906400 -34200 1 -10} {415791000 -36000 0 -10} - {436356000 -34200 1 -0930} + {436356000 -34200 1 -10} {447240600 -36000 0 -10} - {467805600 -34200 1 -0930} + {467805600 -34200 1 -10} {478690200 -36000 0 -10} - {499255200 -34200 1 -0930} + {499255200 -34200 1 -10} {510139800 -36000 0 -10} - {530704800 -34200 1 -0930} + {530704800 -34200 1 -10} {541589400 -36000 0 -10} - {562154400 -34200 1 -0930} + {562154400 -34200 1 -10} {573643800 -36000 0 -10} - {594208800 -34200 1 -0930} + {594208800 -34200 1 -10} {605093400 -36000 0 -10} - {625658400 -34200 1 -0930} + {625658400 -34200 1 -10} {636543000 -36000 0 -10} - {657108000 -34200 1 -0930} + {657108000 -34200 1 -10} {667992600 -36000 0 -10} } diff --git a/win32/lib/tcl8.6/tzdata/Pacific/Tongatapu b/win32/lib/tcl8.6/tzdata/Pacific/Tongatapu index 3cfaaaa..104888a 100644 --- a/win32/lib/tcl8.6/tzdata/Pacific/Tongatapu +++ b/win32/lib/tcl8.6/tzdata/Pacific/Tongatapu @@ -5,12 +5,12 @@ set TZData(:Pacific/Tongatapu) { {-2177497160 44400 0 +1220} {-915193200 46800 0 +13} {915102000 46800 0 +13} - {939214800 50400 1 +14} + {939214800 50400 1 +13} {953384400 46800 0 +13} - {973342800 50400 1 +14} + {973342800 50400 1 +13} {980596800 46800 0 +13} - {1004792400 50400 1 +14} + {1004792400 50400 1 +13} {1012046400 46800 0 +13} - {1478350800 50400 1 +14} + {1478350800 50400 1 +13} {1484398800 46800 0 +13} } diff --git a/win32/lib/tcl8/8.5/tcltest-2.4.1.tm b/win32/lib/tcl8/8.5/tcltest-2.5.0.tm similarity index 98% rename from win32/lib/tcl8/8.5/tcltest-2.4.1.tm rename to win32/lib/tcl8/8.5/tcltest-2.5.0.tm index f1b6082..d67a900 100644 --- a/win32/lib/tcl8/8.5/tcltest-2.4.1.tm +++ b/win32/lib/tcl8/8.5/tcltest-2.5.0.tm @@ -22,7 +22,7 @@ namespace eval tcltest { # When the version number changes, be sure to update the pkgIndex.tcl file, # and the install directory in the Makefiles. When the minor version # changes (new feature) be sure to update the man page as well. - variable Version 2.4.1 + variable Version 2.5.0 # Compatibility support for dumb variables defined in tcltest 1 # Do not use these. Call [package provide Tcl] and [info patchlevel] @@ -1841,6 +1841,9 @@ proc tcltest::SubstArguments {argList} { # is optional; default is {}. # returnCodes - Expected return codes. This attribute is # optional; default is {0 2}. +# errorCode - Expected error code. This attribute is +# optional; default is {*}. It is a glob pattern. +# If given, returnCodes defaults to {1}. # setup - Code to run before $script (above). This # attribute is optional; default is {}. # cleanup - Code to run after $script (above). This @@ -1882,7 +1885,7 @@ proc tcltest::test {name description args} { # Pre-define everything to null except output and errorOutput. We # determine whether or not to trap output based on whether or not # these variables (output & errorOutput) are defined. - lassign {} constraints setup cleanup body result returnCodes match + lassign {} constraints setup cleanup body result returnCodes errorCode match # Set the default match mode set match exact @@ -1892,6 +1895,9 @@ proc tcltest::test {name description args} { # 'return' being used in the test script). set returnCodes [list 0 2] + # Set the default error code pattern + set errorCode "*" + # The old test format can't have a 3rd argument (constraints or # script) that starts with '-'. if {[string match -* [lindex $args 0]] || ([llength $args] <= 1)} { @@ -1901,7 +1907,7 @@ proc tcltest::test {name description args} { set testAttributes($element) $value } foreach item {constraints match setup body cleanup \ - result returnCodes output errorOutput} { + result returnCodes errorCode output errorOutput} { if {[info exists testAttributes(-$item)]} { set testAttributes(-$item) [uplevel 1 \ ::concat $testAttributes(-$item)] @@ -1912,7 +1918,7 @@ proc tcltest::test {name description args} { } set validFlags {-setup -cleanup -body -result -returnCodes \ - -match -output -errorOutput -constraints} + -errorCode -match -output -errorOutput -constraints} foreach flag [array names testAttributes] { if {$flag ni $validFlags} { @@ -1944,6 +1950,10 @@ proc tcltest::test {name description args} { foreach {strcode numcode} {ok 0 normal 0 error 1 return 2 break 3 continue 4} { set returnCodes [string map -nocase [list $strcode $numcode] $returnCodes] } + # errorCode without returnCode 1 is meaningless + if {$errorCode ne "*" && 1 ni $returnCodes} { + set returnCodes 1 + } } else { # This is parsing for the old test command format; it is here # for backward compatibility. @@ -1976,7 +1986,7 @@ proc tcltest::test {name description args} { set code [catch {uplevel 1 $setup} setupMsg] if {$code == 1} { set errorInfo(setup) $::errorInfo - set errorCode(setup) $::errorCode + set errorCodeRes(setup) $::errorCode } set setupFailure [expr {$code != 0}] @@ -2003,7 +2013,7 @@ proc tcltest::test {name description args} { lassign $testResult actualAnswer returnCode if {$returnCode == 1} { set errorInfo(body) $::errorInfo - set errorCode(body) $::errorCode + set errorCodeRes(body) $::errorCode } } @@ -2012,6 +2022,11 @@ proc tcltest::test {name description args} { if {!$setupFailure && ($returnCode ni $returnCodes)} { set codeFailure 1 } + set errorCodeFailure 0 + if {!$setupFailure && !$codeFailure && $returnCode == 1 && \ + ![string match $errorCode $errorCodeRes(body)]} { + set errorCodeFailure 1 + } # If expected output/error strings exist, we have to compare # them. If the comparison fails, then so did the test. @@ -2055,7 +2070,7 @@ proc tcltest::test {name description args} { set code [catch {uplevel 1 $cleanup} cleanupMsg] if {$code == 1} { set errorInfo(cleanup) $::errorInfo - set errorCode(cleanup) $::errorCode + set errorCodeRes(cleanup) $::errorCode } set cleanupFailure [expr {$code != 0}] @@ -2106,7 +2121,7 @@ proc tcltest::test {name description args} { variable numTests if {!($setupFailure || $cleanupFailure || $coreFailure || $outputFailure || $errorFailure || $codeFailure - || $scriptFailure)} { + || $errorCodeFailure || $scriptFailure)} { if {$testLevel == 1} { incr numTests(Passed) if {[IsVerbose pass]} { @@ -2159,7 +2174,7 @@ proc tcltest::test {name description args} { failed:\n$setupMsg" if {[info exists errorInfo(setup)]} { puts [outputChannel] "---- errorInfo(setup): $errorInfo(setup)" - puts [outputChannel] "---- errorCode(setup): $errorCode(setup)" + puts [outputChannel] "---- errorCode(setup): $errorCodeRes(setup)" } } if {$scriptFailure} { @@ -2171,6 +2186,10 @@ proc tcltest::test {name description args} { ($match matching):\n$result" } } + if {$errorCodeFailure} { + puts [outputChannel] "---- Error code was: '$errorCodeRes(body)'" + puts [outputChannel] "---- Error code should have been: '$errorCode'" + } if {$codeFailure} { switch -- $returnCode { 0 { set msg "Test completed normally" } @@ -2186,7 +2205,7 @@ proc tcltest::test {name description args} { if {[IsVerbose error]} { if {[info exists errorInfo(body)] && (1 ni $returnCodes)} { puts [outputChannel] "---- errorInfo: $errorInfo(body)" - puts [outputChannel] "---- errorCode: $errorCode(body)" + puts [outputChannel] "---- errorCode: $errorCodeRes(body)" } } } @@ -2212,7 +2231,7 @@ proc tcltest::test {name description args} { puts [outputChannel] "---- Test cleanup failed:\n$cleanupMsg" if {[info exists errorInfo(cleanup)]} { puts [outputChannel] "---- errorInfo(cleanup): $errorInfo(cleanup)" - puts [outputChannel] "---- errorCode(cleanup): $errorCode(cleanup)" + puts [outputChannel] "---- errorCode(cleanup): $errorCodeRes(cleanup)" } } if {$coreFailure} { @@ -2722,7 +2741,7 @@ proc tcltest::GetMatchingDirectories {rootdir} { # shell being tested # # Results: -# None. +# Whether there were any failures. # # Side effects: # None. @@ -2733,6 +2752,7 @@ proc tcltest::runAllTests { {shell ""} } { variable numTests variable failFiles variable DefaultValue + set failFilesAccum {} FillFilesExisted if {[llength [info level 0]] == 1} { @@ -2822,6 +2842,7 @@ proc tcltest::runAllTests { {shell ""} } { } if {$Failed > 0} { lappend failFiles $testFile + lappend failFilesAccum $testFile } } elseif {[regexp [join { {^Number of tests skipped } @@ -2868,7 +2889,7 @@ proc tcltest::runAllTests { {shell ""} } { puts [outputChannel] "" puts [outputChannel] [string repeat ~ 44] } - return + return [expr {[info exists testFileFailures] || [llength $failFilesAccum]}] } ##################################################################### diff --git a/win32/lib/tcl8/8.6/http-2.8.12.tm b/win32/lib/tcl8/8.6/http-2.8.12.tm deleted file mode 100644 index 9f5310b..0000000 --- a/win32/lib/tcl8/8.6/http-2.8.12.tm +++ /dev/null @@ -1,1584 +0,0 @@ -# http.tcl -- -# -# Client-side HTTP for GET, POST, and HEAD commands. These routines can -# be used in untrusted code that uses the Safesock security policy. -# These procedures use a callback interface to avoid using vwait, which -# is not defined in the safe base. -# -# See the file "license.terms" for information on usage and redistribution of -# this file, and for a DISCLAIMER OF ALL WARRANTIES. - -package require Tcl 8.6- -# Keep this in sync with pkgIndex.tcl and with the install directories in -# Makefiles -package provide http 2.8.12 - -namespace eval http { - # Allow resourcing to not clobber existing data - - variable http - if {![info exists http]} { - array set http { - -accept */* - -proxyhost {} - -proxyport {} - -proxyfilter http::ProxyRequired - -urlencoding utf-8 - } - # We need a useragent string of this style or various servers will refuse to - # send us compressed content even when we ask for it. This follows the - # de-facto layout of user-agent strings in current browsers. - # Safe interpreters do not have ::tcl_platform(os) or - # ::tcl_platform(osVersion). - if {[interp issafe]} { - set http(-useragent) "Mozilla/5.0\ - (Windows; U;\ - Windows NT 10.0)\ - http/[package provide http] Tcl/[package provide Tcl]" - } else { - set http(-useragent) "Mozilla/5.0\ - ([string totitle $::tcl_platform(platform)]; U;\ - $::tcl_platform(os) $::tcl_platform(osVersion))\ - http/[package provide http] Tcl/[package provide Tcl]" - } - } - - proc init {} { - # Set up the map for quoting chars. RFC3986 Section 2.3 say percent - # encode all except: "... percent-encoded octets in the ranges of - # ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period - # (%2E), underscore (%5F), or tilde (%7E) should not be created by URI - # producers ..." - for {set i 0} {$i <= 256} {incr i} { - set c [format %c $i] - if {![string match {[-._~a-zA-Z0-9]} $c]} { - set map($c) %[format %.2X $i] - } - } - # These are handled specially - set map(\n) %0D%0A - variable formMap [array get map] - - # Create a map for HTTP/1.1 open sockets - variable socketmap - if {[info exists socketmap]} { - # Close but don't remove open sockets on re-init - foreach {url sock} [array get socketmap] { - catch {close $sock} - } - } - array set socketmap {} - } - init - - variable urlTypes - if {![info exists urlTypes]} { - set urlTypes(http) [list 80 ::socket] - } - - variable encodings [string tolower [encoding names]] - # This can be changed, but iso8859-1 is the RFC standard. - variable defaultCharset - if {![info exists defaultCharset]} { - set defaultCharset "iso8859-1" - } - - # Force RFC 3986 strictness in geturl url verification? - variable strict - if {![info exists strict]} { - set strict 1 - } - - # Let user control default keepalive for compatibility - variable defaultKeepalive - if {![info exists defaultKeepalive]} { - set defaultKeepalive 0 - } - - namespace export geturl config reset wait formatQuery register unregister - # Useful, but not exported: data size status code -} - -# http::Log -- -# -# Debugging output -- define this to observe HTTP/1.1 socket usage. -# Should echo any args received. -# -# Arguments: -# msg Message to output -# -if {[info command http::Log] eq {}} {proc http::Log {args} {}} - -# http::register -- -# -# See documentation for details. -# -# Arguments: -# proto URL protocol prefix, e.g. https -# port Default port for protocol -# command Command to use to create socket -# Results: -# list of port and command that was registered. - -proc http::register {proto port command} { - variable urlTypes - set urlTypes([string tolower $proto]) [list $port $command] -} - -# http::unregister -- -# -# Unregisters URL protocol handler -# -# Arguments: -# proto URL protocol prefix, e.g. https -# Results: -# list of port and command that was unregistered. - -proc http::unregister {proto} { - variable urlTypes - set lower [string tolower $proto] - if {![info exists urlTypes($lower)]} { - return -code error "unsupported url type \"$proto\"" - } - set old $urlTypes($lower) - unset urlTypes($lower) - return $old -} - -# http::config -- -# -# See documentation for details. -# -# Arguments: -# args Options parsed by the procedure. -# Results: -# TODO - -proc http::config {args} { - variable http - set options [lsort [array names http -*]] - set usage [join $options ", "] - if {[llength $args] == 0} { - set result {} - foreach name $options { - lappend result $name $http($name) - } - return $result - } - set options [string map {- ""} $options] - set pat ^-(?:[join $options |])$ - if {[llength $args] == 1} { - set flag [lindex $args 0] - if {![regexp -- $pat $flag]} { - return -code error "Unknown option $flag, must be: $usage" - } - return $http($flag) - } else { - foreach {flag value} $args { - if {![regexp -- $pat $flag]} { - return -code error "Unknown option $flag, must be: $usage" - } - set http($flag) $value - } - } -} - -# http::Finish -- -# -# Clean up the socket and eval close time callbacks -# -# Arguments: -# token Connection token. -# errormsg (optional) If set, forces status to error. -# skipCB (optional) If set, don't call the -command callback. This -# is useful when geturl wants to throw an exception instead -# of calling the callback. That way, the same error isn't -# reported to two places. -# -# Side Effects: -# Closes the socket - -proc http::Finish {token {errormsg ""} {skipCB 0}} { - variable $token - upvar 0 $token state - global errorInfo errorCode - if {$errormsg ne ""} { - set state(error) [list $errormsg $errorInfo $errorCode] - set state(status) "error" - } - if { ($state(status) eq "timeout") - || ($state(status) eq "error") - || ([info exists state(-keepalive)] && !$state(-keepalive)) - || ([info exists state(connection)] && ($state(connection) eq "close")) - } { - CloseSocket $state(sock) $token - } - if {[info exists state(after)]} { - after cancel $state(after) - } - if {[info exists state(-command)] && !$skipCB - && ![info exists state(done-command-cb)]} { - set state(done-command-cb) yes - if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} { - set state(error) [list $err $errorInfo $errorCode] - set state(status) error - } - } -} - -# http::CloseSocket - -# -# Close a socket and remove it from the persistent sockets table. If -# possible an http token is included here but when we are called from a -# fileevent on remote closure we need to find the correct entry - hence -# the second section. - -proc ::http::CloseSocket {s {token {}}} { - variable socketmap - catch {fileevent $s readable {}} - set conn_id {} - if {$token ne ""} { - variable $token - upvar 0 $token state - if {[info exists state(socketinfo)]} { - set conn_id $state(socketinfo) - } - } else { - set map [array get socketmap] - set ndx [lsearch -exact $map $s] - if {$ndx != -1} { - incr ndx -1 - set conn_id [lindex $map $ndx] - } - } - if {$conn_id eq {} || ![info exists socketmap($conn_id)]} { - Log "Closing socket $s (no connection info)" - if {[catch {close $s} err]} { - Log "Error: $err" - } - } else { - if {[info exists socketmap($conn_id)]} { - Log "Closing connection $conn_id (sock $socketmap($conn_id))" - if {[catch {close $socketmap($conn_id)} err]} { - Log "Error: $err" - } - unset socketmap($conn_id) - } else { - Log "Cannot close connection $conn_id - no socket in socket map" - } - } -} - -# http::reset -- -# -# See documentation for details. -# -# Arguments: -# token Connection token. -# why Status info. -# -# Side Effects: -# See Finish - -proc http::reset {token {why reset}} { - variable $token - upvar 0 $token state - set state(status) $why - catch {fileevent $state(sock) readable {}} - catch {fileevent $state(sock) writable {}} - Finish $token - if {[info exists state(error)]} { - set errorlist $state(error) - unset state - eval ::error $errorlist - } -} - -# http::geturl -- -# -# Establishes a connection to a remote url via http. -# -# Arguments: -# url The http URL to goget. -# args Option value pairs. Valid options include: -# -blocksize, -validate, -headers, -timeout -# Results: -# Returns a token for this connection. This token is the name of an -# array that the caller should unset to garbage collect the state. - -proc http::geturl {url args} { - variable http - variable urlTypes - variable defaultCharset - variable defaultKeepalive - variable strict - - # Initialize the state variable, an array. We'll return the name of this - # array as the token for the transaction. - - if {![info exists http(uid)]} { - set http(uid) 0 - } - set token [namespace current]::[incr http(uid)] - variable $token - upvar 0 $token state - reset $token - - # Process command options. - - array set state { - -binary false - -blocksize 8192 - -queryblocksize 8192 - -validate 0 - -headers {} - -timeout 0 - -type application/x-www-form-urlencoded - -queryprogress {} - -protocol 1.1 - binary 0 - state connecting - meta {} - coding {} - currentsize 0 - totalsize 0 - querylength 0 - queryoffset 0 - type text/html - body {} - status "" - http "" - connection close - } - set state(-keepalive) $defaultKeepalive - set state(-strict) $strict - # These flags have their types verified [Bug 811170] - array set type { - -binary boolean - -blocksize integer - -queryblocksize integer - -strict boolean - -timeout integer - -validate boolean - } - set state(charset) $defaultCharset - set options { - -binary -blocksize -channel -command -handler -headers -keepalive - -method -myaddr -progress -protocol -query -queryblocksize - -querychannel -queryprogress -strict -timeout -type -validate - } - set usage [join [lsort $options] ", "] - set options [string map {- ""} $options] - set pat ^-(?:[join $options |])$ - foreach {flag value} $args { - if {[regexp -- $pat $flag]} { - # Validate numbers - if { - [info exists type($flag)] && - ![string is $type($flag) -strict $value] - } { - unset $token - return -code error \ - "Bad value for $flag ($value), must be $type($flag)" - } - set state($flag) $value - } else { - unset $token - return -code error "Unknown option $flag, can be: $usage" - } - } - - # Make sure -query and -querychannel aren't both specified - - set isQueryChannel [info exists state(-querychannel)] - set isQuery [info exists state(-query)] - if {$isQuery && $isQueryChannel} { - unset $token - return -code error "Can't combine -query and -querychannel options!" - } - - # Validate URL, determine the server host and port, and check proxy case - # Recognize user:pass@host URLs also, although we do not do anything with - # that info yet. - - # URLs have basically four parts. - # First, before the colon, is the protocol scheme (e.g. http) - # Second, for HTTP-like protocols, is the authority - # The authority is preceded by // and lasts up to (but not including) - # the following / or ? and it identifies up to four parts, of which - # only one, the host, is required (if an authority is present at all). - # All other parts of the authority (user name, password, port number) - # are optional. - # Third is the resource name, which is split into two parts at a ? - # The first part (from the single "/" up to "?") is the path, and the - # second part (from that "?" up to "#") is the query. *HOWEVER*, we do - # not need to separate them; we send the whole lot to the server. - # Both, path and query are allowed to be missing, including their - # delimiting character. - # Fourth is the fragment identifier, which is everything after the first - # "#" in the URL. The fragment identifier MUST NOT be sent to the server - # and indeed, we don't bother to validate it (it could be an error to - # pass it in here, but it's cheap to strip). - # - # An example of a URL that has all the parts: - # - # http://jschmoe:xyzzy@www.bogus.net:8000/foo/bar.tml?q=foo#changes - # - # The "http" is the protocol, the user is "jschmoe", the password is - # "xyzzy", the host is "www.bogus.net", the port is "8000", the path is - # "/foo/bar.tml", the query is "q=foo", and the fragment is "changes". - # - # Note that the RE actually combines the user and password parts, as - # recommended in RFC 3986. Indeed, that RFC states that putting passwords - # in URLs is a Really Bad Idea, something with which I would agree utterly. - # - # From a validation perspective, we need to ensure that the parts of the - # URL that are going to the server are correctly encoded. This is only - # done if $state(-strict) is true (inherited from $::http::strict). - - set URLmatcher {(?x) # this is _expanded_ syntax - ^ - (?: (\w+) : ) ? # - (?: // - (?: - ( - [^@/\#?]+ # - ) @ - )? - ( # - [^/:\#?]+ | # host name or IPv4 address - \[ [^/\#?]+ \] # IPv6 address in square brackets - ) - (?: : (\d+) )? # - )? - ( [/\?] [^\#]*)? # (including query) - (?: \# (.*) )? # - $ - } - - # Phase one: parse - if {![regexp -- $URLmatcher $url -> proto user host port srvurl]} { - unset $token - return -code error "Unsupported URL: $url" - } - # Phase two: validate - set host [string trim $host {[]}]; # strip square brackets from IPv6 address - if {$host eq ""} { - # Caller has to provide a host name; we do not have a "default host" - # that would enable us to handle relative URLs. - unset $token - return -code error "Missing host part: $url" - # Note that we don't check the hostname for validity here; if it's - # invalid, we'll simply fail to resolve it later on. - } - if {$port ne "" && $port > 65535} { - unset $token - return -code error "Invalid port number: $port" - } - # The user identification and resource identification parts of the URL can - # have encoded characters in them; take care! - if {$user ne ""} { - # Check for validity according to RFC 3986, Appendix A - set validityRE {(?xi) - ^ - (?: [-\w.~!$&'()*+,;=:] | %[0-9a-f][0-9a-f] )+ - $ - } - if {$state(-strict) && ![regexp -- $validityRE $user]} { - unset $token - # Provide a better error message in this error case - if {[regexp {(?i)%(?![0-9a-f][0-9a-f]).?.?} $user bad]} { - return -code error \ - "Illegal encoding character usage \"$bad\" in URL user" - } - return -code error "Illegal characters in URL user" - } - } - if {$srvurl ne ""} { - # RFC 3986 allows empty paths (not even a /), but servers - # return 400 if the path in the HTTP request doesn't start - # with / , so add it here if needed. - if {[string index $srvurl 0] ne "/"} { - set srvurl /$srvurl - } - # Check for validity according to RFC 3986, Appendix A - set validityRE {(?xi) - ^ - # Path part (already must start with / character) - (?: [-\w.~!$&'()*+,;=:@/] | %[0-9a-f][0-9a-f] )* - # Query part (optional, permits ? characters) - (?: \? (?: [-\w.~!$&'()*+,;=:@/?] | %[0-9a-f][0-9a-f] )* )? - $ - } - if {$state(-strict) && ![regexp -- $validityRE $srvurl]} { - unset $token - # Provide a better error message in this error case - if {[regexp {(?i)%(?![0-9a-f][0-9a-f])..} $srvurl bad]} { - return -code error \ - "Illegal encoding character usage \"$bad\" in URL path" - } - return -code error "Illegal characters in URL path" - } - } else { - set srvurl / - } - if {$proto eq ""} { - set proto http - } - set lower [string tolower $proto] - if {![info exists urlTypes($lower)]} { - unset $token - return -code error "Unsupported URL type \"$proto\"" - } - set defport [lindex $urlTypes($lower) 0] - set defcmd [lindex $urlTypes($lower) 1] - - if {$port eq ""} { - set port $defport - } - if {![catch {$http(-proxyfilter) $host} proxy]} { - set phost [lindex $proxy 0] - set pport [lindex $proxy 1] - } - - # OK, now reassemble into a full URL - set url ${proto}:// - if {$user ne ""} { - append url $user - append url @ - } - append url $host - if {$port != $defport} { - append url : $port - } - append url $srvurl - # Don't append the fragment! - set state(url) $url - - # If a timeout is specified we set up the after event and arrange for an - # asynchronous socket connection. - - set sockopts [list -async] - if {$state(-timeout) > 0} { - set state(after) [after $state(-timeout) \ - [list http::reset $token timeout]] - } - - # If we are using the proxy, we must pass in the full URL that includes - # the server name. - - if {[info exists phost] && ($phost ne "")} { - set srvurl $url - set targetAddr [list $phost $pport] - } else { - set targetAddr [list $host $port] - } - # Proxy connections aren't shared among different hosts. - set state(socketinfo) $host:$port - - # Save the accept types at this point to prevent a race condition. [Bug - # c11a51c482] - set state(accept-types) $http(-accept) - - # See if we are supposed to use a previously opened channel. - if {$state(-keepalive)} { - variable socketmap - if {[info exists socketmap($state(socketinfo))]} { - if {[catch {fconfigure $socketmap($state(socketinfo))}]} { - Log "WARNING: socket for $state(socketinfo) was closed" - unset socketmap($state(socketinfo)) - } else { - set sock $socketmap($state(socketinfo)) - Log "reusing socket $sock for $state(socketinfo)" - catch {fileevent $sock writable {}} - catch {fileevent $sock readable {}} - } - } - # don't automatically close this connection socket - set state(connection) {} - } - if {![info exists sock]} { - # Pass -myaddr directly to the socket command - if {[info exists state(-myaddr)]} { - lappend sockopts -myaddr $state(-myaddr) - } - if {[catch {eval $defcmd $sockopts $targetAddr} sock]} { - # something went wrong while trying to establish the connection. - # Clean up after events and such, but DON'T call the command - # callback (if available) because we're going to throw an - # exception from here instead. - - set state(sock) $sock - Finish $token "" 1 - cleanup $token - return -code error $sock - } - } - set state(sock) $sock - Log "Using $sock for $state(socketinfo)" \ - [expr {$state(-keepalive)?"keepalive":""}] - if {$state(-keepalive)} { - set socketmap($state(socketinfo)) $sock - } - - if {![info exists phost]} { - set phost "" - } - fileevent $sock writable [list http::Connect $token $proto $phost $srvurl] - - # Wait for the connection to complete. - if {![info exists state(-command)]} { - # geturl does EVERYTHING asynchronously, so if the user - # calls it synchronously, we just do a wait here. - http::wait $token - - if {![info exists state]} { - # If we timed out then Finish has been called and the users - # command callback may have cleaned up the token. If so we end up - # here with nothing left to do. - return $token - } elseif {$state(status) eq "error"} { - # Something went wrong while trying to establish the connection. - # Clean up after events and such, but DON'T call the command - # callback (if available) because we're going to throw an - # exception from here instead. - set err [lindex $state(error) 0] - cleanup $token - return -code error $err - } - } - - return $token -} - -# http::Connected -- -# -# Callback used when the connection to the HTTP server is actually -# established. -# -# Arguments: -# token State token. -# proto What protocol (http, https, etc.) was used to connect. -# phost Are we using keep-alive? Non-empty if yes. -# srvurl Service-local URL that we're requesting -# Results: -# None. - -proc http::Connected {token proto phost srvurl} { - variable http - variable urlTypes - - variable $token - upvar 0 $token state - - # Set back the variables needed here - set sock $state(sock) - set isQueryChannel [info exists state(-querychannel)] - set isQuery [info exists state(-query)] - set host [lindex [split $state(socketinfo) :] 0] - set port [lindex [split $state(socketinfo) :] 1] - - set lower [string tolower $proto] - set defport [lindex $urlTypes($lower) 0] - - # Send data in cr-lf format, but accept any line terminators - - fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize) - - # The following is disallowed in safe interpreters, but the socket is - # already in non-blocking mode in that case. - - catch {fconfigure $sock -blocking off} - set how GET - if {$isQuery} { - set state(querylength) [string length $state(-query)] - if {$state(querylength) > 0} { - set how POST - set contDone 0 - } else { - # There's no query data. - unset state(-query) - set isQuery 0 - } - } elseif {$state(-validate)} { - set how HEAD - } elseif {$isQueryChannel} { - set how POST - # The query channel must be blocking for the async Write to - # work properly. - fconfigure $state(-querychannel) -blocking 1 -translation binary - set contDone 0 - } - if {[info exists state(-method)] && $state(-method) ne ""} { - set how $state(-method) - } - # We cannot handle chunked encodings with -handler, so force HTTP/1.0 - # until we can manage this. - if {[info exists state(-handler)]} { - set state(-protocol) 1.0 - } - set accept_types_seen 0 - if {[catch { - puts $sock "$how $srvurl HTTP/$state(-protocol)" - if {[dict exists $state(-headers) Host]} { - # Allow Host spoofing. [Bug 928154] - puts $sock "Host: [dict get $state(-headers) Host]" - } elseif {$port == $defport} { - # Don't add port in this case, to handle broken servers. [Bug - # #504508] - puts $sock "Host: $host" - } else { - puts $sock "Host: $host:$port" - } - puts $sock "User-Agent: $http(-useragent)" - if {$state(-protocol) == 1.0 && $state(-keepalive)} { - puts $sock "Connection: keep-alive" - } - if {$state(-protocol) > 1.0 && !$state(-keepalive)} { - puts $sock "Connection: close" ;# RFC2616 sec 8.1.2.1 - } - if {[info exists phost] && ($phost ne "") && $state(-keepalive)} { - puts $sock "Proxy-Connection: Keep-Alive" - } - set accept_encoding_seen 0 - set content_type_seen 0 - dict for {key value} $state(-headers) { - set value [string map [list \n "" \r ""] $value] - set key [string map {" " -} [string trim $key]] - if {[string equal -nocase $key "host"]} { - continue - } - if {[string equal -nocase $key "accept-encoding"]} { - set accept_encoding_seen 1 - } - if {[string equal -nocase $key "accept"]} { - set accept_types_seen 1 - } - if {[string equal -nocase $key "content-type"]} { - set content_type_seen 1 - } - if {[string equal -nocase $key "content-length"]} { - set contDone 1 - set state(querylength) $value - } - if {[string length $key]} { - puts $sock "$key: $value" - } - } - # Allow overriding the Accept header on a per-connection basis. Useful - # for working with REST services. [Bug c11a51c482] - if {!$accept_types_seen} { - puts $sock "Accept: $state(accept-types)" - } - if {!$accept_encoding_seen && ![info exists state(-handler)]} { - puts $sock "Accept-Encoding: gzip,deflate,compress" - } - if {$isQueryChannel && $state(querylength) == 0} { - # Try to determine size of data in channel. If we cannot seek, the - # surrounding catch will trap us - - set start [tell $state(-querychannel)] - seek $state(-querychannel) 0 end - set state(querylength) \ - [expr {[tell $state(-querychannel)] - $start}] - seek $state(-querychannel) $start - } - - # Flush the request header and set up the fileevent that will either - # push the POST data or read the response. - # - # fileevent note: - # - # It is possible to have both the read and write fileevents active at - # this point. The only scenario it seems to affect is a server that - # closes the connection without reading the POST data. (e.g., early - # versions TclHttpd in various error cases). Depending on the - # platform, the client may or may not be able to get the response from - # the server because of the error it will get trying to write the post - # data. Having both fileevents active changes the timing and the - # behavior, but no two platforms (among Solaris, Linux, and NT) behave - # the same, and none behave all that well in any case. Servers should - # always read their POST data if they expect the client to read their - # response. - - if {$isQuery || $isQueryChannel} { - if {!$content_type_seen} { - puts $sock "Content-Type: $state(-type)" - } - if {!$contDone} { - puts $sock "Content-Length: $state(querylength)" - } - puts $sock "" - fconfigure $sock -translation {auto binary} - fileevent $sock writable [list http::Write $token] - } else { - puts $sock "" - flush $sock - fileevent $sock readable [list http::Event $sock $token] - } - - } err]} { - # The socket probably was never connected, or the connection dropped - # later. - - # if state(status) is error, it means someone's already called Finish - # to do the above-described clean up. - if {$state(status) ne "error"} { - Finish $token $err - } - } -} - -# Data access functions: -# Data - the URL data -# Status - the transaction status: ok, reset, eof, timeout -# Code - the HTTP transaction code, e.g., 200 -# Size - the size of the URL data - -proc http::data {token} { - variable $token - upvar 0 $token state - return $state(body) -} -proc http::status {token} { - if {![info exists $token]} { - return "error" - } - variable $token - upvar 0 $token state - return $state(status) -} -proc http::code {token} { - variable $token - upvar 0 $token state - return $state(http) -} -proc http::ncode {token} { - variable $token - upvar 0 $token state - if {[regexp {[0-9]{3}} $state(http) numeric_code]} { - return $numeric_code - } else { - return $state(http) - } -} -proc http::size {token} { - variable $token - upvar 0 $token state - return $state(currentsize) -} -proc http::meta {token} { - variable $token - upvar 0 $token state - return $state(meta) -} -proc http::error {token} { - variable $token - upvar 0 $token state - if {[info exists state(error)]} { - return $state(error) - } - return "" -} - -# http::cleanup -# -# Garbage collect the state associated with a transaction -# -# Arguments -# token The token returned from http::geturl -# -# Side Effects -# unsets the state array - -proc http::cleanup {token} { - variable $token - upvar 0 $token state - if {[info exists state]} { - unset state - } -} - -# http::Connect -# -# This callback is made when an asyncronous connection completes. -# -# Arguments -# token The token returned from http::geturl -# -# Side Effects -# Sets the status of the connection, which unblocks -# the waiting geturl call - -proc http::Connect {token proto phost srvurl} { - variable $token - upvar 0 $token state - set err "due to unexpected EOF" - if { - [eof $state(sock)] || - [set err [fconfigure $state(sock) -error]] ne "" - } { - Finish $token "connect failed $err" - } else { - fileevent $state(sock) writable {} - ::http::Connected $token $proto $phost $srvurl - } - return -} - -# http::Write -# -# Write POST query data to the socket -# -# Arguments -# token The token for the connection -# -# Side Effects -# Write the socket and handle callbacks. - -proc http::Write {token} { - variable $token - upvar 0 $token state - set sock $state(sock) - - # Output a block. Tcl will buffer this if the socket blocks - set done 0 - if {[catch { - # Catch I/O errors on dead sockets - - if {[info exists state(-query)]} { - # Chop up large query strings so queryprogress callback can give - # smooth feedback. - - puts -nonewline $sock \ - [string range $state(-query) $state(queryoffset) \ - [expr {$state(queryoffset) + $state(-queryblocksize) - 1}]] - incr state(queryoffset) $state(-queryblocksize) - if {$state(queryoffset) >= $state(querylength)} { - set state(queryoffset) $state(querylength) - set done 1 - } - } else { - # Copy blocks from the query channel - - set outStr [read $state(-querychannel) $state(-queryblocksize)] - puts -nonewline $sock $outStr - incr state(queryoffset) [string length $outStr] - if {[eof $state(-querychannel)]} { - set done 1 - } - } - } err]} { - # Do not call Finish here, but instead let the read half of the socket - # process whatever server reply there is to get. - - set state(posterror) $err - set done 1 - } - if {$done} { - catch {flush $sock} - fileevent $sock writable {} - fileevent $sock readable [list http::Event $sock $token] - } - - # Callback to the client after we've completely handled everything. - - if {[string length $state(-queryprogress)]} { - eval $state(-queryprogress) \ - [list $token $state(querylength) $state(queryoffset)] - } -} - -# http::Event -# -# Handle input on the socket -# -# Arguments -# sock The socket receiving input. -# token The token returned from http::geturl -# -# Side Effects -# Read the socket and handle callbacks. - -proc http::Event {sock token} { - variable $token - upvar 0 $token state - - if {![info exists state]} { - Log "Event $sock with invalid token '$token' - remote close?" - if {![eof $sock]} { - if {[set d [read $sock]] ne ""} { - Log "WARNING: additional data left on closed socket" - } - } - CloseSocket $sock - return - } - if {$state(state) eq "connecting"} { - if {[catch {gets $sock state(http)} n]} { - return [Finish $token $n] - } elseif {$n >= 0} { - set state(state) "header" - } - } elseif {$state(state) eq "header"} { - if {[catch {gets $sock line} n]} { - return [Finish $token $n] - } elseif {$n == 0} { - # We have now read all headers - # We ignore HTTP/1.1 100 Continue returns. RFC2616 sec 8.2.3 - if {$state(http) == "" || ([regexp {^\S+\s(\d+)} $state(http) {} x] && $x == 100)} { - set state(state) "connecting" - return - } - - set state(state) body - - # If doing a HEAD, then we won't get any body - if {$state(-validate)} { - Eof $token - return - } - - # For non-chunked transfer we may have no body - in this case we - # may get no further file event if the connection doesn't close - # and no more data is sent. We can tell and must finish up now - - # not later. - if { - !(([info exists state(connection)] - && ($state(connection) eq "close")) - || [info exists state(transfer)]) - && ($state(totalsize) == 0) - } { - Log "body size is 0 and no events likely - complete." - Eof $token - return - } - - # We have to use binary translation to count bytes properly. - fconfigure $sock -translation binary - - if { - $state(-binary) || [IsBinaryContentType $state(type)] - } { - # Turn off conversions for non-text data - set state(binary) 1 - } - if {[info exists state(-channel)]} { - if {$state(binary) || [llength [ContentEncoding $token]]} { - fconfigure $state(-channel) -translation binary - } - if {![info exists state(-handler)]} { - # Initiate a sequence of background fcopies - fileevent $sock readable {} - CopyStart $sock $token - return - } - } - } elseif {$n > 0} { - # Process header lines - if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} { - switch -- [string tolower $key] { - content-type { - set state(type) [string trim [string tolower $value]] - # grab the optional charset information - if {[regexp -nocase \ - {charset\s*=\s*\"((?:[^""]|\\\")*)\"} \ - $state(type) -> cs]} { - set state(charset) [string map {{\"} \"} $cs] - } else { - regexp -nocase {charset\s*=\s*(\S+?);?} \ - $state(type) -> state(charset) - } - } - content-length { - set state(totalsize) [string trim $value] - } - content-encoding { - set state(coding) [string trim $value] - } - transfer-encoding { - set state(transfer) \ - [string trim [string tolower $value]] - } - proxy-connection - - connection { - set state(connection) \ - [string trim [string tolower $value]] - } - } - lappend state(meta) $key [string trim $value] - } - } - } else { - # Now reading body - if {[catch { - if {[info exists state(-handler)]} { - set n [eval $state(-handler) [list $sock $token]] - } elseif {[info exists state(transfer_final)]} { - set line [getTextLine $sock] - set n [string length $line] - if {$n > 0} { - Log "found $n bytes following final chunk" - append state(transfer_final) $line - } else { - Log "final chunk part" - Eof $token - } - } elseif { - [info exists state(transfer)] - && $state(transfer) eq "chunked" - } { - set size 0 - set chunk [getTextLine $sock] - set n [string length $chunk] - if {[string trim $chunk] ne ""} { - scan $chunk %x size - if {$size != 0} { - set bl [fconfigure $sock -blocking] - fconfigure $sock -blocking 1 - set chunk [read $sock $size] - fconfigure $sock -blocking $bl - set n [string length $chunk] - if {$n >= 0} { - append state(body) $chunk - } - if {$size != [string length $chunk]} { - Log "WARNING: mis-sized chunk:\ - was [string length $chunk], should be $size" - } - getTextLine $sock - } else { - set state(transfer_final) {} - } - } - } else { - #Log "read non-chunk $state(currentsize) of $state(totalsize)" - set block [read $sock $state(-blocksize)] - set n [string length $block] - if {$n >= 0} { - append state(body) $block - } - } - if {[info exists state]} { - if {$n >= 0} { - incr state(currentsize) $n - } - # If Content-Length - check for end of data. - if { - ($state(totalsize) > 0) - && ($state(currentsize) >= $state(totalsize)) - } { - Eof $token - } - } - } err]} { - return [Finish $token $err] - } else { - if {[info exists state(-progress)]} { - eval $state(-progress) \ - [list $token $state(totalsize) $state(currentsize)] - } - } - } - - # catch as an Eof above may have closed the socket already - if {![catch {eof $sock} eof] && $eof} { - if {[info exists $token]} { - set state(connection) close - Eof $token - } else { - # open connection closed on a token that has been cleaned up. - CloseSocket $sock - } - return - } -} - -# http::IsBinaryContentType -- -# -# Determine if the content-type means that we should definitely transfer -# the data as binary. [Bug 838e99a76d] -# -# Arguments -# type The content-type of the data. -# -# Results: -# Boolean, true if we definitely should be binary. - -proc http::IsBinaryContentType {type} { - lassign [split [string tolower $type] "/;"] major minor - if {$major eq "text"} { - return false - } - # There's a bunch of XML-as-application-format things about. See RFC 3023 - # and so on. - if {$major eq "application"} { - set minor [string trimright $minor] - if {$minor in {"xml" "xml-external-parsed-entity" "xml-dtd"}} { - return false - } - } - # Not just application/foobar+xml but also image/svg+xml, so let us not - # restrict things for now... - if {[string match "*+xml" $minor]} { - return false - } - return true -} - -# http::getTextLine -- -# -# Get one line with the stream in blocking crlf mode -# -# Arguments -# sock The socket receiving input. -# -# Results: -# The line of text, without trailing newline - -proc http::getTextLine {sock} { - set tr [fconfigure $sock -translation] - set bl [fconfigure $sock -blocking] - fconfigure $sock -translation crlf -blocking 1 - set r [gets $sock] - fconfigure $sock -translation $tr -blocking $bl - return $r -} - -# http::CopyStart -# -# Error handling wrapper around fcopy -# -# Arguments -# sock The socket to copy from -# token The token returned from http::geturl -# -# Side Effects -# This closes the connection upon error - -proc http::CopyStart {sock token {initial 1}} { - upvar #0 $token state - if {[info exists state(transfer)] && $state(transfer) eq "chunked"} { - foreach coding [ContentEncoding $token] { - lappend state(zlib) [zlib stream $coding] - } - make-transformation-chunked $sock [namespace code [list CopyChunk $token]] - } else { - if {$initial} { - foreach coding [ContentEncoding $token] { - zlib push $coding $sock - } - } - if {[catch { - fcopy $sock $state(-channel) -size $state(-blocksize) -command \ - [list http::CopyDone $token] - } err]} { - Finish $token $err - } - } -} - -proc http::CopyChunk {token chunk} { - upvar 0 $token state - if {[set count [string length $chunk]]} { - incr state(currentsize) $count - if {[info exists state(zlib)]} { - foreach stream $state(zlib) { - set chunk [$stream add $chunk] - } - } - puts -nonewline $state(-channel) $chunk - if {[info exists state(-progress)]} { - eval [linsert $state(-progress) end \ - $token $state(totalsize) $state(currentsize)] - } - } else { - Log "CopyChunk Finish $token" - if {[info exists state(zlib)]} { - set excess "" - foreach stream $state(zlib) { - catch {set excess [$stream add -finalize $excess]} - } - puts -nonewline $state(-channel) $excess - foreach stream $state(zlib) { $stream close } - unset state(zlib) - } - Eof $token ;# FIX ME: pipelining. - } -} - -# http::CopyDone -# -# fcopy completion callback -# -# Arguments -# token The token returned from http::geturl -# count The amount transfered -# -# Side Effects -# Invokes callbacks - -proc http::CopyDone {token count {error {}}} { - variable $token - upvar 0 $token state - set sock $state(sock) - incr state(currentsize) $count - if {[info exists state(-progress)]} { - eval $state(-progress) \ - [list $token $state(totalsize) $state(currentsize)] - } - # At this point the token may have been reset - if {[string length $error]} { - Finish $token $error - } elseif {[catch {eof $sock} iseof] || $iseof} { - Eof $token - } else { - CopyStart $sock $token 0 - } -} - -# http::Eof -# -# Handle eof on the socket -# -# Arguments -# token The token returned from http::geturl -# -# Side Effects -# Clean up the socket - -proc http::Eof {token {force 0}} { - variable $token - upvar 0 $token state - if {$state(state) eq "header"} { - # Premature eof - set state(status) eof - } else { - set state(status) ok - } - - if {[string length $state(body)] > 0} { - if {[catch { - foreach coding [ContentEncoding $token] { - set state(body) [zlib $coding $state(body)] - } - } err]} { - Log "error doing decompression: $err" - return [Finish $token $err] - } - - if {!$state(binary)} { - # If we are getting text, set the incoming channel's encoding - # correctly. iso8859-1 is the RFC default, but this could be any IANA - # charset. However, we only know how to convert what we have - # encodings for. - - set enc [CharsetToEncoding $state(charset)] - if {$enc ne "binary"} { - set state(body) [encoding convertfrom $enc $state(body)] - } - - # Translate text line endings. - set state(body) [string map {\r\n \n \r \n} $state(body)] - } - } - Finish $token -} - -# http::wait -- -# -# See documentation for details. -# -# Arguments: -# token Connection token. -# -# Results: -# The status after the wait. - -proc http::wait {token} { - variable $token - upvar 0 $token state - - if {![info exists state(status)] || $state(status) eq ""} { - # We must wait on the original variable name, not the upvar alias - vwait ${token}(status) - } - - return [status $token] -} - -# http::formatQuery -- -# -# See documentation for details. Call http::formatQuery with an even -# number of arguments, where the first is a name, the second is a value, -# the third is another name, and so on. -# -# Arguments: -# args A list of name-value pairs. -# -# Results: -# TODO - -proc http::formatQuery {args} { - set result "" - set sep "" - foreach i $args { - append result $sep [mapReply $i] - if {$sep eq "="} { - set sep & - } else { - set sep = - } - } - return $result -} - -# http::mapReply -- -# -# Do x-www-urlencoded character mapping -# -# Arguments: -# string The string the needs to be encoded -# -# Results: -# The encoded string - -proc http::mapReply {string} { - variable http - variable formMap - - # The spec says: "non-alphanumeric characters are replaced by '%HH'". Use - # a pre-computed map and [string map] to do the conversion (much faster - # than [regsub]/[subst]). [Bug 1020491] - - if {$http(-urlencoding) ne ""} { - set string [encoding convertto $http(-urlencoding) $string] - return [string map $formMap $string] - } - set converted [string map $formMap $string] - if {[string match "*\[\u0100-\uffff\]*" $converted]} { - regexp "\[\u0100-\uffff\]" $converted badChar - # Return this error message for maximum compatibility... :^/ - return -code error \ - "can't read \"formMap($badChar)\": no such element in array" - } - return $converted -} - -# http::ProxyRequired -- -# Default proxy filter. -# -# Arguments: -# host The destination host -# -# Results: -# The current proxy settings - -proc http::ProxyRequired {host} { - variable http - if {[info exists http(-proxyhost)] && [string length $http(-proxyhost)]} { - if { - ![info exists http(-proxyport)] || - ![string length $http(-proxyport)] - } { - set http(-proxyport) 8080 - } - return [list $http(-proxyhost) $http(-proxyport)] - } -} - -# http::CharsetToEncoding -- -# -# Tries to map a given IANA charset to a tcl encoding. If no encoding -# can be found, returns binary. -# - -proc http::CharsetToEncoding {charset} { - variable encodings - - set charset [string tolower $charset] - if {[regexp {iso-?8859-([0-9]+)} $charset -> num]} { - set encoding "iso8859-$num" - } elseif {[regexp {iso-?2022-(jp|kr)} $charset -> ext]} { - set encoding "iso2022-$ext" - } elseif {[regexp {shift[-_]?js} $charset]} { - set encoding "shiftjis" - } elseif {[regexp {(?:windows|cp)-?([0-9]+)} $charset -> num]} { - set encoding "cp$num" - } elseif {$charset eq "us-ascii"} { - set encoding "ascii" - } elseif {[regexp {(?:iso-?)?lat(?:in)?-?([0-9]+)} $charset -> num]} { - switch -- $num { - 5 {set encoding "iso8859-9"} - 1 - 2 - 3 { - set encoding "iso8859-$num" - } - } - } else { - # other charset, like euc-xx, utf-8,... may directly map to encoding - set encoding $charset - } - set idx [lsearch -exact $encodings $encoding] - if {$idx >= 0} { - return $encoding - } else { - return "binary" - } -} - -# Return the list of content-encoding transformations we need to do in order. -proc http::ContentEncoding {token} { - upvar 0 $token state - set r {} - if {[info exists state(coding)]} { - foreach coding [split $state(coding) ,] { - switch -exact -- $coding { - deflate { lappend r inflate } - gzip - x-gzip { lappend r gunzip } - compress - x-compress { lappend r decompress } - identity {} - default { - return -code error "unsupported content-encoding \"$coding\"" - } - } - } - } - return $r -} - -proc http::make-transformation-chunked {chan command} { - set lambda {{chan command} { - set data "" - set size -1 - yield - while {1} { - chan configure $chan -translation {crlf binary} - while {[gets $chan line] < 1} { yield } - chan configure $chan -translation {binary binary} - if {[scan $line %x size] != 1} { return -code error "invalid size: \"$line\"" } - set chunk "" - while {$size && ![chan eof $chan]} { - set part [chan read $chan $size] - incr size -[string length $part] - append chunk $part - } - if {[catch { - uplevel #0 [linsert $command end $chunk] - }]} { - http::Log "Error in callback: $::errorInfo" - } - if {[string length $chunk] == 0} { - # channel might have been closed in the callback - catch {chan event $chan readable {}} - return - } - } - }} - coroutine dechunk$chan ::apply $lambda $chan $command - chan event $chan readable [namespace origin dechunk$chan] - return -} - -# Local variables: -# indent-tabs-mode: t -# End: diff --git a/win32/lib/tcl8/8.6/http-2.9.0.tm b/win32/lib/tcl8/8.6/http-2.9.0.tm new file mode 100644 index 0000000..f82bced --- /dev/null +++ b/win32/lib/tcl8/8.6/http-2.9.0.tm @@ -0,0 +1,3427 @@ +# http.tcl -- +# +# Client-side HTTP for GET, POST, and HEAD commands. These routines can +# be used in untrusted code that uses the Safesock security policy. +# These procedures use a callback interface to avoid using vwait, which +# is not defined in the safe base. +# +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. + +package require Tcl 8.6- +# Keep this in sync with pkgIndex.tcl and with the install directories in +# Makefiles +package provide http 2.9.0 + +namespace eval http { + # Allow resourcing to not clobber existing data + + variable http + if {![info exists http]} { + array set http { + -accept */* + -pipeline 1 + -postfresh 0 + -proxyhost {} + -proxyport {} + -proxyfilter http::ProxyRequired + -repost 0 + -urlencoding utf-8 + -zip 1 + } + # We need a useragent string of this style or various servers will + # refuse to send us compressed content even when we ask for it. This + # follows the de-facto layout of user-agent strings in current browsers. + # Safe interpreters do not have ::tcl_platform(os) or + # ::tcl_platform(osVersion). + if {[interp issafe]} { + set http(-useragent) "Mozilla/5.0\ + (Windows; U;\ + Windows NT 10.0)\ + http/[package provide http] Tcl/[package provide Tcl]" + } else { + set http(-useragent) "Mozilla/5.0\ + ([string totitle $::tcl_platform(platform)]; U;\ + $::tcl_platform(os) $::tcl_platform(osVersion))\ + http/[package provide http] Tcl/[package provide Tcl]" + } + } + + proc init {} { + # Set up the map for quoting chars. RFC3986 Section 2.3 say percent + # encode all except: "... percent-encoded octets in the ranges of + # ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period + # (%2E), underscore (%5F), or tilde (%7E) should not be created by URI + # producers ..." + for {set i 0} {$i <= 256} {incr i} { + set c [format %c $i] + if {![string match {[-._~a-zA-Z0-9]} $c]} { + set map($c) %[format %.2X $i] + } + } + # These are handled specially + set map(\n) %0D%0A + variable formMap [array get map] + + # Create a map for HTTP/1.1 open sockets + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + if {[info exists socketMapping]} { + # Close open sockets on re-init. Do not permit retries. + foreach {url sock} [array get socketMapping] { + unset -nocomplain socketClosing($url) + unset -nocomplain socketPlayCmd($url) + CloseSocket $sock + } + } + + # CloseSocket should have unset the socket* arrays, one element at + # a time. Now unset anything that was overlooked. + # Traces on "unset socketRdState(*)" will call CancelReadPipeline and + # cancel any queued responses. + # Traces on "unset socketWrState(*)" will call CancelWritePipeline and + # cancel any queued requests. + array unset socketMapping + array unset socketRdState + array unset socketWrState + array unset socketRdQueue + array unset socketWrQueue + array unset socketClosing + array unset socketPlayCmd + array set socketMapping {} + array set socketRdState {} + array set socketWrState {} + array set socketRdQueue {} + array set socketWrQueue {} + array set socketClosing {} + array set socketPlayCmd {} + } + init + + variable urlTypes + if {![info exists urlTypes]} { + set urlTypes(http) [list 80 ::socket] + } + + variable encodings [string tolower [encoding names]] + # This can be changed, but iso8859-1 is the RFC standard. + variable defaultCharset + if {![info exists defaultCharset]} { + set defaultCharset "iso8859-1" + } + + # Force RFC 3986 strictness in geturl url verification? + variable strict + if {![info exists strict]} { + set strict 1 + } + + # Let user control default keepalive for compatibility + variable defaultKeepalive + if {![info exists defaultKeepalive]} { + set defaultKeepalive 0 + } + + namespace export geturl config reset wait formatQuery quoteString + namespace export register unregister registerError + # - Useful, but not exported: data, size, status, code, cleanup, error, + # meta, ncode, mapReply, init. Comments suggest that "init" can be used + # for re-initialisation, although the command is undocumented. + # - Not exported, probably should be upper-case initial letter as part + # of the internals: getTextLine, make-transformation-chunked. +} + +# http::Log -- +# +# Debugging output -- define this to observe HTTP/1.1 socket usage. +# Should echo any args received. +# +# Arguments: +# msg Message to output +# +if {[info command http::Log] eq {}} {proc http::Log {args} {}} + +# http::register -- +# +# See documentation for details. +# +# Arguments: +# proto URL protocol prefix, e.g. https +# port Default port for protocol +# command Command to use to create socket +# Results: +# list of port and command that was registered. + +proc http::register {proto port command} { + variable urlTypes + set urlTypes([string tolower $proto]) [list $port $command] +} + +# http::unregister -- +# +# Unregisters URL protocol handler +# +# Arguments: +# proto URL protocol prefix, e.g. https +# Results: +# list of port and command that was unregistered. + +proc http::unregister {proto} { + variable urlTypes + set lower [string tolower $proto] + if {![info exists urlTypes($lower)]} { + return -code error "unsupported url type \"$proto\"" + } + set old $urlTypes($lower) + unset urlTypes($lower) + return $old +} + +# http::config -- +# +# See documentation for details. +# +# Arguments: +# args Options parsed by the procedure. +# Results: +# TODO + +proc http::config {args} { + variable http + set options [lsort [array names http -*]] + set usage [join $options ", "] + if {[llength $args] == 0} { + set result {} + foreach name $options { + lappend result $name $http($name) + } + return $result + } + set options [string map {- ""} $options] + set pat ^-(?:[join $options |])$ + if {[llength $args] == 1} { + set flag [lindex $args 0] + if {![regexp -- $pat $flag]} { + return -code error "Unknown option $flag, must be: $usage" + } + return $http($flag) + } else { + foreach {flag value} $args { + if {![regexp -- $pat $flag]} { + return -code error "Unknown option $flag, must be: $usage" + } + set http($flag) $value + } + } +} + +# http::Finish -- +# +# Clean up the socket and eval close time callbacks +# +# Arguments: +# token Connection token. +# errormsg (optional) If set, forces status to error. +# skipCB (optional) If set, don't call the -command callback. This +# is useful when geturl wants to throw an exception instead +# of calling the callback. That way, the same error isn't +# reported to two places. +# +# Side Effects: +# May close the socket. + +proc http::Finish {token {errormsg ""} {skipCB 0}} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + global errorInfo errorCode + set closeQueue 0 + if {$errormsg ne ""} { + set state(error) [list $errormsg $errorInfo $errorCode] + set state(status) "error" + } + if {[info commands ${token}EventCoroutine] ne {}} { + rename ${token}EventCoroutine {} + } + if { ($state(status) eq "timeout") + || ($state(status) eq "error") + || ($state(status) eq "eof") + || ([info exists state(-keepalive)] && !$state(-keepalive)) + || ([info exists state(connection)] && ($state(connection) eq "close")) + } { + set closeQueue 1 + set connId $state(socketinfo) + set sock $state(sock) + CloseSocket $state(sock) $token + } elseif { + ([info exists state(-keepalive)] && $state(-keepalive)) + && ([info exists state(connection)] && ($state(connection) ne "close")) + } { + KeepSocket $token + } + if {[info exists state(after)]} { + after cancel $state(after) + unset state(after) + } + if {[info exists state(-command)] && (!$skipCB) + && (![info exists state(done-command-cb)])} { + set state(done-command-cb) yes + if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} { + set state(error) [list $err $errorInfo $errorCode] + set state(status) error + } + } + + if { $closeQueue + && [info exists socketMapping($connId)] + && ($socketMapping($connId) eq $sock) + } { + http::CloseQueuedQueries $connId $token + } +} + +# http::KeepSocket - +# +# Keep a socket in the persistent sockets table and connect it to its next +# queued task if possible. Otherwise leave it idle and ready for its next +# use. +# +# If $socketClosing(*), then ($state(connection) eq "close") and therefore +# this command will not be called by Finish. +# +# Arguments: +# token Connection token. + +proc http::KeepSocket {token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + + # Keep this socket open for another request ("Keep-Alive"). + # React if the server half-closes the socket. + # Discussion is in http::geturl. + catch {fileevent $state(sock) readable [list http::CheckEof $state(sock)]} + + # The line below should not be changed in production code. + # It is edited by the test suite. + set TEST_EOF 0 + if {$TEST_EOF} { + # ONLY for testing reaction to server eof. + # No server timeouts will be caught. + catch {fileevent $state(sock) readable {}} + } + + if { [info exists state(socketinfo)] + && [info exists socketMapping($state(socketinfo))] + } { + set connId $state(socketinfo) + # The value "Rready" is set only here. + set socketRdState($connId) Rready + + if { $state(-pipeline) + && [info exists socketRdQueue($connId)] + && [llength $socketRdQueue($connId)] + } { + # The usual case for pipelined responses - if another response is + # queued, arrange to read it. + set token3 [lindex $socketRdQueue($connId) 0] + set socketRdQueue($connId) [lrange $socketRdQueue($connId) 1 end] + variable $token3 + upvar 0 $token3 state3 + set tk2 [namespace tail $token3] + + #Log pipelined, GRANT read access to $token3 in KeepSocket + set socketRdState($connId) $token3 + ReceiveResponse $token3 + + # Other pipelined cases. + # - The test above ensures that, for the pipelined cases in the two + # tests below, the read queue is empty. + # - In those two tests, check whether the next write will be + # nonpipeline. + } elseif { + $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "peNding") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![set token3 [lindex $socketWrQueue($connId) 0] + set ${token3}(-pipeline) + ] + ) + } { + # This case: + # - Now it the time to run the "pending" request. + # - The next token in the write queue is nonpipeline, and + # socketWrState has been marked "pending" (in + # http::NextPipelinedWrite or http::geturl) so a new pipelined + # request cannot jump the queue. + # + # Tests: + # - In this case the read queue (tested above) is empty and this + # "pending" write token is in front of the rest of the write + # queue. + # - The write state is not Wready and therefore appears to be busy, + # but because it is "pending" we know that it is reserved for the + # first item in the write queue, a non-pipelined request that is + # waiting for the read queue to empty. That has now happened: so + # give that request read and write access. + variable $token3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (c) + + } elseif { + $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "peNding") + + } { + # Should not come here. The second block in the previous "elseif" + # test should be tautologous (but was needed in an earlier + # implementation) and will be removed after testing. + # If we get here, the value "pending" was assigned in error. + # This error would block the queue for ever. + Log ^X$tk <<<<< Error in queueing of requests >>>>> - token $token + + } elseif { + $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![set token3 [lindex $socketWrQueue($connId) 0] + set ${token3}(-pipeline) + ] + ) + } { + # This case: + # - The next token in the write queue is nonpipeline, and + # socketWrState is Wready. Get the next event from socketWrQueue. + # Tests: + # - In this case the read state (tested above) is Rready and the + # write state (tested here) is Wready - there is no "pending" + # request. + # Code: + # - The code is the same as the code below for the nonpipelined + # case with a queued request. + variable $token3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (c) + + } elseif { + (!$state(-pipeline)) + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && ($state(connection) ne "close") + } { + # If not pipelined, (socketRdState eq Rready) tells us that we are + # ready for the next write - there is no need to check + # socketWrState. Write the next request, if one is waiting. + # If the next request is pipelined, it receives premature read + # access to the socket. This is not a problem. + set token3 [lindex $socketWrQueue($connId) 0] + variable $token3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (d) + + } elseif {(!$state(-pipeline))} { + set socketWrState($connId) Wready + # Rready and Wready and idle: nothing to do. + } + + } else { + CloseSocket $state(sock) $token + # There is no socketMapping($state(socketinfo)), so it does not matter + # that CloseQueuedQueries is not called. + } +} + +# http::CheckEof - +# +# Read from a socket and close it if eof. +# The command is bound to "fileevent readable" on an idle socket, and +# "eof" is the only event that should trigger the binding, occurring when +# the server times out and half-closes the socket. +# +# A read is necessary so that [eof] gives a meaningful result. +# Any bytes sent are junk (or a bug). + +proc http::CheckEof {sock} { + set junk [read $sock] + set n [string length $junk] + if {$n} { + Log "WARNING: $n bytes received but no HTTP request sent" + } + + if {[catch {eof $sock} res] || $res} { + # The server has half-closed the socket. + # If a new write has started, its transaction will fail and + # will then be error-handled. + CloseSocket $sock + } +} + +# http::CloseSocket - +# +# Close a socket and remove it from the persistent sockets table. If +# possible an http token is included here but when we are called from a +# fileevent on remote closure we need to find the correct entry - hence +# the "else" block of the first "if" command. + +proc http::CloseSocket {s {token {}}} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + set tk [namespace tail $token] + + catch {fileevent $s readable {}} + set connId {} + if {$token ne ""} { + variable $token + upvar 0 $token state + if {[info exists state(socketinfo)]} { + set connId $state(socketinfo) + } + } else { + set map [array get socketMapping] + set ndx [lsearch -exact $map $s] + if {$ndx != -1} { + incr ndx -1 + set connId [lindex $map $ndx] + } + } + if { ($connId ne {}) + && [info exists socketMapping($connId)] + && ($socketMapping($connId) eq $s) + } { + Log "Closing connection $connId (sock $socketMapping($connId))" + if {[catch {close $socketMapping($connId)} err]} { + Log "Error closing connection: $err" + } + if {$token eq {}} { + # Cases with a non-empty token are handled by Finish, so the tokens + # are finished in connection order. + http::CloseQueuedQueries $connId + } + } else { + Log "Closing socket $s (no connection info)" + if {[catch {close $s} err]} { + Log "Error closing socket: $err" + } + } +} + +# http::CloseQueuedQueries +# +# connId - identifier "domain:port" for the connection +# token - (optional) used only for logging +# +# Called from http::CloseSocket and http::Finish, after a connection is closed, +# to clear the read and write queues if this has not already been done. + +proc http::CloseQueuedQueries {connId {token {}}} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + if {![info exists socketMapping($connId)]} { + # Command has already been called. + # Don't come here again - especially recursively. + return + } + + # Used only for logging. + if {$token eq {}} { + set tk {} + } else { + set tk [namespace tail $token] + } + + if { [info exists socketPlayCmd($connId)] + && ($socketPlayCmd($connId) ne {ReplayIfClose Wready {} {}}) + } { + # Before unsetting, there is some unfinished business. + # - If the server sent "Connection: close", we have stored the command + # for retrying any queued requests in socketPlayCmd, so copy that + # value for execution below. socketClosing(*) was also set. + # - Also clear the queues to prevent calls to Finish that would set the + # state for the requests that will be retried to "finished with error + # status". + set unfinished $socketPlayCmd($connId) + set socketRdQueue($connId) {} + set socketWrQueue($connId) {} + } else { + set unfinished {} + } + + Unset $connId + + if {$unfinished ne {}} { + Log ^R$tk Any unfinished transactions (excluding $token) failed \ + - token $token + {*}$unfinished + } +} + +# http::Unset +# +# The trace on "unset socketRdState(*)" will call CancelReadPipeline +# and cancel any queued responses. +# The trace on "unset socketWrState(*)" will call CancelWritePipeline +# and cancel any queued requests. + +proc http::Unset {connId} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + unset socketMapping($connId) + unset socketRdState($connId) + unset socketWrState($connId) + unset -nocomplain socketRdQueue($connId) + unset -nocomplain socketWrQueue($connId) + unset -nocomplain socketClosing($connId) + unset -nocomplain socketPlayCmd($connId) +} + +# http::reset -- +# +# See documentation for details. +# +# Arguments: +# token Connection token. +# why Status info. +# +# Side Effects: +# See Finish + +proc http::reset {token {why reset}} { + variable $token + upvar 0 $token state + set state(status) $why + catch {fileevent $state(sock) readable {}} + catch {fileevent $state(sock) writable {}} + Finish $token + if {[info exists state(error)]} { + set errorlist $state(error) + unset state + eval ::error $errorlist + } +} + +# http::geturl -- +# +# Establishes a connection to a remote url via http. +# +# Arguments: +# url The http URL to goget. +# args Option value pairs. Valid options include: +# -blocksize, -validate, -headers, -timeout +# Results: +# Returns a token for this connection. This token is the name of an +# array that the caller should unset to garbage collect the state. + +proc http::geturl {url args} { + variable http + variable urlTypes + variable defaultCharset + variable defaultKeepalive + variable strict + + # Initialize the state variable, an array. We'll return the name of this + # array as the token for the transaction. + + if {![info exists http(uid)]} { + set http(uid) 0 + } + set token [namespace current]::[incr http(uid)] + ##Log Starting http::geturl - token $token + variable $token + upvar 0 $token state + set tk [namespace tail $token] + reset $token + Log ^A$tk URL $url - token $token + + # Process command options. + + array set state { + -binary false + -blocksize 8192 + -queryblocksize 8192 + -validate 0 + -headers {} + -timeout 0 + -type application/x-www-form-urlencoded + -queryprogress {} + -protocol 1.1 + binary 0 + state created + meta {} + method {} + coding {} + currentsize 0 + totalsize 0 + querylength 0 + queryoffset 0 + type text/html + body {} + status "" + http "" + connection close + } + set state(-keepalive) $defaultKeepalive + set state(-strict) $strict + # These flags have their types verified [Bug 811170] + array set type { + -binary boolean + -blocksize integer + -queryblocksize integer + -strict boolean + -timeout integer + -validate boolean + } + set state(charset) $defaultCharset + set options { + -binary -blocksize -channel -command -handler -headers -keepalive + -method -myaddr -progress -protocol -query -queryblocksize + -querychannel -queryprogress -strict -timeout -type -validate + } + set usage [join [lsort $options] ", "] + set options [string map {- ""} $options] + set pat ^-(?:[join $options |])$ + foreach {flag value} $args { + if {[regexp -- $pat $flag]} { + # Validate numbers + if { + [info exists type($flag)] && + ![string is $type($flag) -strict $value] + } { + unset $token + return -code error \ + "Bad value for $flag ($value), must be $type($flag)" + } + set state($flag) $value + } else { + unset $token + return -code error "Unknown option $flag, can be: $usage" + } + } + + # Make sure -query and -querychannel aren't both specified + + set isQueryChannel [info exists state(-querychannel)] + set isQuery [info exists state(-query)] + if {$isQuery && $isQueryChannel} { + unset $token + return -code error "Can't combine -query and -querychannel options!" + } + + # Validate URL, determine the server host and port, and check proxy case + # Recognize user:pass@host URLs also, although we do not do anything with + # that info yet. + + # URLs have basically four parts. + # First, before the colon, is the protocol scheme (e.g. http) + # Second, for HTTP-like protocols, is the authority + # The authority is preceded by // and lasts up to (but not including) + # the following / or ? and it identifies up to four parts, of which + # only one, the host, is required (if an authority is present at all). + # All other parts of the authority (user name, password, port number) + # are optional. + # Third is the resource name, which is split into two parts at a ? + # The first part (from the single "/" up to "?") is the path, and the + # second part (from that "?" up to "#") is the query. *HOWEVER*, we do + # not need to separate them; we send the whole lot to the server. + # Both, path and query are allowed to be missing, including their + # delimiting character. + # Fourth is the fragment identifier, which is everything after the first + # "#" in the URL. The fragment identifier MUST NOT be sent to the server + # and indeed, we don't bother to validate it (it could be an error to + # pass it in here, but it's cheap to strip). + # + # An example of a URL that has all the parts: + # + # http://jschmoe:xyzzy@www.bogus.net:8000/foo/bar.tml?q=foo#changes + # + # The "http" is the protocol, the user is "jschmoe", the password is + # "xyzzy", the host is "www.bogus.net", the port is "8000", the path is + # "/foo/bar.tml", the query is "q=foo", and the fragment is "changes". + # + # Note that the RE actually combines the user and password parts, as + # recommended in RFC 3986. Indeed, that RFC states that putting passwords + # in URLs is a Really Bad Idea, something with which I would agree utterly. + # + # From a validation perspective, we need to ensure that the parts of the + # URL that are going to the server are correctly encoded. This is only + # done if $state(-strict) is true (inherited from $::http::strict). + + set URLmatcher {(?x) # this is _expanded_ syntax + ^ + (?: (\w+) : ) ? # + (?: // + (?: + ( + [^@/\#?]+ # + ) @ + )? + ( # + [^/:\#?]+ | # host name or IPv4 address + \[ [^/\#?]+ \] # IPv6 address in square brackets + ) + (?: : (\d+) )? # + )? + ( [/\?] [^\#]*)? # (including query) + (?: \# (.*) )? # + $ + } + + # Phase one: parse + if {![regexp -- $URLmatcher $url -> proto user host port srvurl]} { + unset $token + return -code error "Unsupported URL: $url" + } + # Phase two: validate + set host [string trim $host {[]}]; # strip square brackets from IPv6 address + if {$host eq ""} { + # Caller has to provide a host name; we do not have a "default host" + # that would enable us to handle relative URLs. + unset $token + return -code error "Missing host part: $url" + # Note that we don't check the hostname for validity here; if it's + # invalid, we'll simply fail to resolve it later on. + } + if {$port ne "" && $port > 65535} { + unset $token + return -code error "Invalid port number: $port" + } + # The user identification and resource identification parts of the URL can + # have encoded characters in them; take care! + if {$user ne ""} { + # Check for validity according to RFC 3986, Appendix A + set validityRE {(?xi) + ^ + (?: [-\w.~!$&'()*+,;=:] | %[0-9a-f][0-9a-f] )+ + $ + } + if {$state(-strict) && ![regexp -- $validityRE $user]} { + unset $token + # Provide a better error message in this error case + if {[regexp {(?i)%(?![0-9a-f][0-9a-f]).?.?} $user bad]} { + return -code error \ + "Illegal encoding character usage \"$bad\" in URL user" + } + return -code error "Illegal characters in URL user" + } + } + if {$srvurl ne ""} { + # RFC 3986 allows empty paths (not even a /), but servers + # return 400 if the path in the HTTP request doesn't start + # with / , so add it here if needed. + if {[string index $srvurl 0] ne "/"} { + set srvurl /$srvurl + } + # Check for validity according to RFC 3986, Appendix A + set validityRE {(?xi) + ^ + # Path part (already must start with / character) + (?: [-\w.~!$&'()*+,;=:@/] | %[0-9a-f][0-9a-f] )* + # Query part (optional, permits ? characters) + (?: \? (?: [-\w.~!$&'()*+,;=:@/?] | %[0-9a-f][0-9a-f] )* )? + $ + } + if {$state(-strict) && ![regexp -- $validityRE $srvurl]} { + unset $token + # Provide a better error message in this error case + if {[regexp {(?i)%(?![0-9a-f][0-9a-f])..} $srvurl bad]} { + return -code error \ + "Illegal encoding character usage \"$bad\" in URL path" + } + return -code error "Illegal characters in URL path" + } + } else { + set srvurl / + } + if {$proto eq ""} { + set proto http + } + set lower [string tolower $proto] + if {![info exists urlTypes($lower)]} { + unset $token + return -code error "Unsupported URL type \"$proto\"" + } + set defport [lindex $urlTypes($lower) 0] + set defcmd [lindex $urlTypes($lower) 1] + + if {$port eq ""} { + set port $defport + } + if {![catch {$http(-proxyfilter) $host} proxy]} { + set phost [lindex $proxy 0] + set pport [lindex $proxy 1] + } + + # OK, now reassemble into a full URL + set url ${proto}:// + if {$user ne ""} { + append url $user + append url @ + } + append url $host + if {$port != $defport} { + append url : $port + } + append url $srvurl + # Don't append the fragment! + set state(url) $url + + set sockopts [list -async] + + # If we are using the proxy, we must pass in the full URL that includes + # the server name. + + if {[info exists phost] && ($phost ne "")} { + set srvurl $url + set targetAddr [list $phost $pport] + } else { + set targetAddr [list $host $port] + } + # Proxy connections aren't shared among different hosts. + set state(socketinfo) $host:$port + + # Save the accept types at this point to prevent a race condition. [Bug + # c11a51c482] + set state(accept-types) $http(-accept) + + if {$isQuery || $isQueryChannel} { + # It's a POST. + # A client wishing to send a non-idempotent request SHOULD wait to send + # that request until it has received the response status for the + # previous request. + if {$http(-postfresh)} { + # Override -keepalive for a POST. Use a new connection, and thus + # avoid the small risk of a race against server timeout. + set state(-keepalive) 0 + } else { + # Allow -keepalive but do not -pipeline - wait for the previous + # transaction to finish. + # There is a small risk of a race against server timeout. + set state(-pipeline) 0 + } + } else { + # It's a GET or HEAD. + set state(-pipeline) $http(-pipeline) + } + + # See if we are supposed to use a previously opened channel. + # - In principle, ANY call to http::geturl could use a previously opened + # channel if it is available - the "Connection: keep-alive" header is a + # request to leave the channel open AFTER completion of this call. + # - In fact, we try to use an existing channel only if -keepalive 1 -- this + # means that at most one channel is left open for each value of + # $state(socketinfo). This property simplifies the mapping of open + # channels. + set reusing 0 + set alreadyQueued 0 + if {$state(-keepalive)} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + if {[info exists socketMapping($state(socketinfo))]} { + # - If the connection is idle, it has a "fileevent readable" binding + # to http::CheckEof, in case the server times out and half-closes + # the socket (http::CheckEof closes the other half). + # - We leave this binding in place until just before the last + # puts+flush in http::Connected (GET/HEAD) or http::Write (POST), + # after which the HTTP response might be generated. + + if { [info exists socketClosing($state(socketinfo))] + && $socketClosing($state(socketinfo)) + } { + # socketClosing(*) is set because the server has sent a + # "Connection: close" header. + # Do not use the persistent socket again. + # Since we have only one persistent socket per server, and the + # old socket is not yet dead, add the request to the write queue + # of the dying socket, which will be replayed by ReplayIfClose. + # Also add it to socketWrQueue(*) which is used only if an error + # causes a call to Finish. + set reusing 1 + set sock $socketMapping($state(socketinfo)) + Log "reusing socket $sock for $state(socketinfo) - token $token" + + set alreadyQueued 1 + lassign $socketPlayCmd($state(socketinfo)) com0 com1 com2 com3 + lappend com3 $token + set socketPlayCmd($state(socketinfo)) [list $com0 $com1 $com2 $com3] + lappend socketWrQueue($state(socketinfo)) $token + } elseif {[catch {fconfigure $socketMapping($state(socketinfo))}]} { + # FIXME Is it still possible for this code to be executed? If + # so, this could be another place to call TestForReplay, + # rather than discarding the queued transactions. + Log "WARNING: socket for $state(socketinfo) was closed\ + - token $token" + Log "WARNING - if testing, pay special attention to this\ + case (GH) which is seldom executed - token $token" + + # This will call CancelReadPipeline, CancelWritePipeline, and + # cancel any queued requests, responses. + Unset $state(socketinfo) + } else { + # Use the persistent socket. + # The socket may not be ready to write: an earlier request might + # still be still writing (in the pipelined case) or + # writing/reading (in the nonpipeline case). This possibility + # is handled by socketWrQueue later in this command. + set reusing 1 + set sock $socketMapping($state(socketinfo)) + Log "reusing socket $sock for $state(socketinfo) - token $token" + + } + # Do not automatically close the connection socket. + set state(connection) {} + } + } + + if {$reusing} { + # Define state(tmpState) and state(tmpOpenCmd) for use + # by http::ReplayIfDead if the persistent connection has died. + set state(tmpState) [array get state] + + # Pass -myaddr directly to the socket command + if {[info exists state(-myaddr)]} { + lappend sockopts -myaddr $state(-myaddr) + } + + set state(tmpOpenCmd) [list {*}$defcmd {*}$sockopts {*}$targetAddr] + } + + set state(reusing) $reusing + # Excluding ReplayIfDead and the decision whether to call it, there are four + # places outside http::geturl where state(reusing) is used: + # - Connected - if reusing and not pipelined, start the state(-timeout) + # timeout (when writing). + # - DoneRequest - if reusing and pipelined, send the next pipelined write + # - Event - if reusing and pipelined, start the state(-timeout) + # timeout (when reading). + # - Event - if (not reusing) and pipelined, send the next pipelined + # write + + # See comments above re the start of this timeout in other cases. + if {(!$state(reusing)) && ($state(-timeout) > 0)} { + set state(after) [after $state(-timeout) \ + [list http::reset $token timeout]] + } + + if {![info exists sock]} { + # Pass -myaddr directly to the socket command + if {[info exists state(-myaddr)]} { + lappend sockopts -myaddr $state(-myaddr) + } + set pre [clock milliseconds] + ##Log pre socket opened, - token $token + ##Log [concat $defcmd $sockopts $targetAddr] - token $token + if {[catch {eval $defcmd $sockopts $targetAddr} sock errdict]} { + # Something went wrong while trying to establish the connection. + # Clean up after events and such, but DON'T call the command + # callback (if available) because we're going to throw an + # exception from here instead. + + set state(sock) NONE + Finish $token $sock 1 + cleanup $token + dict unset errdict -level + return -options $errdict $sock + } else { + # Initialisation of a new socket. + ##Log post socket opened, - token $token + ##Log socket opened, now fconfigure - token $token + set delay [expr {[clock milliseconds] - $pre}] + if {$delay > 3000} { + Log socket delay $delay - token $token + } + fconfigure $sock -translation {auto crlf} \ + -buffersize $state(-blocksize) + ##Log socket opened, DONE fconfigure - token $token + } + } + # Command [socket] is called with -async, but takes 5s to 5.1s to return, + # with probability of order 1 in 10,000. This may be a bizarre scheduling + # issue with my (KJN's) system (Fedora Linux). + # This does not cause a problem (unless the request times out when this + # command returns). + + set state(sock) $sock + Log "Using $sock for $state(socketinfo) - token $token" \ + [expr {$state(-keepalive)?"keepalive":""}] + + if { $state(-keepalive) + && (![info exists socketMapping($state(socketinfo))]) + } { + # Freshly-opened socket that we would like to become persistent. + set socketMapping($state(socketinfo)) $sock + + if {![info exists socketRdState($state(socketinfo))]} { + set socketRdState($state(socketinfo)) {} + set varName ::http::socketRdState($state(socketinfo)) + trace add variable $varName unset ::http::CancelReadPipeline + } + if {![info exists socketWrState($state(socketinfo))]} { + set socketWrState($state(socketinfo)) {} + set varName ::http::socketWrState($state(socketinfo)) + trace add variable $varName unset ::http::CancelWritePipeline + } + + if {$state(-pipeline)} { + #Log new, init for pipelined, GRANT write access to $token in geturl + # Also grant premature read access to the socket. This is OK. + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } else { + # socketWrState is not used by this non-pipelined transaction. + # We cannot leave it as "Wready" because the next call to + # http::geturl with a pipelined transaction would conclude that the + # socket is available for writing. + #Log new, init for nonpipeline, GRANT r/w access to $token in geturl + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } + + set socketRdQueue($state(socketinfo)) {} + set socketWrQueue($state(socketinfo)) {} + set socketClosing($state(socketinfo)) 0 + set socketPlayCmd($state(socketinfo)) {ReplayIfClose Wready {} {}} + } + + if {![info exists phost]} { + set phost "" + } + if {$reusing} { + # For use by http::ReplayIfDead if the persistent connection has died. + # Also used by NextPipelinedWrite. + set state(tmpConnArgs) [list $proto $phost $srvurl] + } + + # The element socketWrState($connId) has a value which is either the name of + # the token that is permitted to write to the socket, or "Wready" if no + # token is permitted to write. + # + # The code that sets the value to Wready immediately calls + # http::NextPipelinedWrite, which examines socketWrQueue($connId) and + # processes the next request in the queue, if there is one. The value + # Wready is not found when the interpreter is in the event loop unless the + # socket is idle. + # + # The element socketRdState($connId) has a value which is either the name of + # the token that is permitted to read from the socket, or "Rready" if no + # token is permitted to read. + # + # The code that sets the value to Rready then examines + # socketRdQueue($connId) and processes the next request in the queue, if + # there is one. The value Rready is not found when the interpreter is in + # the event loop unless the socket is idle. + + if {$alreadyQueued} { + # A write may or may not be in progress. There is no need to set + # socketWrState to prevent another call stealing write access - all + # subsequent calls on this socket will come here because the socket + # will close after the current read, and its + # socketClosing($connId) is 1. + ##Log "HTTP request for token $token is queued" + + } elseif { $reusing + && $state(-pipeline) + && ($socketWrState($state(socketinfo)) ne "Wready") + } { + ##Log "HTTP request for token $token is queued for pipelined use" + lappend socketWrQueue($state(socketinfo)) $token + + } elseif { $reusing + && (!$state(-pipeline)) + && ($socketWrState($state(socketinfo)) ne "Wready") + } { + # A write is queued or in progress. Lappend to the write queue. + ##Log "HTTP request for token $token is queued for nonpipeline use" + lappend socketWrQueue($state(socketinfo)) $token + + } elseif { $reusing + && (!$state(-pipeline)) + && ($socketWrState($state(socketinfo)) eq "Wready") + && ($socketRdState($state(socketinfo)) ne "Rready") + } { + # A read is queued or in progress, but not a write. Cannot start the + # nonpipeline transaction, but must set socketWrState to prevent a + # pipelined request jumping the queue. + ##Log "HTTP request for token $token is queued for nonpipeline use" + #Log re-use nonpipeline, GRANT delayed write access to $token in geturl + + set socketWrState($state(socketinfo)) peNding + lappend socketWrQueue($state(socketinfo)) $token + + } else { + if {$reusing && $state(-pipeline)} { + #Log re-use pipelined, GRANT write access to $token in geturl + set socketWrState($state(socketinfo)) $token + + } elseif {$reusing} { + # Cf tests above - both are ready. + #Log re-use nonpipeline, GRANT r/w access to $token in geturl + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } + + # All (!$reusing) cases come here, and also some $reusing cases if the + # connection is ready. + #Log ---- $state(socketinfo) << conn to $token for HTTP request (a) + # Connect does its own fconfigure. + fileevent $sock writable \ + [list http::Connect $token $proto $phost $srvurl] + } + + # Wait for the connection to complete. + if {![info exists state(-command)]} { + # geturl does EVERYTHING asynchronously, so if the user + # calls it synchronously, we just do a wait here. + http::wait $token + + if {![info exists state]} { + # If we timed out then Finish has been called and the users + # command callback may have cleaned up the token. If so we end up + # here with nothing left to do. + return $token + } elseif {$state(status) eq "error"} { + # Something went wrong while trying to establish the connection. + # Clean up after events and such, but DON'T call the command + # callback (if available) because we're going to throw an + # exception from here instead. + set err [lindex $state(error) 0] + cleanup $token + return -code error $err + } + } + ##Log Leaving http::geturl - token $token + return $token +} + +# http::Connected -- +# +# Callback used when the connection to the HTTP server is actually +# established. +# +# Arguments: +# token State token. +# proto What protocol (http, https, etc.) was used to connect. +# phost Are we using keep-alive? Non-empty if yes. +# srvurl Service-local URL that we're requesting +# Results: +# None. + +proc http::Connected {token proto phost srvurl} { + variable http + variable urlTypes + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + + if {$state(reusing) && (!$state(-pipeline)) && ($state(-timeout) > 0)} { + set state(after) [after $state(-timeout) \ + [list http::reset $token timeout]] + } + + # Set back the variables needed here. + set sock $state(sock) + set isQueryChannel [info exists state(-querychannel)] + set isQuery [info exists state(-query)] + set host [lindex [split $state(socketinfo) :] 0] + set port [lindex [split $state(socketinfo) :] 1] + + set lower [string tolower $proto] + set defport [lindex $urlTypes($lower) 0] + + # Send data in cr-lf format, but accept any line terminators. + # Initialisation to {auto *} now done in geturl, KeepSocket and DoneRequest. + # We are concerned here with the request (write) not the response (read). + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list $trRead crlf] \ + -buffersize $state(-blocksize) + + # The following is disallowed in safe interpreters, but the socket is + # already in non-blocking mode in that case. + + catch {fconfigure $sock -blocking off} + set how GET + if {$isQuery} { + set state(querylength) [string length $state(-query)] + if {$state(querylength) > 0} { + set how POST + set contDone 0 + } else { + # There's no query data. + unset state(-query) + set isQuery 0 + } + } elseif {$state(-validate)} { + set how HEAD + } elseif {$isQueryChannel} { + set how POST + # The query channel must be blocking for the async Write to + # work properly. + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $state(-querychannel) -blocking 1 \ + -translation [list $trRead binary] + set contDone 0 + } + if {[info exists state(-method)] && ($state(-method) ne "")} { + set how $state(-method) + } + # We cannot handle chunked encodings with -handler, so force HTTP/1.0 + # until we can manage this. + if {[info exists state(-handler)]} { + set state(-protocol) 1.0 + } + set accept_types_seen 0 + + Log ^B$tk begin sending request - token $token + + if {[catch { + set state(method) $how + puts $sock "$how $srvurl HTTP/$state(-protocol)" + if {[dict exists $state(-headers) Host]} { + # Allow Host spoofing. [Bug 928154] + puts $sock "Host: [dict get $state(-headers) Host]" + } elseif {$port == $defport} { + # Don't add port in this case, to handle broken servers. [Bug + # #504508] + puts $sock "Host: $host" + } else { + puts $sock "Host: $host:$port" + } + puts $sock "User-Agent: $http(-useragent)" + if {($state(-protocol) >= 1.0) && $state(-keepalive)} { + # Send this header, because a 1.1 server is not compelled to treat + # this as the default. + puts $sock "Connection: keep-alive" + } + if {($state(-protocol) > 1.0) && !$state(-keepalive)} { + puts $sock "Connection: close" ;# RFC2616 sec 8.1.2.1 + } + if {[info exists phost] && ($phost ne "") && $state(-keepalive)} { + puts $sock "Proxy-Connection: Keep-Alive" + } + set accept_encoding_seen 0 + set content_type_seen 0 + dict for {key value} $state(-headers) { + set value [string map [list \n "" \r ""] $value] + set key [string map {" " -} [string trim $key]] + if {[string equal -nocase $key "host"]} { + continue + } + if {[string equal -nocase $key "accept-encoding"]} { + set accept_encoding_seen 1 + } + if {[string equal -nocase $key "accept"]} { + set accept_types_seen 1 + } + if {[string equal -nocase $key "content-type"]} { + set content_type_seen 1 + } + if {[string equal -nocase $key "content-length"]} { + set contDone 1 + set state(querylength) $value + } + if {[string length $key]} { + puts $sock "$key: $value" + } + } + # Allow overriding the Accept header on a per-connection basis. Useful + # for working with REST services. [Bug c11a51c482] + if {!$accept_types_seen} { + puts $sock "Accept: $state(accept-types)" + } + if { (!$accept_encoding_seen) + && (![info exists state(-handler)]) + && $http(-zip) + } { + puts $sock "Accept-Encoding: gzip,deflate,compress" + } + if {$isQueryChannel && ($state(querylength) == 0)} { + # Try to determine size of data in channel. If we cannot seek, the + # surrounding catch will trap us + + set start [tell $state(-querychannel)] + seek $state(-querychannel) 0 end + set state(querylength) \ + [expr {[tell $state(-querychannel)] - $start}] + seek $state(-querychannel) $start + } + + # Flush the request header and set up the fileevent that will either + # push the POST data or read the response. + # + # fileevent note: + # + # It is possible to have both the read and write fileevents active at + # this point. The only scenario it seems to affect is a server that + # closes the connection without reading the POST data. (e.g., early + # versions TclHttpd in various error cases). Depending on the + # platform, the client may or may not be able to get the response from + # the server because of the error it will get trying to write the post + # data. Having both fileevents active changes the timing and the + # behavior, but no two platforms (among Solaris, Linux, and NT) behave + # the same, and none behave all that well in any case. Servers should + # always read their POST data if they expect the client to read their + # response. + + if {$isQuery || $isQueryChannel} { + # POST method. + if {!$content_type_seen} { + puts $sock "Content-Type: $state(-type)" + } + if {!$contDone} { + puts $sock "Content-Length: $state(querylength)" + } + puts $sock "" + flush $sock + # Flush flushes the error in the https case with a bad handshake: + # else the socket never becomes writable again, and hangs until + # timeout (if any). + + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list $trRead binary] + fileevent $sock writable [list http::Write $token] + # The http::Write command decides when to make the socket readable, + # using the same test as the GET/HEAD case below. + } else { + # GET or HEAD method. + if { (![catch {fileevent $sock readable} binding]) + && ($binding eq [list http::CheckEof $sock]) + } { + # Remove the "fileevent readable" binding of an idle persistent + # socket to http::CheckEof. We can no longer treat bytes + # received as junk. The server might still time out and + # half-close the socket if it has not yet received the first + # "puts". + fileevent $sock readable {} + } + puts $sock "" + flush $sock + Log ^C$tk end sending request - token $token + # End of writing (GET/HEAD methods). The request has been sent. + + DoneRequest $token + } + + } err]} { + # The socket probably was never connected, OR the connection dropped + # later, OR https handshake error, which may be discovered as late as + # the "flush" command above... + Log "WARNING - if testing, pay special attention to this\ + case (GI) which is seldom executed - token $token" + if {[info exists state(reusing)] && $state(reusing)} { + # The socket was closed at the server end, and closed at + # this end by http::CheckEof. + if {[TestForReplay $token write $err a]} { + return + } else { + Finish $token {failed to re-use socket} + } + + # else: + # This is NOT a persistent socket that has been closed since its + # last use. + # If any other requests are in flight or pipelined/queued, they will + # be discarded. + } elseif {$state(status) eq ""} { + # ...https handshake errors come here. + set msg [registerError $sock] + registerError $sock {} + if {$msg eq {}} { + set msg {failed to use socket} + } + Finish $token $msg + } elseif {$state(status) ne "error"} { + Finish $token $err + } + } +} + +# http::registerError +# +# Called (for example when processing TclTLS activity) to register +# an error for a connection on a specific socket. This helps +# http::Connected to deliver meaningful error messages, e.g. when a TLS +# certificate fails verification. +# +# Usage: http::registerError socket ?newValue? +# +# "set" semantics, except that a "get" (a call without a new value) for a +# non-existent socket returns {}, not an error. + +proc http::registerError {sock args} { + variable registeredErrors + + if { ([llength $args] == 0) + && (![info exists registeredErrors($sock)]) + } { + return + } elseif { ([llength $args] == 1) + && ([lindex $args 0] eq {}) + } { + unset -nocomplain registeredErrors($sock) + return + } + set registeredErrors($sock) {*}$args +} + +# http::DoneRequest -- +# +# Command called when a request has been sent. It will arrange the +# next request and/or response as appropriate. +# +# If this command is called when $socketClosing(*), the request $token +# that calls it must be pipelined and destined to fail. + +proc http::DoneRequest {token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set sock $state(sock) + + # If pipelined, connect the next HTTP request to the socket. + if {$state(reusing) && $state(-pipeline)} { + # Enable next token (if any) to write. + # The value "Wready" is set only here, and + # in http::Event after reading the response-headers of a + # non-reusing transaction. + # Previous value is $token. It cannot be pending. + set socketWrState($state(socketinfo)) Wready + + # Now ready to write the next pipelined request (if any). + http::NextPipelinedWrite $token + } else { + # If pipelined, this is the first transaction on this socket. We wait + # for the response headers to discover whether the connection is + # persistent. (If this is not done and the connection is not + # persistent, we SHOULD retry and then MUST NOT pipeline before knowing + # that we have a persistent connection + # (rfc2616 8.1.2.2)). + } + + # Connect to receive the response, unless the socket is pipelined + # and another response is being sent. + # This code block is separate from the code below because there are + # cases where socketRdState already has the value $token. + if { $state(-keepalive) + && $state(-pipeline) + && [info exists socketRdState($state(socketinfo))] + && ($socketRdState($state(socketinfo)) eq "Rready") + } { + #Log pipelined, GRANT read access to $token in Connected + set socketRdState($state(socketinfo)) $token + } + + if { $state(-keepalive) + && $state(-pipeline) + && [info exists socketRdState($state(socketinfo))] + && ($socketRdState($state(socketinfo)) ne $token) + } { + # Do not read from the socket until it is ready. + ##Log "HTTP response for token $token is queued for pipelined use" + # If $socketClosing(*), then the caller will be a pipelined write and + # execution will come here. + # This token has already been recorded as "in flight" for writing. + # When the socket is closed, the read queue will be cleared in + # CloseQueuedQueries and so the "lappend" here has no effect. + lappend socketRdQueue($state(socketinfo)) $token + } else { + # In the pipelined case, connection for reading depends on the + # value of socketRdState. + # In the nonpipeline case, connection for reading always occurs. + ReceiveResponse $token + } +} + +# http::ReceiveResponse +# +# Connects token to its socket for reading. + +proc http::ReceiveResponse {token} { + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set sock $state(sock) + + #Log ---- $state(socketinfo) >> conn to $token for HTTP response + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list auto $trWrite] \ + -buffersize $state(-blocksize) + Log ^D$tk begin receiving response - token $token + + coroutine ${token}EventCoroutine http::Event $sock $token + fileevent $sock readable ${token}EventCoroutine +} + +# http::NextPipelinedWrite +# +# - Connecting a socket to a token for writing is done by this command and by +# command KeepSocket. +# - If another request has a pipelined write scheduled for $token's socket, +# and if the socket is ready to accept it, connect the write and update +# the queue accordingly. +# - This command is called from http::DoneRequest and http::Event, +# IF $state(-pipeline) AND (the current transfer has reached the point at +# which the socket is ready for the next request to be written). +# - This command is called when a token has write access and is pipelined and +# keep-alive, and sets socketWrState to Wready. +# - The command need not consider the case where socketWrState is set to a token +# that does not yet have write access. Such a token is waiting for Rready, +# and the assignment of the connection to the token will be done elsewhere (in +# http::KeepSocket). +# - This command cannot be called after socketWrState has been set to a +# "pending" token value (that is then overwritten by the caller), because that +# value is set by this command when it is called by an earlier token when it +# relinquishes its write access, and the pending token is always the next in +# line to write. + +proc http::NextPipelinedWrite {token} { + variable http + variable socketRdState + variable socketWrState + variable socketWrQueue + variable socketClosing + variable $token + upvar 0 $token state + set connId $state(socketinfo) + + if { [info exists socketClosing($connId)] + && $socketClosing($connId) + } { + # socketClosing(*) is set because the server has sent a + # "Connection: close" header. + # Behave as if the queues are empty - so do nothing. + } elseif { $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && ([set token2 [lindex $socketWrQueue($connId) 0] + set ${token2}(-pipeline) + ] + ) + } { + # - The usual case for a pipelined connection, ready for a new request. + #Log pipelined, GRANT write access to $token2 in NextPipelinedWrite + set conn [set ${token2}(tmpConnArgs)] + set socketWrState($connId) $token2 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token2 {*}$conn] + #Log ---- $connId << conn to $token2 for HTTP request (b) + + # In the tests below, the next request will be nonpipeline. + } elseif { $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![ set token3 [lindex $socketWrQueue($connId) 0] + set ${token3}(-pipeline) + ] + ) + + && [info exists socketRdState($connId)] + && ($socketRdState($connId) eq "Rready") + } { + # The case in which the next request will be non-pipelined, and the read + # and write queues is ready: which is the condition for a non-pipelined + # write. + variable $token3 + upvar 0 $token3 state3 + set conn [set ${token3}(tmpConnArgs)] + #Log nonpipeline, GRANT r/w access to $token3 in NextPipelinedWrite + set socketRdState($connId) $token3 + set socketWrState($connId) $token3 + set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end] + # Connect does its own fconfigure. + fileevent $state(sock) writable [list http::Connect $token3 {*}$conn] + #Log ---- $state(sock) << conn to $token3 for HTTP request (c) + + } elseif { $state(-pipeline) + && [info exists socketWrState($connId)] + && ($socketWrState($connId) eq "Wready") + + && [info exists socketWrQueue($connId)] + && [llength $socketWrQueue($connId)] + && (![set token2 [lindex $socketWrQueue($connId) 0] + set ${token2}(-pipeline) + ] + ) + } { + # - The case in which the next request will be non-pipelined, but the + # read queue is NOT ready. + # - A read is queued or in progress, but not a write. Cannot start the + # nonpipeline transaction, but must set socketWrState to prevent a new + # pipelined request (in http::geturl) jumping the queue. + # - Because socketWrState($connId) is not set to Wready, the assignment + # of the connection to $token2 will be done elsewhere - by command + # http::KeepSocket when $socketRdState($connId) is set to "Rready". + + #Log re-use nonpipeline, GRANT delayed write access to $token in NextP.. + set socketWrState($connId) peNding + } +} + +# http::CancelReadPipeline +# +# Cancel pipelined responses on a closing "Keep-Alive" socket. +# +# - Called by a variable trace on "unset socketRdState($connId)". +# - The variable relates to a Keep-Alive socket, which has been closed. +# - Cancels all pipelined responses. The requests have been sent, +# the responses have not yet been received. +# - This is a hard cancel that ends each transaction with error status, +# and closes the connection. Do not use it if you want to replay failed +# transactions. +# - N.B. Always delete ::http::socketRdState($connId) before deleting +# ::http::socketRdQueue($connId), or this command will do nothing. +# +# Arguments +# As for a trace command on a variable. + +proc http::CancelReadPipeline {name1 connId op} { + variable socketRdQueue + ##Log CancelReadPipeline $name1 $connId $op + if {[info exists socketRdQueue($connId)]} { + set msg {the connection was closed by CancelReadPipeline} + foreach token $socketRdQueue($connId) { + set tk [namespace tail $token] + Log ^X$tk end of response "($msg)" - token $token + set ${token}(status) eof + Finish $token ;#$msg + } + set socketRdQueue($connId) {} + } +} + +# http::CancelWritePipeline +# +# Cancel queued events on a closing "Keep-Alive" socket. +# +# - Called by a variable trace on "unset socketWrState($connId)". +# - The variable relates to a Keep-Alive socket, which has been closed. +# - In pipelined or nonpipeline case: cancels all queued requests. The +# requests have not yet been sent, the responses are not due. +# - This is a hard cancel that ends each transaction with error status, +# and closes the connection. Do not use it if you want to replay failed +# transactions. +# - N.B. Always delete ::http::socketWrState($connId) before deleting +# ::http::socketWrQueue($connId), or this command will do nothing. +# +# Arguments +# As for a trace command on a variable. + +proc http::CancelWritePipeline {name1 connId op} { + variable socketWrQueue + + ##Log CancelWritePipeline $name1 $connId $op + if {[info exists socketWrQueue($connId)]} { + set msg {the connection was closed by CancelWritePipeline} + foreach token $socketWrQueue($connId) { + set tk [namespace tail $token] + Log ^X$tk end of response "($msg)" - token $token + set ${token}(status) eof + Finish $token ;#$msg + } + set socketWrQueue($connId) {} + } +} + +# http::ReplayIfDead -- +# +# - A query on a re-used persistent socket failed at the earliest opportunity, +# because the socket had been closed by the server. Keep the token, tidy up, +# and try to connect on a fresh socket. +# - The connection is monitored for eof by the command http::CheckEof. Thus +# http::ReplayIfDead is needed only when a server event (half-closing an +# apparently idle connection), and a client event (sending a request) occur at +# almost the same time, and neither client nor server detects the other's +# action before performing its own (an "asynchronous close event"). +# - To simplify testing of http::ReplayIfDead, set TEST_EOF 1 in +# http::KeepSocket, and then http::ReplayIfDead will be called if http::geturl +# is called at any time after the server timeout. +# +# Arguments: +# token Connection token. +# +# Side Effects: +# Use the same token, but try to open a new socket. + +proc http::ReplayIfDead {tokenArg doing} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $tokenArg + upvar 0 $tokenArg stateArg + + Log running http::ReplayIfDead for $tokenArg $doing + + # 1. Merge the tokens for transactions in flight, the read (response) queue, + # and the write (request) queue. + + set InFlightR {} + set InFlightW {} + + # Obtain the tokens for transactions in flight. + if {$stateArg(-pipeline)} { + # Two transactions may be in flight. The "read" transaction was first. + # It is unlikely that the server would close the socket if a response + # was pending; however, an earlier request (as well as the present + # request) may have been sent and ignored if the socket was half-closed + # by the server. + + if { [info exists socketRdState($stateArg(socketinfo))] + && ($socketRdState($stateArg(socketinfo)) ne "Rready") + } { + lappend InFlightR $socketRdState($stateArg(socketinfo)) + } elseif {($doing eq "read")} { + lappend InFlightR $tokenArg + } + + if { [info exists socketWrState($stateArg(socketinfo))] + && $socketWrState($stateArg(socketinfo)) ni {Wready peNding} + } { + lappend InFlightW $socketWrState($stateArg(socketinfo)) + } elseif {($doing eq "write")} { + lappend InFlightW $tokenArg + } + + # Report any inconsistency of $tokenArg with socket*state. + if { ($doing eq "read") + && [info exists socketRdState($stateArg(socketinfo))] + && ($tokenArg ne $socketRdState($stateArg(socketinfo))) + } { + Log WARNING - ReplayIfDead pipelined tokenArg $tokenArg $doing \ + ne socketRdState($stateArg(socketinfo)) \ + $socketRdState($stateArg(socketinfo)) + + } elseif { + ($doing eq "write") + && [info exists socketWrState($stateArg(socketinfo))] + && ($tokenArg ne $socketWrState($stateArg(socketinfo))) + } { + Log WARNING - ReplayIfDead pipelined tokenArg $tokenArg $doing \ + ne socketWrState($stateArg(socketinfo)) \ + $socketWrState($stateArg(socketinfo)) + } + } else { + # One transaction should be in flight. + # socketRdState, socketWrQueue are used. + # socketRdQueue should be empty. + + # Report any inconsistency of $tokenArg with socket*state. + if {$tokenArg ne $socketRdState($stateArg(socketinfo))} { + Log WARNING - ReplayIfDead nonpipeline tokenArg $tokenArg $doing \ + ne socketRdState($stateArg(socketinfo)) \ + $socketRdState($stateArg(socketinfo)) + } + + # Report the inconsistency that socketRdQueue is non-empty. + if { [info exists socketRdQueue($stateArg(socketinfo))] + && ($socketRdQueue($stateArg(socketinfo)) ne {}) + } { + Log WARNING - ReplayIfDead nonpipeline tokenArg $tokenArg $doing \ + has read queue socketRdQueue($stateArg(socketinfo)) \ + $socketRdQueue($stateArg(socketinfo)) ne {} + } + + lappend InFlightW $socketRdState($stateArg(socketinfo)) + set socketRdQueue($stateArg(socketinfo)) {} + } + + set newQueue {} + lappend newQueue {*}$InFlightR + lappend newQueue {*}$socketRdQueue($stateArg(socketinfo)) + lappend newQueue {*}$InFlightW + lappend newQueue {*}$socketWrQueue($stateArg(socketinfo)) + + + # 2. Tidy up tokenArg. This is a cut-down form of Finish/CloseSocket. + # Do not change state(status). + # No need to after cancel stateArg(after) - either this is done in + # ReplayCore/ReInit, or Finish is called. + + catch {close $stateArg(sock)} + + # 2a. Tidy the tokens in the queues - this is done in ReplayCore/ReInit. + # - Transactions, if any, that are awaiting responses cannot be completed. + # They are listed for re-sending in newQueue. + # - All tokens are preserved for re-use by ReplayCore, and their variables + # will be re-initialised by calls to ReInit. + # - The relevant element of socketMapping, socketRdState, socketWrState, + # socketRdQueue, socketWrQueue, socketClosing, socketPlayCmd will be set + # to new values in ReplayCore. + + ReplayCore $newQueue +} + +# http::ReplayIfClose -- +# +# A request on a socket that was previously "Connection: keep-alive" has +# received a "Connection: close" response header. The server supplies +# that response correctly, but any later requests already queued on this +# connection will be lost when the socket closes. +# +# This command takes arguments that represent the socketWrState, +# socketRdQueue and socketWrQueue for this connection. The socketRdState +# is not needed because the server responds in full to the request that +# received the "Connection: close" response header. +# +# Existing request tokens $token (::http::$n) are preserved. The caller +# will be unaware that the request was processed this way. + +proc http::ReplayIfClose {Wstate Rqueue Wqueue} { + Log running http::ReplayIfClose for $Wstate $Rqueue $Wqueue + + if {$Wstate in $Rqueue || $Wstate in $Wqueue} { + Log WARNING duplicate token in http::ReplayIfClose - token $Wstate + set Wstate Wready + } + + # 1. Create newQueue + set InFlightW {} + if {$Wstate ni {Wready peNding}} { + lappend InFlightW $Wstate + } + + set newQueue {} + lappend newQueue {*}$Rqueue + lappend newQueue {*}$InFlightW + lappend newQueue {*}$Wqueue + + # 2. Cleanup - none needed, done by the caller. + + ReplayCore $newQueue +} + +# http::ReInit -- +# +# Command to restore a token's state to a condition that +# makes it ready to replay a request. +# +# Command http::geturl stores extra state in state(tmp*) so +# we don't need to do the argument processing again. +# +# The caller must: +# - Set state(reusing) and state(sock) to their new values after calling +# this command. +# - Unset state(tmpState), state(tmpOpenCmd) if future calls to ReplayCore +# or ReInit are inappropriate for this token. Typically only one retry +# is allowed. +# The caller may also unset state(tmpConnArgs) if this value (and the +# token) will be used immediately. The value is needed by tokens that +# will be stored in a queue. +# +# Arguments: +# token Connection token. +# +# Return Value: (boolean) true iff the re-initialisation was successful. + +proc http::ReInit {token} { + variable $token + upvar 0 $token state + + if {!( + [info exists state(tmpState)] + && [info exists state(tmpOpenCmd)] + && [info exists state(tmpConnArgs)] + ) + } { + Log FAILED in http::ReInit via ReplayCore - NO tmp vars for $token + return 0 + } + + if {[info exists state(after)]} { + after cancel $state(after) + unset state(after) + } + + # Don't alter state(status) - this would trigger http::wait if it is in use. + set tmpState $state(tmpState) + set tmpOpenCmd $state(tmpOpenCmd) + set tmpConnArgs $state(tmpConnArgs) + foreach name [array names state] { + if {$name ne "status"} { + unset state($name) + } + } + + # Don't alter state(status). + # Restore state(tmp*) - the caller may decide to unset them. + # Restore state(tmpConnArgs) which is needed for connection. + # state(tmpState), state(tmpOpenCmd) are needed only for retries. + + dict unset tmpState status + array set state $tmpState + set state(tmpState) $tmpState + set state(tmpOpenCmd) $tmpOpenCmd + set state(tmpConnArgs) $tmpConnArgs + + return 1 +} + +# http::ReplayCore -- +# +# Command to replay a list of requests, using existing connection tokens. +# +# Abstracted from http::geturl which stores extra state in state(tmp*) so +# we don't need to do the argument processing again. +# +# Arguments: +# newQueue List of connection tokens. +# +# Side Effects: +# Use existing tokens, but try to open a new socket. + +proc http::ReplayCore {newQueue} { + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + if {[llength $newQueue] == 0} { + # Nothing to do. + return + } + + ##Log running ReplayCore for {*}$newQueue + set newToken [lindex $newQueue 0] + set newQueue [lrange $newQueue 1 end] + + # 3. Use newToken, and restore its values of state(*). Do not restore + # elements tmp* - we try again only once. + + set token $newToken + variable $token + upvar 0 $token state + + if {![ReInit $token]} { + Log FAILED in http::ReplayCore - NO tmp vars + Finish $token {cannot send this request again} + return + } + + set tmpState $state(tmpState) + set tmpOpenCmd $state(tmpOpenCmd) + set tmpConnArgs $state(tmpConnArgs) + unset state(tmpState) + unset state(tmpOpenCmd) + unset state(tmpConnArgs) + + set state(reusing) 0 + + if {$state(-timeout) > 0} { + set resetCmd [list http::reset $token timeout] + set state(after) [after $state(-timeout) $resetCmd] + } + + set pre [clock milliseconds] + ##Log pre socket opened, - token $token + ##Log $tmpOpenCmd - token $token + # 4. Open a socket. + if {[catch {eval $tmpOpenCmd} sock]} { + # Something went wrong while trying to establish the connection. + Log FAILED - $sock + set state(sock) NONE + Finish $token $sock + return + } + ##Log post socket opened, - token $token + set delay [expr {[clock milliseconds] - $pre}] + if {$delay > 3000} { + Log socket delay $delay - token $token + } + # Command [socket] is called with -async, but takes 5s to 5.1s to return, + # with probability of order 1 in 10,000. This may be a bizarre scheduling + # issue with my (KJN's) system (Fedora Linux). + # This does not cause a problem (unless the request times out when this + # command returns). + + # 5. Configure the persistent socket data. + if {$state(-keepalive)} { + set socketMapping($state(socketinfo)) $sock + + if {![info exists socketRdState($state(socketinfo))]} { + set socketRdState($state(socketinfo)) {} + set varName ::http::socketRdState($state(socketinfo)) + trace add variable $varName unset ::http::CancelReadPipeline + } + + if {![info exists socketWrState($state(socketinfo))]} { + set socketWrState($state(socketinfo)) {} + set varName ::http::socketWrState($state(socketinfo)) + trace add variable $varName unset ::http::CancelWritePipeline + } + + if {$state(-pipeline)} { + #Log new, init for pipelined, GRANT write acc to $token ReplayCore + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } else { + #Log new, init for nonpipeline, GRANT r/w acc to $token ReplayCore + set socketRdState($state(socketinfo)) $token + set socketWrState($state(socketinfo)) $token + } + + set socketRdQueue($state(socketinfo)) {} + set socketWrQueue($state(socketinfo)) $newQueue + set socketClosing($state(socketinfo)) 0 + set socketPlayCmd($state(socketinfo)) {ReplayIfClose Wready {} {}} + } + + ##Log pre newQueue ReInit, - token $token + # 6. Configure sockets in the queue. + foreach tok $newQueue { + if {[ReInit $tok]} { + set ${tok}(reusing) 1 + set ${tok}(sock) $sock + } else { + set ${tok}(reusing) 1 + set ${tok}(sock) NONE + Finish $token {cannot send this request again} + } + } + + # 7. Configure the socket for newToken to send a request. + set state(sock) $sock + Log "Using $sock for $state(socketinfo) - token $token" \ + [expr {$state(-keepalive)?"keepalive":""}] + + # Initialisation of a new socket. + ##Log socket opened, now fconfigure - token $token + fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize) + ##Log socket opened, DONE fconfigure - token $token + + # Connect does its own fconfigure. + fileevent $sock writable [list http::Connect $token {*}$tmpConnArgs] + #Log ---- $sock << conn to $token for HTTP request (e) +} + +# Data access functions: +# Data - the URL data +# Status - the transaction status: ok, reset, eof, timeout, error +# Code - the HTTP transaction code, e.g., 200 +# Size - the size of the URL data + +proc http::data {token} { + variable $token + upvar 0 $token state + return $state(body) +} +proc http::status {token} { + if {![info exists $token]} { + return "error" + } + variable $token + upvar 0 $token state + return $state(status) +} +proc http::code {token} { + variable $token + upvar 0 $token state + return $state(http) +} +proc http::ncode {token} { + variable $token + upvar 0 $token state + if {[regexp {[0-9]{3}} $state(http) numeric_code]} { + return $numeric_code + } else { + return $state(http) + } +} +proc http::size {token} { + variable $token + upvar 0 $token state + return $state(currentsize) +} +proc http::meta {token} { + variable $token + upvar 0 $token state + return $state(meta) +} +proc http::error {token} { + variable $token + upvar 0 $token state + if {[info exists state(error)]} { + return $state(error) + } + return "" +} + +# http::cleanup +# +# Garbage collect the state associated with a transaction +# +# Arguments +# token The token returned from http::geturl +# +# Side Effects +# unsets the state array + +proc http::cleanup {token} { + variable $token + upvar 0 $token state + if {[info commands ${token}EventCoroutine] ne {}} { + rename ${token}EventCoroutine {} + } + if {[info exists state(after)]} { + after cancel $state(after) + unset state(after) + } + if {[info exists state]} { + unset state + } +} + +# http::Connect +# +# This callback is made when an asyncronous connection completes. +# +# Arguments +# token The token returned from http::geturl +# +# Side Effects +# Sets the status of the connection, which unblocks +# the waiting geturl call + +proc http::Connect {token proto phost srvurl} { + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set err "due to unexpected EOF" + if { + [eof $state(sock)] || + [set err [fconfigure $state(sock) -error]] ne "" + } { + Log "WARNING - if testing, pay special attention to this\ + case (GJ) which is seldom executed - token $token" + if {[info exists state(reusing)] && $state(reusing)} { + # The socket was closed at the server end, and closed at + # this end by http::CheckEof. + if {[TestForReplay $token write $err b]} { + return + } + + # else: + # This is NOT a persistent socket that has been closed since its + # last use. + # If any other requests are in flight or pipelined/queued, they will + # be discarded. + } + Finish $token "connect failed $err" + } else { + set state(state) connecting + fileevent $state(sock) writable {} + ::http::Connected $token $proto $phost $srvurl + } +} + +# http::Write +# +# Write POST query data to the socket +# +# Arguments +# token The token for the connection +# +# Side Effects +# Write the socket and handle callbacks. + +proc http::Write {token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + set sock $state(sock) + + # Output a block. Tcl will buffer this if the socket blocks + set done 0 + if {[catch { + # Catch I/O errors on dead sockets + + if {[info exists state(-query)]} { + # Chop up large query strings so queryprogress callback can give + # smooth feedback. + if { $state(queryoffset) + $state(-queryblocksize) + >= $state(querylength) + } { + # This will be the last puts for the request-body. + if { (![catch {fileevent $sock readable} binding]) + && ($binding eq [list http::CheckEof $sock]) + } { + # Remove the "fileevent readable" binding of an idle + # persistent socket to http::CheckEof. We can no longer + # treat bytes received as junk. The server might still time + # out and half-close the socket if it has not yet received + # the first "puts". + fileevent $sock readable {} + } + } + puts -nonewline $sock \ + [string range $state(-query) $state(queryoffset) \ + [expr {$state(queryoffset) + $state(-queryblocksize) - 1}]] + incr state(queryoffset) $state(-queryblocksize) + if {$state(queryoffset) >= $state(querylength)} { + set state(queryoffset) $state(querylength) + set done 1 + } + } else { + # Copy blocks from the query channel + + set outStr [read $state(-querychannel) $state(-queryblocksize)] + if {[eof $state(-querychannel)]} { + # This will be the last puts for the request-body. + if { (![catch {fileevent $sock readable} binding]) + && ($binding eq [list http::CheckEof $sock]) + } { + # Remove the "fileevent readable" binding of an idle + # persistent socket to http::CheckEof. We can no longer + # treat bytes received as junk. The server might still time + # out and half-close the socket if it has not yet received + # the first "puts". + fileevent $sock readable {} + } + } + puts -nonewline $sock $outStr + incr state(queryoffset) [string length $outStr] + if {[eof $state(-querychannel)]} { + set done 1 + } + } + } err]} { + # Do not call Finish here, but instead let the read half of the socket + # process whatever server reply there is to get. + + set state(posterror) $err + set done 1 + } + + if {$done} { + catch {flush $sock} + fileevent $sock writable {} + Log ^C$tk end sending request - token $token + # End of writing (POST method). The request has been sent. + + DoneRequest $token + } + + # Callback to the client after we've completely handled everything. + + if {[string length $state(-queryprogress)]} { + eval $state(-queryprogress) \ + [list $token $state(querylength) $state(queryoffset)] + } +} + +# http::Event +# +# Handle input on the socket. This command is the core of +# the coroutine commands ${token}EventCoroutine that are +# bound to "fileevent $sock readable" and process input. +# +# Arguments +# sock The socket receiving input. +# token The token returned from http::geturl +# +# Side Effects +# Read the socket and handle callbacks. + +proc http::Event {sock token} { + variable http + variable socketMapping + variable socketRdState + variable socketWrState + variable socketRdQueue + variable socketWrQueue + variable socketClosing + variable socketPlayCmd + + variable $token + upvar 0 $token state + set tk [namespace tail $token] + while 1 { + yield + ##Log Event call - token $token + + if {![info exists state]} { + Log "Event $sock with invalid token '$token' - remote close?" + if {![eof $sock]} { + if {[set d [read $sock]] ne ""} { + Log "WARNING: additional data left on closed socket\ + - token $token" + } + } + Log ^X$tk end of response (token error) - token $token + CloseSocket $sock + return + } + if {$state(state) eq "connecting"} { + ##Log - connecting - token $token + if { $state(reusing) + && $state(-pipeline) + && ($state(-timeout) > 0) + && (![info exists state(after)]) + } { + set state(after) [after $state(-timeout) \ + [list http::reset $token timeout]] + } + + if {[catch {gets $sock state(http)} nsl]} { + Log "WARNING - if testing, pay special attention to this\ + case (GK) which is seldom executed - token $token" + if {[info exists state(reusing)] && $state(reusing)} { + # The socket was closed at the server end, and closed at + # this end by http::CheckEof. + + if {[TestForReplay $token read $nsl c]} { + return + } + + # else: + # This is NOT a persistent socket that has been closed since + # its last use. + # If any other requests are in flight or pipelined/queued, + # they will be discarded. + } else { + Log ^X$tk end of response (error) - token $token + Finish $token $nsl + return + } + } elseif {$nsl >= 0} { + ##Log - connecting 1 - token $token + set state(state) "header" + } elseif { [eof $sock] + && [info exists state(reusing)] + && $state(reusing) + } { + # The socket was closed at the server end, and we didn't notice. + # This is the first read - where the closure is usually first + # detected. + + if {[TestForReplay $token read {} d]} { + return + } + + # else: + # This is NOT a persistent socket that has been closed since its + # last use. + # If any other requests are in flight or pipelined/queued, they + # will be discarded. + } + } elseif {$state(state) eq "header"} { + if {[catch {gets $sock line} nhl]} { + ##Log header failed - token $token + Log ^X$tk end of response (error) - token $token + Finish $token $nhl + return + } elseif {$nhl == 0} { + ##Log header done - token $token + Log ^E$tk end of response headers - token $token + # We have now read all headers + # We ignore HTTP/1.1 100 Continue returns. RFC2616 sec 8.2.3 + if { ($state(http) == "") + || ([regexp {^\S+\s(\d+)} $state(http) {} x] && $x == 100) + } { + set state(state) "connecting" + continue + # This was a "return" in the pre-coroutine code. + } + + if { ([info exists state(connection)]) + && ([info exists socketMapping($state(socketinfo))]) + && ($state(connection) eq "keep-alive") + && ($state(-keepalive)) + && (!$state(reusing)) + && ($state(-pipeline)) + } { + # Response headers received for first request on a + # persistent socket. Now ready for pipelined writes (if + # any). + # Previous value is $token. It cannot be "pending". + set socketWrState($state(socketinfo)) Wready + http::NextPipelinedWrite $token + } + + # Once a "close" has been signaled, the client MUST NOT send any + # more requests on that connection. + # + # If either the client or the server sends the "close" token in + # the Connection header, that request becomes the last one for + # the connection. + + if { ([info exists state(connection)]) + && ([info exists socketMapping($state(socketinfo))]) + && ($state(connection) eq "close") + && ($state(-keepalive)) + } { + # The server warns that it will close the socket after this + # response. + ##Log WARNING - socket will close after response for $token + # Prepare data for a call to ReplayIfClose. + if { ($socketRdQueue($state(socketinfo)) ne {}) + || ($socketWrQueue($state(socketinfo)) ne {}) + || ($socketWrState($state(socketinfo)) ni + [list Wready peNding $token]) + } { + set InFlightW $socketWrState($state(socketinfo)) + if {$InFlightW in [list Wready peNding $token]} { + set InFlightW Wready + } else { + set msg "token ${InFlightW} is InFlightW" + ##Log $msg - token $token + } + + set socketPlayCmd($state(socketinfo)) \ + [list ReplayIfClose $InFlightW \ + $socketRdQueue($state(socketinfo)) \ + $socketWrQueue($state(socketinfo))] + + # - All tokens are preserved for re-use by ReplayCore. + # - Queues are preserved in case of Finish with error, + # but are not used for anything else because + # socketClosing(*) is set below. + # - Cancel the state(after) timeout events. + foreach tokenVal $socketRdQueue($state(socketinfo)) { + if {[info exists ${tokenVal}(after)]} { + after cancel [set ${tokenVal}(after)] + unset ${tokenVal}(after) + } + } + + } else { + set socketPlayCmd($state(socketinfo)) \ + {ReplayIfClose Wready {} {}} + } + + # Do not allow further connections on this socket. + set socketClosing($state(socketinfo)) 1 + } + + set state(state) body + + # If doing a HEAD, then we won't get any body + if {$state(-validate)} { + Log ^F$tk end of response for HEAD request - token $token + set state(state) complete + Eot $token + return + } + + # - For non-chunked transfer we may have no body - in this case + # we may get no further file event if the connection doesn't + # close and no more data is sent. We can tell and must finish + # up now - not later - the alternative would be to wait until + # the server times out. + # - In this case, the server has NOT told the client it will + # close the connection, AND it has NOT indicated the resource + # length EITHER by setting the Content-Length (totalsize) OR + # by using chunked Transfer-Encoding. + # - Do not worry here about the case (Connection: close) because + # the server should close the connection. + # - IF (NOT Connection: close) AND (NOT chunked encoding) AND + # (totalsize == 0). + + if { (!( [info exists state(connection)] + && ($state(connection) eq "close") + ) + ) + && (![info exists state(transfer)]) + && ($state(totalsize) == 0) + } { + set msg {body size is 0 and no events likely - complete} + Log "$msg - token $token" + set msg {(length unknown, set to 0)} + Log ^F$tk end of response body {*}$msg - token $token + set state(state) complete + Eot $token + return + } + + # We have to use binary translation to count bytes properly. + lassign [fconfigure $sock -translation] trRead trWrite + fconfigure $sock -translation [list binary $trWrite] + + if { + $state(-binary) || [IsBinaryContentType $state(type)] + } { + # Turn off conversions for non-text data. + set state(binary) 1 + } + if {[info exists state(-channel)]} { + if {$state(binary) || [llength [ContentEncoding $token]]} { + fconfigure $state(-channel) -translation binary + } + if {![info exists state(-handler)]} { + # Initiate a sequence of background fcopies. + fileevent $sock readable {} + rename ${token}EventCoroutine {} + CopyStart $sock $token + return + } + } + } elseif {$nhl > 0} { + # Process header lines. + ##Log header - token $token - $line + if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} { + switch -- [string tolower $key] { + content-type { + set state(type) [string trim [string tolower $value]] + # Grab the optional charset information. + if {[regexp -nocase \ + {charset\s*=\s*\"((?:[^""]|\\\")*)\"} \ + $state(type) -> cs]} { + set state(charset) [string map {{\"} \"} $cs] + } else { + regexp -nocase {charset\s*=\s*(\S+?);?} \ + $state(type) -> state(charset) + } + } + content-length { + set state(totalsize) [string trim $value] + } + content-encoding { + set state(coding) [string trim $value] + } + transfer-encoding { + set state(transfer) \ + [string trim [string tolower $value]] + } + proxy-connection - + connection { + set state(connection) \ + [string trim [string tolower $value]] + } + } + lappend state(meta) $key [string trim $value] + } + } + } else { + # Now reading body + ##Log body - token $token + if {[catch { + if {[info exists state(-handler)]} { + set n [eval $state(-handler) [list $sock $token]] + ##Log handler $n - token $token + # N.B. the protocol has been set to 1.0 because the -handler + # logic is not expected to handle chunked encoding. + # FIXME Allow -handler with 1.1 on dechunked stacked chan. + if {$state(totalsize) == 0} { + # We know the transfer is complete only when the server + # closes the connection - i.e. eof is not an error. + set state(state) complete + } + if {![string is integer -strict $n]} { + if 1 { + # Do not tolerate bad -handler - fail with error + # status. + set msg {the -handler command for http::geturl must\ + return an integer (the number of bytes\ + read)} + Log ^X$tk end of response (handler error) -\ + token $token + Eot $token $msg + } else { + # Tolerate the bad -handler, and continue. The + # penalty: + # (a) Because the handler returns nonsense, we know + # the transfer is complete only when the server + # closes the connection - i.e. eof is not an + # error. + # (b) http::size will not be accurate. + # (c) The transaction is already downgraded to 1.0 + # to avoid chunked transfer encoding. It MUST + # also be forced to "Connection: close" or the + # HTTP/1.0 equivalent; or it MUST fail (as + # above) if the server sends + # "Connection: keep-alive" or the HTTP/1.0 + # equivalent. + set n 0 + set state(state) complete + } + } + } elseif {[info exists state(transfer_final)]} { + # This code forgives EOF in place of the final CRLF. + set line [getTextLine $sock] + set n [string length $line] + set state(state) complete + if {$n > 0} { + # - HTTP trailers (late response headers) are permitted + # by Chunked Transfer-Encoding, and can be safely + # ignored. + # - Do not count these bytes in the total received for + # the response body. + Log "trailer of $n bytes after final chunk -\ + token $token" + append state(transfer_final) $line + set n 0 + } else { + Log ^F$tk end of response body (chunked) - token $token + Log "final chunk part - token $token" + Eot $token + } + } elseif { [info exists state(transfer)] + && ($state(transfer) eq "chunked") + } { + ##Log chunked - token $token + set size 0 + set hexLenChunk [getTextLine $sock] + #set ntl [string length $hexLenChunk] + if {[string trim $hexLenChunk] ne ""} { + scan $hexLenChunk %x size + if {$size != 0} { + ##Log chunk-measure $size - token $token + set chunk [BlockingRead $sock $size] + set n [string length $chunk] + if {$n >= 0} { + append state(body) $chunk + incr state(log_size) [string length $chunk] + ##Log chunk $n cumul $state(log_size) -\ + token $token + } + if {$size != [string length $chunk]} { + Log "WARNING: mis-sized chunk:\ + was [string length $chunk], should be\ + $size - token $token" + set n 0 + set state(connection) close + Log ^X$tk end of response (chunk error) \ + - token $token + set msg {error in chunked encoding - fetch\ + terminated} + Eot $token $msg + } + # CRLF that follows chunk. + # If eof, this is handled at the end of this proc. + getTextLine $sock + } else { + set n 0 + set state(transfer_final) {} + } + } else { + # Line expected to hold chunk length is empty, or eof. + ##Log bad-chunk-measure - token $token + set n 0 + set state(connection) close + Log ^X$tk end of response (chunk error) - token $token + Eot $token {error in chunked encoding -\ + fetch terminated} + } + } else { + ##Log unchunked - token $token + if {$state(totalsize) == 0} { + # We know the transfer is complete only when the server + # closes the connection. + set state(state) complete + set reqSize $state(-blocksize) + } else { + # Ask for the whole of the unserved response-body. + # This works around a problem with a tls::socket - for + # https in keep-alive mode, and a request for + # $state(-blocksize) bytes, the last part of the + # resource does not get read until the server times out. + set reqSize [expr { $state(totalsize) + - $state(currentsize)}] + + # The workaround fails if reqSize is + # capped at $state(-blocksize). + # set reqSize [expr {min($reqSize, $state(-blocksize))}] + } + set c $state(currentsize) + set t $state(totalsize) + ##Log non-chunk currentsize $c of totalsize $t -\ + token $token + set block [read $sock $reqSize] + set n [string length $block] + if {$n >= 0} { + append state(body) $block + ##Log non-chunk [string length $state(body)] -\ + token $token + } + } + # This calculation uses n from the -handler, chunked, or + # unchunked case as appropriate. + if {[info exists state]} { + if {$n >= 0} { + incr state(currentsize) $n + set c $state(currentsize) + set t $state(totalsize) + ##Log another $n currentsize $c totalsize $t -\ + token $token + } + # If Content-Length - check for end of data. + if { + ($state(totalsize) > 0) + && ($state(currentsize) >= $state(totalsize)) + } { + Log ^F$tk end of response body (unchunked) -\ + token $token + set state(state) complete + Eot $token + } + } + } err]} { + Log ^X$tk end of response (error ${err}) - token $token + Finish $token $err + return + } else { + if {[info exists state(-progress)]} { + eval $state(-progress) \ + [list $token $state(totalsize) $state(currentsize)] + } + } + } + + # catch as an Eot above may have closed the socket already + # $state(state) may be connecting, header, body, or complete + if {![set cc [catch {eof $sock} eof]] && $eof} { + ##Log eof - token $token + if {[info exists $token]} { + set state(connection) close + if {$state(state) eq "complete"} { + # This includes all cases in which the transaction + # can be completed by eof. + # The value "complete" is set only in http::Event, and it is + # used only in the test above. + Log ^F$tk end of response body (unchunked, eof) -\ + token $token + Eot $token + } else { + # Premature eof. + Log ^X$tk end of response (unexpected eof) - token $token + Eot $token eof + } + } else { + # open connection closed on a token that has been cleaned up. + Log ^X$tk end of response (token error) - token $token + CloseSocket $sock + } + } elseif {$cc} { + return + } + } +} + +# http::TestForReplay +# +# Command called if eof is discovered when a socket is first used for a +# new transaction. Typically this occurs if a persistent socket is used +# after a period of idleness and the server has half-closed the socket. +# +# token - the connection token returned by http::geturl +# doing - "read" or "write" +# err - error message, if any +# caller - code to identify the caller - used only in logging +# +# Return Value: boolean, true iff the command calls http::ReplayIfDead. + +proc http::TestForReplay {token doing err caller} { + variable http + variable $token + upvar 0 $token state + set tk [namespace tail $token] + if {$doing eq "read"} { + set code Q + set action response + set ing reading + } else { + set code P + set action request + set ing writing + } + + if {$err eq {}} { + set err "detect eof when $ing (server timed out?)" + } + + if {$state(method) eq "POST" && !$http(-repost)} { + # No Replay. + # The present transaction will end when Finish is called. + # That call to Finish will abort any other transactions + # currently in the write queue. + # For calls from http::Event this occurs when execution + # reaches the code block at the end of that proc. + set msg {no retry for POST with http::config -repost 0} + Log reusing socket failed "($caller)" - $msg - token $token + Log error - $err - token $token + Log ^X$tk end of $action (error) - token $token + return 0 + } else { + # Replay. + set msg {try a new socket} + Log reusing socket failed "($caller)" - $msg - token $token + Log error - $err - token $token + Log ^$code$tk Any unfinished (incl this one) failed - token $token + ReplayIfDead $token $doing + return 1 + } +} + +# http::IsBinaryContentType -- +# +# Determine if the content-type means that we should definitely transfer +# the data as binary. [Bug 838e99a76d] +# +# Arguments +# type The content-type of the data. +# +# Results: +# Boolean, true if we definitely should be binary. + +proc http::IsBinaryContentType {type} { + lassign [split [string tolower $type] "/;"] major minor + if {$major eq "text"} { + return false + } + # There's a bunch of XML-as-application-format things about. See RFC 3023 + # and so on. + if {$major eq "application"} { + set minor [string trimright $minor] + if {$minor in {"xml" "xml-external-parsed-entity" "xml-dtd"}} { + return false + } + } + # Not just application/foobar+xml but also image/svg+xml, so let us not + # restrict things for now... + if {[string match "*+xml" $minor]} { + return false + } + return true +} + +# http::getTextLine -- +# +# Get one line with the stream in crlf mode. +# Used if Transfer-Encoding is chunked. +# Empty line is not distinguished from eof. The caller must +# be able to handle this. +# +# Arguments +# sock The socket receiving input. +# +# Results: +# The line of text, without trailing newline + +proc http::getTextLine {sock} { + set tr [fconfigure $sock -translation] + lassign $tr trRead trWrite + fconfigure $sock -translation [list crlf $trWrite] + set r [BlockingGets $sock] + fconfigure $sock -translation $tr + return $r +} + +# http::BlockingRead +# +# Replacement for a blocking read. +# The caller must be a coroutine. + +proc http::BlockingRead {sock size} { + if {$size < 1} { + return + } + set result {} + while 1 { + set need [expr {$size - [string length $result]}] + set block [read $sock $need] + set eof [eof $sock] + append result $block + if {[string length $result] >= $size || $eof} { + return $result + } else { + yield + } + } +} + +# http::BlockingGets +# +# Replacement for a blocking gets. +# The caller must be a coroutine. +# Empty line is not distinguished from eof. The caller must +# be able to handle this. + +proc http::BlockingGets {sock} { + while 1 { + set count [gets $sock line] + set eof [eof $sock] + if {$count > -1 || $eof} { + return $line + } else { + yield + } + } +} + +# http::CopyStart +# +# Error handling wrapper around fcopy +# +# Arguments +# sock The socket to copy from +# token The token returned from http::geturl +# +# Side Effects +# This closes the connection upon error + +proc http::CopyStart {sock token {initial 1}} { + upvar #0 $token state + if {[info exists state(transfer)] && $state(transfer) eq "chunked"} { + foreach coding [ContentEncoding $token] { + lappend state(zlib) [zlib stream $coding] + } + make-transformation-chunked $sock [namespace code [list CopyChunk $token]] + } else { + if {$initial} { + foreach coding [ContentEncoding $token] { + zlib push $coding $sock + } + } + if {[catch { + # FIXME Keep-Alive on https tls::socket with unchunked transfer + # hangs until the server times out. A workaround is possible, as for + # the case without -channel, but it does not use the neat "fcopy" + # solution. + fcopy $sock $state(-channel) -size $state(-blocksize) -command \ + [list http::CopyDone $token] + } err]} { + Finish $token $err + } + } +} + +proc http::CopyChunk {token chunk} { + upvar 0 $token state + if {[set count [string length $chunk]]} { + incr state(currentsize) $count + if {[info exists state(zlib)]} { + foreach stream $state(zlib) { + set chunk [$stream add $chunk] + } + } + puts -nonewline $state(-channel) $chunk + if {[info exists state(-progress)]} { + eval [linsert $state(-progress) end \ + $token $state(totalsize) $state(currentsize)] + } + } else { + Log "CopyChunk Finish - token $token" + if {[info exists state(zlib)]} { + set excess "" + foreach stream $state(zlib) { + catch {set excess [$stream add -finalize $excess]} + } + puts -nonewline $state(-channel) $excess + foreach stream $state(zlib) { $stream close } + unset state(zlib) + } + Eot $token ;# FIX ME: pipelining. + } +} + +# http::CopyDone +# +# fcopy completion callback +# +# Arguments +# token The token returned from http::geturl +# count The amount transfered +# +# Side Effects +# Invokes callbacks + +proc http::CopyDone {token count {error {}}} { + variable $token + upvar 0 $token state + set sock $state(sock) + incr state(currentsize) $count + if {[info exists state(-progress)]} { + eval $state(-progress) \ + [list $token $state(totalsize) $state(currentsize)] + } + # At this point the token may have been reset. + if {[string length $error]} { + Finish $token $error + } elseif {[catch {eof $sock} iseof] || $iseof} { + Eot $token + } else { + CopyStart $sock $token 0 + } +} + +# http::Eot +# +# Called when either: +# a. An eof condition is detected on the socket. +# b. The client decides that the response is complete. +# c. The client detects an inconsistency and aborts the transaction. +# +# Does: +# 1. Set state(status) +# 2. Reverse any Content-Encoding +# 3. Convert charset encoding and line ends if necessary +# 4. Call http::Finish +# +# Arguments +# token The token returned from http::geturl +# force (previously) optional, has no effect +# reason - "eof" means premature EOF (not EOF as the natural end of +# the response) +# - "" means completion of response, with or without EOF +# - anything else describes an error confition other than +# premature EOF. +# +# Side Effects +# Clean up the socket + +proc http::Eot {token {reason {}}} { + variable $token + upvar 0 $token state + if {$reason eq "eof"} { + # Premature eof. + set state(status) eof + set reason {} + } elseif {$reason ne ""} { + # Abort the transaction. + set state(status) $reason + } else { + # The response is complete. + set state(status) ok + } + + if {[string length $state(body)] > 0} { + if {[catch { + foreach coding [ContentEncoding $token] { + set state(body) [zlib $coding $state(body)] + } + } err]} { + Log "error doing decompression for token $token: $err" + Finish $token $err + return + } + + if {!$state(binary)} { + # If we are getting text, set the incoming channel's encoding + # correctly. iso8859-1 is the RFC default, but this could be any + # IANA charset. However, we only know how to convert what we have + # encodings for. + + set enc [CharsetToEncoding $state(charset)] + if {$enc ne "binary"} { + set state(body) [encoding convertfrom $enc $state(body)] + } + + # Translate text line endings. + set state(body) [string map {\r\n \n \r \n} $state(body)] + } + } + Finish $token $reason +} + +# http::wait -- +# +# See documentation for details. +# +# Arguments: +# token Connection token. +# +# Results: +# The status after the wait. + +proc http::wait {token} { + variable $token + upvar 0 $token state + + if {![info exists state(status)] || $state(status) eq ""} { + # We must wait on the original variable name, not the upvar alias + vwait ${token}(status) + } + + return [status $token] +} + +# http::formatQuery -- +# +# See documentation for details. Call http::formatQuery with an even +# number of arguments, where the first is a name, the second is a value, +# the third is another name, and so on. +# +# Arguments: +# args A list of name-value pairs. +# +# Results: +# TODO + +proc http::formatQuery {args} { + if {[llength $args] % 2} { + return \ + -code error \ + -errorcode [list HTTP BADARGCNT $args] \ + {Incorrect number of arguments, must be an even number.} + } + set result "" + set sep "" + foreach i $args { + append result $sep [mapReply $i] + if {$sep eq "="} { + set sep & + } else { + set sep = + } + } + return $result +} + +# http::mapReply -- +# +# Do x-www-urlencoded character mapping +# +# Arguments: +# string The string the needs to be encoded +# +# Results: +# The encoded string + +proc http::mapReply {string} { + variable http + variable formMap + + # The spec says: "non-alphanumeric characters are replaced by '%HH'". Use + # a pre-computed map and [string map] to do the conversion (much faster + # than [regsub]/[subst]). [Bug 1020491] + + if {$http(-urlencoding) ne ""} { + set string [encoding convertto $http(-urlencoding) $string] + return [string map $formMap $string] + } + set converted [string map $formMap $string] + if {[string match "*\[\u0100-\uffff\]*" $converted]} { + regexp "\[\u0100-\uffff\]" $converted badChar + # Return this error message for maximum compatibility... :^/ + return -code error \ + "can't read \"formMap($badChar)\": no such element in array" + } + return $converted +} +interp alias {} http::quoteString {} http::mapReply + +# http::ProxyRequired -- +# Default proxy filter. +# +# Arguments: +# host The destination host +# +# Results: +# The current proxy settings + +proc http::ProxyRequired {host} { + variable http + if {[info exists http(-proxyhost)] && [string length $http(-proxyhost)]} { + if { + ![info exists http(-proxyport)] || + ![string length $http(-proxyport)] + } { + set http(-proxyport) 8080 + } + return [list $http(-proxyhost) $http(-proxyport)] + } +} + +# http::CharsetToEncoding -- +# +# Tries to map a given IANA charset to a tcl encoding. If no encoding +# can be found, returns binary. +# + +proc http::CharsetToEncoding {charset} { + variable encodings + + set charset [string tolower $charset] + if {[regexp {iso-?8859-([0-9]+)} $charset -> num]} { + set encoding "iso8859-$num" + } elseif {[regexp {iso-?2022-(jp|kr)} $charset -> ext]} { + set encoding "iso2022-$ext" + } elseif {[regexp {shift[-_]?js} $charset]} { + set encoding "shiftjis" + } elseif {[regexp {(?:windows|cp)-?([0-9]+)} $charset -> num]} { + set encoding "cp$num" + } elseif {$charset eq "us-ascii"} { + set encoding "ascii" + } elseif {[regexp {(?:iso-?)?lat(?:in)?-?([0-9]+)} $charset -> num]} { + switch -- $num { + 5 {set encoding "iso8859-9"} + 1 - 2 - 3 { + set encoding "iso8859-$num" + } + } + } else { + # other charset, like euc-xx, utf-8,... may directly map to encoding + set encoding $charset + } + set idx [lsearch -exact $encodings $encoding] + if {$idx >= 0} { + return $encoding + } else { + return "binary" + } +} + +# Return the list of content-encoding transformations we need to do in order. +proc http::ContentEncoding {token} { + upvar 0 $token state + set r {} + if {[info exists state(coding)]} { + foreach coding [split $state(coding) ,] { + switch -exact -- $coding { + deflate { lappend r inflate } + gzip - x-gzip { lappend r gunzip } + compress - x-compress { lappend r decompress } + identity {} + default { + return -code error "unsupported content-encoding \"$coding\"" + } + } + } + } + return $r +} + +proc http::ReceiveChunked {chan command} { + set data "" + set size -1 + yield + while {1} { + chan configure $chan -translation {crlf binary} + while {[gets $chan line] < 1} { yield } + chan configure $chan -translation {binary binary} + if {[scan $line %x size] != 1} { + return -code error "invalid size: \"$line\"" + } + set chunk "" + while {$size && ![chan eof $chan]} { + set part [chan read $chan $size] + incr size -[string length $part] + append chunk $part + } + if {[catch { + uplevel #0 [linsert $command end $chunk] + }]} { + http::Log "Error in callback: $::errorInfo" + } + if {[string length $chunk] == 0} { + # channel might have been closed in the callback + catch {chan event $chan readable {}} + return + } + } +} + +proc http::make-transformation-chunked {chan command} { + coroutine [namespace current]::dechunk$chan ::http::ReceiveChunked $chan $command + chan event $chan readable [namespace current]::dechunk$chan +} + +# Local variables: +# indent-tabs-mode: t +# End: diff --git a/win32/lib/tcl86t.lib b/win32/lib/tcl86t.lib index 2173f43..240eb03 100644 Binary files a/win32/lib/tcl86t.lib and b/win32/lib/tcl86t.lib differ diff --git a/win32/lib/tclConfig.sh b/win32/lib/tclConfig.sh index c273aee..9674950 100644 --- a/win32/lib/tclConfig.sh +++ b/win32/lib/tclConfig.sh @@ -15,21 +15,21 @@ TCL_DLL_FILE="tcl86t.dll" TCL_VERSION='8.6' TCL_MAJOR_VERSION='8' TCL_MINOR_VERSION='6' -TCL_PATCH_LEVEL='8.6.8' +TCL_PATCH_LEVEL='8.6.9' # C compiler to use for compilation. TCL_CC='cl' # -D flags for use with the C compiler. -TCL_DEFS='-nologo -c /D_ATL_XP_TARGETING /DUNICODE /D_UNICODE -W3 -wd4311 -wd4312 -FpC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_VC13\tcl_ThreadedDynamic\ -fp:strict -O2 -GS -GL -MD -I"C:\build\cpython\externals\tcl-core-8.6.8.0\win\..\win" -I"C:\build\cpython\externals\tcl-core-8.6.8.0\win\..\generic" -I"C:\build\cpython\externals\tcl-core-8.6.8.0\win\..\libtommath" -DTCL_TOMMATH -DMP_PREC=4 -Dinline=__inline -DHAVE_ZLIB=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DTCL_CFGVAL_ENCODING=\"cp1252\" -DSTDC_HEADERS -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DNDEBUG -DTCL_CFG_OPTIMIZED -DBUILD_tcl' +TCL_DEFS='-nologo -c /D_ATL_XP_TARGETING /DUNICODE /D_UNICODE -W3 -wd4311 -wd4312 -FpC:\_work\11\b\tcl-core-8.6.9.0\win\Release_VC13\tcl_ThreadedDynamic\ -fp:strict -O2 -GS -GL -MD -I"C:\_work\11\b\tcl-core-8.6.9.0\win\..\win" -I"C:\_work\11\b\tcl-core-8.6.9.0\win\..\generic" -I"C:\_work\11\b\tcl-core-8.6.9.0\win\..\libtommath" -DTCL_TOMMATH -DMP_PREC=4 -Dinline=__inline -DHAVE_ZLIB=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DTCL_CFGVAL_ENCODING=\"cp1252\" -DSTDC_HEADERS -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DNDEBUG -DTCL_CFG_OPTIMIZED -DBUILD_tcl' # If TCL was built with debugging symbols, generated libraries contain # this string at the end of the library name (before the extension). TCL_DBGX=t # Default flags used in an optimized and debuggable build, respectively. -TCL_CFLAGS_DEBUG='-nologo -c -W3 -YX -FpC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_VC13\tcl_ThreadedDynamic\ -MDd' -TCL_CFLAGS_OPTIMIZE='-nologo -c -W3 -YX -FpC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_VC13\tcl_ThreadedDynamic\ -MD' +TCL_CFLAGS_DEBUG='-nologo -c -W3 -YX -FpC:\_work\11\b\tcl-core-8.6.9.0\win\Release_VC13\tcl_ThreadedDynamic\ -MDd' +TCL_CFLAGS_OPTIMIZE='-nologo -c -W3 -YX -FpC:\_work\11\b\tcl-core-8.6.9.0\win\Release_VC13\tcl_ThreadedDynamic\ -MD' # Default linker flags used in an optimized and debuggable build, respectively. TCL_LDFLAGS_DEBUG='-nologo -machine:IX86 -debug -debugtype:cv' @@ -55,11 +55,11 @@ TCL_LIBS='kernel32.lib advapi32.lib netapi32.lib user32.lib userenv.lib ws2_32.l # Top-level directory in which Tcl's platform-independent files are # installed. -TCL_PREFIX='C:\build\cpython\externals\tcltk-8.6.8.0\win32' +TCL_PREFIX='C:\_work\11\b\tcltk-8.6.9.0\win32' # Top-level directory in which Tcl's platform-specific files (e.g. # executables) are installed. -TCL_EXEC_PREFIX='C:\build\cpython\externals\tcltk-8.6.8.0\win32\bin' +TCL_EXEC_PREFIX='C:\_work\11\b\tcltk-8.6.9.0\win32\bin' # Flags to pass to cc when compiling the components of a shared library: TCL_SHLIB_CFLAGS='' @@ -115,11 +115,11 @@ TCL_BUILD_LIB_SPEC='' # String to pass to linker to pick up the Tcl library from its # installed directory. -TCL_LIB_SPEC='C:\build\cpython\externals\tcltk-8.6.8.0\win32\lib\tcl86t.lib' +TCL_LIB_SPEC='C:\_work\11\b\tcltk-8.6.9.0\win32\lib\tcl86t.lib' # String to pass to the compiler so that an extension can # find installed Tcl headers. -TCL_INCLUDE_SPEC='-IC:\build\cpython\externals\tcltk-8.6.8.0\win32\include' +TCL_INCLUDE_SPEC='-IC:\_work\11\b\tcltk-8.6.9.0\win32\include' # Indicates whether a version numbers should be used in -l switches # ("ok" means it's safe to use switches like -ltcl7.5; "nodots" means @@ -146,7 +146,7 @@ TCL_UNSHARED_LIB_SUFFIX='86t.lib' # different place than the directory containing the source files, this # points to the location of the sources, not the location where Tcl was # compiled. -TCL_SRC_DIR='C:\build\cpython\externals\tcl-core-8.6.8.0\win\..' +TCL_SRC_DIR='C:\_work\11\b\tcl-core-8.6.9.0\win\..' # List of standard directories in which to look for packages during # "package require" commands. Contains the "prefix" directory plus also @@ -164,17 +164,17 @@ TCL_STUB_LIB_FLAG='tclstub86.lib' # String to pass to linker to pick up the Tcl stub library from its # build directory. -TCL_BUILD_STUB_LIB_SPEC='-LC:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_VC13 tclstub86.lib' +TCL_BUILD_STUB_LIB_SPEC='-LC:\_work\11\b\tcl-core-8.6.9.0\win\Release_VC13 tclstub86.lib' # String to pass to linker to pick up the Tcl stub library from its # installed directory. -TCL_STUB_LIB_SPEC='-LC:\build\cpython\externals\tcltk-8.6.8.0\win32\lib tclstub86.lib' +TCL_STUB_LIB_SPEC='-LC:\_work\11\b\tcltk-8.6.9.0\win32\lib tclstub86.lib' # Path to the Tcl stub library in the build directory. -TCL_BUILD_STUB_LIB_PATH='C:\build\cpython\externals\tcl-core-8.6.8.0\win\Release_VC13\tclstub86.lib' +TCL_BUILD_STUB_LIB_PATH='C:\_work\11\b\tcl-core-8.6.9.0\win\Release_VC13\tclstub86.lib' # Path to the Tcl stub library in the install directory. -TCL_STUB_LIB_PATH='C:\build\cpython\externals\tcltk-8.6.8.0\win32\lib\tclstub86.lib' +TCL_STUB_LIB_PATH='C:\_work\11\b\tcltk-8.6.9.0\win32\lib\tclstub86.lib' # Flag, 1: we built Tcl with threads enabled, 0 we didn't TCL_THREADS=1 diff --git a/win32/lib/tclstub86.lib b/win32/lib/tclstub86.lib index a4d1f72..3cb200c 100644 Binary files a/win32/lib/tclstub86.lib and b/win32/lib/tclstub86.lib differ diff --git a/win32/lib/tix8.4.3/tix84.dll b/win32/lib/tix8.4.3/tix84.dll index 9a8b57b..4a38796 100644 Binary files a/win32/lib/tix8.4.3/tix84.dll and b/win32/lib/tix8.4.3/tix84.dll differ diff --git a/win32/lib/tix8.4.3/tix84.lib b/win32/lib/tix8.4.3/tix84.lib index 51672c1..56ff93f 100644 Binary files a/win32/lib/tix8.4.3/tix84.lib and b/win32/lib/tix8.4.3/tix84.lib differ diff --git a/win32/lib/tk8.6/listbox.tcl b/win32/lib/tk8.6/listbox.tcl index 1b35b3d..16e51bd 100644 --- a/win32/lib/tk8.6/listbox.tcl +++ b/win32/lib/tk8.6/listbox.tcl @@ -14,7 +14,7 @@ # tk::Priv elements used in this file: # # afterId - Token returned by "after" for autoscanning. -# listboxPrev - The last element to be selected or deselected +# listboxPrev - The last element to be selected or deselected # during a selection operation. # listboxSelection - All of the items that were selected before the # current selection operation (such as a mouse diff --git a/win32/lib/tk8.6/menu.tcl b/win32/lib/tk8.6/menu.tcl index e1c94c9..ba66b92 100644 --- a/win32/lib/tk8.6/menu.tcl +++ b/win32/lib/tk8.6/menu.tcl @@ -609,7 +609,9 @@ proc ::tk::MenuButtonDown menu { return } if {[$menu index active] eq "none"} { - set Priv(window) {} + if {[$menu cget -type] ne "menubar" } { + set Priv(window) {} + } return } $menu postcascade active diff --git a/win32/lib/tk8.6/msgbox.tcl b/win32/lib/tk8.6/msgbox.tcl index 6d329c2..98603af 100644 --- a/win32/lib/tk8.6/msgbox.tcl +++ b/win32/lib/tk8.6/msgbox.tcl @@ -234,7 +234,8 @@ proc ::tk::MessageBox {args} { } if {!$valid} { return -code error -errorcode {TK MSGBOX DEFAULT} \ - "invalid default button \"$data(-default)\"" + "bad -default value \"$data(-default)\": must be\ + abort, retry, ignore, ok, cancel, no, or yes" } # 2. Set the dialog to be a child window of $parent diff --git a/win32/lib/tk8.6/palette.tcl b/win32/lib/tk8.6/palette.tcl index 9cecf5b..42c6a90 100644 --- a/win32/lib/tk8.6/palette.tcl +++ b/win32/lib/tk8.6/palette.tcl @@ -205,27 +205,27 @@ proc ::tk::RecolorTree {w colors} { # # Arguments: # color - Name of starting color. -# perecent - Integer telling how much to brighten or darken as a +# percent - Integer telling how much to brighten or darken as a # percent: 50 means darken by 50%, 110 means brighten # by 10%. proc ::tk::Darken {color percent} { - foreach {red green blue} [winfo rgb . $color] { - set red [expr {($red/256)*$percent/100}] - set green [expr {($green/256)*$percent/100}] - set blue [expr {($blue/256)*$percent/100}] - break + if {$percent < 0} { + return #000000 + } elseif {$percent > 200} { + return #ffffff + } elseif {$percent <= 100} { + lassign [winfo rgb . $color] r g b + set r [expr {($r/256)*$percent/100}] + set g [expr {($g/256)*$percent/100}] + set b [expr {($b/256)*$percent/100}] + } elseif {$percent > 100} { + lassign [winfo rgb . $color] r g b + set r [expr {255 - ((65535-$r)/256)*(200-$percent)/100}] + set g [expr {255 - ((65535-$g)/256)*(200-$percent)/100}] + set b [expr {255 - ((65535-$b)/256)*(200-$percent)/100}] } - if {$red > 255} { - set red 255 - } - if {$green > 255} { - set green 255 - } - if {$blue > 255} { - set blue 255 - } - return [format "#%02x%02x%02x" $red $green $blue] + return [format #%02x%02x%02x $r $g $b] } # ::tk_bisque -- diff --git a/win32/lib/tk8.6/pkgIndex.tcl b/win32/lib/tk8.6/pkgIndex.tcl index 0dfbf96..f3acba7 100644 --- a/win32/lib/tk8.6/pkgIndex.tcl +++ b/win32/lib/tk8.6/pkgIndex.tcl @@ -1,7 +1,7 @@ if {[catch {package present Tcl 8.6.0}]} { return } if {($::tcl_platform(platform) eq "unix") && ([info exists ::env(DISPLAY)] || ([info exists ::argv] && ("-display" in $::argv)))} { - package ifneeded Tk 8.6.8 [list load [file join $dir .. .. bin libtk8.6.dll] Tk] + package ifneeded Tk 8.6.9 [list load [file join $dir .. .. bin libtk8.6.dll] Tk] } else { - package ifneeded Tk 8.6.8 [list load [file join $dir .. .. bin tk86t.dll] Tk] + package ifneeded Tk 8.6.9 [list load [file join $dir .. .. bin tk86t.dll] Tk] } diff --git a/win32/lib/tk8.6/text.tcl b/win32/lib/tk8.6/text.tcl index 645776d..468696b 100644 --- a/win32/lib/tk8.6/text.tcl +++ b/win32/lib/tk8.6/text.tcl @@ -1058,13 +1058,13 @@ proc ::tk_textCut w { # make <> an atomic operation on the Undo stack, # i.e. separate it from other delete operations on either side set oldSeparator [$w cget -autoseparators] - if {$oldSeparator} { + if {([$w cget -state] eq "normal") && $oldSeparator} { $w edit separator } clipboard clear -displayof $w clipboard append -displayof $w $data $w delete sel.first sel.last - if {$oldSeparator} { + if {([$w cget -state] eq "normal") && $oldSeparator} { $w edit separator } } diff --git a/win32/lib/tk8.6/tk.tcl b/win32/lib/tk8.6/tk.tcl index d2f7b65..61d1354 100644 --- a/win32/lib/tk8.6/tk.tcl +++ b/win32/lib/tk8.6/tk.tcl @@ -11,7 +11,7 @@ # this file, and for a DISCLAIMER OF ALL WARRANTIES. # Verify that we have Tk binary and script components from the same release -package require -exact Tk 8.6.8 +package require -exact Tk 8.6.9 # Create a ::tk namespace namespace eval ::tk { diff --git a/win32/lib/tk8.6/ttk/altTheme.tcl b/win32/lib/tk8.6/ttk/altTheme.tcl index 5630e6c..6fc76f8 100644 --- a/win32/lib/tk8.6/ttk/altTheme.tcl +++ b/win32/lib/tk8.6/ttk/altTheme.tcl @@ -95,8 +95,12 @@ namespace eval ttk::theme::alt { ttk::style configure Heading -font TkHeadingFont -relief raised ttk::style configure Treeview -background $colors(-window) ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] ttk::style configure TScale \ -groovewidth 4 -troughrelief sunken \ diff --git a/win32/lib/tk8.6/ttk/aquaTheme.tcl b/win32/lib/tk8.6/ttk/aquaTheme.tcl index fa0fa12..d6be5a3 100644 --- a/win32/lib/tk8.6/ttk/aquaTheme.tcl +++ b/win32/lib/tk8.6/ttk/aquaTheme.tcl @@ -41,8 +41,13 @@ namespace eval ttk::theme::aqua { ttk::style configure Heading -font TkHeadingFont ttk::style configure Treeview -rowheight 18 -background White ttk::style map Treeview \ - -background {{selected background} systemHighlightSecondary - selected systemHighlight} + -background [list disabled systemDialogBackgroundInactive \ + {!disabled !selected} systemWindowBody \ + {selected background} systemHighlightSecondary \ + selected systemHighlight] \ + -foreground [list disabled systemModelessDialogInactiveText \ + {!disabled !selected} black \ + selected systemModelessDialogActiveText] # Enable animation for ttk::progressbar widget: ttk::style configure TProgressbar -period 100 -maxphase 255 diff --git a/win32/lib/tk8.6/ttk/clamTheme.tcl b/win32/lib/tk8.6/ttk/clamTheme.tcl index 808c365..3c6f5c3 100644 --- a/win32/lib/tk8.6/ttk/clamTheme.tcl +++ b/win32/lib/tk8.6/ttk/clamTheme.tcl @@ -131,8 +131,12 @@ namespace eval ttk::theme::clam { -font TkHeadingFont -relief raised -padding {3} ttk::style configure Treeview -background $colors(-window) ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] ttk::style configure TLabelframe \ -labeloutside true -labelmargins {0 0 0 4} \ diff --git a/win32/lib/tk8.6/ttk/classicTheme.tcl b/win32/lib/tk8.6/ttk/classicTheme.tcl index 3cb2b18..fefdb99 100644 --- a/win32/lib/tk8.6/ttk/classicTheme.tcl +++ b/win32/lib/tk8.6/ttk/classicTheme.tcl @@ -98,8 +98,12 @@ namespace eval ttk::theme::classic { ttk::style configure Heading -font TkHeadingFont -relief raised ttk::style configure Treeview -background $colors(-window) ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] # # Toolbar buttons: diff --git a/win32/lib/tk8.6/ttk/combobox.tcl b/win32/lib/tk8.6/ttk/combobox.tcl index 6ceccef..c1b6da6 100644 --- a/win32/lib/tk8.6/ttk/combobox.tcl +++ b/win32/lib/tk8.6/ttk/combobox.tcl @@ -88,18 +88,18 @@ bind ComboboxPopdown \ ### Option database settings. # -option add *TCombobox*Listbox.font TkTextFont -option add *TCombobox*Listbox.relief flat -option add *TCombobox*Listbox.highlightThickness 0 +option add *TCombobox*Listbox.font TkTextFont widgetDefault +option add *TCombobox*Listbox.relief flat widgetDefault +option add *TCombobox*Listbox.highlightThickness 0 widgetDefault ## Platform-specific settings. # switch -- [tk windowingsystem] { x11 { - option add *TCombobox*Listbox.background white + option add *TCombobox*Listbox.background white widgetDefault } aqua { - option add *TCombobox*Listbox.borderWidth 0 + option add *TCombobox*Listbox.borderWidth 0 widgetDefault } } diff --git a/win32/lib/tk8.6/ttk/defaults.tcl b/win32/lib/tk8.6/ttk/defaults.tcl index 56e2176..4c1753d 100644 --- a/win32/lib/tk8.6/ttk/defaults.tcl +++ b/win32/lib/tk8.6/ttk/defaults.tcl @@ -110,8 +110,12 @@ namespace eval ttk::theme::default { -background $colors(-window) \ -foreground $colors(-text) ; ttk::style map Treeview \ - -background [list selected $colors(-selectbg)] \ - -foreground [list selected $colors(-selectfg)] ; + -background [list disabled $colors(-frame)\ + {!disabled !selected} $colors(-window) \ + selected $colors(-selectbg)] \ + -foreground [list disabled $colors(-disabledfg) \ + {!disabled !selected} black \ + selected $colors(-selectfg)] # Combobox popdown frame ttk::style layout ComboboxPopdownFrame { diff --git a/win32/lib/tk8.6/ttk/entry.tcl b/win32/lib/tk8.6/ttk/entry.tcl index b3ebcbd..c123bc9 100644 --- a/win32/lib/tk8.6/ttk/entry.tcl +++ b/win32/lib/tk8.6/ttk/entry.tcl @@ -34,7 +34,7 @@ namespace eval ttk { ### Option database settings. # -option add *TEntry.cursor [ttk::cursor text] +option add *TEntry.cursor [ttk::cursor text] widgetDefault ### Bindings. # @@ -418,7 +418,7 @@ proc ttk::entry::DragOut {w mode} { # Suspend autoscroll. # proc ttk::entry::DragIn {w} { - ttk::CancelRepeat + ttk::CancelRepeat } ## binding @@ -432,7 +432,7 @@ proc ttk::entry::Release {w} { ## AutoScroll # Called repeatedly when the mouse is outside an entry window # with Button 1 down. Scroll the window left or right, -# depending on where the mouse left the window, and extend +# depending on where the mouse left the window, and extend # the selection according to the current selection mode. # # TODO: AutoScroll should repeat faster (50ms) than normal autorepeat. diff --git a/win32/lib/tk8.6/ttk/sizegrip.tcl b/win32/lib/tk8.6/ttk/sizegrip.tcl index 153e310..24a67c6 100644 --- a/win32/lib/tk8.6/ttk/sizegrip.tcl +++ b/win32/lib/tk8.6/ttk/sizegrip.tcl @@ -9,7 +9,7 @@ switch -- [tk windowingsystem] { x11 - win32 { - option add *TSizegrip.cursor [ttk::cursor seresize] + option add *TSizegrip.cursor [ttk::cursor seresize] widgetDefault } aqua { # Aqua sizegrips use default Arrow cursor. diff --git a/win32/lib/tk8.6/ttk/treeview.tcl b/win32/lib/tk8.6/ttk/treeview.tcl index 8772587..1ed87db 100644 --- a/win32/lib/tk8.6/ttk/treeview.tcl +++ b/win32/lib/tk8.6/ttk/treeview.tcl @@ -120,7 +120,7 @@ proc ttk::treeview::ActivateHeading {w heading} { variable State if {$w != $State(activeWidget) || $heading != $State(activeHeading)} { - if {$State(activeHeading) != {}} { + if {[winfo exists $State(activeWidget)] && $State(activeHeading) != {}} { $State(activeWidget) heading $State(activeHeading) state !active } if {$heading != {}} { diff --git a/win32/lib/tk8.6/ttk/vistaTheme.tcl b/win32/lib/tk8.6/ttk/vistaTheme.tcl index 3f75f51..ecb39c9 100644 --- a/win32/lib/tk8.6/ttk/vistaTheme.tcl +++ b/win32/lib/tk8.6/ttk/vistaTheme.tcl @@ -21,6 +21,7 @@ namespace eval ttk::theme::vista { -foreground SystemWindowText \ -selectforeground SystemHighlightText \ -selectbackground SystemHighlight \ + -insertcolor SystemWindowText \ -font TkDefaultFont \ ; @@ -46,20 +47,24 @@ namespace eval ttk::theme::vista { ttk::style configure Heading -font TkHeadingFont ttk::style configure Treeview -background SystemWindow ttk::style map Treeview \ - -background [list selected SystemHighlight] \ - -foreground [list selected SystemHighlightText] ; + -background [list disabled SystemButtonFace \ + {!disabled !selected} SystemWindow \ + selected SystemHighlight] \ + -foreground [list disabled SystemGrayText \ + {!disabled !selected} SystemWindowText \ + selected SystemHighlightText] # Label and Toolbutton - ttk::style configure TLabelframe.Label -foreground "#0046d5" + ttk::style configure TLabelframe.Label -foreground SystemButtonText ttk::style configure Toolbutton -padding {4 4} # Combobox ttk::style configure TCombobox -padding 2 - ttk::style element create Combobox.field vsapi \ - COMBOBOX 2 {{} 1} ttk::style element create Combobox.border vsapi \ COMBOBOX 4 {disabled 4 focus 3 active 2 hover 2 {} 1} + ttk::style element create Combobox.background vsapi \ + EDIT 3 {disabled 3 readonly 5 focus 4 hover 2 {} 1} ttk::style element create Combobox.rightdownarrow vsapi \ COMBOBOX 6 {disabled 4 pressed 3 active 2 {} 1} \ -syssize {SM_CXVSCROLL SM_CYVSCROLL} @@ -67,8 +72,10 @@ namespace eval ttk::theme::vista { Combobox.border -sticky nswe -border 0 -children { Combobox.rightdownarrow -side right -sticky ns Combobox.padding -expand 1 -sticky nswe -children { - Combobox.focus -expand 1 -sticky nswe -children { - Combobox.textarea -sticky nswe + Combobox.background -sticky nswe -children { + Combobox.focus -expand 1 -sticky nswe -children { + Combobox.textarea -sticky nswe + } } } } diff --git a/win32/lib/tk8.6/ttk/winTheme.tcl b/win32/lib/tk8.6/ttk/winTheme.tcl index 55367bc..a7a2c79 100644 --- a/win32/lib/tk8.6/ttk/winTheme.tcl +++ b/win32/lib/tk8.6/ttk/winTheme.tcl @@ -10,6 +10,8 @@ namespace eval ttk::theme::winnative { -foreground SystemWindowText \ -selectforeground SystemHighlightText \ -selectbackground SystemHighlight \ + -fieldbackground SystemWindow \ + -insertcolor SystemWindowText \ -troughcolor SystemScrollbar \ -font TkDefaultFont \ ; @@ -71,8 +73,12 @@ namespace eval ttk::theme::winnative { ttk::style configure Heading -font TkHeadingFont -relief raised ttk::style configure Treeview -background SystemWindow ttk::style map Treeview \ - -background [list selected SystemHighlight] \ - -foreground [list selected SystemHighlightText] ; + -background [list disabled SystemButtonFace \ + {!disabled !selected} SystemWindow \ + selected SystemHighlight] \ + -foreground [list disabled SystemGrayText \ + {!disabled !selected} SystemWindowText \ + selected SystemHighlightText] ttk::style configure TProgressbar \ -background SystemHighlight -borderwidth 0 ; diff --git a/win32/lib/tk8.6/ttk/xpTheme.tcl b/win32/lib/tk8.6/ttk/xpTheme.tcl index 187ce0b..5d8d09b 100644 --- a/win32/lib/tk8.6/ttk/xpTheme.tcl +++ b/win32/lib/tk8.6/ttk/xpTheme.tcl @@ -11,6 +11,7 @@ namespace eval ttk::theme::xpnative { -foreground SystemWindowText \ -selectforeground SystemHighlightText \ -selectbackground SystemHighlight \ + -insertcolor SystemWindowText \ -font TkDefaultFont \ ; @@ -61,5 +62,15 @@ namespace eval ttk::theme::xpnative { ttk::style configure Toolbutton -padding {4 4} + # Treeview: + ttk::style configure Heading -font TkHeadingFont -relief raised + ttk::style configure Treeview -background SystemWindow + ttk::style map Treeview \ + -background [list disabled SystemButtonFace \ + {!disabled !selected} SystemWindow \ + selected SystemHighlight] \ + -foreground [list disabled SystemGrayText \ + {!disabled !selected} SystemWindowText \ + selected SystemHighlightText]; } } diff --git a/win32/lib/tk86t.lib b/win32/lib/tk86t.lib index deaf478..f098d8e 100644 Binary files a/win32/lib/tk86t.lib and b/win32/lib/tk86t.lib differ diff --git a/win32/lib/tkstub86.lib b/win32/lib/tkstub86.lib index 85bee13..dc06163 100644 Binary files a/win32/lib/tkstub86.lib and b/win32/lib/tkstub86.lib differ