From a08ffc705275c26142abb81f2194f679823b2438 Mon Sep 17 00:00:00 2001 From: Gabriel Caruso Date: Tue, 2 Aug 2022 10:31:16 +0200 Subject: [PATCH 001/229] [ci-skip] Fix for bug #80047 was included in previous release We are removing the entry in 8.0.23, as the fix was included in the 8.0.22 release. Given that an entry already exists, we are just deleting extra lines. --- NEWS | 4 ---- 1 file changed, 4 deletions(-) diff --git a/NEWS b/NEWS index 8cbac266d73c4..e63742c441237 100644 --- a/NEWS +++ b/NEWS @@ -2,10 +2,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2022, PHP 8.0.23 -- Date: - . Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable). - (Derick) - - DBA: . Fixed LMDB driver memory leak on DB creation failure (Girgias) . Fixed bug GH-9155 (dba_open("non-existing", "c-", "flatfile") segfaults). From 60ace13f9c5e2828bfa1c177479039f6abbd4319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Wed, 3 Aug 2022 18:46:36 +0200 Subject: [PATCH 002/229] Fix undefined behavior of MT_RAND_PHP if range exceeds ZEND_LONG_MAX (#9197) RAND_RANGE_BADSCALING() invokes undefined behavior when (max - min) > ZEND_LONG_MAX, because the intermediate `double` might not fit into `zend_long`. Fix this by inlining a fixed version of the macro into Mt19937's range() function. Fixing the macro itself cannot be done in the general case, because the types of the inputs are not known. Instead of replacing one possibly broken version with another possibly broken version, the macro is simply left as is and should be removed in a future version. The fix itself is simple: Instead of storing the "offset" in a `zend_long`, we use a `zend_ulong` which is capable of storing the resulting double by construction. With this fix the implementation of this broken scaling is effectively identical to the implementation of php_random_range from a data type perspective, making it easy to verify the correctness. It was further empirically verified that the broken macro and the fix return the same results for all possible values of `r` for several distinct pairs of (min, max). Fixes GH-9190 Fixes GH-9191 --- NEWS | 2 ++ ext/random/engine_mt19937.c | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 7fb9b27dc7688..32062ccc298ec 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Random: . Fixed bug GH-9235 (non-existant $sequence parameter in stub for PcgOneseq128XslRr64::__construct()). (timwolla) + . Fixed bug GH-9190, GH-9191 (undefined behavior for MT_RAND_PHP when + handling large ranges). (timwolla) . Removed redundant RuntimeExceptions from Randomizer methods. The exceptions thrown by the engines will be exposed directly. (timwolla) . Added extension specific Exceptions/Errors (RandomException, RandomError, diff --git a/ext/random/engine_mt19937.c b/ext/random/engine_mt19937.c index d7d355b90d6b4..266ec5ea11c24 100644 --- a/ext/random/engine_mt19937.c +++ b/ext/random/engine_mt19937.c @@ -168,11 +168,17 @@ static zend_long range(php_random_status *status, zend_long min, zend_long max) return php_random_range(&php_random_algo_mt19937, status, min, max); } - uint64_t r = php_random_algo_mt19937.generate(status) >> 1; /* Legacy mode deliberately not inside php_mt_rand_range() * to prevent other functions being affected */ - RAND_RANGE_BADSCALING(r, min, max, PHP_MT_RAND_MAX); - return (zend_long) r; + + uint64_t r = php_random_algo_mt19937.generate(status) >> 1; + + /* This is an inlined version of the RAND_RANGE_BADSCALING macro that does not invoke UB when encountering + * (max - min) > ZEND_LONG_MAX. + */ + zend_ulong offset = (double) ( (double) max - min + 1.0) * (r / (PHP_MT_RAND_MAX + 1.0)); + + return (zend_long) (offset + min); } static bool serialize(php_random_status *status, HashTable *data) From 7b43d819c86cc96522bd9766126309f8a931faed Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Wed, 3 Aug 2022 23:40:06 +0200 Subject: [PATCH 003/229] Also fix ?-> on magic consts in const expressions Fixes GH-9136 Fixes GH-9138 --- Zend/tests/gh9136_2.phpt | 10 ++++++++++ Zend/tests/gh9138_2.phpt | 11 +++++++++++ Zend/zend_compile.c | 1 + 3 files changed, 22 insertions(+) create mode 100644 Zend/tests/gh9136_2.phpt create mode 100644 Zend/tests/gh9138_2.phpt diff --git a/Zend/tests/gh9136_2.phpt b/Zend/tests/gh9136_2.phpt new file mode 100644 index 0000000000000..23673e69db3d0 --- /dev/null +++ b/Zend/tests/gh9136_2.phpt @@ -0,0 +1,10 @@ +--TEST-- +GH-9136: Assertion when fetching property of magic constant in constant expression with nullsafe operator +--FILE-- +foo; + +?> +--EXPECTF-- +Warning: Attempt to read property "foo" on string in %s on line %d diff --git a/Zend/tests/gh9138_2.phpt b/Zend/tests/gh9138_2.phpt new file mode 100644 index 0000000000000..cbc350221cae2 --- /dev/null +++ b/Zend/tests/gh9138_2.phpt @@ -0,0 +1,11 @@ +--TEST-- +GH-9138: NULL pointer dereference when fetching property of "bad" list in constant expression with nullsafe operator +--FILE-- +e)] +class Foo {} + +?> +--EXPECTF-- +Fatal error: Cannot use empty array elements in arrays in %s on line %d diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 2467c92b514c4..924a2bb9a543d 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -10631,6 +10631,7 @@ static void zend_eval_const_expr(zend_ast **ast_ptr) /* {{{ */ zend_eval_const_expr(&ast->child[2]); return; case ZEND_AST_PROP: + case ZEND_AST_NULLSAFE_PROP: zend_eval_const_expr(&ast->child[0]); zend_eval_const_expr(&ast->child[1]); return; From 3663f7661a425e6ea50effc80db699fde56e43ac Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 4 Aug 2022 11:23:37 +0200 Subject: [PATCH 004/229] DIM on null in const expr should emit warning --- Zend/tests/const_expr_dim_on_null_warning.phpt | 10 ++++++++++ Zend/zend_compile.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/const_expr_dim_on_null_warning.phpt diff --git a/Zend/tests/const_expr_dim_on_null_warning.phpt b/Zend/tests/const_expr_dim_on_null_warning.phpt new file mode 100644 index 0000000000000..9bea754446ffb --- /dev/null +++ b/Zend/tests/const_expr_dim_on_null_warning.phpt @@ -0,0 +1,10 @@ +--TEST-- +DIM on null in constant expr should emit warning +--FILE-- + +--EXPECTF-- +Warning: Trying to access array offset on value of type null in %s on line %d +NULL diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 924a2bb9a543d..8be0c84c4c028 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -10544,7 +10544,7 @@ static void zend_eval_const_expr(zend_ast **ast_ptr) /* {{{ */ c = (zend_uchar) Z_STRVAL_P(container)[offset]; ZVAL_CHAR(&result, c); } else if (Z_TYPE_P(container) <= IS_FALSE) { - ZVAL_NULL(&result); + return; /* warning... handle at runtime */ } else { return; } From 55f8c142242172b34a9cf532e5f56116242fac74 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 4 Aug 2022 12:48:20 +0200 Subject: [PATCH 005/229] Avoid unnecessary comparison The first element of the `arrays` serves as base for the comparison, so there is no need to compare it to itself. Closes GH-9246. --- ext/standard/array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index cf34085e14b7f..c1d33ee2c42dc 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -5718,7 +5718,7 @@ PHP_FUNCTION(array_multisort) /* Make sure the arrays are of the same size. */ array_size = zend_hash_num_elements(Z_ARRVAL_P(arrays[0])); - for (i = 0; i < num_arrays; i++) { + for (i = 1; i < num_arrays; i++) { if (zend_hash_num_elements(Z_ARRVAL_P(arrays[i])) != (uint32_t)array_size) { zend_value_error("Array sizes are inconsistent"); MULTISORT_ABORT; From faa83f2f342880d7ee69fb73a472bca4e387698f Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 4 Aug 2022 13:24:12 +0100 Subject: [PATCH 006/229] Convert some macros to zend_always_inline functions (#8288) This doesn't have an effect really, but humans and IDEs can struggle to see through the macro soup when they first interact with PHP's source code. Moreover, this reduces some of the macro expansion hell when they appear in compiler warnings. --- Zend/zend.h | 5 +- Zend/zend_API.c | 2 +- Zend/zend_API.h | 108 ++++++++++++++++++++++++++++------------ Zend/zend_hash.c | 4 +- Zend/zend_hash.h | 70 +++++++++++++++----------- Zend/zend_inheritance.h | 5 +- Zend/zend_interfaces.h | 25 +++++++--- Zend/zend_llist.h | 23 +++++++-- Zend/zend_operators.h | 8 ++- Zend/zend_smart_str.h | 86 ++++++++++++++++++++++---------- 10 files changed, 229 insertions(+), 107 deletions(-) diff --git a/Zend/zend.h b/Zend/zend.h index dc147f760ee0b..6aedfb8d07433 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -298,8 +298,9 @@ ZEND_API zend_string *zend_print_zval_r_to_str(zval *expr, int indent); ZEND_API void zend_print_flat_zval_r(zval *expr); void zend_print_flat_zval_r_to_buf(smart_str *str, zval *expr); -#define zend_print_variable(var) \ - zend_print_zval((var), 0) +static zend_always_inline size_t zend_print_variable(zval *var) { + return zend_print_zval(var, 0); +} ZEND_API ZEND_COLD void zend_output_debug_string(bool trigger_break, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3); diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 90787376a6216..5cc2d5db17363 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -43,7 +43,7 @@ static zend_module_entry **module_post_deactivate_handlers; static zend_class_entry **class_cleanup_handlers; -ZEND_API zend_result _zend_get_parameters_array_ex(uint32_t param_count, zval *argument_array) /* {{{ */ +ZEND_API zend_result zend_get_parameters_array_ex(uint32_t param_count, zval *argument_array) /* {{{ */ { zval *param_ptr; uint32_t arg_count; diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 785a43191b208..2970299836689 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -329,15 +329,13 @@ typedef struct _zend_fcall_info_cache { ZEND_API int zend_next_free_module(void); BEGIN_EXTERN_C() -ZEND_API zend_result _zend_get_parameters_array_ex(uint32_t param_count, zval *argument_array); +ZEND_API zend_result zend_get_parameters_array_ex(uint32_t param_count, zval *argument_array); /* internal function to efficiently copy parameters when executing __call() */ ZEND_API zend_result zend_copy_parameters_array(uint32_t param_count, zval *argument_array); #define zend_get_parameters_array(ht, param_count, argument_array) \ - _zend_get_parameters_array_ex(param_count, argument_array) -#define zend_get_parameters_array_ex(param_count, argument_array) \ - _zend_get_parameters_array_ex(param_count, argument_array) + zend_get_parameters_array_ex(param_count, argument_array) #define zend_parse_parameters_none() \ (EXPECTED(ZEND_NUM_ARGS() == 0) ? SUCCESS : (zend_wrong_parameters_none_error(), FAILURE)) #define zend_parse_parameters_none_throw() \ @@ -382,8 +380,9 @@ ZEND_API void zend_class_implements(zend_class_entry *class_entry, int num_inter ZEND_API zend_result zend_register_class_alias_ex(const char *name, size_t name_len, zend_class_entry *ce, bool persistent); -#define zend_register_class_alias(name, ce) \ - zend_register_class_alias_ex(name, sizeof(name)-1, ce, 1) +static zend_always_inline zend_result zend_register_class_alias(const char *name, zend_class_entry *ce) { + return zend_register_class_alias_ex(name, strlen(name), ce, 1); +} #define zend_register_ns_class_alias(ns, name, ce) \ zend_register_class_alias_ex(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name))-1, ce, 1) @@ -540,18 +539,42 @@ ZEND_API void add_assoc_object_ex(zval *arg, const char *key, size_t key_len, ze ZEND_API void add_assoc_reference_ex(zval *arg, const char *key, size_t key_len, zend_reference *ref); ZEND_API void add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval *value); -#define add_assoc_long(__arg, __key, __n) add_assoc_long_ex(__arg, __key, strlen(__key), __n) -#define add_assoc_null(__arg, __key) add_assoc_null_ex(__arg, __key, strlen(__key)) -#define add_assoc_bool(__arg, __key, __b) add_assoc_bool_ex(__arg, __key, strlen(__key), __b) -#define add_assoc_resource(__arg, __key, __r) add_assoc_resource_ex(__arg, __key, strlen(__key), __r) -#define add_assoc_double(__arg, __key, __d) add_assoc_double_ex(__arg, __key, strlen(__key), __d) -#define add_assoc_str(__arg, __key, __str) add_assoc_str_ex(__arg, __key, strlen(__key), __str) -#define add_assoc_string(__arg, __key, __str) add_assoc_string_ex(__arg, __key, strlen(__key), __str) -#define add_assoc_stringl(__arg, __key, __str, __length) add_assoc_stringl_ex(__arg, __key, strlen(__key), __str, __length) -#define add_assoc_array(__arg, __key, __arr) add_assoc_array_ex(__arg, __key, strlen(__key), __arr) -#define add_assoc_object(__arg, __key, __obj) add_assoc_object_ex(__arg, __key, strlen(__key), __obj) -#define add_assoc_reference(__arg, __key, __ref) add_assoc_object_ex(__arg, __key, strlen(__key), __ref) -#define add_assoc_zval(__arg, __key, __value) add_assoc_zval_ex(__arg, __key, strlen(__key), __value) +static zend_always_inline void add_assoc_long(zval *arg, const char *key, zend_long n) { + add_assoc_long_ex(arg, key, strlen(key), n); +} +static zend_always_inline void add_assoc_null(zval *arg, const char *key) { + add_assoc_null_ex(arg, key, strlen(key)); +} +static zend_always_inline void add_assoc_bool(zval *arg, const char *key, bool b) { + add_assoc_bool_ex(arg, key, strlen(key), b); +} +static zend_always_inline void add_assoc_resource(zval *arg, const char *key, zend_resource *r) { + add_assoc_resource_ex(arg, key, strlen(key), r); +} +static zend_always_inline void add_assoc_double(zval *arg, const char *key, double d) { + add_assoc_double_ex(arg, key, strlen(key), d); +} +static zend_always_inline void add_assoc_str(zval *arg, const char *key, zend_string *str) { + add_assoc_str_ex(arg, key, strlen(key), str); +} +static zend_always_inline void add_assoc_string(zval *arg, const char *key, const char *str) { + add_assoc_string_ex(arg, key, strlen(key), str); +} +static zend_always_inline void add_assoc_stringl(zval *arg, const char *key, const char *str, size_t length) { + add_assoc_stringl_ex(arg, key, strlen(key), str, length); +} +static zend_always_inline void add_assoc_array(zval *arg, const char *key, zend_array *arr) { + add_assoc_array_ex(arg, key, strlen(key), arr); +} +static zend_always_inline void add_assoc_object(zval *arg, const char *key, zend_object *obj) { + add_assoc_object_ex(arg, key, strlen(key), obj); +} +static zend_always_inline void add_assoc_reference(zval *arg, const char *key, zend_reference *ref) { + add_assoc_reference_ex(arg, key, strlen(key), ref); +} +static zend_always_inline void add_assoc_zval(zval *arg, const char *key, zval *value) { + add_assoc_zval_ex(arg, key, strlen(key), value); +} ZEND_API void add_index_long(zval *arg, zend_ulong index, zend_long n); ZEND_API void add_index_null(zval *arg, zend_ulong index); @@ -602,19 +625,42 @@ ZEND_API void add_property_object_ex(zval *arg, const char *key, size_t key_len, ZEND_API void add_property_reference_ex(zval *arg, const char *key, size_t key_len, zend_reference *ref); ZEND_API void add_property_zval_ex(zval *arg, const char *key, size_t key_len, zval *value); -#define add_property_long(__arg, __key, __n) add_property_long_ex(__arg, __key, strlen(__key), __n) -#define add_property_null(__arg, __key) add_property_null_ex(__arg, __key, strlen(__key)) -#define add_property_bool(__arg, __key, __b) add_property_bool_ex(__arg, __key, strlen(__key), __b) -#define add_property_resource(__arg, __key, __r) add_property_resource_ex(__arg, __key, strlen(__key), __r) -#define add_property_double(__arg, __key, __d) add_property_double_ex(__arg, __key, strlen(__key), __d) -#define add_property_str(__arg, __key, __str) add_property_str_ex(__arg, __key, strlen(__key), __str) -#define add_property_string(__arg, __key, __str) add_property_string_ex(__arg, __key, strlen(__key), __str) -#define add_property_stringl(__arg, __key, __str, __length) add_property_stringl_ex(__arg, __key, strlen(__key), __str, __length) -#define add_property_array(__arg, __key, __arr) add_property_array_ex(__arg, __key, strlen(__key), __arr) -#define add_property_object(__arg, __key, __obj) add_property_object_ex(__arg, __key, strlen(__key), __obj) -#define add_property_reference(__arg, __key, __ref) add_property_reference_ex(__arg, __key, strlen(__key), __ref) -#define add_property_zval(__arg, __key, __value) add_property_zval_ex(__arg, __key, strlen(__key), __value) - +static zend_always_inline void add_property_long(zval *arg, const char *key, zend_long n) { + add_property_long_ex(arg, key, strlen(key), n); +} +static zend_always_inline void add_property_null(zval *arg, const char *key) { + add_property_null_ex(arg, key, strlen(key)); +} +static zend_always_inline void add_property_bool(zval *arg, const char *key, bool b) { + add_property_bool_ex(arg, key, strlen(key), b); +} +static zend_always_inline void add_property_resource(zval *arg, const char *key, zend_resource *r) { + add_property_resource_ex(arg, key, strlen(key), r); +} +static zend_always_inline void add_property_double(zval *arg, const char *key, double d) { + add_property_double_ex(arg, key, strlen(key), d); +} +static zend_always_inline void add_property_str(zval *arg, const char *key, zend_string *str) { + add_property_str_ex(arg, key, strlen(key), str); +} +static zend_always_inline void add_property_string(zval *arg, const char *key, const char *str) { + add_property_string_ex(arg, key, strlen(key), str); +} +static zend_always_inline void add_property_stringl(zval *arg, const char *key, const char *str, size_t length) { + add_property_stringl_ex(arg, key, strlen(key), str, length); +} +static zend_always_inline void add_property_array(zval *arg, const char *key, zend_array *arr) { + add_property_array_ex(arg, key, strlen(key), arr); +} +static zend_always_inline void add_property_object(zval *arg, const char *key, zend_object *obj) { + add_property_object_ex(arg, key, strlen(key), obj); +} +static zend_always_inline void add_property_reference(zval *arg, const char *key, zend_reference *ref) { + add_property_reference_ex(arg, key, strlen(key), ref); +} +static zend_always_inline void add_property_zval(zval *arg, const char *key, zval *value) { + add_property_zval_ex(arg, key, strlen(key), value); +} ZEND_API zend_result _call_user_function_impl(zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[], HashTable *named_params); diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index ffdb0e0385cd4..7b751b1f7c3d4 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -2716,7 +2716,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_hash_move_backwards_ex(HashTable *ht, Ha /* This function should be made binary safe */ -ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos) +ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, const HashPosition *pos) { uint32_t idx; Bucket *p; @@ -2740,7 +2740,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zen return HASH_KEY_NON_EXISTENT; } -ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, HashPosition *pos) +ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, const HashPosition *pos) { uint32_t idx; Bucket *p; diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h index 76898087e27ac..5306fe34c79b4 100644 --- a/Zend/zend_hash.h +++ b/Zend/zend_hash.h @@ -22,6 +22,7 @@ #define ZEND_HASH_H #include "zend.h" +#include "zend_sort.h" #define HASH_KEY_IS_STRING 1 #define HASH_KEY_IS_LONG 2 @@ -244,35 +245,45 @@ static zend_always_inline bool zend_hash_index_exists(const HashTable *ht, zend_ /* traversing */ ZEND_API HashPosition ZEND_FASTCALL zend_hash_get_current_pos(const HashTable *ht); -#define zend_hash_has_more_elements_ex(ht, pos) \ - (zend_hash_get_current_key_type_ex(ht, pos) == HASH_KEY_NON_EXISTENT ? FAILURE : SUCCESS) ZEND_API zend_result ZEND_FASTCALL zend_hash_move_forward_ex(HashTable *ht, HashPosition *pos); ZEND_API zend_result ZEND_FASTCALL zend_hash_move_backwards_ex(HashTable *ht, HashPosition *pos); -ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); -ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, HashPosition *pos); +ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, const HashPosition *pos); +ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, const HashPosition *pos); ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_type_ex(HashTable *ht, HashPosition *pos); ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos); ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_reset_ex(HashTable *ht, HashPosition *pos); ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_end_ex(HashTable *ht, HashPosition *pos); -#define zend_hash_has_more_elements(ht) \ - zend_hash_has_more_elements_ex(ht, &(ht)->nInternalPointer) -#define zend_hash_move_forward(ht) \ - zend_hash_move_forward_ex(ht, &(ht)->nInternalPointer) -#define zend_hash_move_backwards(ht) \ - zend_hash_move_backwards_ex(ht, &(ht)->nInternalPointer) -#define zend_hash_get_current_key(ht, str_index, num_index) \ - zend_hash_get_current_key_ex(ht, str_index, num_index, &(ht)->nInternalPointer) -#define zend_hash_get_current_key_zval(ht, key) \ - zend_hash_get_current_key_zval_ex(ht, key, &(ht)->nInternalPointer) -#define zend_hash_get_current_key_type(ht) \ - zend_hash_get_current_key_type_ex(ht, &(ht)->nInternalPointer) -#define zend_hash_get_current_data(ht) \ - zend_hash_get_current_data_ex(ht, &(ht)->nInternalPointer) -#define zend_hash_internal_pointer_reset(ht) \ - zend_hash_internal_pointer_reset_ex(ht, &(ht)->nInternalPointer) -#define zend_hash_internal_pointer_end(ht) \ - zend_hash_internal_pointer_end_ex(ht, &(ht)->nInternalPointer) +static zend_always_inline zend_result zend_hash_has_more_elements_ex(HashTable *ht, HashPosition *pos) { + return (zend_hash_get_current_key_type_ex(ht, pos) == HASH_KEY_NON_EXISTENT ? FAILURE : SUCCESS); +} +static zend_always_inline zend_result zend_hash_has_more_elements(HashTable *ht) { + return zend_hash_has_more_elements_ex(ht, &ht->nInternalPointer); +} +static zend_always_inline zend_result zend_hash_move_forward(HashTable *ht) { + return zend_hash_move_forward_ex(ht, &ht->nInternalPointer); +} +static zend_always_inline zend_result zend_hash_move_backwards(HashTable *ht) { + return zend_hash_move_backwards_ex(ht, &ht->nInternalPointer); +} +static zend_always_inline int zend_hash_get_current_key(const HashTable *ht, zend_string **str_index, zend_ulong *num_index) { + return zend_hash_get_current_key_ex(ht, str_index, num_index, &ht->nInternalPointer); +} +static zend_always_inline void zend_hash_get_current_key_zval(const HashTable *ht, zval *key) { + zend_hash_get_current_key_zval_ex(ht, key, &ht->nInternalPointer); +} +static zend_always_inline int zend_hash_get_current_key_type(HashTable *ht) { + return zend_hash_get_current_key_type_ex(ht, &ht->nInternalPointer); +} +static zend_always_inline zval* zend_hash_get_current_data(HashTable *ht) { + return zend_hash_get_current_data_ex(ht, &ht->nInternalPointer); +} +static zend_always_inline void zend_hash_internal_pointer_reset(HashTable *ht) { + zend_hash_internal_pointer_reset_ex(ht, &ht->nInternalPointer); +} +static zend_always_inline void zend_hash_internal_pointer_end(HashTable *ht) { + zend_hash_internal_pointer_end_ex(ht, &ht->nInternalPointer); +} /* Copying, merging and sorting */ ZEND_API void ZEND_FASTCALL zend_hash_copy(HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor); @@ -287,14 +298,17 @@ ZEND_API int zend_hash_compare(HashTable *ht1, HashTable *ht2, compare_func_t ZEND_API void ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, bool renumber); ZEND_API zval* ZEND_FASTCALL zend_hash_minmax(const HashTable *ht, compare_func_t compar, uint32_t flag); -#define zend_hash_sort(ht, compare_func, renumber) \ - zend_hash_sort_ex(ht, zend_sort, compare_func, renumber) +static zend_always_inline void ZEND_FASTCALL zend_hash_sort(HashTable *ht, bucket_compare_func_t compare_func, zend_bool renumber) { + zend_hash_sort_ex(ht, zend_sort, compare_func, renumber); +} -#define zend_hash_num_elements(ht) \ - (ht)->nNumOfElements +static zend_always_inline uint32_t zend_hash_num_elements(const HashTable *ht) { + return ht->nNumOfElements; +} -#define zend_hash_next_free_element(ht) \ - (ht)->nNextFreeElement +static zend_always_inline zend_long zend_hash_next_free_element(const HashTable *ht) { + return ht->nNextFreeElement; +} ZEND_API void ZEND_FASTCALL zend_hash_rehash(HashTable *ht); diff --git a/Zend/zend_inheritance.h b/Zend/zend_inheritance.h index ec943119f8b63..1ecd6017f1506 100644 --- a/Zend/zend_inheritance.h +++ b/Zend/zend_inheritance.h @@ -27,8 +27,9 @@ BEGIN_EXTERN_C() ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface); ZEND_API void zend_do_inheritance_ex(zend_class_entry *ce, zend_class_entry *parent_ce, bool checked); -#define zend_do_inheritance(ce, parent_ce) \ - zend_do_inheritance_ex(ce, parent_ce, 0) +static zend_always_inline void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce) { + zend_do_inheritance_ex(ce, parent_ce, 0); +} ZEND_API zend_class_entry *zend_do_link_class(zend_class_entry *ce, zend_string *lc_parent_name, zend_string *key); diff --git a/Zend/zend_interfaces.h b/Zend/zend_interfaces.h index a8351ee9a7823..883e482f510c4 100644 --- a/Zend/zend_interfaces.h +++ b/Zend/zend_interfaces.h @@ -40,14 +40,23 @@ typedef struct _zend_user_iterator { ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2); -#define zend_call_method_with_0_params(obj, obj_ce, fn_proxy, function_name, retval) \ - zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL) - -#define zend_call_method_with_1_params(obj, obj_ce, fn_proxy, function_name, retval, arg1) \ - zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL) - -#define zend_call_method_with_2_params(obj, obj_ce, fn_proxy, function_name, retval, arg1, arg2) \ - zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2) +static zend_always_inline zval* zend_call_method_with_0_params(zend_object *object, zend_class_entry *obj_ce, + zend_function **fn_proxy, const char *function_name, zval *retval) +{ + return zend_call_method(object, obj_ce, fn_proxy, function_name, strlen(function_name), retval, 0, NULL, NULL); +} + +static zend_always_inline zval* zend_call_method_with_1_params(zend_object *object, zend_class_entry *obj_ce, + zend_function **fn_proxy, const char *function_name, zval *retval, zval* arg1) +{ + return zend_call_method(object, obj_ce, fn_proxy, function_name, strlen(function_name), retval, 1, arg1, NULL); +} + +static zend_always_inline zval* zend_call_method_with_2_params(zend_object *object, zend_class_entry *obj_ce, + zend_function **fn_proxy, const char *function_name, zval *retval, zval* arg1, zval* arg2) +{ + return zend_call_method(object, obj_ce, fn_proxy, function_name, strlen(function_name), retval, 2, arg1, arg2); +} ZEND_API void zend_user_it_rewind(zend_object_iterator *_iter); ZEND_API zend_result zend_user_it_valid(zend_object_iterator *_iter); diff --git a/Zend/zend_llist.h b/Zend/zend_llist.h index e9b5b1d1fb440..cce5ad5ce95a7 100644 --- a/Zend/zend_llist.h +++ b/Zend/zend_llist.h @@ -66,10 +66,25 @@ ZEND_API void *zend_llist_get_last_ex(zend_llist *l, zend_llist_position *pos); ZEND_API void *zend_llist_get_next_ex(zend_llist *l, zend_llist_position *pos); ZEND_API void *zend_llist_get_prev_ex(zend_llist *l, zend_llist_position *pos); -#define zend_llist_get_first(l) zend_llist_get_first_ex(l, NULL) -#define zend_llist_get_last(l) zend_llist_get_last_ex(l, NULL) -#define zend_llist_get_next(l) zend_llist_get_next_ex(l, NULL) -#define zend_llist_get_prev(l) zend_llist_get_prev_ex(l, NULL) +static zend_always_inline void *zend_llist_get_first(zend_llist *l) +{ + return zend_llist_get_first_ex(l, NULL); +} + +static zend_always_inline void *zend_llist_get_last(zend_llist *l) +{ + return zend_llist_get_last_ex(l, NULL); +} + +static zend_always_inline void *zend_llist_get_next(zend_llist *l) +{ + return zend_llist_get_next_ex(l, NULL); +} + +static zend_always_inline void *zend_llist_get_prev(zend_llist *l) +{ + return zend_llist_get_prev_ex(l, NULL); +} END_EXTERN_C() diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index de02a406d575e..350612fe9db51 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -450,8 +450,12 @@ ZEND_API char* ZEND_FASTCALL zend_str_toupper_dup_ex(const char *source, ZEND_API zend_string* ZEND_FASTCALL zend_string_tolower_ex(zend_string *str, bool persistent); ZEND_API zend_string* ZEND_FASTCALL zend_string_toupper_ex(zend_string *str, bool persistent); -#define zend_string_tolower(str) zend_string_tolower_ex(str, 0) -#define zend_string_toupper(str) zend_string_toupper_ex(str, 0) +static zend_always_inline zend_string* zend_string_tolower(zend_string *str) { + return zend_string_tolower_ex(str, false); +} +static zend_always_inline zend_string* zend_string_toupper(zend_string *str) { + return zend_string_toupper_ex(str, false); +} ZEND_API int ZEND_FASTCALL zend_binary_zval_strcmp(zval *s1, zval *s2); ZEND_API int ZEND_FASTCALL zend_binary_zval_strncmp(zval *s1, zval *s2, zval *s3); diff --git a/Zend/zend_smart_str.h b/Zend/zend_smart_str.h index cf28016993f74..d8b72905d0216 100644 --- a/Zend/zend_smart_str.h +++ b/Zend/zend_smart_str.h @@ -21,33 +21,6 @@ #include "zend_globals.h" #include "zend_smart_str_public.h" -#define smart_str_appends_ex(dest, src, what) \ - smart_str_appendl_ex((dest), (src), strlen(src), (what)) -#define smart_str_appends(dest, src) \ - smart_str_appendl((dest), (src), strlen(src)) -#define smart_str_extract(dest) \ - smart_str_extract_ex((dest), 0) -#define smart_str_trim_to_size(dest) \ - smart_str_trim_to_size_ex((dest), 0) -#define smart_str_extend(dest, len) \ - smart_str_extend_ex((dest), (len), 0) -#define smart_str_appendc(dest, c) \ - smart_str_appendc_ex((dest), (c), 0) -#define smart_str_appendl(dest, src, len) \ - smart_str_appendl_ex((dest), (src), (len), 0) -#define smart_str_append(dest, src) \ - smart_str_append_ex((dest), (src), 0) -#define smart_str_append_smart_str(dest, src) \ - smart_str_append_smart_str_ex((dest), (src), 0) -#define smart_str_sets(dest, src) \ - smart_str_setl((dest), (src), strlen(src)); -#define smart_str_append_long(dest, val) \ - smart_str_append_long_ex((dest), (val), 0) -#define smart_str_append_unsigned(dest, val) \ - smart_str_append_unsigned_ex((dest), (val), 0) -#define smart_str_free(dest) \ - smart_str_free_ex((dest), 0) - BEGIN_EXTERN_C() ZEND_API void ZEND_FASTCALL smart_str_erealloc(smart_str *str, size_t len); @@ -87,6 +60,11 @@ static zend_always_inline char* smart_str_extend_ex(smart_str *dest, size_t len, return ret; } +static zend_always_inline char* smart_str_extend(smart_str *dest, size_t length) +{ + return smart_str_extend_ex(dest, length, false); +} + static zend_always_inline void smart_str_free_ex(smart_str *str, bool persistent) { if (str->s) { zend_string_release_ex(str->s, persistent); @@ -95,6 +73,11 @@ static zend_always_inline void smart_str_free_ex(smart_str *str, bool persistent str->a = 0; } +static zend_always_inline void smart_str_free(smart_str *str) +{ + smart_str_free_ex(str, false); +} + static zend_always_inline void smart_str_0(smart_str *str) { if (str->s) { ZSTR_VAL(str->s)[ZSTR_LEN(str->s)] = '\0'; @@ -113,6 +96,11 @@ static zend_always_inline void smart_str_trim_to_size_ex(smart_str *str, bool pe } } +static zend_always_inline void smart_str_trim_to_size(smart_str *dest) +{ + smart_str_trim_to_size_ex(dest, false); +} + static zend_always_inline zend_string *smart_str_extract_ex(smart_str *str, bool persistent) { if (str->s) { zend_string *res; @@ -126,6 +114,11 @@ static zend_always_inline zend_string *smart_str_extract_ex(smart_str *str, bool } } +static zend_always_inline zend_string *smart_str_extract(smart_str *dest) +{ + return smart_str_extract_ex(dest, false); +} + static zend_always_inline void smart_str_appendc_ex(smart_str *dest, char ch, bool persistent) { size_t new_len = smart_str_alloc(dest, 1, persistent); ZSTR_VAL(dest->s)[new_len - 1] = ch; @@ -154,15 +147,54 @@ static zend_always_inline void smart_str_append_long_ex(smart_str *dest, zend_lo smart_str_appendl_ex(dest, result, buf + sizeof(buf) - 1 - result, persistent); } +static zend_always_inline void smart_str_append_long(smart_str *dest, zend_long num) +{ + smart_str_append_long_ex(dest, num, false); +} + static zend_always_inline void smart_str_append_unsigned_ex(smart_str *dest, zend_ulong num, bool persistent) { char buf[32]; char *result = zend_print_ulong_to_buf(buf + sizeof(buf) - 1, num); smart_str_appendl_ex(dest, result, buf + sizeof(buf) - 1 - result, persistent); } +static zend_always_inline void smart_str_append_unsigned(smart_str *dest, zend_ulong num) +{ + smart_str_append_unsigned_ex(dest, num, false); +} + +static zend_always_inline void smart_str_appendl(smart_str *dest, const char *src, size_t length) +{ + smart_str_appendl_ex(dest, src, length, false); +} +static zend_always_inline void smart_str_appends_ex(smart_str *dest, const char *src, bool persistent) +{ + smart_str_appendl_ex(dest, src, strlen(src), persistent); +} +static zend_always_inline void smart_str_appends(smart_str *dest, const char *src) +{ + smart_str_appendl_ex(dest, src, strlen(src), false); +} +static zend_always_inline void smart_str_append(smart_str *dest, const zend_string *src) +{ + smart_str_append_ex(dest, src, false); +} +static zend_always_inline void smart_str_appendc(smart_str *dest, char ch) +{ + smart_str_appendc_ex(dest, ch, false); +} +static zend_always_inline void smart_str_append_smart_str(smart_str *dest, const smart_str *src) +{ + smart_str_append_smart_str_ex(dest, src, false); +} + static zend_always_inline void smart_str_setl(smart_str *dest, const char *src, size_t len) { smart_str_free(dest); smart_str_appendl(dest, src, len); } +static zend_always_inline void smart_str_sets(smart_str *dest, const char *src) +{ + smart_str_setl(dest, src, strlen(src)); +} #endif From f11228cdbe646086af263c203be1c5c4216a2501 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 4 Aug 2022 16:20:52 +0200 Subject: [PATCH 007/229] Add conflict markers for dba tests These tests use the same filename, and as such must not be run in parallel. --- ext/dba/tests/dba_optimize.phpt | 2 ++ ext/dba/tests/gh9155.phpt | 2 ++ ext/dba/tests/value_errors_open.phpt | 2 ++ 3 files changed, 6 insertions(+) diff --git a/ext/dba/tests/dba_optimize.phpt b/ext/dba/tests/dba_optimize.phpt index 8798d20ae6fb6..d3193dd309e1d 100644 --- a/ext/dba/tests/dba_optimize.phpt +++ b/ext/dba/tests/dba_optimize.phpt @@ -2,6 +2,8 @@ DBA Optimize Test --EXTENSIONS-- dba +--CONFLICTS-- +dba --SKIPIF-- Date: Thu, 4 Aug 2022 23:56:19 +0900 Subject: [PATCH 008/229] Remove ZEND_DVAL_TO_LVAL_CAST_OK (#9215) * Remove ZEND_DVAL_TO_LVAL_CAST_OK As far as I can see, this operation should always use the _slow method, and the results seem to be wrong when ZEND_DVAL_TO_LVAL_CAST_OK is enabled. * update NEWS --- NEWS | 1 + Zend/Zend.m4 | 34 ---------------------------------- Zend/zend_operators.c | 4 +--- Zend/zend_operators.h | 11 ----------- 4 files changed, 2 insertions(+), 48 deletions(-) diff --git a/NEWS b/NEWS index e63742c441237..778279e010fa7 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,7 @@ PHP NEWS - Standard: . Fixed bug GH-9017 (php_stream_sock_open_from_socket could return NULL). (Heiko Weber) + . Fixed incorrect double to long casting in latest clang. (zeriyoshi) 04 Aug 2022, PHP 8.0.22 diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index 781e51d3e44c0..ee0fdcabff8a6 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -149,40 +149,6 @@ dnl Checks for library functions. AC_CHECK_FUNCS(getpid kill sigsetjmp) ZEND_CHECK_FLOAT_PRECISION - -dnl Test whether double cast to long preserves least significant bits. -AC_MSG_CHECKING(whether double cast to long preserves least significant bits) - -AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include - -int main() -{ - if (sizeof(long) == 4) { - double d = (double) LONG_MIN * LONG_MIN + 2e9; - - if ((long) d == 2e9 && (long) -d == -2e9) { - return 0; - } - } else if (sizeof(long) == 8) { - double correct = 18e18 - ((double) LONG_MIN * -2); /* Subtract ULONG_MAX + 1 */ - - if ((long) 18e18 == correct) { /* On 64-bit, only check between LONG_MAX and ULONG_MAX */ - return 0; - } - } - return 1; -} -]])], [ - AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits]) - AC_MSG_RESULT(yes) -], [ - AC_MSG_RESULT(no) -], [ - AC_MSG_RESULT(no) -]) - ]) dnl diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 423ed918da3f3..272d5ede972be 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -3222,8 +3222,7 @@ ZEND_API const char* ZEND_FASTCALL zend_memnrstr_ex(const char *haystack, const } /* }}} */ -#ifndef ZEND_DVAL_TO_LVAL_CAST_OK -# if SIZEOF_ZEND_LONG == 4 +#if SIZEOF_ZEND_LONG == 4 ZEND_API zend_long ZEND_FASTCALL zend_dval_to_lval_slow(double d) /* {{{ */ { double two_pow_32 = pow(2., 32.), @@ -3253,4 +3252,3 @@ ZEND_API zend_long ZEND_FASTCALL zend_dval_to_lval_slow(double d) } /* }}} */ #endif -#endif diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index d543b7b03c2bb..a6589f9677785 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -99,16 +99,6 @@ ZEND_API const char* ZEND_FASTCALL zend_memnrstr_ex(const char *haystack, const # define ZEND_DOUBLE_FITS_LONG(d) (!((d) >= (double)ZEND_LONG_MAX || (d) < (double)ZEND_LONG_MIN)) #endif -#ifdef ZEND_DVAL_TO_LVAL_CAST_OK -static zend_always_inline zend_long zend_dval_to_lval(double d) -{ - if (EXPECTED(zend_finite(d)) && EXPECTED(!zend_isnan(d))) { - return (zend_long)d; - } else { - return 0; - } -} -#else ZEND_API zend_long ZEND_FASTCALL zend_dval_to_lval_slow(double d); static zend_always_inline zend_long zend_dval_to_lval(double d) @@ -120,7 +110,6 @@ static zend_always_inline zend_long zend_dval_to_lval(double d) } return (zend_long)d; } -#endif static zend_always_inline zend_long zend_dval_to_lval_cap(double d) { From 1ce2b56227fce6b63bc70462a82d5301ec77a9ef Mon Sep 17 00:00:00 2001 From: zeriyoshi Date: Fri, 5 Aug 2022 00:05:12 +0900 Subject: [PATCH 009/229] [CI skip] update NEWS --- NEWS | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 778279e010fa7..1c9cf761660c4 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2022, PHP 8.0.23 +- Core: + . Fixed incorrect double to long casting in latest clang. (zeriyoshi) + - DBA: . Fixed LMDB driver memory leak on DB creation failure (Girgias) . Fixed bug GH-9155 (dba_open("non-existing", "c-", "flatfile") segfaults). @@ -20,7 +23,6 @@ PHP NEWS - Standard: . Fixed bug GH-9017 (php_stream_sock_open_from_socket could return NULL). (Heiko Weber) - . Fixed incorrect double to long casting in latest clang. (zeriyoshi) 04 Aug 2022, PHP 8.0.22 From dc5475c1913c1e8c256c6d35b37e488b25055a37 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Thu, 28 Jul 2022 16:50:26 +0200 Subject: [PATCH 010/229] Save previous observer on the VM stack This avoids a possible significant performance penalty, when some leaf function was observed, deep in the stack. As a side effect, we are not iterating over prev_execute_data anymore and thus, non-observed fake frames, possibly on stack, cannot have any impact on the observer anymore (especially within zend_observer_fcall_end_all). Saving the previous observer happens now directly on the VM stack. If there is any observer, function frames are allocated an extra zval (the last temporary), which will, on observed frames, contain the previous observed frame address. --- Zend/Optimizer/zend_optimizer.c | 13 ++++++ Zend/zend_API.c | 1 + Zend/zend_compile.h | 4 +- Zend/zend_enum.c | 2 + Zend/zend_execute.c | 1 + Zend/zend_execute.h | 4 +- Zend/zend_observer.c | 72 +++++++++++++---------------- Zend/zend_opcode.c | 3 ++ ext/opcache/jit/zend_jit_arm64.dasc | 2 +- ext/opcache/jit/zend_jit_x86.dasc | 2 +- ext/pdo/pdo_dbh.c | 2 + 11 files changed, 62 insertions(+), 44 deletions(-) diff --git a/Zend/Optimizer/zend_optimizer.c b/Zend/Optimizer/zend_optimizer.c index bb2936fd40a38..b5841159bf12c 100644 --- a/Zend/Optimizer/zend_optimizer.c +++ b/Zend/Optimizer/zend_optimizer.c @@ -31,6 +31,7 @@ #include "zend_inference.h" #include "zend_dump.h" #include "php.h" +#include "zend_observer.h" #ifndef ZEND_OPTIMIZER_MAX_REGISTERED_PASSES # define ZEND_OPTIMIZER_MAX_REGISTERED_PASSES 32 @@ -1094,6 +1095,8 @@ static void zend_revert_pass_two(zend_op_array *op_array) } #endif + op_array->T -= ZEND_OBSERVER_ENABLED; + op_array->fn_flags &= ~ZEND_ACC_DONE_PASS_TWO; } @@ -1123,6 +1126,8 @@ static void zend_redo_pass_two(zend_op_array *op_array) } #endif + op_array->T += ZEND_OBSERVER_ENABLED; // reserve last temporary for observers if enabled + opline = op_array->opcodes; end = opline + op_array->last; while (opline < end) { @@ -1550,6 +1555,12 @@ ZEND_API void zend_optimize_script(zend_script *script, zend_long optimization_l } } + if (ZEND_OBSERVER_ENABLED) { + for (i = 0; i < call_graph.op_arrays_count; i++) { + ++call_graph.op_arrays[i]->T; // ensure accurate temporary count for stack size precalculation + } + } + if (ZEND_OPTIMIZER_PASS_12 & optimization_level) { for (i = 0; i < call_graph.op_arrays_count; i++) { zend_adjust_fcall_stack_size_graph(call_graph.op_arrays[i]); @@ -1565,6 +1576,8 @@ ZEND_API void zend_optimize_script(zend_script *script, zend_long optimization_l zend_recalc_live_ranges(op_array, needs_live_range); } } else { + op_array->T -= ZEND_OBSERVER_ENABLED; // redo_pass_two will re-increment it + zend_redo_pass_two(op_array); if (op_array->live_range) { zend_recalc_live_ranges(op_array, NULL); diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 5cc2d5db17363..133281235fec4 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2685,6 +2685,7 @@ ZEND_API zend_result zend_register_functions(zend_class_entry *scope, const zend } internal_function->type = ZEND_INTERNAL_FUNCTION; internal_function->module = EG(current_module); + internal_function->T = 0; memset(internal_function->reserved, 0, ZEND_MAX_RESERVED_RESOURCES * sizeof(void*)); while (ptr->fname) { diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 5bcb1a58ec4e2..2802478f29256 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -448,12 +448,12 @@ struct _zend_op_array { uint32_t required_num_args; zend_arg_info *arg_info; HashTable *attributes; + uint32_t T; /* number of temporary variables */ ZEND_MAP_PTR_DEF(void **, run_time_cache); /* END of common elements */ int cache_size; /* number of run_time_cache_slots * sizeof(void*) */ int last_var; /* number of CV variables */ - uint32_t T; /* number of temporary variables */ uint32_t last; /* number of opcodes */ zend_op *opcodes; @@ -503,6 +503,7 @@ typedef struct _zend_internal_function { uint32_t required_num_args; zend_internal_arg_info *arg_info; HashTable *attributes; + uint32_t T; /* number of temporary variables */ ZEND_MAP_PTR_DEF(void **, run_time_cache); /* END of common elements */ @@ -528,6 +529,7 @@ union _zend_function { uint32_t required_num_args; zend_arg_info *arg_info; /* index -1 represents the return value info, if any */ HashTable *attributes; + uint32_t T; /* number of temporary variables */ ZEND_MAP_PTR_DEF(void **, run_time_cache); } common; diff --git a/Zend/zend_enum.c b/Zend/zend_enum.c index 288e019c91383..16c3753e7c94a 100644 --- a/Zend/zend_enum.c +++ b/Zend/zend_enum.c @@ -23,6 +23,7 @@ #include "zend_interfaces.h" #include "zend_enum.h" #include "zend_extensions.h" +#include "zend_observer.h" #define ZEND_ENUM_DISALLOW_MAGIC_METHOD(propertyName, methodName) \ do { \ @@ -407,6 +408,7 @@ static void zend_enum_register_func(zend_class_entry *ce, zend_known_string_id n zif->type = ZEND_INTERNAL_FUNCTION; zif->module = EG(current_module); zif->scope = ce; + zif->T = ZEND_OBSERVER_ENABLED; ZEND_MAP_PTR_NEW(zif->run_time_cache); ZEND_MAP_PTR_SET(zif->run_time_cache, zend_arena_alloc(&CG(arena), zend_internal_run_time_cache_reserved_size())); diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 45cf790bfa818..785626adfe7ac 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -144,6 +144,7 @@ ZEND_API const zend_internal_function zend_pass_function = { 0, /* required_num_args */ (zend_internal_arg_info *) zend_pass_function_arg_info + 1, /* arg_info */ NULL, /* attributes */ + 0, /* T */ NULL, /* run_time_cache */ ZEND_FN(pass), /* handler */ NULL, /* module */ diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index b43f038e4928c..d0da5ebf15afc 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -245,10 +245,10 @@ static zend_always_inline zend_execute_data *zend_vm_stack_push_call_frame_ex(ui static zend_always_inline uint32_t zend_vm_calc_used_stack(uint32_t num_args, zend_function *func) { - uint32_t used_stack = ZEND_CALL_FRAME_SLOT + num_args; + uint32_t used_stack = ZEND_CALL_FRAME_SLOT + num_args + func->common.T; if (EXPECTED(ZEND_USER_CODE(func->type))) { - used_stack += func->op_array.last_var + func->op_array.T - MIN(func->op_array.num_args, num_args); + used_stack += func->op_array.last_var - MIN(func->op_array.num_args, num_args); } return used_stack * sizeof(zval); } diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index 8151ef74fab24..aefa1bd02b3f4 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -78,6 +78,18 @@ ZEND_API void zend_observer_post_startup(void) ZEND_VM_SET_OPCODE_HANDLER(EG(exception_op)); ZEND_VM_SET_OPCODE_HANDLER(EG(exception_op) + 1); ZEND_VM_SET_OPCODE_HANDLER(EG(exception_op) + 2); + + // Add an observer temporary to store previous observed frames + zend_internal_function *zif; + ZEND_HASH_FOREACH_PTR(CG(function_table), zif) { + ++zif->T; + } ZEND_HASH_FOREACH_END(); + zend_class_entry *ce; + ZEND_HASH_MAP_FOREACH_PTR(CG(class_table), ce) { + ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, zif) { + ++zif->T; + } ZEND_HASH_FOREACH_END(); + } ZEND_HASH_FOREACH_END(); } } @@ -187,6 +199,11 @@ ZEND_API bool zend_observer_remove_end_handler(zend_function *function, zend_obs return zend_observer_remove_handler((void **)&ZEND_OBSERVER_DATA(function) + registered_observers, end); } +static inline zend_execute_data **prev_observed_frame(zend_execute_data *execute_data) { + zend_function *func = EX(func); + return (zend_execute_data **)&Z_PTR_P(EX_VAR_NUM((ZEND_USER_CODE(func->type) ? func->op_array.last_var : ZEND_CALL_NUM_ARGS(execute_data)) + func->common.T - 1)); +} + static void ZEND_FASTCALL _zend_observe_fcall_begin(zend_execute_data *execute_data) { if (!ZEND_OBSERVER_ENABLED) { @@ -208,9 +225,7 @@ static void ZEND_FASTCALL _zend_observe_fcall_begin(zend_execute_data *execute_d zend_observer_fcall_end_handler *end_handler = (zend_observer_fcall_end_handler *)possible_handlers_end; if (*end_handler != ZEND_OBSERVER_NOT_OBSERVED) { - if (first_observed_frame == NULL) { - first_observed_frame = execute_data; - } + *prev_observed_frame(execute_data) = current_observed_frame; current_observed_frame = execute_data; } @@ -236,29 +251,9 @@ ZEND_API void ZEND_FASTCALL zend_observer_fcall_begin(zend_execute_data *execute } } -static inline bool zend_observer_is_skipped_frame(zend_execute_data *execute_data) { - zend_function *func = execute_data->func; - - if (!func || !ZEND_OBSERVABLE_FN(func)) { - return true; - } - - zend_observer_fcall_end_handler end_handler = (&ZEND_OBSERVER_DATA(func))[zend_observers_fcall_list.count]; - if (end_handler == NULL || end_handler == ZEND_OBSERVER_NOT_OBSERVED) { - return true; - } - - return false; -} - -ZEND_API void ZEND_FASTCALL zend_observer_fcall_end(zend_execute_data *execute_data, zval *return_value) -{ +static inline void call_end_observers(zend_execute_data *execute_data, zval *return_value) { zend_function *func = execute_data->func; - if (!ZEND_OBSERVER_ENABLED || !ZEND_OBSERVABLE_FN(func)) { - return; - } - zend_observer_fcall_end_handler *handler = (zend_observer_fcall_end_handler *)&ZEND_OBSERVER_DATA(func) + zend_observers_fcall_list.count; // TODO: Fix exceptions from generators // ZEND_ASSERT(fcall_data); @@ -270,28 +265,27 @@ ZEND_API void ZEND_FASTCALL zend_observer_fcall_end(zend_execute_data *execute_d do { (*handler)(execute_data, return_value); } while (++handler != possible_handlers_end && *handler != NULL); +} - if (first_observed_frame == execute_data) { - first_observed_frame = NULL; - current_observed_frame = NULL; - } else { - zend_execute_data *ex = execute_data->prev_execute_data; - while (ex && zend_observer_is_skipped_frame(ex)) { - ex = ex->prev_execute_data; - } - current_observed_frame = ex; +ZEND_API void ZEND_FASTCALL zend_observer_fcall_end(zend_execute_data *execute_data, zval *return_value) +{ + if (execute_data != current_observed_frame) { + return; } + call_end_observers(execute_data, return_value); + current_observed_frame = *prev_observed_frame(execute_data); } ZEND_API void zend_observer_fcall_end_all(void) { - zend_execute_data *ex = current_observed_frame; - while (ex != NULL) { - if (ex->func) { - zend_observer_fcall_end(ex, NULL); - } - ex = ex->prev_execute_data; + zend_execute_data *execute_data = current_observed_frame, *original_execute_data = EG(current_execute_data); + current_observed_frame = NULL; + while (execute_data) { + EG(current_execute_data) = execute_data; + call_end_observers(execute_data, NULL); + execute_data = *prev_observed_frame(execute_data); } + EG(current_execute_data) = original_execute_data; } ZEND_API void zend_observer_error_register(zend_observer_error_cb cb) diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 93f70462ad8d3..aabcac8eb0a27 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -27,6 +27,7 @@ #include "zend_API.h" #include "zend_sort.h" #include "zend_constants.h" +#include "zend_observer.h" #include "zend_vm.h" @@ -1049,6 +1050,8 @@ ZEND_API void pass_two(zend_op_array *op_array) CG(context).literals_size = op_array->last_literal; #endif + op_array->T += ZEND_OBSERVER_ENABLED; // reserve last temporary for observers if enabled + /* Needs to be set directly after the opcode/literal reallocation, to ensure destruction * happens correctly if any of the following fixups generate a fatal error. */ op_array->fn_flags |= ZEND_ACC_DONE_PASS_TWO; diff --git a/ext/opcache/jit/zend_jit_arm64.dasc b/ext/opcache/jit/zend_jit_arm64.dasc index cd8f3ab1238e9..3783b819b8530 100644 --- a/ext/opcache/jit/zend_jit_arm64.dasc +++ b/ext/opcache/jit/zend_jit_arm64.dasc @@ -8407,7 +8407,7 @@ static int zend_jit_push_call_frame(dasm_State **Dst, const zend_op *opline, con stack_check = 0; } } else { - used_stack = (ZEND_CALL_FRAME_SLOT + opline->extended_value) * sizeof(zval); + used_stack = (ZEND_CALL_FRAME_SLOT + opline->extended_value + ZEND_OBSERVER_ENABLED) * sizeof(zval); | // if (EXPECTED(ZEND_USER_CODE(func->type))) { if (!is_closure) { diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index f5688e8854612..bf0bc4110c076 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -9010,7 +9010,7 @@ static int zend_jit_push_call_frame(dasm_State **Dst, const zend_op *opline, con stack_check = 0; } } else { - used_stack = (ZEND_CALL_FRAME_SLOT + opline->extended_value) * sizeof(zval); + used_stack = (ZEND_CALL_FRAME_SLOT + opline->extended_value + ZEND_OBSERVER_ENABLED) * sizeof(zval); | // if (EXPECTED(ZEND_USER_CODE(func->type))) { if (!is_closure) { diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index 260b40daf717d..26d4e9bf85870 100644 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -33,6 +33,7 @@ #include "zend_object_handlers.h" #include "zend_hash.h" #include "pdo_dbh_arginfo.h" +#include "zend_observer.h" static bool pdo_dbh_attribute_set(pdo_dbh_t *dbh, zend_long attr, zval *value); @@ -1246,6 +1247,7 @@ bool pdo_hash_methods(pdo_dbh_object_t *dbh_obj, int kind) func.scope = dbh_obj->std.ce; func.prototype = NULL; ZEND_MAP_PTR(func.run_time_cache) = NULL; + func.T = ZEND_OBSERVER_ENABLED; if (funcs->flags) { func.fn_flags = funcs->flags | ZEND_ACC_NEVER_CACHE; } else { From da94baf31a27de93a2f91c4164ce2cf8c0eec25f Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 29 Jul 2022 13:32:48 +0200 Subject: [PATCH 011/229] Add proper handling to observe functions in fibers The current_observed_frame is carried along the fiber context and thus always correct now. Signed-off-by: Bob Weinand --- Zend/zend_fibers.h | 3 + Zend/zend_observer.c | 11 ++- ext/zend_test/test.c | 1 + .../tests/observer_fiber_functions_01.phpt | 59 +++++++++++++ .../tests/observer_fiber_functions_02.phpt | 54 ++++++++++++ .../tests/observer_fiber_functions_03.phpt | 84 +++++++++++++++++++ 6 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 ext/zend_test/tests/observer_fiber_functions_01.phpt create mode 100644 ext/zend_test/tests/observer_fiber_functions_02.phpt create mode 100644 ext/zend_test/tests/observer_fiber_functions_03.phpt diff --git a/Zend/zend_fibers.h b/Zend/zend_fibers.h index 39dc0916debc7..aefe2e53be6c5 100644 --- a/Zend/zend_fibers.h +++ b/Zend/zend_fibers.h @@ -88,6 +88,9 @@ struct _zend_fiber_context { /* Fiber status. */ zend_fiber_status status; + /* Observer state */ + zend_execute_data *top_observed_frame; + /* Reserved for extensions */ void *reserved[ZEND_MAX_RESERVED_RESOURCES]; }; diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index aefa1bd02b3f4..c70844a776233 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -39,7 +39,6 @@ zend_llist zend_observer_fiber_destroy; int zend_observer_fcall_op_array_extension; -ZEND_TLS zend_execute_data *first_observed_frame; ZEND_TLS zend_execute_data *current_observed_frame; // Call during minit/startup ONLY @@ -95,7 +94,6 @@ ZEND_API void zend_observer_post_startup(void) ZEND_API void zend_observer_activate(void) { - first_observed_frame = NULL; current_observed_frame = NULL; } @@ -321,6 +319,8 @@ ZEND_API void ZEND_FASTCALL zend_observer_fiber_init_notify(zend_fiber_context * zend_llist_element *element; zend_observer_fiber_init_handler callback; + initializing->top_observed_frame = NULL; + for (element = zend_observer_fiber_init.head; element; element = element->next) { callback = *(zend_observer_fiber_init_handler *) element->data; callback(initializing); @@ -332,10 +332,17 @@ ZEND_API void ZEND_FASTCALL zend_observer_fiber_switch_notify(zend_fiber_context zend_llist_element *element; zend_observer_fiber_switch_handler callback; + if (from->status == ZEND_FIBER_STATUS_DEAD) { + zend_observer_fcall_end_all(); // fiber is either finished (call will do nothing) or has bailed out + } + for (element = zend_observer_fiber_switch.head; element; element = element->next) { callback = *(zend_observer_fiber_switch_handler *) element->data; callback(from, to); } + + from->top_observed_frame = current_observed_frame; + current_observed_frame = to->top_observed_frame; } ZEND_API void ZEND_FASTCALL zend_observer_fiber_destroy_notify(zend_fiber_context *destroying) diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c index ca60fd82fcd51..9852887ef74b1 100644 --- a/ext/zend_test/test.c +++ b/ext/zend_test/test.c @@ -756,6 +756,7 @@ PHP_MSHUTDOWN_FUNCTION(zend_test) PHP_RINIT_FUNCTION(zend_test) { zend_hash_init(&ZT_G(global_weakmap), 8, NULL, ZVAL_PTR_DTOR, 0); + ZT_G(observer_nesting_depth) = 0; return SUCCESS; } diff --git a/ext/zend_test/tests/observer_fiber_functions_01.phpt b/ext/zend_test/tests/observer_fiber_functions_01.phpt new file mode 100644 index 0000000000000..d3d395bd302fc --- /dev/null +++ b/ext/zend_test/tests/observer_fiber_functions_01.phpt @@ -0,0 +1,59 @@ +--TEST-- +Observer: Basic function observing in fibers +--EXTENSIONS-- +zend_test +--INI-- +zend_test.observer.enabled=1 +zend_test.observer.observe_all=1 +zend_test.observer.fiber_init=1 +zend_test.observer.fiber_switch=1 +zend_test.observer.fiber_destroy=1 +--FILE-- +start(); +$fiber->resume(); + +?> +--EXPECTF-- + + + + + + + + + + + + <{closure}> + + +int(1) + + + + + + + + + + + + +int(2) + + + + + + + \ No newline at end of file diff --git a/ext/zend_test/tests/observer_fiber_functions_02.phpt b/ext/zend_test/tests/observer_fiber_functions_02.phpt new file mode 100644 index 0000000000000..c2b7eb007fae7 --- /dev/null +++ b/ext/zend_test/tests/observer_fiber_functions_02.phpt @@ -0,0 +1,54 @@ +--TEST-- +Observer: Function observing in fibers with unfinished fiber +--EXTENSIONS-- +zend_test +--INI-- +zend_test.observer.enabled=1 +zend_test.observer.observe_all=1 +zend_test.observer.fiber_init=1 +zend_test.observer.fiber_switch=1 +zend_test.observer.fiber_destroy=1 +--FILE-- +start(); + +?> +--EXPECTF-- + + + + + + + + + + + + <{closure}> + + +int(1) + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ext/zend_test/tests/observer_fiber_functions_03.phpt b/ext/zend_test/tests/observer_fiber_functions_03.phpt new file mode 100644 index 0000000000000..d96390068a2f5 --- /dev/null +++ b/ext/zend_test/tests/observer_fiber_functions_03.phpt @@ -0,0 +1,84 @@ +--TEST-- +Observer: Function observing in fibers with bailout in fiber +--EXTENSIONS-- +zend_test +--INI-- +zend_test.observer.enabled=1 +zend_test.observer.observe_all=1 +zend_test.observer.fiber_init=1 +zend_test.observer.fiber_switch=1 +zend_test.observer.fiber_destroy=1 +memory_limit=100M +--FILE-- +start(); + +$fiber = new Fiber(function (): void { + var_dump(2); + Fiber::suspend(); + str_repeat('A', 200_000_000); +}); + +$fiber->start(); +$fiber->resume(); + +?> +--EXPECTF-- + + + + + + + + + + + + <{closure}> + + +int(1) + + + + + + + + + + + + + + <{closure}> + +int(2) + + + + + + + + + + + + + +Fatal error: Allowed memory size of 104857600 bytes exhausted %s on line %d + + + + + + + \ No newline at end of file From a807092c186c22bf44dd7bffb45696c2fb09a4f4 Mon Sep 17 00:00:00 2001 From: Go Kudo Date: Fri, 5 Aug 2022 02:23:00 +0900 Subject: [PATCH 012/229] CI: macos-10.15 -> macos-11 (#9087) macOS-10.15 deprecated and remove soon GitHub Actions. We needs migrate to macos-11 (Big Sur) --- .github/workflows/nightly.yml | 2 +- .github/workflows/push.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 16b99af3f730d..33c9335ef72da 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -105,7 +105,7 @@ jobs: debug: [true, false] zts: [true, false] name: "${{ matrix.branch.name }}_MACOS_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}" - runs-on: macos-10.15 + runs-on: macos-11 steps: - name: git checkout uses: actions/checkout@v2 diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 4a1619ab5d106..bd05e60d89572 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -60,7 +60,7 @@ jobs: - name: Verify generated files are up to date uses: ./.github/actions/verify-generated-files MACOS_DEBUG_NTS: - runs-on: macos-10.15 + runs-on: macos-11 steps: - name: git checkout uses: actions/checkout@v2 From a191710a21ac2a8b9a11d46cfa85dcd2517c747b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Thu, 4 Aug 2022 20:48:27 +0200 Subject: [PATCH 013/229] [ci skip] Run dos2unix on ext/random tests One test inconsistently had CRLF newlines. --- .../tests/02_engine/all_serialize_user.phpt | 96 +++++++++---------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/ext/random/tests/02_engine/all_serialize_user.phpt b/ext/random/tests/02_engine/all_serialize_user.phpt index 7d2b05bfdba37..1e34c6470a3d2 100644 --- a/ext/random/tests/02_engine/all_serialize_user.phpt +++ b/ext/random/tests/02_engine/all_serialize_user.phpt @@ -1,48 +1,48 @@ ---TEST-- -Random: Engine: serialize: user ---FILE-- -count); - } -} - -final class User32 implements \Random\Engine -{ - private int $count = 0; - - public function generate(): string - { - return \pack('V', ++$this->count); - } -} - -$engines = []; -if (\PHP_INT_SIZE >= 8) { - $engines[] = new \User64(); -} -$engines[] = new \User32(); - -foreach ($engines as $engine) { - for ($i = 0; $i < 1000; $i++) { - $engine->generate(); - } - $engine2 = unserialize(serialize($engine)); - for ($i = 0; $i < 5000; $i++) { - if ($engine->generate() !== $engine2->generate()) { - $className = $engine::class; - die("failure class: {$className} i: {$i}"); - } - } -} - -die('success'); -?> ---EXPECT-- -success +--TEST-- +Random: Engine: serialize: user +--FILE-- +count); + } +} + +final class User32 implements \Random\Engine +{ + private int $count = 0; + + public function generate(): string + { + return \pack('V', ++$this->count); + } +} + +$engines = []; +if (\PHP_INT_SIZE >= 8) { + $engines[] = new \User64(); +} +$engines[] = new \User32(); + +foreach ($engines as $engine) { + for ($i = 0; $i < 1000; $i++) { + $engine->generate(); + } + $engine2 = unserialize(serialize($engine)); + for ($i = 0; $i < 5000; $i++) { + if ($engine->generate() !== $engine2->generate()) { + $className = $engine::class; + die("failure class: {$className} i: {$i}"); + } + } +} + +die('success'); +?> +--EXPECT-- +success From 3b62d66098966633bf1bd5445aa776a4bba81942 Mon Sep 17 00:00:00 2001 From: sji Date: Fri, 5 Aug 2022 04:08:40 +0900 Subject: [PATCH 014/229] Implement constants in traits (#8888) RFC: https://wiki.php.net/rfc/constants_in_traits --- Zend/Optimizer/pass1.c | 2 +- Zend/tests/enum/traits-constants.phpt | 33 ++++++ Zend/tests/traits/constant_001.phpt | 55 +++++++++ Zend/tests/traits/constant_002.phpt | 42 +++++++ Zend/tests/traits/constant_003.phpt | 21 ++++ Zend/tests/traits/constant_004.phpt | 19 +++ Zend/tests/traits/constant_005.phpt | 22 ++++ Zend/tests/traits/constant_006.phpt | 22 ++++ Zend/tests/traits/constant_007.phpt | 22 ++++ Zend/tests/traits/constant_008.phpt | 26 +++++ Zend/tests/traits/constant_009.phpt | 26 +++++ Zend/tests/traits/constant_010.phpt | 22 ++++ Zend/tests/traits/constant_011.phpt | 16 +++ Zend/tests/traits/constant_012.phpt | 16 +++ Zend/tests/traits/constant_013.phpt | 16 +++ Zend/tests/traits/constant_014.phpt | 21 ++++ Zend/tests/traits/constant_015.phpt | 32 +++++ Zend/tests/traits/constant_016.phpt | 25 ++++ Zend/tests/traits/constant_017.phpt | 13 +++ Zend/tests/traits/constant_018.phpt | 17 +++ Zend/tests/traits/constant_019.phpt | 27 +++++ Zend/tests/traits/constant_020.phpt | 28 +++++ Zend/tests/traits/constant_021.phpt | 24 ++++ Zend/tests/traits/error_016.phpt | 12 -- Zend/zend_compile.c | 12 +- Zend/zend_constants.c | 9 ++ Zend/zend_inheritance.c | 161 +++++++++++++++++++++----- Zend/zend_vm_def.h | 7 ++ Zend/zend_vm_execute.h | 21 ++++ 29 files changed, 722 insertions(+), 47 deletions(-) create mode 100644 Zend/tests/enum/traits-constants.phpt create mode 100644 Zend/tests/traits/constant_001.phpt create mode 100644 Zend/tests/traits/constant_002.phpt create mode 100644 Zend/tests/traits/constant_003.phpt create mode 100644 Zend/tests/traits/constant_004.phpt create mode 100644 Zend/tests/traits/constant_005.phpt create mode 100644 Zend/tests/traits/constant_006.phpt create mode 100644 Zend/tests/traits/constant_007.phpt create mode 100644 Zend/tests/traits/constant_008.phpt create mode 100644 Zend/tests/traits/constant_009.phpt create mode 100644 Zend/tests/traits/constant_010.phpt create mode 100644 Zend/tests/traits/constant_011.phpt create mode 100644 Zend/tests/traits/constant_012.phpt create mode 100644 Zend/tests/traits/constant_013.phpt create mode 100644 Zend/tests/traits/constant_014.phpt create mode 100644 Zend/tests/traits/constant_015.phpt create mode 100644 Zend/tests/traits/constant_016.phpt create mode 100644 Zend/tests/traits/constant_017.phpt create mode 100644 Zend/tests/traits/constant_018.phpt create mode 100644 Zend/tests/traits/constant_019.phpt create mode 100644 Zend/tests/traits/constant_020.phpt create mode 100644 Zend/tests/traits/constant_021.phpt delete mode 100644 Zend/tests/traits/error_016.phpt diff --git a/Zend/Optimizer/pass1.c b/Zend/Optimizer/pass1.c index 770f4ce2dc231..00bc30160ab7b 100644 --- a/Zend/Optimizer/pass1.c +++ b/Zend/Optimizer/pass1.c @@ -164,7 +164,7 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) if (ce) { zend_class_constant *cc = zend_hash_find_ptr( &ce->constants_table, Z_STR(ZEND_OP2_LITERAL(opline))); - if (cc && (ZEND_CLASS_CONST_FLAGS(cc) & ZEND_ACC_PPP_MASK) == ZEND_ACC_PUBLIC) { + if (cc && (ZEND_CLASS_CONST_FLAGS(cc) & ZEND_ACC_PPP_MASK) == ZEND_ACC_PUBLIC && !(ce->ce_flags & ZEND_ACC_TRAIT)) { zval *c = &cc->value; if (Z_TYPE_P(c) == IS_CONSTANT_AST) { zend_ast *ast = Z_ASTVAL_P(c); diff --git a/Zend/tests/enum/traits-constants.phpt b/Zend/tests/enum/traits-constants.phpt new file mode 100644 index 0000000000000..3ca0508ff92ce --- /dev/null +++ b/Zend/tests/enum/traits-constants.phpt @@ -0,0 +1,33 @@ +--TEST-- +Enum can use traits having constants +--FILE-- +shape() . PHP_EOL; +echo Suit::Diamonds->shape() . PHP_EOL; +echo Suit::Clubs->shape() . PHP_EOL; +echo Suit::Spades->shape() . PHP_EOL; + +?> +--EXPECT-- +Rectangle +Rectangle +Rectangle +Rectangle diff --git a/Zend/tests/traits/constant_001.phpt b/Zend/tests/traits/constant_001.phpt new file mode 100644 index 0000000000000..ad5d5a863ad14 --- /dev/null +++ b/Zend/tests/traits/constant_001.phpt @@ -0,0 +1,55 @@ +--TEST-- +Trying to access a constant on Trait via a Class +--FILE-- +f1(); +(new Base)->f2(); +echo Derived::PUBLIC, ' via derived class name', PHP_EOL; +echo (new Derived)::PUBLIC, ' via derived class object', PHP_EOL; +(new Derived)->f3(); +?> +--EXPECTF-- +public via class name +public via object +public via self +public via static +public via $this +private via self +private via static +public via derived class name +public via derived class object +protected via self +protected via static +protected via parent diff --git a/Zend/tests/traits/constant_002.phpt b/Zend/tests/traits/constant_002.phpt new file mode 100644 index 0000000000000..560aa69c75a51 --- /dev/null +++ b/Zend/tests/traits/constant_002.phpt @@ -0,0 +1,42 @@ +--TEST-- +Defining a constant in both trait and its composing class with the same name, visibility, finality and value is allowed +--FILE-- + +--EXPECTF-- +42 +42 +42 diff --git a/Zend/tests/traits/constant_003.phpt b/Zend/tests/traits/constant_003.phpt new file mode 100644 index 0000000000000..7e946f53d815d --- /dev/null +++ b/Zend/tests/traits/constant_003.phpt @@ -0,0 +1,21 @@ +--TEST-- +Non-final Constants in traits can be overridden in derived classes +--FILE-- + +--EXPECTF-- +456 diff --git a/Zend/tests/traits/constant_004.phpt b/Zend/tests/traits/constant_004.phpt new file mode 100644 index 0000000000000..b850ed7e60fd7 --- /dev/null +++ b/Zend/tests/traits/constant_004.phpt @@ -0,0 +1,19 @@ +--TEST-- +Trying to access a constant on trait via the name of trait causes a Fatal error +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught Error: Cannot access trait constant Foo::A directly in %s:%d +Stack trace: +#0 {main} + thrown in %s on line %d diff --git a/Zend/tests/traits/constant_005.phpt b/Zend/tests/traits/constant_005.phpt new file mode 100644 index 0000000000000..247fa48a2a259 --- /dev/null +++ b/Zend/tests/traits/constant_005.phpt @@ -0,0 +1,22 @@ +--TEST-- +Conflicting constants in composing classes with different visibility modifiers should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +PRE-CLASS-GUARD + +Fatal error: ComposingClass and TestTrait define the same constant (Constant) in the composition of ComposingClass. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_006.phpt b/Zend/tests/traits/constant_006.phpt new file mode 100644 index 0000000000000..eabfc6ac79c9b --- /dev/null +++ b/Zend/tests/traits/constant_006.phpt @@ -0,0 +1,22 @@ +--TEST-- +Conflicting constants in composing classes with different values should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +PRE-CLASS-GUARD + +Fatal error: ComposingClass and TestTrait define the same constant (Constant) in the composition of ComposingClass. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_007.phpt b/Zend/tests/traits/constant_007.phpt new file mode 100644 index 0000000000000..a3815d1837503 --- /dev/null +++ b/Zend/tests/traits/constant_007.phpt @@ -0,0 +1,22 @@ +--TEST-- +Conflicting constants in composing classes with different finality should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +PRE-CLASS-GUARD + +Fatal error: ComposingClass and TestTrait define the same constant (Constant) in the composition of ComposingClass. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_008.phpt b/Zend/tests/traits/constant_008.phpt new file mode 100644 index 0000000000000..a55f448c13a07 --- /dev/null +++ b/Zend/tests/traits/constant_008.phpt @@ -0,0 +1,26 @@ +--TEST-- +Conflicting constants in another traits in same composing classes with different visibility modifiers should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +PRE-CLASS-GUARD + +Fatal error: Trait1 and Trait2 define the same constant (Constant) in the composition of TraitsTest. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_009.phpt b/Zend/tests/traits/constant_009.phpt new file mode 100644 index 0000000000000..530fa99739dd8 --- /dev/null +++ b/Zend/tests/traits/constant_009.phpt @@ -0,0 +1,26 @@ +--TEST-- +Conflicting constants in another traits in same composing classes with different values should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +PRE-CLASS-GUARD + +Fatal error: Trait1 and Trait2 define the same constant (Constant) in the composition of TraitsTest. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_010.phpt b/Zend/tests/traits/constant_010.phpt new file mode 100644 index 0000000000000..f74711ba786e6 --- /dev/null +++ b/Zend/tests/traits/constant_010.phpt @@ -0,0 +1,22 @@ +--TEST-- +Conflicting constants in another traits in same composing classes with different finality should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +PRE-CLASS-GUARD + +Fatal error: ComposingClass and TestTrait define the same constant (Constant) in the composition of ComposingClass. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_011.phpt b/Zend/tests/traits/constant_011.phpt new file mode 100644 index 0000000000000..b4e15a4efe1f6 --- /dev/null +++ b/Zend/tests/traits/constant_011.phpt @@ -0,0 +1,16 @@ +--TEST-- +Conflicting constants in a trait and another trait using it with different visibility modifiers should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +Fatal error: Trait2 and Trait1 define the same constant (Constant) in the composition of Trait2. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_012.phpt b/Zend/tests/traits/constant_012.phpt new file mode 100644 index 0000000000000..b7369e584f409 --- /dev/null +++ b/Zend/tests/traits/constant_012.phpt @@ -0,0 +1,16 @@ +--TEST-- +Conflicting constants in a trait and another trait using it with different values should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +Fatal error: Trait2 and Trait1 define the same constant (Constant) in the composition of Trait2. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_013.phpt b/Zend/tests/traits/constant_013.phpt new file mode 100644 index 0000000000000..ef560c52c1cc6 --- /dev/null +++ b/Zend/tests/traits/constant_013.phpt @@ -0,0 +1,16 @@ +--TEST-- +Conflicting constants in a trait and another trait using it with different finality should result in a fatal error, since this indicates that the code is incompatible. +--FILE-- + +--EXPECTF-- +Fatal error: Trait2 and Trait1 define the same constant (Constant) in the composition of Trait2. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_014.phpt b/Zend/tests/traits/constant_014.phpt new file mode 100644 index 0000000000000..5597a8b88eab6 --- /dev/null +++ b/Zend/tests/traits/constant_014.phpt @@ -0,0 +1,21 @@ +--TEST-- +Cannot override a final trait constant in a class derived from the class that uses the trait +--FILE-- + +--EXPECTF-- +Fatal error: DerivedClass::Constant cannot override final constant ComposingClass::Constant in %s on line %d diff --git a/Zend/tests/traits/constant_015.phpt b/Zend/tests/traits/constant_015.phpt new file mode 100644 index 0000000000000..24507ea9e59cd --- /dev/null +++ b/Zend/tests/traits/constant_015.phpt @@ -0,0 +1,32 @@ +--TEST-- +The same name constant of a trait used in a class that inherits a constant defined in a parent can be defined only if they are compatible. +--FILE-- + +--EXPECTF-- +Fatal error: BaseClass2 and TestTrait2 define the same constant (Constant) in the composition of DerivedClass2. However, the definition differs and is considered incompatible. Class was composed in %s on line %d diff --git a/Zend/tests/traits/constant_016.phpt b/Zend/tests/traits/constant_016.phpt new file mode 100644 index 0000000000000..9cb2b29bcc095 --- /dev/null +++ b/Zend/tests/traits/constant_016.phpt @@ -0,0 +1,25 @@ +--TEST-- +Compatibility of values of same name trait constants is checked after their constant expressions are evaluated +--ENV-- +ENSURE_CONSTANT_IS_DEFINED_AT_RUNTIME=1 +--FILE-- + +--EXPECTF-- +42 diff --git a/Zend/tests/traits/constant_017.phpt b/Zend/tests/traits/constant_017.phpt new file mode 100644 index 0000000000000..3a1c6ffb7150c --- /dev/null +++ b/Zend/tests/traits/constant_017.phpt @@ -0,0 +1,13 @@ +--TEST-- +Referencing trait constants directly on calling \defined() returns false +--FILE-- + +--EXPECTF-- +bool(false) diff --git a/Zend/tests/traits/constant_018.phpt b/Zend/tests/traits/constant_018.phpt new file mode 100644 index 0000000000000..9d040dd1530b8 --- /dev/null +++ b/Zend/tests/traits/constant_018.phpt @@ -0,0 +1,17 @@ +--TEST-- +Referencing trait constants directly on calling \constant() causes a fatal error +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught Error: Cannot access trait constant TestTrait::Constant directly in %s:%d +Stack trace: +#0 %s: constant('TestTrait::Cons...') +#1 {main} + thrown in %s on line %d diff --git a/Zend/tests/traits/constant_019.phpt b/Zend/tests/traits/constant_019.phpt new file mode 100644 index 0000000000000..abbe9d11a37ca --- /dev/null +++ b/Zend/tests/traits/constant_019.phpt @@ -0,0 +1,27 @@ +--TEST-- +Flattened trait constants are retrieved as members of the composing class via Reflection +--FILE-- +getConstant('Constant')); +var_dump($reflection->getReflectionConstant('Constant')->getDeclaringClass()->getName()); + +$reflection = new \ReflectionClass(TestClass::class); +var_dump($reflection->getConstant('Constant')); +var_dump($reflection->getReflectionConstant('Constant')->getDeclaringClass()->getName()); + +?> +--EXPECTF-- +int(42) +string(9) "TestTrait" +int(42) +string(9) "TestClass" diff --git a/Zend/tests/traits/constant_020.phpt b/Zend/tests/traits/constant_020.phpt new file mode 100644 index 0000000000000..1194e2c8238af --- /dev/null +++ b/Zend/tests/traits/constant_020.phpt @@ -0,0 +1,28 @@ +--TEST-- +Attributes can be retrieved from trait constants +--FILE-- +getReflectionConstant('Constant')->getAttributes('TestAttribute')[0]->getArguments()['value']); + +$reflection = new \ReflectionClass(TestClass::class); +var_dump($reflection->getReflectionConstant('Constant')->getAttributes('TestAttribute')[0]->getArguments()['value']); + +?> +--EXPECTF-- +int(123) +int(123) diff --git a/Zend/tests/traits/constant_021.phpt b/Zend/tests/traits/constant_021.phpt new file mode 100644 index 0000000000000..713941a1102d9 --- /dev/null +++ b/Zend/tests/traits/constant_021.phpt @@ -0,0 +1,24 @@ +--TEST-- +Doc comments can be retrieved from trait constants +--FILE-- +getReflectionConstant('Constant')->getDocComment()); + +$reflection = new \ReflectionClass(TestClass::class); +var_dump($reflection->getReflectionConstant('Constant')->getDocComment()); + +?> +--EXPECTF-- +string(18) "/** DocComments */" +string(18) "/** DocComments */" diff --git a/Zend/tests/traits/error_016.phpt b/Zend/tests/traits/error_016.phpt deleted file mode 100644 index 191225ddee7a4..0000000000000 --- a/Zend/tests/traits/error_016.phpt +++ /dev/null @@ -1,12 +0,0 @@ ---TEST-- -Trying to create a constant on Trait ---FILE-- - ---EXPECTF-- -Fatal error: Traits cannot have constants in %s on line %d diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 8be0c84c4c028..e52af3339de08 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1594,7 +1594,12 @@ static bool zend_try_compile_const_expr_resolve_class_name(zval *zv, zend_ast *c /* We don't use zend_verify_const_access because we need to deal with unlinked classes. */ static bool zend_verify_ct_const_access(zend_class_constant *c, zend_class_entry *scope) { - if (ZEND_CLASS_CONST_FLAGS(c) & ZEND_ACC_PUBLIC) { + if (c->ce->ce_flags & ZEND_ACC_TRAIT) { + /* This condition is only met on directly accessing trait constants, + * because the ce is replaced to the class entry of the composing class + * on binding. */ + return 0; + } else if (ZEND_CLASS_CONST_FLAGS(c) & ZEND_ACC_PUBLIC) { return 1; } else if (ZEND_CLASS_CONST_FLAGS(c) & ZEND_ACC_PRIVATE) { return c->ce == scope; @@ -7532,11 +7537,6 @@ static void zend_compile_class_const_decl(zend_ast *ast, uint32_t flags, zend_as zend_class_entry *ce = CG(active_class_entry); uint32_t i, children = list->children; - if ((ce->ce_flags & ZEND_ACC_TRAIT) != 0) { - zend_error_noreturn(E_COMPILE_ERROR, "Traits cannot have constants"); - return; - } - for (i = 0; i < children; ++i) { zend_class_constant *c; zend_ast *const_ast = list->child[i]; diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 2ba5edd278935..3fc8efed57c15 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -360,6 +360,15 @@ ZEND_API zval *zend_get_class_constant_ex(zend_string *class_name, zend_string * } goto failure; } + + if (UNEXPECTED(ce->ce_flags & ZEND_ACC_TRAIT)) { + /** Prevent accessing trait constants directly on cases like \defined() or \constant(), etc. */ + if ((flags & ZEND_FETCH_CLASS_SILENT) == 0) { + zend_throw_error(NULL, "Cannot access trait constant %s::%s directly", ZSTR_VAL(class_name), ZSTR_VAL(constant_name)); + } + goto failure; + } + ret_constant = &c->value; } } diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index b0008e889b5ac..526da9111e88e 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -1630,6 +1630,36 @@ ZEND_API void zend_do_inheritance_ex(zend_class_entry *ce, zend_class_entry *par } /* }}} */ +static zend_always_inline bool check_trait_property_or_constant_value_compatibility(zend_class_entry *ce, zval *op1, zval *op2) /* {{{ */ +{ + bool is_compatible; + zval op1_tmp, op2_tmp; + + /* if any of the values is a constant, we try to resolve it */ + if (UNEXPECTED(Z_TYPE_P(op1) == IS_CONSTANT_AST)) { + ZVAL_COPY_OR_DUP(&op1_tmp, op1); + zval_update_constant_ex(&op1_tmp, ce); + op1 = &op1_tmp; + } + if (UNEXPECTED(Z_TYPE_P(op2) == IS_CONSTANT_AST)) { + ZVAL_COPY_OR_DUP(&op2_tmp, op2); + zval_update_constant_ex(&op2_tmp, ce); + op2 = &op2_tmp; + } + + is_compatible = fast_is_identical_function(op1, op2); + + if (op1 == &op1_tmp) { + zval_ptr_dtor_nogc(&op1_tmp); + } + if (op2 == &op2_tmp) { + zval_ptr_dtor_nogc(&op2_tmp); + } + + return is_compatible; +} +/* }}} */ + static bool do_inherit_constant_check( zend_class_entry *ce, zend_class_constant *parent_constant, zend_string *name ) { @@ -2174,7 +2204,103 @@ static void zend_do_traits_method_binding(zend_class_entry *ce, zend_class_entry } /* }}} */ -static zend_class_entry* find_first_definition(zend_class_entry *ce, zend_class_entry **traits, size_t current_trait, zend_string *prop_name, zend_class_entry *colliding_ce) /* {{{ */ +static zend_class_entry* find_first_constant_definition(zend_class_entry *ce, zend_class_entry **traits, size_t current_trait, zend_string *constant_name, zend_class_entry *colliding_ce) /* {{{ */ +{ + /* This function is used to show the place of the existing conflicting + * definition in error messages when conflicts occur. Since trait constants + * are flattened into the constants table of the composing class, and thus + * we lose information about which constant was defined in which trait, a + * process like this is needed to find the location of the first definition + * of the constant from traits. + */ + size_t i; + + if (colliding_ce == ce) { + for (i = 0; i < current_trait; i++) { + if (traits[i] + && zend_hash_exists(&traits[i]->constants_table, constant_name)) { + return traits[i]; + } + } + } + /* Traits don't have it, then the composing class (or trait) itself has it. */ + return colliding_ce; +} +/* }}} */ + +static bool do_trait_constant_check(zend_class_entry *ce, zend_class_constant *trait_constant, zend_string *name, zend_class_entry **traits, size_t current_trait) /* {{{ */ +{ + uint32_t flags_mask = ZEND_ACC_PPP_MASK | ZEND_ACC_FINAL; + + zval *zv = zend_hash_find_known_hash(&ce->constants_table, name); + if (zv == NULL) { + /* No existing constant of the same name, so this one can be added */ + return true; + } + + zend_class_constant *existing_constant = Z_PTR_P(zv); + + if ((ZEND_CLASS_CONST_FLAGS(trait_constant) & flags_mask) != (ZEND_CLASS_CONST_FLAGS(existing_constant) & flags_mask) || + !check_trait_property_or_constant_value_compatibility(ce, &trait_constant->value, &existing_constant->value)) { + /* There is an existing constant of the same name, and it conflicts with the new one, so let's throw a fatal error */ + zend_error_noreturn(E_COMPILE_ERROR, + "%s and %s define the same constant (%s) in the composition of %s. However, the definition differs and is considered incompatible. Class was composed", + ZSTR_VAL(find_first_constant_definition(ce, traits, current_trait, name, existing_constant->ce)->name), + ZSTR_VAL(trait_constant->ce->name), + ZSTR_VAL(name), + ZSTR_VAL(ce->name)); + } + + /* There is an existing constant which is compatible with the new one, so no need to add it */ + return false; +} +/* }}} */ + +static void zend_do_traits_constant_binding(zend_class_entry *ce, zend_class_entry **traits) /* {{{ */ +{ + size_t i; + + for (i = 0; i < ce->num_traits; i++) { + zend_string *constant_name; + zend_class_constant *constant; + + if (!traits[i]) { + continue; + } + + ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(&traits[i]->constants_table, constant_name, constant) { + if (do_trait_constant_check(ce, constant, constant_name, traits, i)) { + zend_class_constant *ct = NULL; + + ct = zend_arena_alloc(&CG(arena),sizeof(zend_class_constant)); + memcpy(ct, constant, sizeof(zend_class_constant)); + constant = ct; + + if (Z_TYPE(constant->value) == IS_CONSTANT_AST) { + ce->ce_flags &= ~ZEND_ACC_CONSTANTS_UPDATED; + ce->ce_flags |= ZEND_ACC_HAS_AST_CONSTANTS; + } + + /* Unlike interface implementations and class inheritances, + * access control of the trait constants is done by the scope + * of the composing class. So let's replace the ce here. + */ + constant->ce = ce; + + Z_TRY_ADDREF(constant->value); + constant->doc_comment = constant->doc_comment ? zend_string_copy(constant->doc_comment) : NULL; + if (constant->attributes && (!(GC_FLAGS(constant->attributes) & IS_ARRAY_IMMUTABLE))) { + GC_ADDREF(constant->attributes); + } + + zend_hash_update_ptr(&ce->constants_table, constant_name, constant); + } + } ZEND_HASH_FOREACH_END(); + } +} +/* }}} */ + +static zend_class_entry* find_first_property_definition(zend_class_entry *ce, zend_class_entry **traits, size_t current_trait, zend_string *prop_name, zend_class_entry *colliding_ce) /* {{{ */ { size_t i; @@ -2198,7 +2324,6 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent zend_property_info *colliding_prop; zend_property_info *new_prop; zend_string* prop_name; - bool not_compatible; zval* prop_value; zend_string *doc_comment; @@ -2220,15 +2345,14 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent zend_hash_del(&ce->properties_info, prop_name); flags |= ZEND_ACC_CHANGED; } else { + bool is_compatible = false; uint32_t flags_mask = ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC | ZEND_ACC_READONLY; - not_compatible = 1; if ((colliding_prop->flags & flags_mask) == (flags & flags_mask) && property_types_compatible(property_info, colliding_prop) == INHERITANCE_SUCCESS ) { /* the flags are identical, thus, the properties may be compatible */ zval *op1, *op2; - zval op1_tmp, op2_tmp; if (flags & ZEND_ACC_STATIC) { op1 = &ce->default_static_members_table[colliding_prop->offset]; @@ -2239,33 +2363,13 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent op1 = &ce->default_properties_table[OBJ_PROP_TO_NUM(colliding_prop->offset)]; op2 = &traits[i]->default_properties_table[OBJ_PROP_TO_NUM(property_info->offset)]; } - - /* if any of the values is a constant, we try to resolve it */ - if (UNEXPECTED(Z_TYPE_P(op1) == IS_CONSTANT_AST)) { - ZVAL_COPY_OR_DUP(&op1_tmp, op1); - zval_update_constant_ex(&op1_tmp, ce); - op1 = &op1_tmp; - } - if (UNEXPECTED(Z_TYPE_P(op2) == IS_CONSTANT_AST)) { - ZVAL_COPY_OR_DUP(&op2_tmp, op2); - zval_update_constant_ex(&op2_tmp, ce); - op2 = &op2_tmp; - } - - not_compatible = fast_is_not_identical_function(op1, op2); - - if (op1 == &op1_tmp) { - zval_ptr_dtor_nogc(&op1_tmp); - } - if (op2 == &op2_tmp) { - zval_ptr_dtor_nogc(&op2_tmp); - } + is_compatible = check_trait_property_or_constant_value_compatibility(ce, op1, op2); } - if (not_compatible) { + if (!is_compatible) { zend_error_noreturn(E_COMPILE_ERROR, "%s and %s define the same property ($%s) in the composition of %s. However, the definition differs and is considered incompatible. Class was composed", - ZSTR_VAL(find_first_definition(ce, traits, i, prop_name, colliding_prop->ce)->name), + ZSTR_VAL(find_first_property_definition(ce, traits, i, prop_name, colliding_prop->ce)->name), ZSTR_VAL(property_info->ce->name), ZSTR_VAL(prop_name), ZSTR_VAL(ce->name)); @@ -2322,7 +2426,8 @@ static void zend_do_bind_traits(zend_class_entry *ce, zend_class_entry **traits) efree(exclude_tables); } - /* then flatten the properties into it, to, mostly to notify developer about problems */ + /* then flatten the constants and properties into it, to, mostly to notify developer about problems */ + zend_do_traits_constant_binding(ce, traits); zend_do_traits_property_binding(ce, traits); } /* }}} */ diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index df042aa8f3199..d604b3bfff564 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -5901,6 +5901,13 @@ ZEND_VM_HANDLER(181, ZEND_FETCH_CLASS_CONSTANT, VAR|CONST|UNUSED|CLASS_FETCH, CO ZVAL_UNDEF(EX_VAR(opline->result.var)); HANDLE_EXCEPTION(); } + + if (ce->ce_flags & ZEND_ACC_TRAIT) { + zend_throw_error(NULL, "Cannot access trait constant %s::%s directly", ZSTR_VAL(ce->name), Z_STRVAL_P(RT_CONSTANT(opline, opline->op2))); + ZVAL_UNDEF(EX_VAR(opline->result.var)); + HANDLE_EXCEPTION(); + } + value = &c->value; // Enums require loading of all class constants to build the backed enum table if (ce->ce_flags & ZEND_ACC_ENUM && ce->enum_backing_type != IS_UNDEF && ce->type == ZEND_USER_CLASS && !(ce->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index b3a48b80f480b..3bde248671c45 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -7143,6 +7143,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_CLASS_CONSTANT_SPEC_CONS ZVAL_UNDEF(EX_VAR(opline->result.var)); HANDLE_EXCEPTION(); } + + if (ce->ce_flags & ZEND_ACC_TRAIT) { + zend_throw_error(NULL, "Cannot access trait constant %s::%s directly", ZSTR_VAL(ce->name), Z_STRVAL_P(RT_CONSTANT(opline, opline->op2))); + ZVAL_UNDEF(EX_VAR(opline->result.var)); + HANDLE_EXCEPTION(); + } + value = &c->value; // Enums require loading of all class constants to build the backed enum table if (ce->ce_flags & ZEND_ACC_ENUM && ce->enum_backing_type != IS_UNDEF && ce->type == ZEND_USER_CLASS && !(ce->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { @@ -24704,6 +24711,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_CLASS_CONSTANT_SPEC_VAR_ ZVAL_UNDEF(EX_VAR(opline->result.var)); HANDLE_EXCEPTION(); } + + if (ce->ce_flags & ZEND_ACC_TRAIT) { + zend_throw_error(NULL, "Cannot access trait constant %s::%s directly", ZSTR_VAL(ce->name), Z_STRVAL_P(RT_CONSTANT(opline, opline->op2))); + ZVAL_UNDEF(EX_VAR(opline->result.var)); + HANDLE_EXCEPTION(); + } + value = &c->value; // Enums require loading of all class constants to build the backed enum table if (ce->ce_flags & ZEND_ACC_ENUM && ce->enum_backing_type != IS_UNDEF && ce->type == ZEND_USER_CLASS && !(ce->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { @@ -33549,6 +33563,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUS ZVAL_UNDEF(EX_VAR(opline->result.var)); HANDLE_EXCEPTION(); } + + if (ce->ce_flags & ZEND_ACC_TRAIT) { + zend_throw_error(NULL, "Cannot access trait constant %s::%s directly", ZSTR_VAL(ce->name), Z_STRVAL_P(RT_CONSTANT(opline, opline->op2))); + ZVAL_UNDEF(EX_VAR(opline->result.var)); + HANDLE_EXCEPTION(); + } + value = &c->value; // Enums require loading of all class constants to build the backed enum table if (ce->ce_flags & ZEND_ACC_ENUM && ce->enum_backing_type != IS_UNDEF && ce->type == ZEND_USER_CLASS && !(ce->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { From 038c451c22bcf547beafb4d836f18aa5b64afb82 Mon Sep 17 00:00:00 2001 From: sji Date: Fri, 5 Aug 2022 06:18:50 +0900 Subject: [PATCH 015/229] [ci skip] NEWS and UPGRADING for constants in traits (#9251) see GH-8888 --- NEWS | 1 + UPGRADING | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 1a81ed2da6e3d..fd421cc0afd71 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ PHP NEWS - Core: . Fixed --CGI-- support of run-tests.php. (cmb) . Fixed incorrect double to long casting in latest clang. (zeriyoshi) + . Added support for defining constants in traits. (sj-i) - Random: . Fixed bug GH-9235 (non-existant $sequence parameter in stub for diff --git a/UPGRADING b/UPGRADING index 39bc307be46f8..cf8d35c65ea36 100644 --- a/UPGRADING +++ b/UPGRADING @@ -88,7 +88,8 @@ PHP 8.2 UPGRADE NOTES error log file. . Added support for fetching properties of enums in constant expressions. RFC: https://wiki.php.net/rfc/fetch_property_in_const_expressions - + . Added support for defining constants in traits. + RFC: https://wiki.php.net/rfc/constants_in_traits - Curl: . Added CURLINFO_EFFECTIVE_METHOD option and returning the effective From bd3cd6a41a0b0adcd1e402b4b0a8497ba2f427f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Thu, 4 Aug 2022 23:35:44 +0200 Subject: [PATCH 016/229] Fix unstable sapi test, fix GH-9140 (#9184) --- sapi/cgi/cgi_main.c | 1 + sapi/cgi/tests/005-win32.phpt | 34 ---------------------------------- sapi/cgi/tests/005.phpt | 21 ++++++--------------- 3 files changed, 7 insertions(+), 49 deletions(-) delete mode 100644 sapi/cgi/tests/005-win32.phpt diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 9e063597e6bbe..b45468031fcd0 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -2271,6 +2271,7 @@ consult the installation file that came with this distribution, or visit \n\ case 'a': /* interactive mode */ printf("Interactive mode enabled\n\n"); + fflush(stdout); break; case 'C': /* don't chdir to the script directory */ diff --git a/sapi/cgi/tests/005-win32.phpt b/sapi/cgi/tests/005-win32.phpt deleted file mode 100644 index cafec91d3dbbd..0000000000000 --- a/sapi/cgi/tests/005-win32.phpt +++ /dev/null @@ -1,34 +0,0 @@ ---TEST-- -using invalid combinations of cmdline options ---SKIPIF-- - ---FILE-- - ---EXPECT-- -string(51) "Interactive mode enabled - -No input file specified. -" -string(51) "Interactive mode enabled - -No input file specified. -" -Done diff --git a/sapi/cgi/tests/005.phpt b/sapi/cgi/tests/005.phpt index a46ac912c7063..55247588b3b84 100644 --- a/sapi/cgi/tests/005.phpt +++ b/sapi/cgi/tests/005.phpt @@ -1,14 +1,5 @@ --TEST-- using invalid combinations of cmdline options ---SKIPIF-- - --FILE-- --EXPECT-- -string(51) "No input file specified. -Interactive mode enabled +string(51) "Interactive mode enabled +No input file specified. " -string(51) "No input file specified. -Interactive mode enabled +string(51) "Interactive mode enabled +No input file specified. " Done From f51fbf9fc4c5490c836ffb59a808fb88ae8f1054 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Fri, 5 Aug 2022 12:26:35 +0100 Subject: [PATCH 017/229] zend allocators adding __declspec allocator for windows. (#9253) does not affect the performance, however making those custom calls more meaningful for Event Tracing/Visual Studio. --- Zend/zend_portability.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h index a2cee98425e1f..5e0b0d69215ab 100644 --- a/Zend/zend_portability.h +++ b/Zend/zend_portability.h @@ -215,7 +215,7 @@ char *alloca(); #if ZEND_GCC_VERSION >= 2096 || __has_attribute(__malloc__) # define ZEND_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) #elif defined(ZEND_WIN32) -# define ZEND_ATTRIBUTE_MALLOC __declspec(restrict) +# define ZEND_ATTRIBUTE_MALLOC __declspec(allocator) __declspec(restrict) #else # define ZEND_ATTRIBUTE_MALLOC #endif From 1cd2d731ef62b25165c45ae8475f4aa3fedb5f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Fri, 5 Aug 2022 14:38:57 +0200 Subject: [PATCH 018/229] Handle all-zero state in Xoshiro256** (#9250) - Retry if the CSPRNG generates a zero state. - Throw ValueError if the user passes a zero state. Fixes GH-9249 --- NEWS | 2 ++ ext/random/engine_xoshiro256starstar.c | 16 ++++++++++++---- .../tests/02_engine/xoshiro256starstar_seed.phpt | 7 +++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index fd421cc0afd71..c95944c660384 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,8 @@ PHP NEWS PcgOneseq128XslRr64::__construct()). (timwolla) . Fixed bug GH-9190, GH-9191 (undefined behavior for MT_RAND_PHP when handling large ranges). (timwolla) + . Fixed bug GH-9249 (Xoshiro256StarStar does not reject the invalid + all-zero state). (timwolla) . Removed redundant RuntimeExceptions from Randomizer methods. The exceptions thrown by the engines will be exposed directly. (timwolla) . Added extension specific Exceptions/Errors (RandomException, RandomError, diff --git a/ext/random/engine_xoshiro256starstar.c b/ext/random/engine_xoshiro256starstar.c index 1e48f3470da13..8d842143dbd0c 100644 --- a/ext/random/engine_xoshiro256starstar.c +++ b/ext/random/engine_xoshiro256starstar.c @@ -205,10 +205,12 @@ PHP_METHOD(Random_Engine_Xoshiro256StarStar, __construct) ZEND_PARSE_PARAMETERS_END(); if (seed_is_null) { - if (php_random_bytes_throw(&state->state, 32) == FAILURE) { - zend_throw_exception(random_ce_Random_RandomException, "Failed to generate a random seed", 0); - RETURN_THROWS(); - } + do { + if (php_random_bytes_throw(&state->state, 32) == FAILURE) { + zend_throw_exception(random_ce_Random_RandomException, "Failed to generate a random seed", 0); + RETURN_THROWS(); + } + } while (UNEXPECTED(state->state[0] == 0 && state->state[1] == 0 && state->state[2] == 0 && state->state[3] == 0)); } else { if (str_seed) { /* char (byte: 8 bit) * 32 = 256 bits */ @@ -222,6 +224,12 @@ PHP_METHOD(Random_Engine_Xoshiro256StarStar, __construct) t[i] += ((uint64_t) (unsigned char) ZSTR_VAL(str_seed)[(i * 8) + j]) << (j * 8); } } + + if (UNEXPECTED(t[0] == 0 && t[1] == 0 && t[2] == 0 && t[3] == 0)) { + zend_argument_value_error(1, "must not consist entirely of NUL bytes"); + RETURN_THROWS(); + } + seed256(engine->status, t[0], t[1], t[2], t[3]); } else { zend_argument_value_error(1, "must be a 32 byte (256 bit) string"); diff --git a/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt index 2bf107dd5da85..74bcf7331d9fe 100644 --- a/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt +++ b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt @@ -18,6 +18,12 @@ try { echo $e->getMessage() . PHP_EOL; } +try { + $engine = new Random\Engine\Xoshiro256StarStar(\str_repeat("\x00", 32)); +} catch (\Throwable $e) { + echo $e->getMessage() . PHP_EOL; +} + $engine = new \Random\Engine\Xoshiro256StarStar("\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08"); \var_dump($engine); @@ -31,6 +37,7 @@ for ($i = 0; $i < 1000; $i++) { --EXPECTF-- Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be of type string|int|null, float given Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be a 32 byte (256 bit) string +Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must not consist entirely of NUL bytes object(Random\Engine\Xoshiro256StarStar)#%d (%d) { ["__states"]=> array(4) { From ce6277986c5ef10723759435e7a80c2547722752 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 5 Aug 2022 16:17:30 +0200 Subject: [PATCH 019/229] [ci skip] Add extension=zip to the php.ini templates The zip extension is now built as shared library by default, so users want to load it via php.ini. --- php.ini-development | 1 + php.ini-production | 1 + 2 files changed, 2 insertions(+) diff --git a/php.ini-development b/php.ini-development index 768b22a933d2e..931b4324f7db9 100644 --- a/php.ini-development +++ b/php.ini-development @@ -949,6 +949,7 @@ default_socket_timeout = 60 ;extension=sqlite3 ;extension=tidy ;extension=xsl +;extension=zip ;zend_extension=opcache diff --git a/php.ini-production b/php.ini-production index 89a198db395a6..1b3cfb8c15370 100644 --- a/php.ini-production +++ b/php.ini-production @@ -951,6 +951,7 @@ default_socket_timeout = 60 ;extension=sqlite3 ;extension=tidy ;extension=xsl +;extension=zip ;zend_extension=opcache From 8c0cdd1d6c5923b90be4b8a528bb7d3d11bc50b9 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 5 Aug 2022 16:25:13 +0200 Subject: [PATCH 020/229] [ci skip] Remove outdated info from php.ini templates There is no more need to tell users about PHP 5, or even PHP 4. Closes GH-9256. --- php.ini-development | 10 +++++----- php.ini-production | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/php.ini-development b/php.ini-development index 931b4324f7db9..4a62b5af60e10 100644 --- a/php.ini-development +++ b/php.ini-development @@ -9,8 +9,8 @@ ; PHP attempts to find and load this configuration from a number of locations. ; The following is a summary of its search order: ; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 2. The PHPRC environment variable. +; 3. A number of predefined registry keys on Windows ; 4. Current working directory (except CLI) ; 5. The web server's directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) @@ -447,7 +447,7 @@ memory_limit = 128M ; development and early testing. ; ; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_RECOVERABLE_ERROR - almost fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) @@ -908,8 +908,8 @@ default_socket_timeout = 60 ; ; Notes for Windows environments : ; -; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). +; - Many DLL files are located in the ext/ +; extension folders as well as the separate PECL DLL download. ; Be sure to appropriately set the extension_dir directive. ; ;extension=bz2 diff --git a/php.ini-production b/php.ini-production index 1b3cfb8c15370..8a1eb9674e2f3 100644 --- a/php.ini-production +++ b/php.ini-production @@ -9,8 +9,8 @@ ; PHP attempts to find and load this configuration from a number of locations. ; The following is a summary of its search order: ; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 2. The PHPRC environment variable. +; 3. A number of predefined registry keys on Windows ; 4. Current working directory (except CLI) ; 5. The web server's directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) @@ -449,7 +449,7 @@ memory_limit = 128M ; development and early testing. ; ; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_RECOVERABLE_ERROR - almost fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) @@ -910,8 +910,8 @@ default_socket_timeout = 60 ; ; Notes for Windows environments : ; -; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). +; - Many DLL files are located in the ext/ +; extension folders as well as the separate PECL DLL download. ; Be sure to appropriately set the extension_dir directive. ; ;extension=bz2 From 19eecf16aa763d33485654c06035502974084d42 Mon Sep 17 00:00:00 2001 From: zeriyoshi Date: Sat, 6 Aug 2022 00:02:18 +0900 Subject: [PATCH 021/229] [ci skip] update NEWS --CGI-- fixes for PHP 8.1 / 8.0 https://github.com/php/php-src/commit/30ed8fb32da398f62bb08ebd59c607eeafc3621d --- NEWS | 1 - 1 file changed, 1 deletion(-) diff --git a/NEWS b/NEWS index c95944c660384..0ec8cad3b859e 100644 --- a/NEWS +++ b/NEWS @@ -3,7 +3,6 @@ PHP NEWS ?? ??? ????, PHP 8.2.0beta3 - Core: - . Fixed --CGI-- support of run-tests.php. (cmb) . Fixed incorrect double to long casting in latest clang. (zeriyoshi) . Added support for defining constants in traits. (sj-i) From a6f489b45224de582f71e668f9f508703f14f3d7 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Fri, 5 Aug 2022 10:52:20 +0200 Subject: [PATCH 022/229] Fix mb_strimwidth RC info Closes GH-9254 --- Zend/Optimizer/zend_func_infos.h | 1 - ext/mbstring/mbstring.stub.php | 1 - ext/mbstring/mbstring_arginfo.h | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Zend/Optimizer/zend_func_infos.h b/Zend/Optimizer/zend_func_infos.h index 74f57797fdf06..9f6940fcd8e98 100644 --- a/Zend/Optimizer/zend_func_infos.h +++ b/Zend/Optimizer/zend_func_infos.h @@ -222,7 +222,6 @@ static const func_info_t func_infos[] = { F1("mb_strrichr", MAY_BE_STRING|MAY_BE_FALSE), F1("mb_substr", MAY_BE_STRING), F1("mb_strcut", MAY_BE_STRING), - F1("mb_strimwidth", MAY_BE_STRING), F1("mb_convert_encoding", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_ANY|MAY_BE_STRING|MAY_BE_FALSE), F1("mb_convert_case", MAY_BE_STRING), F1("mb_strtoupper", MAY_BE_STRING), diff --git a/ext/mbstring/mbstring.stub.php b/ext/mbstring/mbstring.stub.php index bfd7024320d5e..0d04e34bc7823 100644 --- a/ext/mbstring/mbstring.stub.php +++ b/ext/mbstring/mbstring.stub.php @@ -118,7 +118,6 @@ function mb_strcut(string $string, int $start, ?int $length = null, ?string $enc function mb_strwidth(string $string, ?string $encoding = null): int {} -/** @refcount 1 */ function mb_strimwidth(string $string, int $start, int $width, string $trim_marker = "", ?string $encoding = null): string {} /** diff --git a/ext/mbstring/mbstring_arginfo.h b/ext/mbstring/mbstring_arginfo.h index c86209a55099f..ea1b749873eb0 100644 --- a/ext/mbstring/mbstring_arginfo.h +++ b/ext/mbstring/mbstring_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 48835e813592a48570d258a97dbf00f2e19d8b3a */ + * Stub hash: 0c9ac8888b8332557f7098cfb9d259757af8b3c6 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_language, 0, 0, MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, language, IS_STRING, 1, "null") From ad04345eb34992f8f3f0ee310664e1848f3346b1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 4 Aug 2022 14:00:38 +0200 Subject: [PATCH 023/229] Fix GH-9244: Segfault with array_multisort + array_shift After restructuring non-packed arrays, we either need to pack them if possible, or to rehash them. Closes GH-9247. --- NEWS | 1 + ext/standard/array.c | 2 ++ ext/standard/tests/array/gh9244.phpt | 11 +++++++++++ 3 files changed, 14 insertions(+) create mode 100644 ext/standard/tests/array/gh9244.phpt diff --git a/NEWS b/NEWS index 0ec8cad3b859e..b6ae4b33e5942 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,7 @@ PHP NEWS - Standard: . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) + . Fixed GH-9244 (Segfault with array_multisort + array_shift). (cmb) 04 Aug 2022, PHP 8.2.0beta2 diff --git a/ext/standard/array.c b/ext/standard/array.c index c1d33ee2c42dc..c64a43bc69c68 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -5791,6 +5791,8 @@ PHP_FUNCTION(array_multisort) } if (repack) { zend_hash_to_packed(hash); + } else { + zend_hash_rehash(hash); } } } diff --git a/ext/standard/tests/array/gh9244.phpt b/ext/standard/tests/array/gh9244.phpt new file mode 100644 index 0000000000000..04c34d426dad8 --- /dev/null +++ b/ext/standard/tests/array/gh9244.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug GH-9244 (Segfault with array_multisort + array_shift) +--FILE-- + 1, 'bar' => 2]; +$order = [4, 3]; +array_multisort($order, $items); +var_dump(array_shift($items)); +?> +--EXPECT-- +int(2) From 8438ad6d6b9e75586230bfa6656d16b57a4a9d08 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Sat, 6 Aug 2022 21:16:28 +0200 Subject: [PATCH 024/229] [skip ci] Bump days-before-close to 14 days in stale feature closer --- .github/workflows/close-stale-feature-requests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/close-stale-feature-requests.yml b/.github/workflows/close-stale-feature-requests.yml index 362cbd6721801..eff1a0bb6243b 100644 --- a/.github/workflows/close-stale-feature-requests.yml +++ b/.github/workflows/close-stale-feature-requests.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/stale@v4 with: - days-before-close: 7 + days-before-close: 14 days-before-stale: 90 exempt-all-assignees: true only-issue-labels: "Status: Requires RFC,Feature" From 2650340b94889e2859bf76f192c67aa2b18fd377 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Sat, 6 Aug 2022 21:17:36 +0200 Subject: [PATCH 025/229] [skip ci] Also update message in feature closer --- .github/workflows/close-stale-feature-requests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/close-stale-feature-requests.yml b/.github/workflows/close-stale-feature-requests.yml index eff1a0bb6243b..b6727dc2401d5 100644 --- a/.github/workflows/close-stale-feature-requests.yml +++ b/.github/workflows/close-stale-feature-requests.yml @@ -18,6 +18,6 @@ jobs: # Hack to skip PRs, unfortunately there's no option to disable PRs only-pr-labels: inexistent-label stale-issue-message: >- - There has not been any recent activity in this feature request. It will automatically be closed in 7 days + There has not been any recent activity in this feature request. It will automatically be closed in 14 days if no further action is taken. Please see https://github.com/probot/stale#is-closing-stale-issues-really-a-good-idea to understand why we auto-close stale feature requests. From d9ff5e079f73464374eb9b7ab0b8d5ae281fa8fe Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Thu, 4 Aug 2022 20:52:44 +0100 Subject: [PATCH 026/229] Fix GH-8472: stream_socket_accept result may have incorrect metadata --- NEWS | 4 +++ ext/openssl/xp_ssl.c | 4 +++ ext/standard/tests/streams/gh8472.phpt | 35 ++++++++++++++++++++++++++ main/streams/xp_socket.c | 4 +++ 4 files changed, 47 insertions(+) create mode 100644 ext/standard/tests/streams/gh8472.phpt diff --git a/NEWS b/NEWS index 1c9cf761660c4..d71a5c718c3f3 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,10 @@ PHP NEWS . Fixed bug GH-9017 (php_stream_sock_open_from_socket could return NULL). (Heiko Weber) +- Streams: + . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have + incorrect metadata). (Jakub Zelenka) + 04 Aug 2022, PHP 8.0.22 - CLI: diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index 206543ca82247..8299455a2e871 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -2287,6 +2287,10 @@ static inline int php_openssl_tcp_sockop_accept(php_stream *stream, php_openssl_ memcpy(clisockdata, sock, sizeof(clisockdata->s)); clisockdata->s.socket = clisock; +#ifdef __linux__ + /* O_NONBLOCK is not inherited on Linux */ + clisockdata->s.is_blocked = 1; +#endif xparam->outputs.client = php_stream_alloc_rel(stream->ops, clisockdata, NULL, "r+"); if (xparam->outputs.client) { diff --git a/ext/standard/tests/streams/gh8472.phpt b/ext/standard/tests/streams/gh8472.phpt new file mode 100644 index 0000000000000..b03c0ceb5e1da --- /dev/null +++ b/ext/standard/tests/streams/gh8472.phpt @@ -0,0 +1,35 @@ +--TEST-- +GH-8472: The resource returned by stream_socket_accept may have incorrect metadata +--FILE-- + +--EXPECT-- +string(4) "0000" +string(1) "0" diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c index a369bf5ff2d8c..68df336634009 100644 --- a/main/streams/xp_socket.c +++ b/main/streams/xp_socket.c @@ -840,6 +840,10 @@ static inline int php_tcp_sockop_accept(php_stream *stream, php_netstream_data_t memcpy(clisockdata, sock, sizeof(*clisockdata)); clisockdata->socket = clisock; +#ifdef __linux__ + /* O_NONBLOCK is not inherited on Linux */ + clisockdata->is_blocked = 1; +#endif xparam->outputs.client = php_stream_alloc_rel(stream->ops, clisockdata, NULL, "r+"); if (xparam->outputs.client) { From 163a278a02112d437cf809f4d2e40398381d951d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 8 Aug 2022 08:28:40 +0200 Subject: [PATCH 027/229] Declare ext/intl constants in stubs - part 3 (#9233) --- ext/intl/config.m4 | 1 - ext/intl/config.w32 | 1 - ext/intl/formatter/formatter.c | 134 -------- ext/intl/formatter/formatter.h | 22 -- ext/intl/formatter/formatter.stub.php | 391 +++++++++++++++++++++ ext/intl/formatter/formatter_arginfo.h | 448 ++++++++++++++++++++++++- ext/intl/php_intl.c | 4 - 7 files changed, 838 insertions(+), 163 deletions(-) delete mode 100644 ext/intl/formatter/formatter.c delete mode 100644 ext/intl/formatter/formatter.h diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 index 91a91da20c27c..93e5833fa02f0 100644 --- a/ext/intl/config.m4 +++ b/ext/intl/config.m4 @@ -21,7 +21,6 @@ if test "$PHP_INTL" != "no"; then collator/collator_error.c \ common/common_error.c \ converter/converter.c \ - formatter/formatter.c \ formatter/formatter_main.c \ formatter/formatter_class.c \ formatter/formatter_attr.c \ diff --git a/ext/intl/config.w32 b/ext/intl/config.w32 index 95ac9a108f73a..e072f46979c21 100644 --- a/ext/intl/config.w32 +++ b/ext/intl/config.w32 @@ -28,7 +28,6 @@ if (PHP_INTL != "no") { converter.c \ ", "intl"); ADD_SOURCES(configure_module_dirname + "/formatter", "\ - formatter.c \ formatter_attr.c \ formatter_class.c \ formatter_data.c \ diff --git a/ext/intl/formatter/formatter.c b/ext/intl/formatter/formatter.c deleted file mode 100644 index 451008b5502bd..0000000000000 --- a/ext/intl/formatter/formatter.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Stanislav Malyshev | - +----------------------------------------------------------------------+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#include "php_intl.h" -#include "formatter_class.h" -#include "formatter_format.h" - -/* {{{ formatter_register_constants - * Register constants common for the both (OO and procedural) - * APIs. - */ -void formatter_register_constants( INIT_FUNC_ARGS ) -{ - if( NumberFormatter_ce_ptr == NULL) { - zend_error(E_ERROR, "NumberFormatter class not defined"); - } - - #define FORMATTER_EXPOSE_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_PERSISTENT | CONST_CS) - #define FORMATTER_EXPOSE_CLASS_CONST(x) zend_declare_class_constant_long( NumberFormatter_ce_ptr, ZEND_STRS( #x ) - 1, UNUM_##x ); - #define FORMATTER_EXPOSE_CUSTOM_CLASS_CONST(name, value) zend_declare_class_constant_long( NumberFormatter_ce_ptr, ZEND_STRS( name ) - 1, value ); - - /* UNumberFormatStyle constants */ - FORMATTER_EXPOSE_CLASS_CONST( PATTERN_DECIMAL ); - FORMATTER_EXPOSE_CLASS_CONST( DECIMAL ); - FORMATTER_EXPOSE_CLASS_CONST( CURRENCY ); - FORMATTER_EXPOSE_CLASS_CONST( PERCENT ); - FORMATTER_EXPOSE_CLASS_CONST( SCIENTIFIC ); - FORMATTER_EXPOSE_CLASS_CONST( SPELLOUT ); - FORMATTER_EXPOSE_CLASS_CONST( ORDINAL ); - FORMATTER_EXPOSE_CLASS_CONST( DURATION ); - FORMATTER_EXPOSE_CLASS_CONST( PATTERN_RULEBASED ); - FORMATTER_EXPOSE_CLASS_CONST( IGNORE ); -#if U_ICU_VERSION_MAJOR_NUM >= 53 - FORMATTER_EXPOSE_CLASS_CONST( CURRENCY_ACCOUNTING ); -#endif - FORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "DEFAULT_STYLE", UNUM_DEFAULT ); - - /* UNumberFormatRoundingMode */ - FORMATTER_EXPOSE_CLASS_CONST( ROUND_CEILING ); - FORMATTER_EXPOSE_CLASS_CONST( ROUND_FLOOR ); - FORMATTER_EXPOSE_CLASS_CONST( ROUND_DOWN ); - FORMATTER_EXPOSE_CLASS_CONST( ROUND_UP ); - FORMATTER_EXPOSE_CLASS_CONST( ROUND_HALFEVEN ); - FORMATTER_EXPOSE_CLASS_CONST( ROUND_HALFDOWN ); - FORMATTER_EXPOSE_CLASS_CONST( ROUND_HALFUP ); - - /* UNumberFormatPadPosition */ - FORMATTER_EXPOSE_CLASS_CONST( PAD_BEFORE_PREFIX ); - FORMATTER_EXPOSE_CLASS_CONST( PAD_AFTER_PREFIX ); - FORMATTER_EXPOSE_CLASS_CONST( PAD_BEFORE_SUFFIX ); - FORMATTER_EXPOSE_CLASS_CONST( PAD_AFTER_SUFFIX ); - - /* UNumberFormatAttribute */ - FORMATTER_EXPOSE_CLASS_CONST( PARSE_INT_ONLY ); - FORMATTER_EXPOSE_CLASS_CONST( GROUPING_USED ); - FORMATTER_EXPOSE_CLASS_CONST( DECIMAL_ALWAYS_SHOWN ); - FORMATTER_EXPOSE_CLASS_CONST( MAX_INTEGER_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( MIN_INTEGER_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( INTEGER_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( MAX_FRACTION_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( MIN_FRACTION_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( FRACTION_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( MULTIPLIER ); - FORMATTER_EXPOSE_CLASS_CONST( GROUPING_SIZE ); - FORMATTER_EXPOSE_CLASS_CONST( ROUNDING_MODE ); - FORMATTER_EXPOSE_CLASS_CONST( ROUNDING_INCREMENT ); - FORMATTER_EXPOSE_CLASS_CONST( FORMAT_WIDTH ); - FORMATTER_EXPOSE_CLASS_CONST( PADDING_POSITION ); - FORMATTER_EXPOSE_CLASS_CONST( SECONDARY_GROUPING_SIZE ); - FORMATTER_EXPOSE_CLASS_CONST( SIGNIFICANT_DIGITS_USED ); - FORMATTER_EXPOSE_CLASS_CONST( MIN_SIGNIFICANT_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( MAX_SIGNIFICANT_DIGITS ); - FORMATTER_EXPOSE_CLASS_CONST( LENIENT_PARSE ); - - /* UNumberFormatTextAttribute */ - FORMATTER_EXPOSE_CLASS_CONST( POSITIVE_PREFIX ); - FORMATTER_EXPOSE_CLASS_CONST( POSITIVE_SUFFIX ); - FORMATTER_EXPOSE_CLASS_CONST( NEGATIVE_PREFIX ); - FORMATTER_EXPOSE_CLASS_CONST( NEGATIVE_SUFFIX ); - FORMATTER_EXPOSE_CLASS_CONST( PADDING_CHARACTER ); - FORMATTER_EXPOSE_CLASS_CONST( CURRENCY_CODE ); - FORMATTER_EXPOSE_CLASS_CONST( DEFAULT_RULESET ); - FORMATTER_EXPOSE_CLASS_CONST( PUBLIC_RULESETS ); - - /* UNumberFormatSymbol */ - FORMATTER_EXPOSE_CLASS_CONST( DECIMAL_SEPARATOR_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( GROUPING_SEPARATOR_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( PATTERN_SEPARATOR_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( PERCENT_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( ZERO_DIGIT_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( DIGIT_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( MINUS_SIGN_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( PLUS_SIGN_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( CURRENCY_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( INTL_CURRENCY_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( MONETARY_SEPARATOR_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( EXPONENTIAL_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( PERMILL_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( PAD_ESCAPE_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( INFINITY_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( NAN_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( SIGNIFICANT_DIGIT_SYMBOL ); - FORMATTER_EXPOSE_CLASS_CONST( MONETARY_GROUPING_SEPARATOR_SYMBOL ); - - FORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "TYPE_DEFAULT", FORMAT_TYPE_DEFAULT ); - FORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "TYPE_INT32", FORMAT_TYPE_INT32 ); - FORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "TYPE_INT64", FORMAT_TYPE_INT64 ); - FORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "TYPE_DOUBLE", FORMAT_TYPE_DOUBLE ); - FORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "TYPE_CURRENCY", FORMAT_TYPE_CURRENCY ); - - #undef FORMATTER_EXPOSE_CUSTOM_CLASS_CONST - #undef FORMATTER_EXPOSE_CLASS_CONST - #undef FORMATTER_EXPOSE_CONST -} -/* }}} */ diff --git a/ext/intl/formatter/formatter.h b/ext/intl/formatter/formatter.h deleted file mode 100644 index 3f1c6da438925..0000000000000 --- a/ext/intl/formatter/formatter.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Stanislav Malyshev | - +----------------------------------------------------------------------+ - */ - -#ifndef FORMATTER_FORMATTER_H -#define FORMATTER_FORMATTER_H - -#include - -void formatter_register_constants( INIT_FUNC_ARGS ); - -#endif // FORMATTER_FORMATTER_H diff --git a/ext/intl/formatter/formatter.stub.php b/ext/intl/formatter/formatter.stub.php index 6cf101e340694..da6a6e3c5a6c2 100644 --- a/ext/intl/formatter/formatter.stub.php +++ b/ext/intl/formatter/formatter.stub.php @@ -5,6 +5,397 @@ /** @not-serializable */ class NumberFormatter { + /* UNumberFormatStyle constants */ + + /** + * @var int + * @cvalue UNUM_PATTERN_DECIMAL + */ + public const PATTERN_DECIMAL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_DECIMAL + */ + public const DECIMAL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_CURRENCY + */ + public const CURRENCY = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PERCENT + */ + public const PERCENT = UNKNOWN; + /** + * @var int + * @cvalue UNUM_SCIENTIFIC + */ + public const SCIENTIFIC = UNKNOWN; + /** + * @var int + * @cvalue UNUM_SPELLOUT + */ + public const SPELLOUT = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ORDINAL + */ + public const ORDINAL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_DURATION + */ + public const DURATION = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PATTERN_RULEBASED + */ + public const PATTERN_RULEBASED = UNKNOWN; + /** + * @var int + * @cvalue UNUM_IGNORE + */ + public const IGNORE = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 53 + /** + * @var int + * @cvalue UNUM_CURRENCY_ACCOUNTING + */ + public const CURRENCY_ACCOUNTING = UNKNOWN; +#endif + /** + * @var int + * @cvalue UNUM_DEFAULT + */ + public const DEFAULT_STYLE = UNKNOWN; + + /* UNumberFormatRoundingMode */ + + /** + * @var int + * @cvalue UNUM_ROUND_CEILING + */ + public const ROUND_CEILING = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUND_FLOOR + */ + public const ROUND_FLOOR = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUND_DOWN + */ + public const ROUND_DOWN = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUND_UP + */ + public const ROUND_UP = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUND_HALFEVEN + */ + public const ROUND_HALFEVEN = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUND_HALFDOWN + */ + public const ROUND_HALFDOWN = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUND_HALFUP + */ + public const ROUND_HALFUP = UNKNOWN; + + /* UNumberFormatPadPosition */ + + /** + * @var int + * @cvalue UNUM_PAD_BEFORE_PREFIX + */ + public const PAD_BEFORE_PREFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PAD_AFTER_PREFIX + */ + public const PAD_AFTER_PREFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PAD_BEFORE_SUFFIX + */ + public const PAD_BEFORE_SUFFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PAD_AFTER_SUFFIX + */ + public const PAD_AFTER_SUFFIX = UNKNOWN; + + /* UNumberFormatAttribute */ + + /** + * @var int + * @cvalue UNUM_PARSE_INT_ONLY + */ + public const PARSE_INT_ONLY = UNKNOWN; + /** + * @var int + * @cvalue UNUM_GROUPING_USED + */ + public const GROUPING_USED = UNKNOWN; + /** + * @var int + * @cvalue UNUM_DECIMAL_ALWAYS_SHOWN + */ + public const DECIMAL_ALWAYS_SHOWN = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MAX_INTEGER_DIGITS + */ + public const MAX_INTEGER_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MIN_INTEGER_DIGITS + */ + public const MIN_INTEGER_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_INTEGER_DIGITS + */ + public const INTEGER_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MAX_FRACTION_DIGITS + */ + public const MAX_FRACTION_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MIN_FRACTION_DIGITS + */ + public const MIN_FRACTION_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_FRACTION_DIGITS + */ + public const FRACTION_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MULTIPLIER + */ + public const MULTIPLIER = UNKNOWN; + /** + * @var int + * @cvalue UNUM_GROUPING_SIZE + */ + public const GROUPING_SIZE = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUNDING_MODE + */ + public const ROUNDING_MODE = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ROUNDING_INCREMENT + */ + public const ROUNDING_INCREMENT = UNKNOWN; + /** + * @var int + * @cvalue UNUM_FORMAT_WIDTH + */ + public const FORMAT_WIDTH = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PADDING_POSITION + */ + public const PADDING_POSITION = UNKNOWN; + /** + * @var int + * @cvalue UNUM_SECONDARY_GROUPING_SIZE + */ + public const SECONDARY_GROUPING_SIZE = UNKNOWN; + /** + * @var int + * @cvalue UNUM_SIGNIFICANT_DIGITS_USED + */ + public const SIGNIFICANT_DIGITS_USED = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MIN_SIGNIFICANT_DIGITS + */ + public const MIN_SIGNIFICANT_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MAX_SIGNIFICANT_DIGITS + */ + public const MAX_SIGNIFICANT_DIGITS = UNKNOWN; + /** + * @var int + * @cvalue UNUM_LENIENT_PARSE + */ + public const LENIENT_PARSE = UNKNOWN; + + /* UNumberFormatTextAttribute */ + + /** + * @var int + * @cvalue UNUM_POSITIVE_PREFIX + */ + public const POSITIVE_PREFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_POSITIVE_SUFFIX + */ + public const POSITIVE_SUFFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_NEGATIVE_PREFIX + */ + public const NEGATIVE_PREFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_NEGATIVE_SUFFIX + */ + public const NEGATIVE_SUFFIX = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PADDING_CHARACTER + */ + public const PADDING_CHARACTER = UNKNOWN; + /** + * @var int + * @cvalue UNUM_CURRENCY_CODE + */ + public const CURRENCY_CODE = UNKNOWN; + /** + * @var int + * @cvalue UNUM_DEFAULT_RULESET + */ + public const DEFAULT_RULESET = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PUBLIC_RULESETS + */ + public const PUBLIC_RULESETS = UNKNOWN; + + /* UNumberFormatSymbol */ + + /** + * @var int + * @cvalue UNUM_DECIMAL_SEPARATOR_SYMBOL + */ + public const DECIMAL_SEPARATOR_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_GROUPING_SEPARATOR_SYMBOL + */ + public const GROUPING_SEPARATOR_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PATTERN_SEPARATOR_SYMBOL + */ + public const PATTERN_SEPARATOR_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PERCENT_SYMBOL + */ + public const PERCENT_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_ZERO_DIGIT_SYMBOL + */ + public const ZERO_DIGIT_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_DIGIT_SYMBOL + */ + public const DIGIT_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MINUS_SIGN_SYMBOL + */ + public const MINUS_SIGN_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PLUS_SIGN_SYMBOL + */ + public const PLUS_SIGN_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_CURRENCY_SYMBOL + */ + public const CURRENCY_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_INTL_CURRENCY_SYMBOL + */ + public const INTL_CURRENCY_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MONETARY_SEPARATOR_SYMBOL + */ + public const MONETARY_SEPARATOR_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_EXPONENTIAL_SYMBOL + */ + public const EXPONENTIAL_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PERMILL_SYMBOL + */ + public const PERMILL_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_PAD_ESCAPE_SYMBOL + */ + public const PAD_ESCAPE_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_INFINITY_SYMBOL + */ + public const INFINITY_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_NAN_SYMBOL + */ + public const NAN_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_SIGNIFICANT_DIGIT_SYMBOL + */ + public const SIGNIFICANT_DIGIT_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL + */ + public const MONETARY_GROUPING_SEPARATOR_SYMBOL = UNKNOWN; + + /** + * @var int + * @cvalue FORMAT_TYPE_DEFAULT + */ + public const TYPE_DEFAULT = UNKNOWN; + /** + * @var int + * @cvalue FORMAT_TYPE_INT32 + */ + public const TYPE_INT32 = UNKNOWN; + /** + * @var int + * @cvalue FORMAT_TYPE_INT64 + */ + public const TYPE_INT64 = UNKNOWN; + /** + * @var int + * @cvalue FORMAT_TYPE_DOUBLE + */ + public const TYPE_DOUBLE = UNKNOWN; + /** + * @var int + * @cvalue FORMAT_TYPE_CURRENCY + */ + public const TYPE_CURRENCY = UNKNOWN; + public function __construct(string $locale, int $style, ?string $pattern = null) {} /** diff --git a/ext/intl/formatter/formatter_arginfo.h b/ext/intl/formatter/formatter_arginfo.h index 432ced976bdf6..3488b025c725c 100644 --- a/ext/intl/formatter/formatter_arginfo.h +++ b/ext/intl/formatter/formatter_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: f76ad76b08b7ca47883659fabfcc0882a2820c43 */ + * Stub hash: de64db0e66d2113dd10c556cd61324a7a7952973 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_NumberFormatter___construct, 0, 0, 2) ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0) @@ -128,5 +128,451 @@ static zend_class_entry *register_class_NumberFormatter(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_PATTERN_DECIMAL_value; + ZVAL_LONG(&const_PATTERN_DECIMAL_value, UNUM_PATTERN_DECIMAL); + zend_string *const_PATTERN_DECIMAL_name = zend_string_init_interned("PATTERN_DECIMAL", sizeof("PATTERN_DECIMAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PATTERN_DECIMAL_name, &const_PATTERN_DECIMAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PATTERN_DECIMAL_name); + + zval const_DECIMAL_value; + ZVAL_LONG(&const_DECIMAL_value, UNUM_DECIMAL); + zend_string *const_DECIMAL_name = zend_string_init_interned("DECIMAL", sizeof("DECIMAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DECIMAL_name, &const_DECIMAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DECIMAL_name); + + zval const_CURRENCY_value; + ZVAL_LONG(&const_CURRENCY_value, UNUM_CURRENCY); + zend_string *const_CURRENCY_name = zend_string_init_interned("CURRENCY", sizeof("CURRENCY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CURRENCY_name, &const_CURRENCY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CURRENCY_name); + + zval const_PERCENT_value; + ZVAL_LONG(&const_PERCENT_value, UNUM_PERCENT); + zend_string *const_PERCENT_name = zend_string_init_interned("PERCENT", sizeof("PERCENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PERCENT_name, &const_PERCENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PERCENT_name); + + zval const_SCIENTIFIC_value; + ZVAL_LONG(&const_SCIENTIFIC_value, UNUM_SCIENTIFIC); + zend_string *const_SCIENTIFIC_name = zend_string_init_interned("SCIENTIFIC", sizeof("SCIENTIFIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SCIENTIFIC_name, &const_SCIENTIFIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SCIENTIFIC_name); + + zval const_SPELLOUT_value; + ZVAL_LONG(&const_SPELLOUT_value, UNUM_SPELLOUT); + zend_string *const_SPELLOUT_name = zend_string_init_interned("SPELLOUT", sizeof("SPELLOUT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SPELLOUT_name, &const_SPELLOUT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SPELLOUT_name); + + zval const_ORDINAL_value; + ZVAL_LONG(&const_ORDINAL_value, UNUM_ORDINAL); + zend_string *const_ORDINAL_name = zend_string_init_interned("ORDINAL", sizeof("ORDINAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ORDINAL_name, &const_ORDINAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ORDINAL_name); + + zval const_DURATION_value; + ZVAL_LONG(&const_DURATION_value, UNUM_DURATION); + zend_string *const_DURATION_name = zend_string_init_interned("DURATION", sizeof("DURATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DURATION_name, &const_DURATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DURATION_name); + + zval const_PATTERN_RULEBASED_value; + ZVAL_LONG(&const_PATTERN_RULEBASED_value, UNUM_PATTERN_RULEBASED); + zend_string *const_PATTERN_RULEBASED_name = zend_string_init_interned("PATTERN_RULEBASED", sizeof("PATTERN_RULEBASED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PATTERN_RULEBASED_name, &const_PATTERN_RULEBASED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PATTERN_RULEBASED_name); + + zval const_IGNORE_value; + ZVAL_LONG(&const_IGNORE_value, UNUM_IGNORE); + zend_string *const_IGNORE_name = zend_string_init_interned("IGNORE", sizeof("IGNORE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_IGNORE_name, &const_IGNORE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_IGNORE_name); +#if U_ICU_VERSION_MAJOR_NUM >= 53 + + zval const_CURRENCY_ACCOUNTING_value; + ZVAL_LONG(&const_CURRENCY_ACCOUNTING_value, UNUM_CURRENCY_ACCOUNTING); + zend_string *const_CURRENCY_ACCOUNTING_name = zend_string_init_interned("CURRENCY_ACCOUNTING", sizeof("CURRENCY_ACCOUNTING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CURRENCY_ACCOUNTING_name, &const_CURRENCY_ACCOUNTING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CURRENCY_ACCOUNTING_name); +#endif + + zval const_DEFAULT_STYLE_value; + ZVAL_LONG(&const_DEFAULT_STYLE_value, UNUM_DEFAULT); + zend_string *const_DEFAULT_STYLE_name = zend_string_init_interned("DEFAULT_STYLE", sizeof("DEFAULT_STYLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DEFAULT_STYLE_name, &const_DEFAULT_STYLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DEFAULT_STYLE_name); + + zval const_ROUND_CEILING_value; + ZVAL_LONG(&const_ROUND_CEILING_value, UNUM_ROUND_CEILING); + zend_string *const_ROUND_CEILING_name = zend_string_init_interned("ROUND_CEILING", sizeof("ROUND_CEILING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_CEILING_name, &const_ROUND_CEILING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_CEILING_name); + + zval const_ROUND_FLOOR_value; + ZVAL_LONG(&const_ROUND_FLOOR_value, UNUM_ROUND_FLOOR); + zend_string *const_ROUND_FLOOR_name = zend_string_init_interned("ROUND_FLOOR", sizeof("ROUND_FLOOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_FLOOR_name, &const_ROUND_FLOOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_FLOOR_name); + + zval const_ROUND_DOWN_value; + ZVAL_LONG(&const_ROUND_DOWN_value, UNUM_ROUND_DOWN); + zend_string *const_ROUND_DOWN_name = zend_string_init_interned("ROUND_DOWN", sizeof("ROUND_DOWN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_DOWN_name, &const_ROUND_DOWN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_DOWN_name); + + zval const_ROUND_UP_value; + ZVAL_LONG(&const_ROUND_UP_value, UNUM_ROUND_UP); + zend_string *const_ROUND_UP_name = zend_string_init_interned("ROUND_UP", sizeof("ROUND_UP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_UP_name, &const_ROUND_UP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_UP_name); + + zval const_ROUND_HALFEVEN_value; + ZVAL_LONG(&const_ROUND_HALFEVEN_value, UNUM_ROUND_HALFEVEN); + zend_string *const_ROUND_HALFEVEN_name = zend_string_init_interned("ROUND_HALFEVEN", sizeof("ROUND_HALFEVEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_HALFEVEN_name, &const_ROUND_HALFEVEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_HALFEVEN_name); + + zval const_ROUND_HALFDOWN_value; + ZVAL_LONG(&const_ROUND_HALFDOWN_value, UNUM_ROUND_HALFDOWN); + zend_string *const_ROUND_HALFDOWN_name = zend_string_init_interned("ROUND_HALFDOWN", sizeof("ROUND_HALFDOWN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_HALFDOWN_name, &const_ROUND_HALFDOWN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_HALFDOWN_name); + + zval const_ROUND_HALFUP_value; + ZVAL_LONG(&const_ROUND_HALFUP_value, UNUM_ROUND_HALFUP); + zend_string *const_ROUND_HALFUP_name = zend_string_init_interned("ROUND_HALFUP", sizeof("ROUND_HALFUP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUND_HALFUP_name, &const_ROUND_HALFUP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUND_HALFUP_name); + + zval const_PAD_BEFORE_PREFIX_value; + ZVAL_LONG(&const_PAD_BEFORE_PREFIX_value, UNUM_PAD_BEFORE_PREFIX); + zend_string *const_PAD_BEFORE_PREFIX_name = zend_string_init_interned("PAD_BEFORE_PREFIX", sizeof("PAD_BEFORE_PREFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PAD_BEFORE_PREFIX_name, &const_PAD_BEFORE_PREFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PAD_BEFORE_PREFIX_name); + + zval const_PAD_AFTER_PREFIX_value; + ZVAL_LONG(&const_PAD_AFTER_PREFIX_value, UNUM_PAD_AFTER_PREFIX); + zend_string *const_PAD_AFTER_PREFIX_name = zend_string_init_interned("PAD_AFTER_PREFIX", sizeof("PAD_AFTER_PREFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PAD_AFTER_PREFIX_name, &const_PAD_AFTER_PREFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PAD_AFTER_PREFIX_name); + + zval const_PAD_BEFORE_SUFFIX_value; + ZVAL_LONG(&const_PAD_BEFORE_SUFFIX_value, UNUM_PAD_BEFORE_SUFFIX); + zend_string *const_PAD_BEFORE_SUFFIX_name = zend_string_init_interned("PAD_BEFORE_SUFFIX", sizeof("PAD_BEFORE_SUFFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PAD_BEFORE_SUFFIX_name, &const_PAD_BEFORE_SUFFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PAD_BEFORE_SUFFIX_name); + + zval const_PAD_AFTER_SUFFIX_value; + ZVAL_LONG(&const_PAD_AFTER_SUFFIX_value, UNUM_PAD_AFTER_SUFFIX); + zend_string *const_PAD_AFTER_SUFFIX_name = zend_string_init_interned("PAD_AFTER_SUFFIX", sizeof("PAD_AFTER_SUFFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PAD_AFTER_SUFFIX_name, &const_PAD_AFTER_SUFFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PAD_AFTER_SUFFIX_name); + + zval const_PARSE_INT_ONLY_value; + ZVAL_LONG(&const_PARSE_INT_ONLY_value, UNUM_PARSE_INT_ONLY); + zend_string *const_PARSE_INT_ONLY_name = zend_string_init_interned("PARSE_INT_ONLY", sizeof("PARSE_INT_ONLY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PARSE_INT_ONLY_name, &const_PARSE_INT_ONLY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PARSE_INT_ONLY_name); + + zval const_GROUPING_USED_value; + ZVAL_LONG(&const_GROUPING_USED_value, UNUM_GROUPING_USED); + zend_string *const_GROUPING_USED_name = zend_string_init_interned("GROUPING_USED", sizeof("GROUPING_USED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GROUPING_USED_name, &const_GROUPING_USED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GROUPING_USED_name); + + zval const_DECIMAL_ALWAYS_SHOWN_value; + ZVAL_LONG(&const_DECIMAL_ALWAYS_SHOWN_value, UNUM_DECIMAL_ALWAYS_SHOWN); + zend_string *const_DECIMAL_ALWAYS_SHOWN_name = zend_string_init_interned("DECIMAL_ALWAYS_SHOWN", sizeof("DECIMAL_ALWAYS_SHOWN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DECIMAL_ALWAYS_SHOWN_name, &const_DECIMAL_ALWAYS_SHOWN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DECIMAL_ALWAYS_SHOWN_name); + + zval const_MAX_INTEGER_DIGITS_value; + ZVAL_LONG(&const_MAX_INTEGER_DIGITS_value, UNUM_MAX_INTEGER_DIGITS); + zend_string *const_MAX_INTEGER_DIGITS_name = zend_string_init_interned("MAX_INTEGER_DIGITS", sizeof("MAX_INTEGER_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MAX_INTEGER_DIGITS_name, &const_MAX_INTEGER_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MAX_INTEGER_DIGITS_name); + + zval const_MIN_INTEGER_DIGITS_value; + ZVAL_LONG(&const_MIN_INTEGER_DIGITS_value, UNUM_MIN_INTEGER_DIGITS); + zend_string *const_MIN_INTEGER_DIGITS_name = zend_string_init_interned("MIN_INTEGER_DIGITS", sizeof("MIN_INTEGER_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MIN_INTEGER_DIGITS_name, &const_MIN_INTEGER_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MIN_INTEGER_DIGITS_name); + + zval const_INTEGER_DIGITS_value; + ZVAL_LONG(&const_INTEGER_DIGITS_value, UNUM_INTEGER_DIGITS); + zend_string *const_INTEGER_DIGITS_name = zend_string_init_interned("INTEGER_DIGITS", sizeof("INTEGER_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_INTEGER_DIGITS_name, &const_INTEGER_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_INTEGER_DIGITS_name); + + zval const_MAX_FRACTION_DIGITS_value; + ZVAL_LONG(&const_MAX_FRACTION_DIGITS_value, UNUM_MAX_FRACTION_DIGITS); + zend_string *const_MAX_FRACTION_DIGITS_name = zend_string_init_interned("MAX_FRACTION_DIGITS", sizeof("MAX_FRACTION_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MAX_FRACTION_DIGITS_name, &const_MAX_FRACTION_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MAX_FRACTION_DIGITS_name); + + zval const_MIN_FRACTION_DIGITS_value; + ZVAL_LONG(&const_MIN_FRACTION_DIGITS_value, UNUM_MIN_FRACTION_DIGITS); + zend_string *const_MIN_FRACTION_DIGITS_name = zend_string_init_interned("MIN_FRACTION_DIGITS", sizeof("MIN_FRACTION_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MIN_FRACTION_DIGITS_name, &const_MIN_FRACTION_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MIN_FRACTION_DIGITS_name); + + zval const_FRACTION_DIGITS_value; + ZVAL_LONG(&const_FRACTION_DIGITS_value, UNUM_FRACTION_DIGITS); + zend_string *const_FRACTION_DIGITS_name = zend_string_init_interned("FRACTION_DIGITS", sizeof("FRACTION_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FRACTION_DIGITS_name, &const_FRACTION_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FRACTION_DIGITS_name); + + zval const_MULTIPLIER_value; + ZVAL_LONG(&const_MULTIPLIER_value, UNUM_MULTIPLIER); + zend_string *const_MULTIPLIER_name = zend_string_init_interned("MULTIPLIER", sizeof("MULTIPLIER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MULTIPLIER_name, &const_MULTIPLIER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MULTIPLIER_name); + + zval const_GROUPING_SIZE_value; + ZVAL_LONG(&const_GROUPING_SIZE_value, UNUM_GROUPING_SIZE); + zend_string *const_GROUPING_SIZE_name = zend_string_init_interned("GROUPING_SIZE", sizeof("GROUPING_SIZE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GROUPING_SIZE_name, &const_GROUPING_SIZE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GROUPING_SIZE_name); + + zval const_ROUNDING_MODE_value; + ZVAL_LONG(&const_ROUNDING_MODE_value, UNUM_ROUNDING_MODE); + zend_string *const_ROUNDING_MODE_name = zend_string_init_interned("ROUNDING_MODE", sizeof("ROUNDING_MODE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUNDING_MODE_name, &const_ROUNDING_MODE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUNDING_MODE_name); + + zval const_ROUNDING_INCREMENT_value; + ZVAL_LONG(&const_ROUNDING_INCREMENT_value, UNUM_ROUNDING_INCREMENT); + zend_string *const_ROUNDING_INCREMENT_name = zend_string_init_interned("ROUNDING_INCREMENT", sizeof("ROUNDING_INCREMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ROUNDING_INCREMENT_name, &const_ROUNDING_INCREMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ROUNDING_INCREMENT_name); + + zval const_FORMAT_WIDTH_value; + ZVAL_LONG(&const_FORMAT_WIDTH_value, UNUM_FORMAT_WIDTH); + zend_string *const_FORMAT_WIDTH_name = zend_string_init_interned("FORMAT_WIDTH", sizeof("FORMAT_WIDTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORMAT_WIDTH_name, &const_FORMAT_WIDTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORMAT_WIDTH_name); + + zval const_PADDING_POSITION_value; + ZVAL_LONG(&const_PADDING_POSITION_value, UNUM_PADDING_POSITION); + zend_string *const_PADDING_POSITION_name = zend_string_init_interned("PADDING_POSITION", sizeof("PADDING_POSITION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PADDING_POSITION_name, &const_PADDING_POSITION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PADDING_POSITION_name); + + zval const_SECONDARY_GROUPING_SIZE_value; + ZVAL_LONG(&const_SECONDARY_GROUPING_SIZE_value, UNUM_SECONDARY_GROUPING_SIZE); + zend_string *const_SECONDARY_GROUPING_SIZE_name = zend_string_init_interned("SECONDARY_GROUPING_SIZE", sizeof("SECONDARY_GROUPING_SIZE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SECONDARY_GROUPING_SIZE_name, &const_SECONDARY_GROUPING_SIZE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SECONDARY_GROUPING_SIZE_name); + + zval const_SIGNIFICANT_DIGITS_USED_value; + ZVAL_LONG(&const_SIGNIFICANT_DIGITS_USED_value, UNUM_SIGNIFICANT_DIGITS_USED); + zend_string *const_SIGNIFICANT_DIGITS_USED_name = zend_string_init_interned("SIGNIFICANT_DIGITS_USED", sizeof("SIGNIFICANT_DIGITS_USED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SIGNIFICANT_DIGITS_USED_name, &const_SIGNIFICANT_DIGITS_USED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SIGNIFICANT_DIGITS_USED_name); + + zval const_MIN_SIGNIFICANT_DIGITS_value; + ZVAL_LONG(&const_MIN_SIGNIFICANT_DIGITS_value, UNUM_MIN_SIGNIFICANT_DIGITS); + zend_string *const_MIN_SIGNIFICANT_DIGITS_name = zend_string_init_interned("MIN_SIGNIFICANT_DIGITS", sizeof("MIN_SIGNIFICANT_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MIN_SIGNIFICANT_DIGITS_name, &const_MIN_SIGNIFICANT_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MIN_SIGNIFICANT_DIGITS_name); + + zval const_MAX_SIGNIFICANT_DIGITS_value; + ZVAL_LONG(&const_MAX_SIGNIFICANT_DIGITS_value, UNUM_MAX_SIGNIFICANT_DIGITS); + zend_string *const_MAX_SIGNIFICANT_DIGITS_name = zend_string_init_interned("MAX_SIGNIFICANT_DIGITS", sizeof("MAX_SIGNIFICANT_DIGITS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MAX_SIGNIFICANT_DIGITS_name, &const_MAX_SIGNIFICANT_DIGITS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MAX_SIGNIFICANT_DIGITS_name); + + zval const_LENIENT_PARSE_value; + ZVAL_LONG(&const_LENIENT_PARSE_value, UNUM_LENIENT_PARSE); + zend_string *const_LENIENT_PARSE_name = zend_string_init_interned("LENIENT_PARSE", sizeof("LENIENT_PARSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LENIENT_PARSE_name, &const_LENIENT_PARSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LENIENT_PARSE_name); + + zval const_POSITIVE_PREFIX_value; + ZVAL_LONG(&const_POSITIVE_PREFIX_value, UNUM_POSITIVE_PREFIX); + zend_string *const_POSITIVE_PREFIX_name = zend_string_init_interned("POSITIVE_PREFIX", sizeof("POSITIVE_PREFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_POSITIVE_PREFIX_name, &const_POSITIVE_PREFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_POSITIVE_PREFIX_name); + + zval const_POSITIVE_SUFFIX_value; + ZVAL_LONG(&const_POSITIVE_SUFFIX_value, UNUM_POSITIVE_SUFFIX); + zend_string *const_POSITIVE_SUFFIX_name = zend_string_init_interned("POSITIVE_SUFFIX", sizeof("POSITIVE_SUFFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_POSITIVE_SUFFIX_name, &const_POSITIVE_SUFFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_POSITIVE_SUFFIX_name); + + zval const_NEGATIVE_PREFIX_value; + ZVAL_LONG(&const_NEGATIVE_PREFIX_value, UNUM_NEGATIVE_PREFIX); + zend_string *const_NEGATIVE_PREFIX_name = zend_string_init_interned("NEGATIVE_PREFIX", sizeof("NEGATIVE_PREFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NEGATIVE_PREFIX_name, &const_NEGATIVE_PREFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NEGATIVE_PREFIX_name); + + zval const_NEGATIVE_SUFFIX_value; + ZVAL_LONG(&const_NEGATIVE_SUFFIX_value, UNUM_NEGATIVE_SUFFIX); + zend_string *const_NEGATIVE_SUFFIX_name = zend_string_init_interned("NEGATIVE_SUFFIX", sizeof("NEGATIVE_SUFFIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NEGATIVE_SUFFIX_name, &const_NEGATIVE_SUFFIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NEGATIVE_SUFFIX_name); + + zval const_PADDING_CHARACTER_value; + ZVAL_LONG(&const_PADDING_CHARACTER_value, UNUM_PADDING_CHARACTER); + zend_string *const_PADDING_CHARACTER_name = zend_string_init_interned("PADDING_CHARACTER", sizeof("PADDING_CHARACTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PADDING_CHARACTER_name, &const_PADDING_CHARACTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PADDING_CHARACTER_name); + + zval const_CURRENCY_CODE_value; + ZVAL_LONG(&const_CURRENCY_CODE_value, UNUM_CURRENCY_CODE); + zend_string *const_CURRENCY_CODE_name = zend_string_init_interned("CURRENCY_CODE", sizeof("CURRENCY_CODE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CURRENCY_CODE_name, &const_CURRENCY_CODE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CURRENCY_CODE_name); + + zval const_DEFAULT_RULESET_value; + ZVAL_LONG(&const_DEFAULT_RULESET_value, UNUM_DEFAULT_RULESET); + zend_string *const_DEFAULT_RULESET_name = zend_string_init_interned("DEFAULT_RULESET", sizeof("DEFAULT_RULESET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DEFAULT_RULESET_name, &const_DEFAULT_RULESET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DEFAULT_RULESET_name); + + zval const_PUBLIC_RULESETS_value; + ZVAL_LONG(&const_PUBLIC_RULESETS_value, UNUM_PUBLIC_RULESETS); + zend_string *const_PUBLIC_RULESETS_name = zend_string_init_interned("PUBLIC_RULESETS", sizeof("PUBLIC_RULESETS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PUBLIC_RULESETS_name, &const_PUBLIC_RULESETS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PUBLIC_RULESETS_name); + + zval const_DECIMAL_SEPARATOR_SYMBOL_value; + ZVAL_LONG(&const_DECIMAL_SEPARATOR_SYMBOL_value, UNUM_DECIMAL_SEPARATOR_SYMBOL); + zend_string *const_DECIMAL_SEPARATOR_SYMBOL_name = zend_string_init_interned("DECIMAL_SEPARATOR_SYMBOL", sizeof("DECIMAL_SEPARATOR_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DECIMAL_SEPARATOR_SYMBOL_name, &const_DECIMAL_SEPARATOR_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DECIMAL_SEPARATOR_SYMBOL_name); + + zval const_GROUPING_SEPARATOR_SYMBOL_value; + ZVAL_LONG(&const_GROUPING_SEPARATOR_SYMBOL_value, UNUM_GROUPING_SEPARATOR_SYMBOL); + zend_string *const_GROUPING_SEPARATOR_SYMBOL_name = zend_string_init_interned("GROUPING_SEPARATOR_SYMBOL", sizeof("GROUPING_SEPARATOR_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GROUPING_SEPARATOR_SYMBOL_name, &const_GROUPING_SEPARATOR_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GROUPING_SEPARATOR_SYMBOL_name); + + zval const_PATTERN_SEPARATOR_SYMBOL_value; + ZVAL_LONG(&const_PATTERN_SEPARATOR_SYMBOL_value, UNUM_PATTERN_SEPARATOR_SYMBOL); + zend_string *const_PATTERN_SEPARATOR_SYMBOL_name = zend_string_init_interned("PATTERN_SEPARATOR_SYMBOL", sizeof("PATTERN_SEPARATOR_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PATTERN_SEPARATOR_SYMBOL_name, &const_PATTERN_SEPARATOR_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PATTERN_SEPARATOR_SYMBOL_name); + + zval const_PERCENT_SYMBOL_value; + ZVAL_LONG(&const_PERCENT_SYMBOL_value, UNUM_PERCENT_SYMBOL); + zend_string *const_PERCENT_SYMBOL_name = zend_string_init_interned("PERCENT_SYMBOL", sizeof("PERCENT_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PERCENT_SYMBOL_name, &const_PERCENT_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PERCENT_SYMBOL_name); + + zval const_ZERO_DIGIT_SYMBOL_value; + ZVAL_LONG(&const_ZERO_DIGIT_SYMBOL_value, UNUM_ZERO_DIGIT_SYMBOL); + zend_string *const_ZERO_DIGIT_SYMBOL_name = zend_string_init_interned("ZERO_DIGIT_SYMBOL", sizeof("ZERO_DIGIT_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ZERO_DIGIT_SYMBOL_name, &const_ZERO_DIGIT_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ZERO_DIGIT_SYMBOL_name); + + zval const_DIGIT_SYMBOL_value; + ZVAL_LONG(&const_DIGIT_SYMBOL_value, UNUM_DIGIT_SYMBOL); + zend_string *const_DIGIT_SYMBOL_name = zend_string_init_interned("DIGIT_SYMBOL", sizeof("DIGIT_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DIGIT_SYMBOL_name, &const_DIGIT_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DIGIT_SYMBOL_name); + + zval const_MINUS_SIGN_SYMBOL_value; + ZVAL_LONG(&const_MINUS_SIGN_SYMBOL_value, UNUM_MINUS_SIGN_SYMBOL); + zend_string *const_MINUS_SIGN_SYMBOL_name = zend_string_init_interned("MINUS_SIGN_SYMBOL", sizeof("MINUS_SIGN_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MINUS_SIGN_SYMBOL_name, &const_MINUS_SIGN_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MINUS_SIGN_SYMBOL_name); + + zval const_PLUS_SIGN_SYMBOL_value; + ZVAL_LONG(&const_PLUS_SIGN_SYMBOL_value, UNUM_PLUS_SIGN_SYMBOL); + zend_string *const_PLUS_SIGN_SYMBOL_name = zend_string_init_interned("PLUS_SIGN_SYMBOL", sizeof("PLUS_SIGN_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PLUS_SIGN_SYMBOL_name, &const_PLUS_SIGN_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PLUS_SIGN_SYMBOL_name); + + zval const_CURRENCY_SYMBOL_value; + ZVAL_LONG(&const_CURRENCY_SYMBOL_value, UNUM_CURRENCY_SYMBOL); + zend_string *const_CURRENCY_SYMBOL_name = zend_string_init_interned("CURRENCY_SYMBOL", sizeof("CURRENCY_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CURRENCY_SYMBOL_name, &const_CURRENCY_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CURRENCY_SYMBOL_name); + + zval const_INTL_CURRENCY_SYMBOL_value; + ZVAL_LONG(&const_INTL_CURRENCY_SYMBOL_value, UNUM_INTL_CURRENCY_SYMBOL); + zend_string *const_INTL_CURRENCY_SYMBOL_name = zend_string_init_interned("INTL_CURRENCY_SYMBOL", sizeof("INTL_CURRENCY_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_INTL_CURRENCY_SYMBOL_name, &const_INTL_CURRENCY_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_INTL_CURRENCY_SYMBOL_name); + + zval const_MONETARY_SEPARATOR_SYMBOL_value; + ZVAL_LONG(&const_MONETARY_SEPARATOR_SYMBOL_value, UNUM_MONETARY_SEPARATOR_SYMBOL); + zend_string *const_MONETARY_SEPARATOR_SYMBOL_name = zend_string_init_interned("MONETARY_SEPARATOR_SYMBOL", sizeof("MONETARY_SEPARATOR_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MONETARY_SEPARATOR_SYMBOL_name, &const_MONETARY_SEPARATOR_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MONETARY_SEPARATOR_SYMBOL_name); + + zval const_EXPONENTIAL_SYMBOL_value; + ZVAL_LONG(&const_EXPONENTIAL_SYMBOL_value, UNUM_EXPONENTIAL_SYMBOL); + zend_string *const_EXPONENTIAL_SYMBOL_name = zend_string_init_interned("EXPONENTIAL_SYMBOL", sizeof("EXPONENTIAL_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EXPONENTIAL_SYMBOL_name, &const_EXPONENTIAL_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EXPONENTIAL_SYMBOL_name); + + zval const_PERMILL_SYMBOL_value; + ZVAL_LONG(&const_PERMILL_SYMBOL_value, UNUM_PERMILL_SYMBOL); + zend_string *const_PERMILL_SYMBOL_name = zend_string_init_interned("PERMILL_SYMBOL", sizeof("PERMILL_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PERMILL_SYMBOL_name, &const_PERMILL_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PERMILL_SYMBOL_name); + + zval const_PAD_ESCAPE_SYMBOL_value; + ZVAL_LONG(&const_PAD_ESCAPE_SYMBOL_value, UNUM_PAD_ESCAPE_SYMBOL); + zend_string *const_PAD_ESCAPE_SYMBOL_name = zend_string_init_interned("PAD_ESCAPE_SYMBOL", sizeof("PAD_ESCAPE_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PAD_ESCAPE_SYMBOL_name, &const_PAD_ESCAPE_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PAD_ESCAPE_SYMBOL_name); + + zval const_INFINITY_SYMBOL_value; + ZVAL_LONG(&const_INFINITY_SYMBOL_value, UNUM_INFINITY_SYMBOL); + zend_string *const_INFINITY_SYMBOL_name = zend_string_init_interned("INFINITY_SYMBOL", sizeof("INFINITY_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_INFINITY_SYMBOL_name, &const_INFINITY_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_INFINITY_SYMBOL_name); + + zval const_NAN_SYMBOL_value; + ZVAL_LONG(&const_NAN_SYMBOL_value, UNUM_NAN_SYMBOL); + zend_string *const_NAN_SYMBOL_name = zend_string_init_interned("NAN_SYMBOL", sizeof("NAN_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NAN_SYMBOL_name, &const_NAN_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NAN_SYMBOL_name); + + zval const_SIGNIFICANT_DIGIT_SYMBOL_value; + ZVAL_LONG(&const_SIGNIFICANT_DIGIT_SYMBOL_value, UNUM_SIGNIFICANT_DIGIT_SYMBOL); + zend_string *const_SIGNIFICANT_DIGIT_SYMBOL_name = zend_string_init_interned("SIGNIFICANT_DIGIT_SYMBOL", sizeof("SIGNIFICANT_DIGIT_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SIGNIFICANT_DIGIT_SYMBOL_name, &const_SIGNIFICANT_DIGIT_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SIGNIFICANT_DIGIT_SYMBOL_name); + + zval const_MONETARY_GROUPING_SEPARATOR_SYMBOL_value; + ZVAL_LONG(&const_MONETARY_GROUPING_SEPARATOR_SYMBOL_value, UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL); + zend_string *const_MONETARY_GROUPING_SEPARATOR_SYMBOL_name = zend_string_init_interned("MONETARY_GROUPING_SEPARATOR_SYMBOL", sizeof("MONETARY_GROUPING_SEPARATOR_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MONETARY_GROUPING_SEPARATOR_SYMBOL_name, &const_MONETARY_GROUPING_SEPARATOR_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MONETARY_GROUPING_SEPARATOR_SYMBOL_name); + + zval const_TYPE_DEFAULT_value; + ZVAL_LONG(&const_TYPE_DEFAULT_value, FORMAT_TYPE_DEFAULT); + zend_string *const_TYPE_DEFAULT_name = zend_string_init_interned("TYPE_DEFAULT", sizeof("TYPE_DEFAULT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_DEFAULT_name, &const_TYPE_DEFAULT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_DEFAULT_name); + + zval const_TYPE_INT32_value; + ZVAL_LONG(&const_TYPE_INT32_value, FORMAT_TYPE_INT32); + zend_string *const_TYPE_INT32_name = zend_string_init_interned("TYPE_INT32", sizeof("TYPE_INT32") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_INT32_name, &const_TYPE_INT32_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_INT32_name); + + zval const_TYPE_INT64_value; + ZVAL_LONG(&const_TYPE_INT64_value, FORMAT_TYPE_INT64); + zend_string *const_TYPE_INT64_name = zend_string_init_interned("TYPE_INT64", sizeof("TYPE_INT64") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_INT64_name, &const_TYPE_INT64_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_INT64_name); + + zval const_TYPE_DOUBLE_value; + ZVAL_LONG(&const_TYPE_DOUBLE_value, FORMAT_TYPE_DOUBLE); + zend_string *const_TYPE_DOUBLE_name = zend_string_init_interned("TYPE_DOUBLE", sizeof("TYPE_DOUBLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_DOUBLE_name, &const_TYPE_DOUBLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_DOUBLE_name); + + zval const_TYPE_CURRENCY_value; + ZVAL_LONG(&const_TYPE_CURRENCY_value, FORMAT_TYPE_CURRENCY); + zend_string *const_TYPE_CURRENCY_name = zend_string_init_interned("TYPE_CURRENCY", sizeof("TYPE_CURRENCY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_CURRENCY_name, &const_TYPE_CURRENCY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_CURRENCY_name); + return class_entry; } diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index 2fa47e46726a8..e08eea8dc6876 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -29,7 +29,6 @@ #include "converter/converter.h" -#include "formatter/formatter.h" #include "formatter/formatter_class.h" #include "formatter/formatter_format.h" @@ -157,9 +156,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'NumberFormatter' PHP class */ formatter_register_class( ); - /* Expose NumberFormatter constants to PHP scripts */ - formatter_register_constants( INIT_FUNC_ARGS_PASSTHRU ); - /* Register 'Normalizer' PHP class */ normalizer_register_Normalizer_class( ); From c1da9e7964914e608a711f3e90f1efcfdef0828a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 8 Aug 2022 08:56:51 +0200 Subject: [PATCH 028/229] Declare ext/intl constants in stubs - part 4 (#9234) --- ext/intl/dateformat/dateformat.c | 45 ---------------- ext/intl/dateformat/dateformat.h | 2 - ext/intl/dateformat/dateformat.stub.php | 57 ++++++++++++++++++++ ext/intl/dateformat/dateformat_arginfo.h | 68 +++++++++++++++++++++++- ext/intl/dateformat/dateformat_create.h | 2 - ext/intl/php_intl.c | 3 -- 6 files changed, 124 insertions(+), 53 deletions(-) diff --git a/ext/intl/dateformat/dateformat.c b/ext/intl/dateformat/dateformat.c index 784e972a96b9f..df4a886074463 100644 --- a/ext/intl/dateformat/dateformat.c +++ b/ext/intl/dateformat/dateformat.c @@ -21,51 +21,6 @@ #include "dateformat_class.h" #include "dateformat.h" -/* {{{ dateformat_register_constants - * Register constants common for the both (OO and procedural) - * APIs. - */ -void dateformat_register_constants( INIT_FUNC_ARGS ) -{ - if( IntlDateFormatter_ce_ptr == NULL) { - zend_error(E_ERROR, "DateFormat class not defined"); - return; - } - - #define DATEFORMATTER_EXPOSE_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_PERSISTENT | CONST_CS) - #define DATEFORMATTER_EXPOSE_CLASS_CONST(x) zend_declare_class_constant_long( IntlDateFormatter_ce_ptr, ZEND_STRS( #x ) - 1, UDAT_##x ); - #define DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST(name, value) zend_declare_class_constant_long( IntlDateFormatter_ce_ptr, ZEND_STRS( name ) - 1, value ); - - #define DATEFORMATTER_EXPOSE_UCAL_CLASS_CONST(x) zend_declare_class_constant_long( IntlDateFormatter_ce_ptr, ZEND_STRS( #x ) - 1, UCAL_##x ); - - /* UDateFormatStyle constants */ - DATEFORMATTER_EXPOSE_CLASS_CONST( FULL ); - DATEFORMATTER_EXPOSE_CLASS_CONST( LONG ); - DATEFORMATTER_EXPOSE_CLASS_CONST( MEDIUM ); - DATEFORMATTER_EXPOSE_CLASS_CONST( SHORT ); - DATEFORMATTER_EXPOSE_CLASS_CONST( NONE ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "RELATIVE_FULL", UDAT_FULL_RELATIVE ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "RELATIVE_LONG", UDAT_LONG_RELATIVE ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "RELATIVE_MEDIUM", UDAT_MEDIUM_RELATIVE ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "RELATIVE_SHORT", UDAT_SHORT_RELATIVE ); - -/* - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "GREGORIAN", DATEF_GREGORIAN ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "CUSTOMARY", DATEF_CUSTOMARY ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "BUDDHIST", DATEF_BUDDHIST ); - DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST( "JAPANESE_IMPERIAL", DATEF_JAPANESE_IMPERIAL ); -*/ - - DATEFORMATTER_EXPOSE_UCAL_CLASS_CONST( GREGORIAN ); - DATEFORMATTER_EXPOSE_UCAL_CLASS_CONST( TRADITIONAL ); - - #undef DATEFORMATTER_EXPOSE_UCAL_CLASS_CONST - #undef DATEFORMATTER_EXPOSE_CUSTOM_CLASS_CONST - #undef DATEFORMATTER_EXPOSE_CLASS_CONST - #undef DATEFORMATTER_EXPOSE_CONST -} -/* }}} */ - /* {{{ Get formatter's last error code. */ PHP_FUNCTION( datefmt_get_error_code ) { diff --git a/ext/intl/dateformat/dateformat.h b/ext/intl/dateformat/dateformat.h index 98da8185762a5..3e0b14cf6c0de 100644 --- a/ext/intl/dateformat/dateformat.h +++ b/ext/intl/dateformat/dateformat.h @@ -16,8 +16,6 @@ #include -void dateformat_register_constants( INIT_FUNC_ARGS ); - /* These are not necessary at this point of time #define DATEF_GREGORIAN 1 diff --git a/ext/intl/dateformat/dateformat.stub.php b/ext/intl/dateformat/dateformat.stub.php index 0ea15225f5a25..7664fa7297d8b 100644 --- a/ext/intl/dateformat/dateformat.stub.php +++ b/ext/intl/dateformat/dateformat.stub.php @@ -5,6 +5,63 @@ /** @not-serializable */ class IntlDateFormatter { + /** + * @var int + * @cvalue UDAT_FULL + */ + public const FULL = UNKNOWN; + /** + * @var int + * @cvalue UDAT_LONG + */ + public const LONG = UNKNOWN; + /** + * @var int + * @cvalue UDAT_MEDIUM + */ + public const MEDIUM = UNKNOWN; + /** + * @var int + * @cvalue UDAT_SHORT + */ + public const SHORT = UNKNOWN; + /** + * @var int + * @cvalue UDAT_NONE + */ + public const NONE = UNKNOWN; + /** + * @var int + * @cvalue UDAT_FULL_RELATIVE + */ + public const RELATIVE_FULL = UNKNOWN; + /** + * @var int + * @cvalue UDAT_LONG_RELATIVE + */ + public const RELATIVE_LONG = UNKNOWN; + /** + * @var int + * @cvalue UDAT_MEDIUM_RELATIVE + */ + public const RELATIVE_MEDIUM = UNKNOWN; + /** + * @var int + * @cvalue UDAT_SHORT_RELATIVE + */ + public const RELATIVE_SHORT = UNKNOWN; + + /** + * @var int + * @cvalue UCAL_GREGORIAN + */ + public const GREGORIAN = UNKNOWN; + /** + * @var int + * @cvalue UCAL_TRADITIONAL + */ + public const TRADITIONAL = UNKNOWN; + /** * @param IntlTimeZone|DateTimeZone|string|null $timezone * @param IntlCalendar|int|null $calendar diff --git a/ext/intl/dateformat/dateformat_arginfo.h b/ext/intl/dateformat/dateformat_arginfo.h index 9cb936f530992..4a9727b7ecab3 100644 --- a/ext/intl/dateformat/dateformat_arginfo.h +++ b/ext/intl/dateformat/dateformat_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: c7c0d08433ab9dbf59777072550895d85294aad4 */ + * Stub hash: 23a3a335af66ae42119678d03173ea83869d290c */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlDateFormatter___construct, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1) @@ -143,5 +143,71 @@ static zend_class_entry *register_class_IntlDateFormatter(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_FULL_value; + ZVAL_LONG(&const_FULL_value, UDAT_FULL); + zend_string *const_FULL_name = zend_string_init_interned("FULL", sizeof("FULL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FULL_name, &const_FULL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FULL_name); + + zval const_LONG_value; + ZVAL_LONG(&const_LONG_value, UDAT_LONG); + zend_string *const_LONG_name = zend_string_init_interned("LONG", sizeof("LONG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LONG_name, &const_LONG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LONG_name); + + zval const_MEDIUM_value; + ZVAL_LONG(&const_MEDIUM_value, UDAT_MEDIUM); + zend_string *const_MEDIUM_name = zend_string_init_interned("MEDIUM", sizeof("MEDIUM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MEDIUM_name, &const_MEDIUM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MEDIUM_name); + + zval const_SHORT_value; + ZVAL_LONG(&const_SHORT_value, UDAT_SHORT); + zend_string *const_SHORT_name = zend_string_init_interned("SHORT", sizeof("SHORT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SHORT_name, &const_SHORT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SHORT_name); + + zval const_NONE_value; + ZVAL_LONG(&const_NONE_value, UDAT_NONE); + zend_string *const_NONE_name = zend_string_init_interned("NONE", sizeof("NONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NONE_name, &const_NONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NONE_name); + + zval const_RELATIVE_FULL_value; + ZVAL_LONG(&const_RELATIVE_FULL_value, UDAT_FULL_RELATIVE); + zend_string *const_RELATIVE_FULL_name = zend_string_init_interned("RELATIVE_FULL", sizeof("RELATIVE_FULL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_RELATIVE_FULL_name, &const_RELATIVE_FULL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_RELATIVE_FULL_name); + + zval const_RELATIVE_LONG_value; + ZVAL_LONG(&const_RELATIVE_LONG_value, UDAT_LONG_RELATIVE); + zend_string *const_RELATIVE_LONG_name = zend_string_init_interned("RELATIVE_LONG", sizeof("RELATIVE_LONG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_RELATIVE_LONG_name, &const_RELATIVE_LONG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_RELATIVE_LONG_name); + + zval const_RELATIVE_MEDIUM_value; + ZVAL_LONG(&const_RELATIVE_MEDIUM_value, UDAT_MEDIUM_RELATIVE); + zend_string *const_RELATIVE_MEDIUM_name = zend_string_init_interned("RELATIVE_MEDIUM", sizeof("RELATIVE_MEDIUM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_RELATIVE_MEDIUM_name, &const_RELATIVE_MEDIUM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_RELATIVE_MEDIUM_name); + + zval const_RELATIVE_SHORT_value; + ZVAL_LONG(&const_RELATIVE_SHORT_value, UDAT_SHORT_RELATIVE); + zend_string *const_RELATIVE_SHORT_name = zend_string_init_interned("RELATIVE_SHORT", sizeof("RELATIVE_SHORT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_RELATIVE_SHORT_name, &const_RELATIVE_SHORT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_RELATIVE_SHORT_name); + + zval const_GREGORIAN_value; + ZVAL_LONG(&const_GREGORIAN_value, UCAL_GREGORIAN); + zend_string *const_GREGORIAN_name = zend_string_init_interned("GREGORIAN", sizeof("GREGORIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GREGORIAN_name, &const_GREGORIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GREGORIAN_name); + + zval const_TRADITIONAL_value; + ZVAL_LONG(&const_TRADITIONAL_value, UCAL_TRADITIONAL); + zend_string *const_TRADITIONAL_name = zend_string_init_interned("TRADITIONAL", sizeof("TRADITIONAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TRADITIONAL_name, &const_TRADITIONAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TRADITIONAL_name); + return class_entry; } diff --git a/ext/intl/dateformat/dateformat_create.h b/ext/intl/dateformat/dateformat_create.h index 9dc0793a79718..a15828e7794c1 100644 --- a/ext/intl/dateformat/dateformat_create.h +++ b/ext/intl/dateformat/dateformat_create.h @@ -16,6 +16,4 @@ #include -void dateformat_register_constants( INIT_FUNC_ARGS ); - #endif // DATE_FORMATTER_H diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index e08eea8dc6876..bdaf7760254c2 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -172,9 +172,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'DateFormat' PHP class */ dateformat_register_IntlDateFormatter_class( ); - /* Expose DateFormat constants to PHP scripts */ - dateformat_register_constants( INIT_FUNC_ARGS_PASSTHRU ); - /* Register 'IntlDateTimeFormatter' PHP class */ dateformat_register_IntlDatePatternGenerator_class( ); From 614e9ec8042681b836703b696d30afae8965e575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 8 Aug 2022 12:00:10 +0200 Subject: [PATCH 029/229] Declare ext/intl constants in stubs - part 5 (#9267) --- ext/intl/config.m4 | 1 - ext/intl/config.w32 | 1 - ext/intl/normalizer/normalizer.c | 60 --------------------- ext/intl/normalizer/normalizer.h | 2 - ext/intl/normalizer/normalizer.stub.php | 53 +++++++++++++++++++ ext/intl/normalizer/normalizer_arginfo.h | 66 +++++++++++++++++++++++- ext/intl/normalizer/normalizer_class.c | 1 + ext/intl/php_intl.c | 4 -- 8 files changed, 119 insertions(+), 69 deletions(-) delete mode 100644 ext/intl/normalizer/normalizer.c diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 index 93e5833fa02f0..3b1c8941291ab 100644 --- a/ext/intl/config.m4 +++ b/ext/intl/config.m4 @@ -27,7 +27,6 @@ if test "$PHP_INTL" != "no"; then formatter/formatter_data.c \ formatter/formatter_format.c \ formatter/formatter_parse.c \ - normalizer/normalizer.c \ normalizer/normalizer_class.c \ normalizer/normalizer_normalize.c \ locale/locale.c \ diff --git a/ext/intl/config.w32 b/ext/intl/config.w32 index e072f46979c21..18ea96ea476b4 100644 --- a/ext/intl/config.w32 +++ b/ext/intl/config.w32 @@ -53,7 +53,6 @@ if (PHP_INTL != "no") { grapheme_string.c grapheme_util.c \ ", "intl"); ADD_SOURCES(configure_module_dirname + "/normalizer", "\ - normalizer.c \ normalizer_class.c \ normalizer_normalize.c \ ", "intl"); diff --git a/ext/intl/normalizer/normalizer.c b/ext/intl/normalizer/normalizer.c deleted file mode 100644 index 177070df54614..0000000000000 --- a/ext/intl/normalizer/normalizer.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Ed Batutis | - +----------------------------------------------------------------------+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "normalizer_class.h" -#include "normalizer.h" - -#include -#include -#include - -/* {{{ normalizer_register_constants - * Register constants common for the both (OO and procedural) - * APIs. - */ -void normalizer_register_constants( INIT_FUNC_ARGS ) -{ - if( !Normalizer_ce_ptr ) - { - zend_error( E_ERROR, "Normalizer class not defined" ); - return; - } - - #define NORMALIZER_EXPOSE_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_PERSISTENT | CONST_CS) - #define NORMALIZER_EXPOSE_CLASS_CONST(x) zend_declare_class_constant_long( Normalizer_ce_ptr, ZEND_STRS( #x ) - 1, NORMALIZER_##x ); - #define NORMALIZER_EXPOSE_CUSTOM_CLASS_CONST(name, value) zend_declare_class_constant_long( Normalizer_ce_ptr, ZEND_STRS( name ) - 1, value ); - - /* Normalization form constants */ - NORMALIZER_EXPOSE_CLASS_CONST( FORM_D ); - NORMALIZER_EXPOSE_CLASS_CONST( NFD ); - NORMALIZER_EXPOSE_CLASS_CONST( FORM_KD ); - NORMALIZER_EXPOSE_CLASS_CONST( NFKD ); - NORMALIZER_EXPOSE_CLASS_CONST( FORM_C ); - NORMALIZER_EXPOSE_CLASS_CONST( NFC ); - NORMALIZER_EXPOSE_CLASS_CONST( FORM_KC ); - NORMALIZER_EXPOSE_CLASS_CONST( NFKC ); -#if U_ICU_VERSION_MAJOR_NUM >= 56 - NORMALIZER_EXPOSE_CLASS_CONST( FORM_KC_CF ); - NORMALIZER_EXPOSE_CLASS_CONST( NFKC_CF ); -#endif - - #undef NORMALIZER_EXPOSE_CUSTOM_CLASS_CONST - #undef NORMALIZER_EXPOSE_CLASS_CONST - #undef NORMALIZER_EXPOSE_CONST -} -/* }}} */ diff --git a/ext/intl/normalizer/normalizer.h b/ext/intl/normalizer/normalizer.h index 9d8472f10cd1b..9e71f04aaed83 100644 --- a/ext/intl/normalizer/normalizer.h +++ b/ext/intl/normalizer/normalizer.h @@ -45,6 +45,4 @@ #define NORMALIZER_DEFAULT NORMALIZER_FORM_C #endif -void normalizer_register_constants( INIT_FUNC_ARGS ); - #endif // NORMALIZER_NORMALIZER_H diff --git a/ext/intl/normalizer/normalizer.stub.php b/ext/intl/normalizer/normalizer.stub.php index 75052535fc43b..d510c388b1337 100644 --- a/ext/intl/normalizer/normalizer.stub.php +++ b/ext/intl/normalizer/normalizer.stub.php @@ -4,6 +4,59 @@ class Normalizer { + /** + * @var int + * @cvalue NORMALIZER_FORM_D + */ + public const FORM_D = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_NFD + */ + public const NFD = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_FORM_KD + */ + public const FORM_KD = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_NFKD + */ + public const NFKD = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_FORM_C + */ + public const FORM_C = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_NFC + */ + public const NFC = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_FORM_KC + */ + public const FORM_KC = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_NFKC + */ + public const NFKC = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 56 + /** + * @var int + * @cvalue NORMALIZER_FORM_KC_CF + */ + public const FORM_KC_CF = UNKNOWN; + /** + * @var int + * @cvalue NORMALIZER_NFKC_CF + */ + public const NFKC_CF = UNKNOWN; +#endif + /** * @tentative-return-type * @alias normalizer_normalize diff --git a/ext/intl/normalizer/normalizer_arginfo.h b/ext/intl/normalizer/normalizer_arginfo.h index 70262b0ffc97a..1281c1c5e23f6 100644 --- a/ext/intl/normalizer/normalizer_arginfo.h +++ b/ext/intl/normalizer/normalizer_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 71dd44d3b839789639c16a4b6d5b2e4f40703a74 */ + * Stub hash: 451d8875edd23e737c147fb9aab37aa8220d731d */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_Normalizer_normalize, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) @@ -42,5 +42,69 @@ static zend_class_entry *register_class_Normalizer(void) INIT_CLASS_ENTRY(ce, "Normalizer", class_Normalizer_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); + zval const_FORM_D_value; + ZVAL_LONG(&const_FORM_D_value, NORMALIZER_FORM_D); + zend_string *const_FORM_D_name = zend_string_init_interned("FORM_D", sizeof("FORM_D") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORM_D_name, &const_FORM_D_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORM_D_name); + + zval const_NFD_value; + ZVAL_LONG(&const_NFD_value, NORMALIZER_NFD); + zend_string *const_NFD_name = zend_string_init_interned("NFD", sizeof("NFD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NFD_name, &const_NFD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NFD_name); + + zval const_FORM_KD_value; + ZVAL_LONG(&const_FORM_KD_value, NORMALIZER_FORM_KD); + zend_string *const_FORM_KD_name = zend_string_init_interned("FORM_KD", sizeof("FORM_KD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORM_KD_name, &const_FORM_KD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORM_KD_name); + + zval const_NFKD_value; + ZVAL_LONG(&const_NFKD_value, NORMALIZER_NFKD); + zend_string *const_NFKD_name = zend_string_init_interned("NFKD", sizeof("NFKD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NFKD_name, &const_NFKD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NFKD_name); + + zval const_FORM_C_value; + ZVAL_LONG(&const_FORM_C_value, NORMALIZER_FORM_C); + zend_string *const_FORM_C_name = zend_string_init_interned("FORM_C", sizeof("FORM_C") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORM_C_name, &const_FORM_C_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORM_C_name); + + zval const_NFC_value; + ZVAL_LONG(&const_NFC_value, NORMALIZER_NFC); + zend_string *const_NFC_name = zend_string_init_interned("NFC", sizeof("NFC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NFC_name, &const_NFC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NFC_name); + + zval const_FORM_KC_value; + ZVAL_LONG(&const_FORM_KC_value, NORMALIZER_FORM_KC); + zend_string *const_FORM_KC_name = zend_string_init_interned("FORM_KC", sizeof("FORM_KC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORM_KC_name, &const_FORM_KC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORM_KC_name); + + zval const_NFKC_value; + ZVAL_LONG(&const_NFKC_value, NORMALIZER_NFKC); + zend_string *const_NFKC_name = zend_string_init_interned("NFKC", sizeof("NFKC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NFKC_name, &const_NFKC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NFKC_name); +#if U_ICU_VERSION_MAJOR_NUM >= 56 + + zval const_FORM_KC_CF_value; + ZVAL_LONG(&const_FORM_KC_CF_value, NORMALIZER_FORM_KC_CF); + zend_string *const_FORM_KC_CF_name = zend_string_init_interned("FORM_KC_CF", sizeof("FORM_KC_CF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORM_KC_CF_name, &const_FORM_KC_CF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORM_KC_CF_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 56 + + zval const_NFKC_CF_value; + ZVAL_LONG(&const_NFKC_CF_value, NORMALIZER_NFKC_CF); + zend_string *const_NFKC_CF_name = zend_string_init_interned("NFKC_CF", sizeof("NFKC_CF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NFKC_CF_name, &const_NFKC_CF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NFKC_CF_name); +#endif + return class_entry; } diff --git a/ext/intl/normalizer/normalizer_class.c b/ext/intl/normalizer/normalizer_class.c index 5835aa3a98313..d9e413d5e5146 100644 --- a/ext/intl/normalizer/normalizer_class.c +++ b/ext/intl/normalizer/normalizer_class.c @@ -12,6 +12,7 @@ +----------------------------------------------------------------------+ */ +#include "normalizer.h" #include "normalizer_class.h" #include "php_intl.h" #include "normalizer_arginfo.h" diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index bdaf7760254c2..6eedfb585cb09 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -36,7 +36,6 @@ #include "msgformat/msgformat_class.h" -#include "normalizer/normalizer.h" #include "normalizer/normalizer_class.h" #include "locale/locale.h" @@ -159,9 +158,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'Normalizer' PHP class */ normalizer_register_Normalizer_class( ); - /* Expose Normalizer constants to PHP scripts */ - normalizer_register_constants( INIT_FUNC_ARGS_PASSTHRU ); - /* Register 'Locale' PHP class */ locale_register_Locale_class( ); From d97f8eef33c6cf7bf0bfa1a73bc644e228956dd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 8 Aug 2022 14:21:48 +0200 Subject: [PATCH 030/229] Declare ext/intl constants in stubs - part 6 (#9268) --- ext/intl/config.m4 | 1 - ext/intl/config.w32 | 1 - ext/intl/php_intl.c | 4 - ext/intl/spoofchecker/spoofchecker.c | 57 ------------ ext/intl/spoofchecker/spoofchecker.h | 22 ----- ext/intl/spoofchecker/spoofchecker.stub.php | 68 +++++++++++++++ ext/intl/spoofchecker/spoofchecker_arginfo.h | 92 +++++++++++++++++++- 7 files changed, 159 insertions(+), 86 deletions(-) delete mode 100644 ext/intl/spoofchecker/spoofchecker.c delete mode 100644 ext/intl/spoofchecker/spoofchecker.h diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 index 3b1c8941291ab..1745c12c4b1f9 100644 --- a/ext/intl/config.m4 +++ b/ext/intl/config.m4 @@ -55,7 +55,6 @@ if test "$PHP_INTL" != "no"; then uchar/uchar.c \ idn/idn.c \ spoofchecker/spoofchecker_class.c \ - spoofchecker/spoofchecker.c\ spoofchecker/spoofchecker_create.c\ spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx) diff --git a/ext/intl/config.w32 b/ext/intl/config.w32 index 18ea96ea476b4..aca373f221758 100644 --- a/ext/intl/config.w32 +++ b/ext/intl/config.w32 @@ -84,7 +84,6 @@ if (PHP_INTL != "no") { if (CHECK_HEADER_ADD_INCLUDE("unicode/uspoof.h", "CFLAGS_INTL")) { ADD_SOURCES(configure_module_dirname + "/spoofchecker", "\ - spoofchecker.c \ spoofchecker_class.c \ spoofchecker_create.c \ spoofchecker_main.c", diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index 6eedfb585cb09..eabbc1a131f5a 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -62,7 +62,6 @@ #include "uchar/uchar.h" # include "spoofchecker/spoofchecker_class.h" -# include "spoofchecker/spoofchecker.h" #include "common/common_error.h" #include "common/common_enum.h" @@ -195,9 +194,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'Spoofchecker' PHP class */ spoofchecker_register_Spoofchecker_class( ); - /* Expose Spoofchecker constants to PHP scripts */ - spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU ); - /* Register 'IntlException' PHP class */ IntlException_ce_ptr = register_class_IntlException(zend_ce_exception); IntlException_ce_ptr->create_object = zend_ce_exception->create_object; diff --git a/ext/intl/spoofchecker/spoofchecker.c b/ext/intl/spoofchecker/spoofchecker.c deleted file mode 100644 index f0ed155726deb..0000000000000 --- a/ext/intl/spoofchecker/spoofchecker.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Scott MacVicar | - +----------------------------------------------------------------------+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "spoofchecker_class.h" -#include "spoofchecker.h" - -#include - - -/* {{{ spoofchecker_register_constants - * Register constants - */ -void spoofchecker_register_constants(INIT_FUNC_ARGS) -{ - if (!Spoofchecker_ce_ptr) - { - zend_error(E_ERROR, "Spoofchecker class not defined"); - return; - } - - #define SPOOFCHECKER_EXPOSE_CLASS_CONST(x) zend_declare_class_constant_long(Spoofchecker_ce_ptr, ZEND_STRS( #x ) - 1, USPOOF_##x); - - SPOOFCHECKER_EXPOSE_CLASS_CONST(SINGLE_SCRIPT_CONFUSABLE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(MIXED_SCRIPT_CONFUSABLE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(WHOLE_SCRIPT_CONFUSABLE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(ANY_CASE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(SINGLE_SCRIPT) - SPOOFCHECKER_EXPOSE_CLASS_CONST(INVISIBLE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(CHAR_LIMIT) - -#if U_ICU_VERSION_MAJOR_NUM >= 58 - SPOOFCHECKER_EXPOSE_CLASS_CONST(ASCII) - SPOOFCHECKER_EXPOSE_CLASS_CONST(HIGHLY_RESTRICTIVE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(MODERATELY_RESTRICTIVE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(MINIMALLY_RESTRICTIVE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(UNRESTRICTIVE) - SPOOFCHECKER_EXPOSE_CLASS_CONST(SINGLE_SCRIPT_RESTRICTIVE) -#endif - - #undef SPOOFCHECKER_EXPOSE_CLASS_CONST -} -/* }}} */ diff --git a/ext/intl/spoofchecker/spoofchecker.h b/ext/intl/spoofchecker/spoofchecker.h deleted file mode 100644 index 8d706f4356299..0000000000000 --- a/ext/intl/spoofchecker/spoofchecker.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Scott MacVicar | - +----------------------------------------------------------------------+ - */ - -#ifndef SPOOFCHECKER_SPOOFCHECKER_H -#define SPOOFCHECKER_SPOOFCHECKER_H - -#include - -void spoofchecker_register_constants(INIT_FUNC_ARGS); - -#endif // SPOOFCHECKER_SPOOFCHECKER_H diff --git a/ext/intl/spoofchecker/spoofchecker.stub.php b/ext/intl/spoofchecker/spoofchecker.stub.php index dc414949b0ab8..71f6ad0f2e208 100644 --- a/ext/intl/spoofchecker/spoofchecker.stub.php +++ b/ext/intl/spoofchecker/spoofchecker.stub.php @@ -5,6 +5,74 @@ /** @not-serializable */ class Spoofchecker { + /** + * @var int + * @cvalue USPOOF_SINGLE_SCRIPT_CONFUSABLE + */ + public const SINGLE_SCRIPT_CONFUSABLE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_MIXED_SCRIPT_CONFUSABLE + */ + public const MIXED_SCRIPT_CONFUSABLE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_WHOLE_SCRIPT_CONFUSABLE + */ + public const WHOLE_SCRIPT_CONFUSABLE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_ANY_CASE + */ + public const ANY_CASE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_SINGLE_SCRIPT + */ + public const SINGLE_SCRIPT = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_INVISIBLE + */ + public const INVISIBLE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_CHAR_LIMIT + */ + public const CHAR_LIMIT = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 58 + /** + * @var int + * @cvalue USPOOF_ASCII + */ + public const ASCII = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_HIGHLY_RESTRICTIVE + */ + public const HIGHLY_RESTRICTIVE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_MODERATELY_RESTRICTIVE + */ + public const MODERATELY_RESTRICTIVE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_MINIMALLY_RESTRICTIVE + */ + public const MINIMALLY_RESTRICTIVE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_UNRESTRICTIVE + */ + public const UNRESTRICTIVE = UNKNOWN; + /** + * @var int + * @cvalue USPOOF_SINGLE_SCRIPT_RESTRICTIVE + */ + public const SINGLE_SCRIPT_RESTRICTIVE = UNKNOWN; +#endif + public function __construct() {} /** diff --git a/ext/intl/spoofchecker/spoofchecker_arginfo.h b/ext/intl/spoofchecker/spoofchecker_arginfo.h index c030015d49c86..98df10a3350a4 100644 --- a/ext/intl/spoofchecker/spoofchecker_arginfo.h +++ b/ext/intl/spoofchecker/spoofchecker_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: f1c86958a39aa8f89ee468a0753f6a5b232c3e1f */ + * Stub hash: eb2f5a660053b4a38858045968b746bdb3be072e */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Spoofchecker___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -60,5 +60,95 @@ static zend_class_entry *register_class_Spoofchecker(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_SINGLE_SCRIPT_CONFUSABLE_value; + ZVAL_LONG(&const_SINGLE_SCRIPT_CONFUSABLE_value, USPOOF_SINGLE_SCRIPT_CONFUSABLE); + zend_string *const_SINGLE_SCRIPT_CONFUSABLE_name = zend_string_init_interned("SINGLE_SCRIPT_CONFUSABLE", sizeof("SINGLE_SCRIPT_CONFUSABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SINGLE_SCRIPT_CONFUSABLE_name, &const_SINGLE_SCRIPT_CONFUSABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SINGLE_SCRIPT_CONFUSABLE_name); + + zval const_MIXED_SCRIPT_CONFUSABLE_value; + ZVAL_LONG(&const_MIXED_SCRIPT_CONFUSABLE_value, USPOOF_MIXED_SCRIPT_CONFUSABLE); + zend_string *const_MIXED_SCRIPT_CONFUSABLE_name = zend_string_init_interned("MIXED_SCRIPT_CONFUSABLE", sizeof("MIXED_SCRIPT_CONFUSABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MIXED_SCRIPT_CONFUSABLE_name, &const_MIXED_SCRIPT_CONFUSABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MIXED_SCRIPT_CONFUSABLE_name); + + zval const_WHOLE_SCRIPT_CONFUSABLE_value; + ZVAL_LONG(&const_WHOLE_SCRIPT_CONFUSABLE_value, USPOOF_WHOLE_SCRIPT_CONFUSABLE); + zend_string *const_WHOLE_SCRIPT_CONFUSABLE_name = zend_string_init_interned("WHOLE_SCRIPT_CONFUSABLE", sizeof("WHOLE_SCRIPT_CONFUSABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WHOLE_SCRIPT_CONFUSABLE_name, &const_WHOLE_SCRIPT_CONFUSABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WHOLE_SCRIPT_CONFUSABLE_name); + + zval const_ANY_CASE_value; + ZVAL_LONG(&const_ANY_CASE_value, USPOOF_ANY_CASE); + zend_string *const_ANY_CASE_name = zend_string_init_interned("ANY_CASE", sizeof("ANY_CASE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ANY_CASE_name, &const_ANY_CASE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ANY_CASE_name); + + zval const_SINGLE_SCRIPT_value; + ZVAL_LONG(&const_SINGLE_SCRIPT_value, USPOOF_SINGLE_SCRIPT); + zend_string *const_SINGLE_SCRIPT_name = zend_string_init_interned("SINGLE_SCRIPT", sizeof("SINGLE_SCRIPT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SINGLE_SCRIPT_name, &const_SINGLE_SCRIPT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SINGLE_SCRIPT_name); + + zval const_INVISIBLE_value; + ZVAL_LONG(&const_INVISIBLE_value, USPOOF_INVISIBLE); + zend_string *const_INVISIBLE_name = zend_string_init_interned("INVISIBLE", sizeof("INVISIBLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_INVISIBLE_name, &const_INVISIBLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_INVISIBLE_name); + + zval const_CHAR_LIMIT_value; + ZVAL_LONG(&const_CHAR_LIMIT_value, USPOOF_CHAR_LIMIT); + zend_string *const_CHAR_LIMIT_name = zend_string_init_interned("CHAR_LIMIT", sizeof("CHAR_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_LIMIT_name, &const_CHAR_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_LIMIT_name); +#if U_ICU_VERSION_MAJOR_NUM >= 58 + + zval const_ASCII_value; + ZVAL_LONG(&const_ASCII_value, USPOOF_ASCII); + zend_string *const_ASCII_name = zend_string_init_interned("ASCII", sizeof("ASCII") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ASCII_name, &const_ASCII_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ASCII_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 58 + + zval const_HIGHLY_RESTRICTIVE_value; + ZVAL_LONG(&const_HIGHLY_RESTRICTIVE_value, USPOOF_HIGHLY_RESTRICTIVE); + zend_string *const_HIGHLY_RESTRICTIVE_name = zend_string_init_interned("HIGHLY_RESTRICTIVE", sizeof("HIGHLY_RESTRICTIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HIGHLY_RESTRICTIVE_name, &const_HIGHLY_RESTRICTIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HIGHLY_RESTRICTIVE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 58 + + zval const_MODERATELY_RESTRICTIVE_value; + ZVAL_LONG(&const_MODERATELY_RESTRICTIVE_value, USPOOF_MODERATELY_RESTRICTIVE); + zend_string *const_MODERATELY_RESTRICTIVE_name = zend_string_init_interned("MODERATELY_RESTRICTIVE", sizeof("MODERATELY_RESTRICTIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MODERATELY_RESTRICTIVE_name, &const_MODERATELY_RESTRICTIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MODERATELY_RESTRICTIVE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 58 + + zval const_MINIMALLY_RESTRICTIVE_value; + ZVAL_LONG(&const_MINIMALLY_RESTRICTIVE_value, USPOOF_MINIMALLY_RESTRICTIVE); + zend_string *const_MINIMALLY_RESTRICTIVE_name = zend_string_init_interned("MINIMALLY_RESTRICTIVE", sizeof("MINIMALLY_RESTRICTIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MINIMALLY_RESTRICTIVE_name, &const_MINIMALLY_RESTRICTIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MINIMALLY_RESTRICTIVE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 58 + + zval const_UNRESTRICTIVE_value; + ZVAL_LONG(&const_UNRESTRICTIVE_value, USPOOF_UNRESTRICTIVE); + zend_string *const_UNRESTRICTIVE_name = zend_string_init_interned("UNRESTRICTIVE", sizeof("UNRESTRICTIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UNRESTRICTIVE_name, &const_UNRESTRICTIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UNRESTRICTIVE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 58 + + zval const_SINGLE_SCRIPT_RESTRICTIVE_value; + ZVAL_LONG(&const_SINGLE_SCRIPT_RESTRICTIVE_value, USPOOF_SINGLE_SCRIPT_RESTRICTIVE); + zend_string *const_SINGLE_SCRIPT_RESTRICTIVE_name = zend_string_init_interned("SINGLE_SCRIPT_RESTRICTIVE", sizeof("SINGLE_SCRIPT_RESTRICTIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SINGLE_SCRIPT_RESTRICTIVE_name, &const_SINGLE_SCRIPT_RESTRICTIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SINGLE_SCRIPT_RESTRICTIVE_name); +#endif + return class_entry; } From 8fee9a3f11186bca236f608acec781ee1580db84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 8 Aug 2022 14:24:22 +0200 Subject: [PATCH 031/229] Declare ext/intl constants in stubs - part 7 (#9269) --- ext/intl/config.m4 | 1 - ext/intl/config.w32 | 1 - ext/intl/php_intl.c | 3 -- ext/intl/transliterator/transliterator.c | 48 ------------------- ext/intl/transliterator/transliterator.h | 2 - .../transliterator/transliterator.stub.php | 11 +++++ .../transliterator/transliterator_arginfo.h | 14 +++++- .../transliterator/transliterator_class.c | 3 -- 8 files changed, 24 insertions(+), 59 deletions(-) delete mode 100644 ext/intl/transliterator/transliterator.c diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 index 1745c12c4b1f9..dd687bcd97de3 100644 --- a/ext/intl/config.m4 +++ b/ext/intl/config.m4 @@ -49,7 +49,6 @@ if test "$PHP_INTL" != "no"; then resourcebundle/resourcebundle.c \ resourcebundle/resourcebundle_class.c \ resourcebundle/resourcebundle_iterator.c \ - transliterator/transliterator.c \ transliterator/transliterator_class.c \ transliterator/transliterator_methods.c \ uchar/uchar.c \ diff --git a/ext/intl/config.w32 b/ext/intl/config.w32 index aca373f221758..ab7dc42b66246 100644 --- a/ext/intl/config.w32 +++ b/ext/intl/config.w32 @@ -91,7 +91,6 @@ if (PHP_INTL != "no") { } ADD_SOURCES(configure_module_dirname + "/transliterator", "\ - transliterator.c \ transliterator_class.c \ transliterator_methods.c", "intl"); diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index eabbc1a131f5a..df4d686ea5a87 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -176,9 +176,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'Transliterator' PHP class */ transliterator_register_Transliterator_class( ); - /* Register Transliterator constants */ - transliterator_register_constants( INIT_FUNC_ARGS_PASSTHRU ); - /* Register 'IntlTimeZone' PHP class */ timezone_register_IntlTimeZone_class( ); diff --git a/ext/intl/transliterator/transliterator.c b/ext/intl/transliterator/transliterator.c deleted file mode 100644 index 2a6b403874dce..0000000000000 --- a/ext/intl/transliterator/transliterator.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Gustavo Lopes | - +----------------------------------------------------------------------+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "transliterator_class.h" -#include "transliterator.h" -#include "intl_convert.h" - -#include - -/* {{{ transliterator_register_constants - * Register constants common for both (OO and procedural) APIs. - */ -void transliterator_register_constants( INIT_FUNC_ARGS ) -{ - if( !Transliterator_ce_ptr ) - { - zend_error( E_ERROR, "Transliterator class not defined" ); - return; - } - - #define TRANSLITERATOR_EXPOSE_CONST( x ) REGISTER_LONG_CONSTANT( #x, x, CONST_PERSISTENT | CONST_CS ) - #define TRANSLITERATOR_EXPOSE_CLASS_CONST( x ) zend_declare_class_constant_long( Transliterator_ce_ptr, ZEND_STRS( #x ) - 1, TRANSLITERATOR_##x ); - #define TRANSLITERATOR_EXPOSE_CUSTOM_CLASS_CONST( name, value ) zend_declare_class_constant_long( Transliterator_ce_ptr, ZEND_STRS( name ) - 1, value );*/ - - /* Normalization form constants */ - TRANSLITERATOR_EXPOSE_CLASS_CONST( FORWARD ); - TRANSLITERATOR_EXPOSE_CLASS_CONST( REVERSE ); - - #undef NORMALIZER_EXPOSE_CUSTOM_CLASS_CONST - #undef NORMALIZER_EXPOSE_CLASS_CONST - #undef NORMALIZER_EXPOSE_CONST -} -/* }}} */ diff --git a/ext/intl/transliterator/transliterator.h b/ext/intl/transliterator/transliterator.h index f1082a30fd351..6824321ac4738 100644 --- a/ext/intl/transliterator/transliterator.h +++ b/ext/intl/transliterator/transliterator.h @@ -16,12 +16,10 @@ #define TRANSLITERATOR_TRANSLITERATOR_H #include -#include #include #include "zend_smart_str.h" -void transliterator_register_constants( INIT_FUNC_ARGS ); smart_str transliterator_parse_error_to_string( UParseError* pe ); #endif /* #ifndef TRANSLITERATOR_TRANSLITERATOR_H */ diff --git a/ext/intl/transliterator/transliterator.stub.php b/ext/intl/transliterator/transliterator.stub.php index 8180eeff2300a..57f7603cfe047 100644 --- a/ext/intl/transliterator/transliterator.stub.php +++ b/ext/intl/transliterator/transliterator.stub.php @@ -5,6 +5,17 @@ /** @not-serializable */ class Transliterator { + /** + * @var int + * @cvalue TRANSLITERATOR_FORWARD + */ + public const FORWARD = UNKNOWN; + /** + * @var int + * @cvalue TRANSLITERATOR_REVERSE + */ + public const REVERSE = UNKNOWN; + public readonly string $id; final private function __construct() {} diff --git a/ext/intl/transliterator/transliterator_arginfo.h b/ext/intl/transliterator/transliterator_arginfo.h index daf24231f00a3..05a5275cbb1ee 100644 --- a/ext/intl/transliterator/transliterator_arginfo.h +++ b/ext/intl/transliterator/transliterator_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 11e030b63f10d1362c41cc5c71aa0d4f014c1ffb */ + * Stub hash: dc2edb1b4d2c4fde746a2f29613ffba447cb5ee6 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Transliterator___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -63,6 +63,18 @@ static zend_class_entry *register_class_Transliterator(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_FORWARD_value; + ZVAL_LONG(&const_FORWARD_value, TRANSLITERATOR_FORWARD); + zend_string *const_FORWARD_name = zend_string_init_interned("FORWARD", sizeof("FORWARD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FORWARD_name, &const_FORWARD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FORWARD_name); + + zval const_REVERSE_value; + ZVAL_LONG(&const_REVERSE_value, TRANSLITERATOR_REVERSE); + zend_string *const_REVERSE_name = zend_string_init_interned("REVERSE", sizeof("REVERSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REVERSE_name, &const_REVERSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REVERSE_name); + zval property_id_default_value; ZVAL_UNDEF(&property_id_default_value); zend_string *property_id_name = zend_string_init("id", sizeof("id") - 1, 1); diff --git a/ext/intl/transliterator/transliterator_class.c b/ext/intl/transliterator/transliterator_class.c index 7e84f471e1273..552505e19c9a0 100644 --- a/ext/intl/transliterator/transliterator_class.c +++ b/ext/intl/transliterator/transliterator_class.c @@ -188,8 +188,5 @@ void transliterator_register_Transliterator_class( void ) Transliterator_handlers.offset = XtOffsetOf(Transliterator_object, zo); Transliterator_handlers.free_obj = Transliterator_objects_free; Transliterator_handlers.clone_obj = Transliterator_clone_obj; - - /* constants are declared in transliterator_register_constants, called from MINIT */ - } /* }}} */ From d013d949856ae700ab07098133174e60d91d7a1a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 8 Aug 2022 16:52:01 +0200 Subject: [PATCH 032/229] Fix GH-9248: Segmentation fault in mb_strimwidth() We need to initialize the optional argument `trimmarker` with its default value. Closes GH-9273. --- NEWS | 3 +++ ext/mbstring/mbstring.c | 2 +- ext/mbstring/tests/gh9248.phpt | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 ext/mbstring/tests/gh9248.phpt diff --git a/NEWS b/NEWS index b6ae4b33e5942..8b54788933987 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,9 @@ PHP NEWS . Fixed incorrect double to long casting in latest clang. (zeriyoshi) . Added support for defining constants in traits. (sj-i) +- MBString: + . Fixed bug GH-9248 (Segmentation fault in mb_strimwidth()). (cmb) + - Random: . Fixed bug GH-9235 (non-existant $sequence parameter in stub for PcgOneseq128XslRr64::__construct()). (timwolla) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index b9cfe628b4002..24712c8817227 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2502,7 +2502,7 @@ static zend_string* mb_trim_string(zend_string *input, zend_string *marker, cons /* Trim the string to terminal width; optional, add a 'trim marker' if it was truncated */ PHP_FUNCTION(mb_strimwidth) { - zend_string *str, *trimmarker, *encoding = NULL; + zend_string *str, *trimmarker = zend_empty_string, *encoding = NULL; zend_long from, width; ZEND_PARSE_PARAMETERS_START(3, 5) diff --git a/ext/mbstring/tests/gh9248.phpt b/ext/mbstring/tests/gh9248.phpt new file mode 100644 index 0000000000000..8c513885fff94 --- /dev/null +++ b/ext/mbstring/tests/gh9248.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug GH-9248 (Segmentation fault in mb_strimwidth()) +--EXTENSIONS-- +mbstring +--FILE-- + +--EXPECT-- +string(8) "The quic" From 6a50af26041e472c9f7a661e28b046ee83558264 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Mon, 8 Aug 2022 19:41:32 -0400 Subject: [PATCH 033/229] Make `"{$g{'h'}}"` emit fatal error and no incorrect deprecation notice in 8.2 (#9264) The ast node flag constants ZEND_DIM_ALTERNATIVE_SYNTAX and ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR node have identical values (1<<1), causing a deprecation notice to be incorrectly emitted before the fatal error for unsupported syntax. Fixes GH-9263 Explicitly check for AST_VAR/AST_DIM kind for future compatibility `AST_PROP`/`AST_METHOD_CALL` and nullsafe variants can also be found in encapsulated strings - currently they have no flags but they may have flags in the future. This also clarifies that this deprecation warning can only happen for AST_VAR/AST_DIM nodes for certain `attr` values. --- NEWS | 4 +++- .../alternative_offset_syntax_in_encaps_string.phpt | 6 ++++++ Zend/zend_compile.c | 7 ++++--- Zend/zend_compile.h | 12 +++++++----- 4 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 Zend/tests/alternative_offset_syntax_in_encaps_string.phpt diff --git a/NEWS b/NEWS index 8b54788933987..77954599d3b36 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed incorrect double to long casting in latest clang. (zeriyoshi) . Added support for defining constants in traits. (sj-i) + . Stop incorrectly emitting false positive deprecation notice alongside + unsupported syntax fatal error for `"{$g{'h'}}"`. (TysonAndre) - MBString: . Fixed bug GH-9248 (Segmentation fault in mb_strimwidth()). (cmb) @@ -76,7 +78,7 @@ PHP NEWS $advance). (Anton Smirnov) . Changed Mt19937 to throw a ValueError instead of InvalidArgumentException for invalid $mode. (timwolla) - . Splitted Random\Randomizer::getInt() (without arguments) to + . Splitted Random\Randomizer::getInt() (without arguments) to Random\Randomizer::nextInt(). (zeriyoshi) - Sockets: diff --git a/Zend/tests/alternative_offset_syntax_in_encaps_string.phpt b/Zend/tests/alternative_offset_syntax_in_encaps_string.phpt new file mode 100644 index 0000000000000..2771b33afa89c --- /dev/null +++ b/Zend/tests/alternative_offset_syntax_in_encaps_string.phpt @@ -0,0 +1,6 @@ +--TEST-- +Alternative offset syntax should emit only E_COMPILE_ERROR in string interpolation +--FILE-- + +--EXPECTF-- +Fatal error: Array and string offset access syntax with curly braces is no longer supported in %s on line 1 diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index e52af3339de08..ee983e675cd2c 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -9623,11 +9623,12 @@ static void zend_compile_encaps_list(znode *result, zend_ast *ast) /* {{{ */ last_const_node.op_type = IS_UNUSED; for (i = 0; i < list->children; i++) { zend_ast *encaps_var = list->child[i]; + if (encaps_var->attr & (ZEND_ENCAPS_VAR_DOLLAR_CURLY|ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR)) { - if (encaps_var->attr & ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR) { - zend_error(E_DEPRECATED, "Using ${expr} (variable variables) in strings is deprecated, use {${expr}} instead"); - } else { + if ((encaps_var->kind == ZEND_AST_VAR || encaps_var->kind == ZEND_AST_DIM) && (encaps_var->attr & ZEND_ENCAPS_VAR_DOLLAR_CURLY)) { zend_error(E_DEPRECATED, "Using ${var} in strings is deprecated, use {$var} instead"); + } else if (encaps_var->kind == ZEND_AST_VAR && (encaps_var->attr & ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR)) { + zend_error(E_DEPRECATED, "Using ${expr} (variable variables) in strings is deprecated, use {${expr}} instead"); } } diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 2802478f29256..afca2917820fa 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -1016,9 +1016,15 @@ ZEND_API zend_string *zend_type_to_string(zend_type type); #define ZEND_ARG_TYPE_IS_TENTATIVE(arg_info) \ ((ZEND_TYPE_FULL_MASK((arg_info)->type) & _ZEND_IS_TENTATIVE_BIT) != 0) -#define ZEND_DIM_IS (1 << 0) /* isset fetch needed for null coalesce */ +#define ZEND_DIM_IS (1 << 0) /* isset fetch needed for null coalesce. Set in zend_compile.c for ZEND_AST_DIM nested within ZEND_AST_COALESCE. */ #define ZEND_DIM_ALTERNATIVE_SYNTAX (1 << 1) /* deprecated curly brace usage */ +/* Attributes for ${} encaps var in strings (ZEND_AST_DIM or ZEND_AST_VAR node) */ +/* ZEND_AST_VAR nodes can have any of the ZEND_ENCAPS_VAR_* flags */ +/* ZEND_AST_DIM flags can have ZEND_DIM_ALTERNATIVE_SYNTAX or ZEND_ENCAPS_VAR_DOLLAR_CURLY during the parse phase (ZEND_DIM_ALTERNATIVE_SYNTAX is a thrown fatal error). */ +#define ZEND_ENCAPS_VAR_DOLLAR_CURLY (1 << 0) +#define ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR (1 << 1) + /* Make sure these don't clash with ZEND_FETCH_CLASS_* flags. */ #define IS_CONSTANT_CLASS 0x400 /* __CLASS__ in trait */ #define IS_CONSTANT_UNQUALIFIED_IN_NAMESPACE 0x800 @@ -1088,10 +1094,6 @@ static zend_always_inline bool zend_check_arg_send_type(const zend_function *zf, /* Attribute for ternary inside parentheses */ #define ZEND_PARENTHESIZED_CONDITIONAL 1 -/* Attributes for ${} encaps var in strings */ -#define ZEND_ENCAPS_VAR_DOLLAR_CURLY (1<<0) -#define ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR (1<<1) - /* For "use" AST nodes and the seen symbol table */ #define ZEND_SYMBOL_CLASS (1<<0) #define ZEND_SYMBOL_FUNCTION (1<<1) From 559d5030a8e7036b4932de357a844aac20d285e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 9 Aug 2022 11:19:23 +0200 Subject: [PATCH 034/229] Declare ext/intl constants in stubs - part 10 (#9280) --- ext/intl/breakiterator/breakiterator.stub.php | 99 +++++++++++++++ .../breakiterator/breakiterator_arginfo.h | 116 +++++++++++++++++- .../breakiterator/breakiterator_class.cpp | 32 ----- .../breakiterator/breakiterator_iterators.cpp | 10 -- .../breakiterator_iterators.stub.php | 16 +++ .../breakiterator_iterators_arginfo.h | 20 ++- 6 files changed, 249 insertions(+), 44 deletions(-) diff --git a/ext/intl/breakiterator/breakiterator.stub.php b/ext/intl/breakiterator/breakiterator.stub.php index 951b4ffc1bdfd..2b1b79512b70d 100644 --- a/ext/intl/breakiterator/breakiterator.stub.php +++ b/ext/intl/breakiterator/breakiterator.stub.php @@ -5,6 +5,105 @@ /** @not-serializable */ class IntlBreakIterator implements IteratorAggregate { + /** + * @var int + * @cvalue BreakIterator::DONE + */ + public const DONE = UNKNOWN; + + /** + * @var int + * @cvalue UBRK_WORD_NONE + */ + public const WORD_NONE = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_NONE_LIMIT + */ + public const WORD_NONE_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_NUMBER + */ + public const WORD_NUMBER = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_NUMBER_LIMIT + */ + public const WORD_NUMBER_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_LETTER + */ + public const WORD_LETTER = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_LETTER_LIMIT + */ + public const WORD_LETTER_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_KANA + */ + public const WORD_KANA = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_KANA_LIMIT + */ + public const WORD_KANA_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_IDEO + */ + public const WORD_IDEO = UNKNOWN; + /** + * @var int + * @cvalue UBRK_WORD_IDEO_LIMIT + */ + public const WORD_IDEO_LIMIT = UNKNOWN; + + /** + * @var int + * @cvalue UBRK_LINE_SOFT + */ + public const LINE_SOFT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_LINE_SOFT_LIMIT + */ + public const LINE_SOFT_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_LINE_HARD + */ + public const LINE_HARD = UNKNOWN; + /** + * @var int + * @cvalue UBRK_LINE_HARD_LIMIT + */ + public const LINE_HARD_LIMIT = UNKNOWN; + + /** + * @var int + * @cvalue UBRK_SENTENCE_TERM + */ + public const SENTENCE_TERM = UNKNOWN; + /** + * @var int + * @cvalue UBRK_SENTENCE_TERM_LIMIT + */ + public const SENTENCE_TERM_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UBRK_SENTENCE_SEP + */ + public const SENTENCE_SEP = UNKNOWN; + /** + * @var int + * @cvalue UBRK_SENTENCE_SEP_LIMIT + */ + public const SENTENCE_SEP_LIMIT = UNKNOWN; + /** @tentative-return-type */ public static function createCharacterInstance(?string $locale = null): ?IntlBreakIterator {} diff --git a/ext/intl/breakiterator/breakiterator_arginfo.h b/ext/intl/breakiterator/breakiterator_arginfo.h index ffb5017ab4263..f63bfeb6a08b2 100644 --- a/ext/intl/breakiterator/breakiterator_arginfo.h +++ b/ext/intl/breakiterator/breakiterator_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 724e0c36ee113b67906cc9a8cea23781f0a961bf */ + * Stub hash: 14c5fdc760bfed136f4fc5fd398e76b873d8a919 */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_IntlBreakIterator_createCharacterInstance, 0, 0, IntlBreakIterator, 1) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, locale, IS_STRING, 1, "null") @@ -164,6 +164,120 @@ static zend_class_entry *register_class_IntlBreakIterator(zend_class_entry *clas class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; zend_class_implements(class_entry, 1, class_entry_IteratorAggregate); + zval const_DONE_value; + ZVAL_LONG(&const_DONE_value, BreakIterator::DONE); + zend_string *const_DONE_name = zend_string_init_interned("DONE", sizeof("DONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DONE_name, &const_DONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DONE_name); + + zval const_WORD_NONE_value; + ZVAL_LONG(&const_WORD_NONE_value, UBRK_WORD_NONE); + zend_string *const_WORD_NONE_name = zend_string_init_interned("WORD_NONE", sizeof("WORD_NONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_NONE_name, &const_WORD_NONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_NONE_name); + + zval const_WORD_NONE_LIMIT_value; + ZVAL_LONG(&const_WORD_NONE_LIMIT_value, UBRK_WORD_NONE_LIMIT); + zend_string *const_WORD_NONE_LIMIT_name = zend_string_init_interned("WORD_NONE_LIMIT", sizeof("WORD_NONE_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_NONE_LIMIT_name, &const_WORD_NONE_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_NONE_LIMIT_name); + + zval const_WORD_NUMBER_value; + ZVAL_LONG(&const_WORD_NUMBER_value, UBRK_WORD_NUMBER); + zend_string *const_WORD_NUMBER_name = zend_string_init_interned("WORD_NUMBER", sizeof("WORD_NUMBER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_NUMBER_name, &const_WORD_NUMBER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_NUMBER_name); + + zval const_WORD_NUMBER_LIMIT_value; + ZVAL_LONG(&const_WORD_NUMBER_LIMIT_value, UBRK_WORD_NUMBER_LIMIT); + zend_string *const_WORD_NUMBER_LIMIT_name = zend_string_init_interned("WORD_NUMBER_LIMIT", sizeof("WORD_NUMBER_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_NUMBER_LIMIT_name, &const_WORD_NUMBER_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_NUMBER_LIMIT_name); + + zval const_WORD_LETTER_value; + ZVAL_LONG(&const_WORD_LETTER_value, UBRK_WORD_LETTER); + zend_string *const_WORD_LETTER_name = zend_string_init_interned("WORD_LETTER", sizeof("WORD_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_LETTER_name, &const_WORD_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_LETTER_name); + + zval const_WORD_LETTER_LIMIT_value; + ZVAL_LONG(&const_WORD_LETTER_LIMIT_value, UBRK_WORD_LETTER_LIMIT); + zend_string *const_WORD_LETTER_LIMIT_name = zend_string_init_interned("WORD_LETTER_LIMIT", sizeof("WORD_LETTER_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_LETTER_LIMIT_name, &const_WORD_LETTER_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_LETTER_LIMIT_name); + + zval const_WORD_KANA_value; + ZVAL_LONG(&const_WORD_KANA_value, UBRK_WORD_KANA); + zend_string *const_WORD_KANA_name = zend_string_init_interned("WORD_KANA", sizeof("WORD_KANA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_KANA_name, &const_WORD_KANA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_KANA_name); + + zval const_WORD_KANA_LIMIT_value; + ZVAL_LONG(&const_WORD_KANA_LIMIT_value, UBRK_WORD_KANA_LIMIT); + zend_string *const_WORD_KANA_LIMIT_name = zend_string_init_interned("WORD_KANA_LIMIT", sizeof("WORD_KANA_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_KANA_LIMIT_name, &const_WORD_KANA_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_KANA_LIMIT_name); + + zval const_WORD_IDEO_value; + ZVAL_LONG(&const_WORD_IDEO_value, UBRK_WORD_IDEO); + zend_string *const_WORD_IDEO_name = zend_string_init_interned("WORD_IDEO", sizeof("WORD_IDEO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_IDEO_name, &const_WORD_IDEO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_IDEO_name); + + zval const_WORD_IDEO_LIMIT_value; + ZVAL_LONG(&const_WORD_IDEO_LIMIT_value, UBRK_WORD_IDEO_LIMIT); + zend_string *const_WORD_IDEO_LIMIT_name = zend_string_init_interned("WORD_IDEO_LIMIT", sizeof("WORD_IDEO_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WORD_IDEO_LIMIT_name, &const_WORD_IDEO_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WORD_IDEO_LIMIT_name); + + zval const_LINE_SOFT_value; + ZVAL_LONG(&const_LINE_SOFT_value, UBRK_LINE_SOFT); + zend_string *const_LINE_SOFT_name = zend_string_init_interned("LINE_SOFT", sizeof("LINE_SOFT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LINE_SOFT_name, &const_LINE_SOFT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LINE_SOFT_name); + + zval const_LINE_SOFT_LIMIT_value; + ZVAL_LONG(&const_LINE_SOFT_LIMIT_value, UBRK_LINE_SOFT_LIMIT); + zend_string *const_LINE_SOFT_LIMIT_name = zend_string_init_interned("LINE_SOFT_LIMIT", sizeof("LINE_SOFT_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LINE_SOFT_LIMIT_name, &const_LINE_SOFT_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LINE_SOFT_LIMIT_name); + + zval const_LINE_HARD_value; + ZVAL_LONG(&const_LINE_HARD_value, UBRK_LINE_HARD); + zend_string *const_LINE_HARD_name = zend_string_init_interned("LINE_HARD", sizeof("LINE_HARD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LINE_HARD_name, &const_LINE_HARD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LINE_HARD_name); + + zval const_LINE_HARD_LIMIT_value; + ZVAL_LONG(&const_LINE_HARD_LIMIT_value, UBRK_LINE_HARD_LIMIT); + zend_string *const_LINE_HARD_LIMIT_name = zend_string_init_interned("LINE_HARD_LIMIT", sizeof("LINE_HARD_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LINE_HARD_LIMIT_name, &const_LINE_HARD_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LINE_HARD_LIMIT_name); + + zval const_SENTENCE_TERM_value; + ZVAL_LONG(&const_SENTENCE_TERM_value, UBRK_SENTENCE_TERM); + zend_string *const_SENTENCE_TERM_name = zend_string_init_interned("SENTENCE_TERM", sizeof("SENTENCE_TERM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SENTENCE_TERM_name, &const_SENTENCE_TERM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SENTENCE_TERM_name); + + zval const_SENTENCE_TERM_LIMIT_value; + ZVAL_LONG(&const_SENTENCE_TERM_LIMIT_value, UBRK_SENTENCE_TERM_LIMIT); + zend_string *const_SENTENCE_TERM_LIMIT_name = zend_string_init_interned("SENTENCE_TERM_LIMIT", sizeof("SENTENCE_TERM_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SENTENCE_TERM_LIMIT_name, &const_SENTENCE_TERM_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SENTENCE_TERM_LIMIT_name); + + zval const_SENTENCE_SEP_value; + ZVAL_LONG(&const_SENTENCE_SEP_value, UBRK_SENTENCE_SEP); + zend_string *const_SENTENCE_SEP_name = zend_string_init_interned("SENTENCE_SEP", sizeof("SENTENCE_SEP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SENTENCE_SEP_name, &const_SENTENCE_SEP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SENTENCE_SEP_name); + + zval const_SENTENCE_SEP_LIMIT_value; + ZVAL_LONG(&const_SENTENCE_SEP_LIMIT_value, UBRK_SENTENCE_SEP_LIMIT); + zend_string *const_SENTENCE_SEP_LIMIT_name = zend_string_init_interned("SENTENCE_SEP_LIMIT", sizeof("SENTENCE_SEP_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SENTENCE_SEP_LIMIT_name, &const_SENTENCE_SEP_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SENTENCE_SEP_LIMIT_name); + return class_entry; } diff --git a/ext/intl/breakiterator/breakiterator_class.cpp b/ext/intl/breakiterator/breakiterator_class.cpp index 3034c3352acfd..761fcfcfccc65 100644 --- a/ext/intl/breakiterator/breakiterator_class.cpp +++ b/ext/intl/breakiterator/breakiterator_class.cpp @@ -234,38 +234,6 @@ U_CFUNC void breakiterator_register_BreakIterator_class(void) BreakIterator_handlers.get_debug_info = BreakIterator_get_debug_info; BreakIterator_handlers.free_obj = BreakIterator_objects_free; - zend_declare_class_constant_long(BreakIterator_ce_ptr, - "DONE", sizeof("DONE") - 1, BreakIterator::DONE ); - - /* Declare constants that are defined in the C header */ -#define BREAKITER_DECL_LONG_CONST(name) \ - zend_declare_class_constant_long(BreakIterator_ce_ptr, #name, \ - sizeof(#name) - 1, UBRK_ ## name) - - BREAKITER_DECL_LONG_CONST(WORD_NONE); - BREAKITER_DECL_LONG_CONST(WORD_NONE_LIMIT); - BREAKITER_DECL_LONG_CONST(WORD_NUMBER); - BREAKITER_DECL_LONG_CONST(WORD_NUMBER_LIMIT); - BREAKITER_DECL_LONG_CONST(WORD_LETTER); - BREAKITER_DECL_LONG_CONST(WORD_LETTER_LIMIT); - BREAKITER_DECL_LONG_CONST(WORD_KANA); - BREAKITER_DECL_LONG_CONST(WORD_KANA_LIMIT); - BREAKITER_DECL_LONG_CONST(WORD_IDEO); - BREAKITER_DECL_LONG_CONST(WORD_IDEO_LIMIT); - - BREAKITER_DECL_LONG_CONST(LINE_SOFT); - BREAKITER_DECL_LONG_CONST(LINE_SOFT_LIMIT); - BREAKITER_DECL_LONG_CONST(LINE_HARD); - BREAKITER_DECL_LONG_CONST(LINE_HARD_LIMIT); - - BREAKITER_DECL_LONG_CONST(SENTENCE_TERM); - BREAKITER_DECL_LONG_CONST(SENTENCE_TERM_LIMIT); - BREAKITER_DECL_LONG_CONST(SENTENCE_SEP); - BREAKITER_DECL_LONG_CONST(SENTENCE_SEP_LIMIT); - -#undef BREAKITER_DECL_LONG_CONST - - /* Create and register 'RuleBasedBreakIterator' class. */ RuleBasedBreakIterator_ce_ptr = register_class_IntlRuleBasedBreakIterator(BreakIterator_ce_ptr); diff --git a/ext/intl/breakiterator/breakiterator_iterators.cpp b/ext/intl/breakiterator/breakiterator_iterators.cpp index 4513b9405f99c..b95238a24b912 100644 --- a/ext/intl/breakiterator/breakiterator_iterators.cpp +++ b/ext/intl/breakiterator/breakiterator_iterators.cpp @@ -275,14 +275,4 @@ U_CFUNC void breakiterator_register_IntlPartsIterator_class(void) { /* Create and register 'BreakIterator' class. */ IntlPartsIterator_ce_ptr = register_class_IntlPartsIterator(IntlIterator_ce_ptr); - -#define PARTSITER_DECL_LONG_CONST(name) \ - zend_declare_class_constant_long(IntlPartsIterator_ce_ptr, #name, \ - sizeof(#name) - 1, PARTS_ITERATOR_ ## name) - - PARTSITER_DECL_LONG_CONST(KEY_SEQUENTIAL); - PARTSITER_DECL_LONG_CONST(KEY_LEFT); - PARTSITER_DECL_LONG_CONST(KEY_RIGHT); - -#undef PARTSITER_DECL_LONG_CONST } diff --git a/ext/intl/breakiterator/breakiterator_iterators.stub.php b/ext/intl/breakiterator/breakiterator_iterators.stub.php index 9d2fa9442819f..9a9475bcb954d 100644 --- a/ext/intl/breakiterator/breakiterator_iterators.stub.php +++ b/ext/intl/breakiterator/breakiterator_iterators.stub.php @@ -5,6 +5,22 @@ /** @not-serializable */ class IntlPartsIterator extends IntlIterator { + /** + * @var int + * @cvalue PARTS_ITERATOR_KEY_SEQUENTIAL + */ + public const KEY_SEQUENTIAL = UNKNOWN; + /** + * @var int + * @cvalue PARTS_ITERATOR_KEY_LEFT + */ + public const KEY_LEFT = UNKNOWN; + /** + * @var int + * @cvalue PARTS_ITERATOR_KEY_RIGHT + */ + public const KEY_RIGHT = UNKNOWN; + /** @tentative-return-type */ public function getBreakIterator(): IntlBreakIterator {} diff --git a/ext/intl/breakiterator/breakiterator_iterators_arginfo.h b/ext/intl/breakiterator/breakiterator_iterators_arginfo.h index 8db11d23739e0..d03a1f84b9391 100644 --- a/ext/intl/breakiterator/breakiterator_iterators_arginfo.h +++ b/ext/intl/breakiterator/breakiterator_iterators_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: f72f108e37541ac042bb25249ef226211c344189 */ + * Stub hash: 2b201b4c2f4fb706484085c9fff483d66a7285ea */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_IntlPartsIterator_getBreakIterator, 0, 0, IntlBreakIterator, 0) ZEND_END_ARG_INFO() @@ -26,5 +26,23 @@ static zend_class_entry *register_class_IntlPartsIterator(zend_class_entry *clas class_entry = zend_register_internal_class_ex(&ce, class_entry_IntlIterator); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_KEY_SEQUENTIAL_value; + ZVAL_LONG(&const_KEY_SEQUENTIAL_value, PARTS_ITERATOR_KEY_SEQUENTIAL); + zend_string *const_KEY_SEQUENTIAL_name = zend_string_init_interned("KEY_SEQUENTIAL", sizeof("KEY_SEQUENTIAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_KEY_SEQUENTIAL_name, &const_KEY_SEQUENTIAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_KEY_SEQUENTIAL_name); + + zval const_KEY_LEFT_value; + ZVAL_LONG(&const_KEY_LEFT_value, PARTS_ITERATOR_KEY_LEFT); + zend_string *const_KEY_LEFT_name = zend_string_init_interned("KEY_LEFT", sizeof("KEY_LEFT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_KEY_LEFT_name, &const_KEY_LEFT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_KEY_LEFT_name); + + zval const_KEY_RIGHT_value; + ZVAL_LONG(&const_KEY_RIGHT_value, PARTS_ITERATOR_KEY_RIGHT); + zend_string *const_KEY_RIGHT_name = zend_string_init_interned("KEY_RIGHT", sizeof("KEY_RIGHT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_KEY_RIGHT_name, &const_KEY_RIGHT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_KEY_RIGHT_name); + return class_entry; } From bc4c11ab140aa1da0bb9c7027d4832d72009d5e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 9 Aug 2022 11:27:41 +0200 Subject: [PATCH 035/229] Declare ext/intl constants in stubs - part 12 (#9282) --- ext/intl/timezone/timezone.stub.php | 58 ++++++++++++++++++++++++ ext/intl/timezone/timezone_arginfo.h | 68 +++++++++++++++++++++++++++- ext/intl/timezone/timezone_class.cpp | 23 ---------- 3 files changed, 125 insertions(+), 24 deletions(-) diff --git a/ext/intl/timezone/timezone.stub.php b/ext/intl/timezone/timezone.stub.php index 55592a386cc0f..a62219f441098 100644 --- a/ext/intl/timezone/timezone.stub.php +++ b/ext/intl/timezone/timezone.stub.php @@ -5,6 +5,64 @@ /** @not-serializable */ class IntlTimeZone { + /** + * @var int + * @cvalue TimeZone::SHORT + */ + public const DISPLAY_SHORT = UNKNOWN; + /** + * @var int + * @cvalue TimeZone::LONG + */ + public const DISPLAY_LONG = UNKNOWN; + + /** + * @var int + * @cvalue TimeZone::SHORT_GENERIC + */ + public const DISPLAY_SHORT_GENERIC = UNKNOWN; + /** + * @var int + * @cvalue TimeZone::LONG_GENERIC + */ + public const DISPLAY_LONG_GENERIC = UNKNOWN; + /** + * @var int + * @cvalue TimeZone::SHORT_GMT + */ + public const DISPLAY_SHORT_GMT = UNKNOWN; + /** + * @var int + * @cvalue TimeZone::LONG_GMT + */ + public const DISPLAY_LONG_GMT = UNKNOWN; + /** + * @var int + * @cvalue TimeZone::SHORT_COMMONLY_USED + */ + public const DISPLAY_SHORT_COMMONLY_USED = UNKNOWN; + /** + * @var int + * @cvalue TimeZone::GENERIC_LOCATION + */ + public const DISPLAY_GENERIC_LOCATION = UNKNOWN; + + /** + * @var int + * @cvalue UCAL_ZONE_TYPE_ANY + */ + public const TYPE_ANY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_ZONE_TYPE_CANONICAL + */ + public const TYPE_CANONICAL = UNKNOWN; + /** + * @var int + * @cvalue UCAL_ZONE_TYPE_CANONICAL_LOCATION + */ + public const TYPE_CANONICAL_LOCATION = UNKNOWN; + private function __construct() {} /** diff --git a/ext/intl/timezone/timezone_arginfo.h b/ext/intl/timezone/timezone_arginfo.h index d0d1e94d2f84f..d1098d81b370e 100644 --- a/ext/intl/timezone/timezone_arginfo.h +++ b/ext/intl/timezone/timezone_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 2ec7a46ca205dfeb9ef0dc3c8e8d78bce1cf43be */ + * Stub hash: 0617d5cab74655058d97581f60f3a486e2875beb */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -171,5 +171,71 @@ static zend_class_entry *register_class_IntlTimeZone(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_DISPLAY_SHORT_value; + ZVAL_LONG(&const_DISPLAY_SHORT_value, TimeZone::SHORT); + zend_string *const_DISPLAY_SHORT_name = zend_string_init_interned("DISPLAY_SHORT", sizeof("DISPLAY_SHORT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_SHORT_name, &const_DISPLAY_SHORT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_SHORT_name); + + zval const_DISPLAY_LONG_value; + ZVAL_LONG(&const_DISPLAY_LONG_value, TimeZone::LONG); + zend_string *const_DISPLAY_LONG_name = zend_string_init_interned("DISPLAY_LONG", sizeof("DISPLAY_LONG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_LONG_name, &const_DISPLAY_LONG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_LONG_name); + + zval const_DISPLAY_SHORT_GENERIC_value; + ZVAL_LONG(&const_DISPLAY_SHORT_GENERIC_value, TimeZone::SHORT_GENERIC); + zend_string *const_DISPLAY_SHORT_GENERIC_name = zend_string_init_interned("DISPLAY_SHORT_GENERIC", sizeof("DISPLAY_SHORT_GENERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_SHORT_GENERIC_name, &const_DISPLAY_SHORT_GENERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_SHORT_GENERIC_name); + + zval const_DISPLAY_LONG_GENERIC_value; + ZVAL_LONG(&const_DISPLAY_LONG_GENERIC_value, TimeZone::LONG_GENERIC); + zend_string *const_DISPLAY_LONG_GENERIC_name = zend_string_init_interned("DISPLAY_LONG_GENERIC", sizeof("DISPLAY_LONG_GENERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_LONG_GENERIC_name, &const_DISPLAY_LONG_GENERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_LONG_GENERIC_name); + + zval const_DISPLAY_SHORT_GMT_value; + ZVAL_LONG(&const_DISPLAY_SHORT_GMT_value, TimeZone::SHORT_GMT); + zend_string *const_DISPLAY_SHORT_GMT_name = zend_string_init_interned("DISPLAY_SHORT_GMT", sizeof("DISPLAY_SHORT_GMT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_SHORT_GMT_name, &const_DISPLAY_SHORT_GMT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_SHORT_GMT_name); + + zval const_DISPLAY_LONG_GMT_value; + ZVAL_LONG(&const_DISPLAY_LONG_GMT_value, TimeZone::LONG_GMT); + zend_string *const_DISPLAY_LONG_GMT_name = zend_string_init_interned("DISPLAY_LONG_GMT", sizeof("DISPLAY_LONG_GMT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_LONG_GMT_name, &const_DISPLAY_LONG_GMT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_LONG_GMT_name); + + zval const_DISPLAY_SHORT_COMMONLY_USED_value; + ZVAL_LONG(&const_DISPLAY_SHORT_COMMONLY_USED_value, TimeZone::SHORT_COMMONLY_USED); + zend_string *const_DISPLAY_SHORT_COMMONLY_USED_name = zend_string_init_interned("DISPLAY_SHORT_COMMONLY_USED", sizeof("DISPLAY_SHORT_COMMONLY_USED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_SHORT_COMMONLY_USED_name, &const_DISPLAY_SHORT_COMMONLY_USED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_SHORT_COMMONLY_USED_name); + + zval const_DISPLAY_GENERIC_LOCATION_value; + ZVAL_LONG(&const_DISPLAY_GENERIC_LOCATION_value, TimeZone::GENERIC_LOCATION); + zend_string *const_DISPLAY_GENERIC_LOCATION_name = zend_string_init_interned("DISPLAY_GENERIC_LOCATION", sizeof("DISPLAY_GENERIC_LOCATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DISPLAY_GENERIC_LOCATION_name, &const_DISPLAY_GENERIC_LOCATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DISPLAY_GENERIC_LOCATION_name); + + zval const_TYPE_ANY_value; + ZVAL_LONG(&const_TYPE_ANY_value, UCAL_ZONE_TYPE_ANY); + zend_string *const_TYPE_ANY_name = zend_string_init_interned("TYPE_ANY", sizeof("TYPE_ANY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_ANY_name, &const_TYPE_ANY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_ANY_name); + + zval const_TYPE_CANONICAL_value; + ZVAL_LONG(&const_TYPE_CANONICAL_value, UCAL_ZONE_TYPE_CANONICAL); + zend_string *const_TYPE_CANONICAL_name = zend_string_init_interned("TYPE_CANONICAL", sizeof("TYPE_CANONICAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_CANONICAL_name, &const_TYPE_CANONICAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_CANONICAL_name); + + zval const_TYPE_CANONICAL_LOCATION_value; + ZVAL_LONG(&const_TYPE_CANONICAL_LOCATION_value, UCAL_ZONE_TYPE_CANONICAL_LOCATION); + zend_string *const_TYPE_CANONICAL_LOCATION_name = zend_string_init_interned("TYPE_CANONICAL_LOCATION", sizeof("TYPE_CANONICAL_LOCATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_TYPE_CANONICAL_LOCATION_name, &const_TYPE_CANONICAL_LOCATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_TYPE_CANONICAL_LOCATION_name); + return class_entry; } diff --git a/ext/intl/timezone/timezone_class.cpp b/ext/intl/timezone/timezone_class.cpp index 64dec44f0eb3b..559086365ceb8 100644 --- a/ext/intl/timezone/timezone_class.cpp +++ b/ext/intl/timezone/timezone_class.cpp @@ -399,28 +399,5 @@ U_CFUNC void timezone_register_IntlTimeZone_class(void) TimeZone_handlers.compare = TimeZone_compare_objects; TimeZone_handlers.get_debug_info = TimeZone_get_debug_info; TimeZone_handlers.free_obj = TimeZone_objects_free; - - - /* Declare 'IntlTimeZone' class constants */ -#define TIMEZONE_DECL_LONG_CONST(name, val) \ - zend_declare_class_constant_long(TimeZone_ce_ptr, name, sizeof(name) - 1, \ - val) - - TIMEZONE_DECL_LONG_CONST("DISPLAY_SHORT", TimeZone::SHORT); - TIMEZONE_DECL_LONG_CONST("DISPLAY_LONG", TimeZone::LONG); - - TIMEZONE_DECL_LONG_CONST("DISPLAY_SHORT_GENERIC", TimeZone::SHORT_GENERIC); - TIMEZONE_DECL_LONG_CONST("DISPLAY_LONG_GENERIC", TimeZone::LONG_GENERIC); - TIMEZONE_DECL_LONG_CONST("DISPLAY_SHORT_GMT", TimeZone::SHORT_GMT); - TIMEZONE_DECL_LONG_CONST("DISPLAY_LONG_GMT", TimeZone::LONG_GMT); - TIMEZONE_DECL_LONG_CONST("DISPLAY_SHORT_COMMONLY_USED", TimeZone::SHORT_COMMONLY_USED); - TIMEZONE_DECL_LONG_CONST("DISPLAY_GENERIC_LOCATION", TimeZone::GENERIC_LOCATION); - - TIMEZONE_DECL_LONG_CONST("TYPE_ANY", UCAL_ZONE_TYPE_ANY); - TIMEZONE_DECL_LONG_CONST("TYPE_CANONICAL", UCAL_ZONE_TYPE_CANONICAL); - TIMEZONE_DECL_LONG_CONST("TYPE_CANONICAL_LOCATION", UCAL_ZONE_TYPE_CANONICAL_LOCATION); - - /* Declare 'IntlTimeZone' class properties */ - } /* }}} */ From 383eefa9e4108a57e74048d47e287a64e8bffea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 9 Aug 2022 11:28:18 +0200 Subject: [PATCH 036/229] Declare ext/intl constants in stubs - part 11 (#9281) --- ext/intl/calendar/calendar.stub.php | 199 ++++++++++++++++++++++ ext/intl/calendar/calendar_arginfo.h | 236 ++++++++++++++++++++++++++- ext/intl/calendar/calendar_class.cpp | 48 ------ 3 files changed, 434 insertions(+), 49 deletions(-) diff --git a/ext/intl/calendar/calendar.stub.php b/ext/intl/calendar/calendar.stub.php index 85c2c8a05e52c..97807b139e0d4 100644 --- a/ext/intl/calendar/calendar.stub.php +++ b/ext/intl/calendar/calendar.stub.php @@ -5,6 +5,205 @@ /** @not-serializable */ class IntlCalendar { + /** + * @var int + * @cvalue UCAL_ERA + */ + public const FIELD_ERA = UNKNOWN; + /** + * @var int + * @cvalue UCAL_YEAR + */ + public const FIELD_YEAR = UNKNOWN; + /** + * @var int + * @cvalue UCAL_MONTH + */ + public const FIELD_MONTH = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WEEK_OF_YEAR + */ + public const FIELD_WEEK_OF_YEAR = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WEEK_OF_MONTH + */ + public const FIELD_WEEK_OF_MONTH = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DATE + */ + public const FIELD_DATE = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DAY_OF_YEAR + */ + public const FIELD_DAY_OF_YEAR = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DAY_OF_WEEK + */ + public const FIELD_DAY_OF_WEEK = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DAY_OF_WEEK_IN_MONTH + */ + public const FIELD_DAY_OF_WEEK_IN_MONTH = UNKNOWN; + /** + * @var int + * @cvalue UCAL_AM_PM + */ + public const FIELD_AM_PM = UNKNOWN; + /** + * @var int + * @cvalue UCAL_HOUR + */ + public const FIELD_HOUR = UNKNOWN; + /** + * @var int + * @cvalue UCAL_HOUR_OF_DAY + */ + public const FIELD_HOUR_OF_DAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_MINUTE + */ + public const FIELD_MINUTE = UNKNOWN; + /** + * @var int + * @cvalue UCAL_SECOND + */ + public const FIELD_SECOND = UNKNOWN; + /** + * @var int + * @cvalue UCAL_MILLISECOND + */ + public const FIELD_MILLISECOND = UNKNOWN; + /** + * @var int + * @cvalue UCAL_ZONE_OFFSET + */ + public const FIELD_ZONE_OFFSET = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DST_OFFSET + */ + public const FIELD_DST_OFFSET = UNKNOWN; + /** + * @var int + * @cvalue UCAL_YEAR_WOY + */ + public const FIELD_YEAR_WOY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DOW_LOCAL + */ + public const FIELD_DOW_LOCAL = UNKNOWN; + /** + * @var int + * @cvalue UCAL_EXTENDED_YEAR + */ + public const FIELD_EXTENDED_YEAR = UNKNOWN; + /** + * @var int + * @cvalue UCAL_JULIAN_DAY + */ + public const FIELD_JULIAN_DAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_MILLISECONDS_IN_DAY + */ + public const FIELD_MILLISECONDS_IN_DAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_IS_LEAP_MONTH + */ + public const FIELD_IS_LEAP_MONTH = UNKNOWN; + /** + * @var int + * @cvalue UCAL_FIELD_COUNT + */ + public const FIELD_FIELD_COUNT = UNKNOWN; + /** + * @var int + * @cvalue UCAL_DAY_OF_MONTH + */ + public const FIELD_DAY_OF_MONTH = UNKNOWN; + + /** + * @var int + * @cvalue UCAL_SUNDAY + */ + public const DOW_SUNDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_MONDAY + */ + public const DOW_MONDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_TUESDAY + */ + public const DOW_TUESDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WEDNESDAY + */ + public const DOW_WEDNESDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_THURSDAY + */ + public const DOW_THURSDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_FRIDAY + */ + public const DOW_FRIDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_SATURDAY + */ + public const DOW_SATURDAY = UNKNOWN; + + /** + * @var int + * @cvalue UCAL_WEEKDAY + */ + public const DOW_TYPE_WEEKDAY = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WEEKEND + */ + public const DOW_TYPE_WEEKEND = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WEEKEND_ONSET + */ + public const DOW_TYPE_WEEKEND_OFFSET = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WEEKEND_CEASE + */ + public const DOW_TYPE_WEEKEND_CEASE = UNKNOWN; + + /** + * @var int + * @cvalue UCAL_WALLTIME_FIRST + */ + public const WALLTIME_FIRST = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WALLTIME_LAST + */ + public const WALLTIME_LAST = UNKNOWN; + /** + * @var int + * @cvalue UCAL_WALLTIME_NEXT_VALID + */ + public const WALLTIME_NEXT_VALID = UNKNOWN; + private function __construct() {} /** diff --git a/ext/intl/calendar/calendar_arginfo.h b/ext/intl/calendar/calendar_arginfo.h index 7b22161f30f5d..6173d1283806b 100644 --- a/ext/intl/calendar/calendar_arginfo.h +++ b/ext/intl/calendar/calendar_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 0096dc9e60e2256054d23344e024df1d6527a5fa */ + * Stub hash: ef1b6e5e8ff6890ccb176c08c22499048afdfdb5 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlCalendar___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -293,6 +293,240 @@ static zend_class_entry *register_class_IntlCalendar(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_FIELD_ERA_value; + ZVAL_LONG(&const_FIELD_ERA_value, UCAL_ERA); + zend_string *const_FIELD_ERA_name = zend_string_init_interned("FIELD_ERA", sizeof("FIELD_ERA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_ERA_name, &const_FIELD_ERA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_ERA_name); + + zval const_FIELD_YEAR_value; + ZVAL_LONG(&const_FIELD_YEAR_value, UCAL_YEAR); + zend_string *const_FIELD_YEAR_name = zend_string_init_interned("FIELD_YEAR", sizeof("FIELD_YEAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_YEAR_name, &const_FIELD_YEAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_YEAR_name); + + zval const_FIELD_MONTH_value; + ZVAL_LONG(&const_FIELD_MONTH_value, UCAL_MONTH); + zend_string *const_FIELD_MONTH_name = zend_string_init_interned("FIELD_MONTH", sizeof("FIELD_MONTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_MONTH_name, &const_FIELD_MONTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_MONTH_name); + + zval const_FIELD_WEEK_OF_YEAR_value; + ZVAL_LONG(&const_FIELD_WEEK_OF_YEAR_value, UCAL_WEEK_OF_YEAR); + zend_string *const_FIELD_WEEK_OF_YEAR_name = zend_string_init_interned("FIELD_WEEK_OF_YEAR", sizeof("FIELD_WEEK_OF_YEAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_WEEK_OF_YEAR_name, &const_FIELD_WEEK_OF_YEAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_WEEK_OF_YEAR_name); + + zval const_FIELD_WEEK_OF_MONTH_value; + ZVAL_LONG(&const_FIELD_WEEK_OF_MONTH_value, UCAL_WEEK_OF_MONTH); + zend_string *const_FIELD_WEEK_OF_MONTH_name = zend_string_init_interned("FIELD_WEEK_OF_MONTH", sizeof("FIELD_WEEK_OF_MONTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_WEEK_OF_MONTH_name, &const_FIELD_WEEK_OF_MONTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_WEEK_OF_MONTH_name); + + zval const_FIELD_DATE_value; + ZVAL_LONG(&const_FIELD_DATE_value, UCAL_DATE); + zend_string *const_FIELD_DATE_name = zend_string_init_interned("FIELD_DATE", sizeof("FIELD_DATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DATE_name, &const_FIELD_DATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DATE_name); + + zval const_FIELD_DAY_OF_YEAR_value; + ZVAL_LONG(&const_FIELD_DAY_OF_YEAR_value, UCAL_DAY_OF_YEAR); + zend_string *const_FIELD_DAY_OF_YEAR_name = zend_string_init_interned("FIELD_DAY_OF_YEAR", sizeof("FIELD_DAY_OF_YEAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DAY_OF_YEAR_name, &const_FIELD_DAY_OF_YEAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DAY_OF_YEAR_name); + + zval const_FIELD_DAY_OF_WEEK_value; + ZVAL_LONG(&const_FIELD_DAY_OF_WEEK_value, UCAL_DAY_OF_WEEK); + zend_string *const_FIELD_DAY_OF_WEEK_name = zend_string_init_interned("FIELD_DAY_OF_WEEK", sizeof("FIELD_DAY_OF_WEEK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DAY_OF_WEEK_name, &const_FIELD_DAY_OF_WEEK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DAY_OF_WEEK_name); + + zval const_FIELD_DAY_OF_WEEK_IN_MONTH_value; + ZVAL_LONG(&const_FIELD_DAY_OF_WEEK_IN_MONTH_value, UCAL_DAY_OF_WEEK_IN_MONTH); + zend_string *const_FIELD_DAY_OF_WEEK_IN_MONTH_name = zend_string_init_interned("FIELD_DAY_OF_WEEK_IN_MONTH", sizeof("FIELD_DAY_OF_WEEK_IN_MONTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DAY_OF_WEEK_IN_MONTH_name, &const_FIELD_DAY_OF_WEEK_IN_MONTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DAY_OF_WEEK_IN_MONTH_name); + + zval const_FIELD_AM_PM_value; + ZVAL_LONG(&const_FIELD_AM_PM_value, UCAL_AM_PM); + zend_string *const_FIELD_AM_PM_name = zend_string_init_interned("FIELD_AM_PM", sizeof("FIELD_AM_PM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_AM_PM_name, &const_FIELD_AM_PM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_AM_PM_name); + + zval const_FIELD_HOUR_value; + ZVAL_LONG(&const_FIELD_HOUR_value, UCAL_HOUR); + zend_string *const_FIELD_HOUR_name = zend_string_init_interned("FIELD_HOUR", sizeof("FIELD_HOUR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_HOUR_name, &const_FIELD_HOUR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_HOUR_name); + + zval const_FIELD_HOUR_OF_DAY_value; + ZVAL_LONG(&const_FIELD_HOUR_OF_DAY_value, UCAL_HOUR_OF_DAY); + zend_string *const_FIELD_HOUR_OF_DAY_name = zend_string_init_interned("FIELD_HOUR_OF_DAY", sizeof("FIELD_HOUR_OF_DAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_HOUR_OF_DAY_name, &const_FIELD_HOUR_OF_DAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_HOUR_OF_DAY_name); + + zval const_FIELD_MINUTE_value; + ZVAL_LONG(&const_FIELD_MINUTE_value, UCAL_MINUTE); + zend_string *const_FIELD_MINUTE_name = zend_string_init_interned("FIELD_MINUTE", sizeof("FIELD_MINUTE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_MINUTE_name, &const_FIELD_MINUTE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_MINUTE_name); + + zval const_FIELD_SECOND_value; + ZVAL_LONG(&const_FIELD_SECOND_value, UCAL_SECOND); + zend_string *const_FIELD_SECOND_name = zend_string_init_interned("FIELD_SECOND", sizeof("FIELD_SECOND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_SECOND_name, &const_FIELD_SECOND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_SECOND_name); + + zval const_FIELD_MILLISECOND_value; + ZVAL_LONG(&const_FIELD_MILLISECOND_value, UCAL_MILLISECOND); + zend_string *const_FIELD_MILLISECOND_name = zend_string_init_interned("FIELD_MILLISECOND", sizeof("FIELD_MILLISECOND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_MILLISECOND_name, &const_FIELD_MILLISECOND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_MILLISECOND_name); + + zval const_FIELD_ZONE_OFFSET_value; + ZVAL_LONG(&const_FIELD_ZONE_OFFSET_value, UCAL_ZONE_OFFSET); + zend_string *const_FIELD_ZONE_OFFSET_name = zend_string_init_interned("FIELD_ZONE_OFFSET", sizeof("FIELD_ZONE_OFFSET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_ZONE_OFFSET_name, &const_FIELD_ZONE_OFFSET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_ZONE_OFFSET_name); + + zval const_FIELD_DST_OFFSET_value; + ZVAL_LONG(&const_FIELD_DST_OFFSET_value, UCAL_DST_OFFSET); + zend_string *const_FIELD_DST_OFFSET_name = zend_string_init_interned("FIELD_DST_OFFSET", sizeof("FIELD_DST_OFFSET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DST_OFFSET_name, &const_FIELD_DST_OFFSET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DST_OFFSET_name); + + zval const_FIELD_YEAR_WOY_value; + ZVAL_LONG(&const_FIELD_YEAR_WOY_value, UCAL_YEAR_WOY); + zend_string *const_FIELD_YEAR_WOY_name = zend_string_init_interned("FIELD_YEAR_WOY", sizeof("FIELD_YEAR_WOY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_YEAR_WOY_name, &const_FIELD_YEAR_WOY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_YEAR_WOY_name); + + zval const_FIELD_DOW_LOCAL_value; + ZVAL_LONG(&const_FIELD_DOW_LOCAL_value, UCAL_DOW_LOCAL); + zend_string *const_FIELD_DOW_LOCAL_name = zend_string_init_interned("FIELD_DOW_LOCAL", sizeof("FIELD_DOW_LOCAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DOW_LOCAL_name, &const_FIELD_DOW_LOCAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DOW_LOCAL_name); + + zval const_FIELD_EXTENDED_YEAR_value; + ZVAL_LONG(&const_FIELD_EXTENDED_YEAR_value, UCAL_EXTENDED_YEAR); + zend_string *const_FIELD_EXTENDED_YEAR_name = zend_string_init_interned("FIELD_EXTENDED_YEAR", sizeof("FIELD_EXTENDED_YEAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_EXTENDED_YEAR_name, &const_FIELD_EXTENDED_YEAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_EXTENDED_YEAR_name); + + zval const_FIELD_JULIAN_DAY_value; + ZVAL_LONG(&const_FIELD_JULIAN_DAY_value, UCAL_JULIAN_DAY); + zend_string *const_FIELD_JULIAN_DAY_name = zend_string_init_interned("FIELD_JULIAN_DAY", sizeof("FIELD_JULIAN_DAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_JULIAN_DAY_name, &const_FIELD_JULIAN_DAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_JULIAN_DAY_name); + + zval const_FIELD_MILLISECONDS_IN_DAY_value; + ZVAL_LONG(&const_FIELD_MILLISECONDS_IN_DAY_value, UCAL_MILLISECONDS_IN_DAY); + zend_string *const_FIELD_MILLISECONDS_IN_DAY_name = zend_string_init_interned("FIELD_MILLISECONDS_IN_DAY", sizeof("FIELD_MILLISECONDS_IN_DAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_MILLISECONDS_IN_DAY_name, &const_FIELD_MILLISECONDS_IN_DAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_MILLISECONDS_IN_DAY_name); + + zval const_FIELD_IS_LEAP_MONTH_value; + ZVAL_LONG(&const_FIELD_IS_LEAP_MONTH_value, UCAL_IS_LEAP_MONTH); + zend_string *const_FIELD_IS_LEAP_MONTH_name = zend_string_init_interned("FIELD_IS_LEAP_MONTH", sizeof("FIELD_IS_LEAP_MONTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_IS_LEAP_MONTH_name, &const_FIELD_IS_LEAP_MONTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_IS_LEAP_MONTH_name); + + zval const_FIELD_FIELD_COUNT_value; + ZVAL_LONG(&const_FIELD_FIELD_COUNT_value, UCAL_FIELD_COUNT); + zend_string *const_FIELD_FIELD_COUNT_name = zend_string_init_interned("FIELD_FIELD_COUNT", sizeof("FIELD_FIELD_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_FIELD_COUNT_name, &const_FIELD_FIELD_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_FIELD_COUNT_name); + + zval const_FIELD_DAY_OF_MONTH_value; + ZVAL_LONG(&const_FIELD_DAY_OF_MONTH_value, UCAL_DAY_OF_MONTH); + zend_string *const_FIELD_DAY_OF_MONTH_name = zend_string_init_interned("FIELD_DAY_OF_MONTH", sizeof("FIELD_DAY_OF_MONTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FIELD_DAY_OF_MONTH_name, &const_FIELD_DAY_OF_MONTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FIELD_DAY_OF_MONTH_name); + + zval const_DOW_SUNDAY_value; + ZVAL_LONG(&const_DOW_SUNDAY_value, UCAL_SUNDAY); + zend_string *const_DOW_SUNDAY_name = zend_string_init_interned("DOW_SUNDAY", sizeof("DOW_SUNDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_SUNDAY_name, &const_DOW_SUNDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_SUNDAY_name); + + zval const_DOW_MONDAY_value; + ZVAL_LONG(&const_DOW_MONDAY_value, UCAL_MONDAY); + zend_string *const_DOW_MONDAY_name = zend_string_init_interned("DOW_MONDAY", sizeof("DOW_MONDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_MONDAY_name, &const_DOW_MONDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_MONDAY_name); + + zval const_DOW_TUESDAY_value; + ZVAL_LONG(&const_DOW_TUESDAY_value, UCAL_TUESDAY); + zend_string *const_DOW_TUESDAY_name = zend_string_init_interned("DOW_TUESDAY", sizeof("DOW_TUESDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_TUESDAY_name, &const_DOW_TUESDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_TUESDAY_name); + + zval const_DOW_WEDNESDAY_value; + ZVAL_LONG(&const_DOW_WEDNESDAY_value, UCAL_WEDNESDAY); + zend_string *const_DOW_WEDNESDAY_name = zend_string_init_interned("DOW_WEDNESDAY", sizeof("DOW_WEDNESDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_WEDNESDAY_name, &const_DOW_WEDNESDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_WEDNESDAY_name); + + zval const_DOW_THURSDAY_value; + ZVAL_LONG(&const_DOW_THURSDAY_value, UCAL_THURSDAY); + zend_string *const_DOW_THURSDAY_name = zend_string_init_interned("DOW_THURSDAY", sizeof("DOW_THURSDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_THURSDAY_name, &const_DOW_THURSDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_THURSDAY_name); + + zval const_DOW_FRIDAY_value; + ZVAL_LONG(&const_DOW_FRIDAY_value, UCAL_FRIDAY); + zend_string *const_DOW_FRIDAY_name = zend_string_init_interned("DOW_FRIDAY", sizeof("DOW_FRIDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_FRIDAY_name, &const_DOW_FRIDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_FRIDAY_name); + + zval const_DOW_SATURDAY_value; + ZVAL_LONG(&const_DOW_SATURDAY_value, UCAL_SATURDAY); + zend_string *const_DOW_SATURDAY_name = zend_string_init_interned("DOW_SATURDAY", sizeof("DOW_SATURDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_SATURDAY_name, &const_DOW_SATURDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_SATURDAY_name); + + zval const_DOW_TYPE_WEEKDAY_value; + ZVAL_LONG(&const_DOW_TYPE_WEEKDAY_value, UCAL_WEEKDAY); + zend_string *const_DOW_TYPE_WEEKDAY_name = zend_string_init_interned("DOW_TYPE_WEEKDAY", sizeof("DOW_TYPE_WEEKDAY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_TYPE_WEEKDAY_name, &const_DOW_TYPE_WEEKDAY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_TYPE_WEEKDAY_name); + + zval const_DOW_TYPE_WEEKEND_value; + ZVAL_LONG(&const_DOW_TYPE_WEEKEND_value, UCAL_WEEKEND); + zend_string *const_DOW_TYPE_WEEKEND_name = zend_string_init_interned("DOW_TYPE_WEEKEND", sizeof("DOW_TYPE_WEEKEND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_TYPE_WEEKEND_name, &const_DOW_TYPE_WEEKEND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_TYPE_WEEKEND_name); + + zval const_DOW_TYPE_WEEKEND_OFFSET_value; + ZVAL_LONG(&const_DOW_TYPE_WEEKEND_OFFSET_value, UCAL_WEEKEND_ONSET); + zend_string *const_DOW_TYPE_WEEKEND_OFFSET_name = zend_string_init_interned("DOW_TYPE_WEEKEND_OFFSET", sizeof("DOW_TYPE_WEEKEND_OFFSET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_TYPE_WEEKEND_OFFSET_name, &const_DOW_TYPE_WEEKEND_OFFSET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_TYPE_WEEKEND_OFFSET_name); + + zval const_DOW_TYPE_WEEKEND_CEASE_value; + ZVAL_LONG(&const_DOW_TYPE_WEEKEND_CEASE_value, UCAL_WEEKEND_CEASE); + zend_string *const_DOW_TYPE_WEEKEND_CEASE_name = zend_string_init_interned("DOW_TYPE_WEEKEND_CEASE", sizeof("DOW_TYPE_WEEKEND_CEASE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DOW_TYPE_WEEKEND_CEASE_name, &const_DOW_TYPE_WEEKEND_CEASE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DOW_TYPE_WEEKEND_CEASE_name); + + zval const_WALLTIME_FIRST_value; + ZVAL_LONG(&const_WALLTIME_FIRST_value, UCAL_WALLTIME_FIRST); + zend_string *const_WALLTIME_FIRST_name = zend_string_init_interned("WALLTIME_FIRST", sizeof("WALLTIME_FIRST") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WALLTIME_FIRST_name, &const_WALLTIME_FIRST_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WALLTIME_FIRST_name); + + zval const_WALLTIME_LAST_value; + ZVAL_LONG(&const_WALLTIME_LAST_value, UCAL_WALLTIME_LAST); + zend_string *const_WALLTIME_LAST_name = zend_string_init_interned("WALLTIME_LAST", sizeof("WALLTIME_LAST") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WALLTIME_LAST_name, &const_WALLTIME_LAST_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WALLTIME_LAST_name); + + zval const_WALLTIME_NEXT_VALID_value; + ZVAL_LONG(&const_WALLTIME_NEXT_VALID_value, UCAL_WALLTIME_NEXT_VALID); + zend_string *const_WALLTIME_NEXT_VALID_name = zend_string_init_interned("WALLTIME_NEXT_VALID", sizeof("WALLTIME_NEXT_VALID") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WALLTIME_NEXT_VALID_name, &const_WALLTIME_NEXT_VALID_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WALLTIME_NEXT_VALID_name); + return class_entry; } diff --git a/ext/intl/calendar/calendar_class.cpp b/ext/intl/calendar/calendar_class.cpp index 10239b2b2666c..f114c9b0fe57c 100644 --- a/ext/intl/calendar/calendar_class.cpp +++ b/ext/intl/calendar/calendar_class.cpp @@ -279,54 +279,6 @@ void calendar_register_IntlCalendar_class(void) Calendar_handlers.get_debug_info = Calendar_get_debug_info; Calendar_handlers.free_obj = Calendar_objects_free; - /* Declare 'IntlCalendar' class constants */ -#define CALENDAR_DECL_LONG_CONST(name, val) \ - zend_declare_class_constant_long(Calendar_ce_ptr, name, sizeof(name) - 1, \ - val) - - CALENDAR_DECL_LONG_CONST("FIELD_ERA", UCAL_ERA); - CALENDAR_DECL_LONG_CONST("FIELD_YEAR", UCAL_YEAR); - CALENDAR_DECL_LONG_CONST("FIELD_MONTH", UCAL_MONTH); - CALENDAR_DECL_LONG_CONST("FIELD_WEEK_OF_YEAR", UCAL_WEEK_OF_YEAR); - CALENDAR_DECL_LONG_CONST("FIELD_WEEK_OF_MONTH", UCAL_WEEK_OF_MONTH); - CALENDAR_DECL_LONG_CONST("FIELD_DATE", UCAL_DATE); - CALENDAR_DECL_LONG_CONST("FIELD_DAY_OF_YEAR", UCAL_DAY_OF_YEAR); - CALENDAR_DECL_LONG_CONST("FIELD_DAY_OF_WEEK", UCAL_DAY_OF_WEEK); - CALENDAR_DECL_LONG_CONST("FIELD_DAY_OF_WEEK_IN_MONTH", UCAL_DAY_OF_WEEK_IN_MONTH); - CALENDAR_DECL_LONG_CONST("FIELD_AM_PM", UCAL_AM_PM); - CALENDAR_DECL_LONG_CONST("FIELD_HOUR", UCAL_HOUR); - CALENDAR_DECL_LONG_CONST("FIELD_HOUR_OF_DAY", UCAL_HOUR_OF_DAY); - CALENDAR_DECL_LONG_CONST("FIELD_MINUTE", UCAL_MINUTE); - CALENDAR_DECL_LONG_CONST("FIELD_SECOND", UCAL_SECOND); - CALENDAR_DECL_LONG_CONST("FIELD_MILLISECOND", UCAL_MILLISECOND); - CALENDAR_DECL_LONG_CONST("FIELD_ZONE_OFFSET", UCAL_ZONE_OFFSET); - CALENDAR_DECL_LONG_CONST("FIELD_DST_OFFSET", UCAL_DST_OFFSET); - CALENDAR_DECL_LONG_CONST("FIELD_YEAR_WOY", UCAL_YEAR_WOY); - CALENDAR_DECL_LONG_CONST("FIELD_DOW_LOCAL", UCAL_DOW_LOCAL); - CALENDAR_DECL_LONG_CONST("FIELD_EXTENDED_YEAR", UCAL_EXTENDED_YEAR); - CALENDAR_DECL_LONG_CONST("FIELD_JULIAN_DAY", UCAL_JULIAN_DAY); - CALENDAR_DECL_LONG_CONST("FIELD_MILLISECONDS_IN_DAY", UCAL_MILLISECONDS_IN_DAY); - CALENDAR_DECL_LONG_CONST("FIELD_IS_LEAP_MONTH", UCAL_IS_LEAP_MONTH); - CALENDAR_DECL_LONG_CONST("FIELD_FIELD_COUNT", UCAL_FIELD_COUNT); - CALENDAR_DECL_LONG_CONST("FIELD_DAY_OF_MONTH", UCAL_DAY_OF_MONTH); - - CALENDAR_DECL_LONG_CONST("DOW_SUNDAY", UCAL_SUNDAY); - CALENDAR_DECL_LONG_CONST("DOW_MONDAY", UCAL_MONDAY); - CALENDAR_DECL_LONG_CONST("DOW_TUESDAY", UCAL_TUESDAY); - CALENDAR_DECL_LONG_CONST("DOW_WEDNESDAY", UCAL_WEDNESDAY); - CALENDAR_DECL_LONG_CONST("DOW_THURSDAY", UCAL_THURSDAY); - CALENDAR_DECL_LONG_CONST("DOW_FRIDAY", UCAL_FRIDAY); - CALENDAR_DECL_LONG_CONST("DOW_SATURDAY", UCAL_SATURDAY); - - CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKDAY", UCAL_WEEKDAY); - CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND", UCAL_WEEKEND); - CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_OFFSET", UCAL_WEEKEND_ONSET); - CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_CEASE", UCAL_WEEKEND_CEASE); - - CALENDAR_DECL_LONG_CONST("WALLTIME_FIRST", UCAL_WALLTIME_FIRST); - CALENDAR_DECL_LONG_CONST("WALLTIME_LAST", UCAL_WALLTIME_LAST); - CALENDAR_DECL_LONG_CONST("WALLTIME_NEXT_VALID", UCAL_WALLTIME_NEXT_VALID); - /* Create and register 'IntlGregorianCalendar' class. */ GregorianCalendar_ce_ptr = register_class_IntlGregorianCalendar(Calendar_ce_ptr); } From 08748577c065bdd9b9a535fac30bf0711a577004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 9 Aug 2022 11:29:26 +0200 Subject: [PATCH 037/229] Declare ext/intl constants in stubs - part 8 (#9275) --- ext/intl/uchar/ublockcode-enum.h | 260 -- ext/intl/uchar/uchar.c | 43 +- ext/intl/uchar/uchar.stub.php | 3376 +++++++++++++++++++++ ext/intl/uchar/uchar_arginfo.h | 4127 +++++++++++++++++++++++++- ext/intl/uchar/ucharcategory-enum.h | 33 - ext/intl/uchar/uchardirection-enum.h | 26 - ext/intl/uchar/uother-enum.h | 270 -- ext/intl/uchar/uproperty-enum.h | 114 - 8 files changed, 7505 insertions(+), 744 deletions(-) delete mode 100644 ext/intl/uchar/ublockcode-enum.h delete mode 100644 ext/intl/uchar/ucharcategory-enum.h delete mode 100644 ext/intl/uchar/uchardirection-enum.h delete mode 100644 ext/intl/uchar/uother-enum.h delete mode 100644 ext/intl/uchar/uproperty-enum.h diff --git a/ext/intl/uchar/ublockcode-enum.h b/ext/intl/uchar/ublockcode-enum.h deleted file mode 100644 index 489a2da89a693..0000000000000 --- a/ext/intl/uchar/ublockcode-enum.h +++ /dev/null @@ -1,260 +0,0 @@ -/* UBlockCode http://icu-project.org/apiref/icu4c/uchar_8h.html#a19f1662c9c33c31593612d05777ea901*/ -UBLOCKCODE(NO_BLOCK) -UBLOCKCODE(BASIC_LATIN) -UBLOCKCODE(LATIN_1_SUPPLEMENT) -UBLOCKCODE(LATIN_EXTENDED_A) -UBLOCKCODE(LATIN_EXTENDED_B) -UBLOCKCODE(IPA_EXTENSIONS) -UBLOCKCODE(SPACING_MODIFIER_LETTERS) -UBLOCKCODE(COMBINING_DIACRITICAL_MARKS) -UBLOCKCODE(GREEK) -UBLOCKCODE(CYRILLIC) -UBLOCKCODE(ARMENIAN) -UBLOCKCODE(HEBREW) -UBLOCKCODE(ARABIC) -UBLOCKCODE(SYRIAC) -UBLOCKCODE(THAANA) -UBLOCKCODE(DEVANAGARI) -UBLOCKCODE(BENGALI) -UBLOCKCODE(GURMUKHI) -UBLOCKCODE(GUJARATI) -UBLOCKCODE(ORIYA) -UBLOCKCODE(TAMIL) -UBLOCKCODE(TELUGU) -UBLOCKCODE(KANNADA) -UBLOCKCODE(MALAYALAM) -UBLOCKCODE(SINHALA) -UBLOCKCODE(THAI) -UBLOCKCODE(LAO) -UBLOCKCODE(TIBETAN) -UBLOCKCODE(MYANMAR) -UBLOCKCODE(GEORGIAN) -UBLOCKCODE(HANGUL_JAMO) -UBLOCKCODE(ETHIOPIC) -UBLOCKCODE(CHEROKEE) -UBLOCKCODE(UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS) -UBLOCKCODE(OGHAM) -UBLOCKCODE(RUNIC) -UBLOCKCODE(KHMER) -UBLOCKCODE(MONGOLIAN) -UBLOCKCODE(LATIN_EXTENDED_ADDITIONAL) -UBLOCKCODE(GREEK_EXTENDED) -UBLOCKCODE(GENERAL_PUNCTUATION) -UBLOCKCODE(SUPERSCRIPTS_AND_SUBSCRIPTS) -UBLOCKCODE(CURRENCY_SYMBOLS) -UBLOCKCODE(COMBINING_MARKS_FOR_SYMBOLS) -UBLOCKCODE(LETTERLIKE_SYMBOLS) -UBLOCKCODE(NUMBER_FORMS) -UBLOCKCODE(ARROWS) -UBLOCKCODE(MATHEMATICAL_OPERATORS) -UBLOCKCODE(MISCELLANEOUS_TECHNICAL) -UBLOCKCODE(CONTROL_PICTURES) -UBLOCKCODE(OPTICAL_CHARACTER_RECOGNITION) -UBLOCKCODE(ENCLOSED_ALPHANUMERICS) -UBLOCKCODE(BOX_DRAWING) -UBLOCKCODE(BLOCK_ELEMENTS) -UBLOCKCODE(GEOMETRIC_SHAPES) -UBLOCKCODE(MISCELLANEOUS_SYMBOLS) -UBLOCKCODE(DINGBATS) -UBLOCKCODE(BRAILLE_PATTERNS) -UBLOCKCODE(CJK_RADICALS_SUPPLEMENT) -UBLOCKCODE(KANGXI_RADICALS) -UBLOCKCODE(IDEOGRAPHIC_DESCRIPTION_CHARACTERS) -UBLOCKCODE(CJK_SYMBOLS_AND_PUNCTUATION) -UBLOCKCODE(HIRAGANA) -UBLOCKCODE(KATAKANA) -UBLOCKCODE(BOPOMOFO) -UBLOCKCODE(HANGUL_COMPATIBILITY_JAMO) -UBLOCKCODE(KANBUN) -UBLOCKCODE(BOPOMOFO_EXTENDED) -UBLOCKCODE(ENCLOSED_CJK_LETTERS_AND_MONTHS) -UBLOCKCODE(CJK_COMPATIBILITY) -UBLOCKCODE(CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A) -UBLOCKCODE(CJK_UNIFIED_IDEOGRAPHS) -UBLOCKCODE(YI_SYLLABLES) -UBLOCKCODE(YI_RADICALS) -UBLOCKCODE(HANGUL_SYLLABLES) -UBLOCKCODE(HIGH_SURROGATES) -UBLOCKCODE(HIGH_PRIVATE_USE_SURROGATES) -UBLOCKCODE(LOW_SURROGATES) -UBLOCKCODE(PRIVATE_USE_AREA) -UBLOCKCODE(PRIVATE_USE) -UBLOCKCODE(CJK_COMPATIBILITY_IDEOGRAPHS) -UBLOCKCODE(ALPHABETIC_PRESENTATION_FORMS) -UBLOCKCODE(ARABIC_PRESENTATION_FORMS_A) -UBLOCKCODE(COMBINING_HALF_MARKS) -UBLOCKCODE(CJK_COMPATIBILITY_FORMS) -UBLOCKCODE(SMALL_FORM_VARIANTS) -UBLOCKCODE(ARABIC_PRESENTATION_FORMS_B) -UBLOCKCODE(SPECIALS) -UBLOCKCODE(HALFWIDTH_AND_FULLWIDTH_FORMS) -UBLOCKCODE(OLD_ITALIC) -UBLOCKCODE(GOTHIC) -UBLOCKCODE(DESERET) -UBLOCKCODE(BYZANTINE_MUSICAL_SYMBOLS) -UBLOCKCODE(MUSICAL_SYMBOLS) -UBLOCKCODE(MATHEMATICAL_ALPHANUMERIC_SYMBOLS) -UBLOCKCODE(CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B) -UBLOCKCODE(CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT) -UBLOCKCODE(TAGS) -UBLOCKCODE(CYRILLIC_SUPPLEMENT) -UBLOCKCODE(CYRILLIC_SUPPLEMENTARY) -UBLOCKCODE(TAGALOG) -UBLOCKCODE(HANUNOO) -UBLOCKCODE(BUHID) -UBLOCKCODE(TAGBANWA) -UBLOCKCODE(MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A) -UBLOCKCODE(SUPPLEMENTAL_ARROWS_A) -UBLOCKCODE(SUPPLEMENTAL_ARROWS_B) -UBLOCKCODE(MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B) -UBLOCKCODE(SUPPLEMENTAL_MATHEMATICAL_OPERATORS) -UBLOCKCODE(KATAKANA_PHONETIC_EXTENSIONS) -UBLOCKCODE(VARIATION_SELECTORS) -UBLOCKCODE(SUPPLEMENTARY_PRIVATE_USE_AREA_A) -UBLOCKCODE(SUPPLEMENTARY_PRIVATE_USE_AREA_B) -UBLOCKCODE(LIMBU) -UBLOCKCODE(TAI_LE) -UBLOCKCODE(KHMER_SYMBOLS) -UBLOCKCODE(PHONETIC_EXTENSIONS) -UBLOCKCODE(MISCELLANEOUS_SYMBOLS_AND_ARROWS) -UBLOCKCODE(YIJING_HEXAGRAM_SYMBOLS) -UBLOCKCODE(LINEAR_B_SYLLABARY) -UBLOCKCODE(LINEAR_B_IDEOGRAMS) -UBLOCKCODE(AEGEAN_NUMBERS) -UBLOCKCODE(UGARITIC) -UBLOCKCODE(SHAVIAN) -UBLOCKCODE(OSMANYA) -UBLOCKCODE(CYPRIOT_SYLLABARY) -UBLOCKCODE(TAI_XUAN_JING_SYMBOLS) -UBLOCKCODE(VARIATION_SELECTORS_SUPPLEMENT) -UBLOCKCODE(ANCIENT_GREEK_MUSICAL_NOTATION) -UBLOCKCODE(ANCIENT_GREEK_NUMBERS) -UBLOCKCODE(ARABIC_SUPPLEMENT) -UBLOCKCODE(BUGINESE) -UBLOCKCODE(CJK_STROKES) -UBLOCKCODE(COMBINING_DIACRITICAL_MARKS_SUPPLEMENT) -UBLOCKCODE(COPTIC) -UBLOCKCODE(ETHIOPIC_EXTENDED) -UBLOCKCODE(ETHIOPIC_SUPPLEMENT) -UBLOCKCODE(GEORGIAN_SUPPLEMENT) -UBLOCKCODE(GLAGOLITIC) -UBLOCKCODE(KHAROSHTHI) -UBLOCKCODE(MODIFIER_TONE_LETTERS) -UBLOCKCODE(NEW_TAI_LUE) -UBLOCKCODE(OLD_PERSIAN) -UBLOCKCODE(PHONETIC_EXTENSIONS_SUPPLEMENT) -UBLOCKCODE(SUPPLEMENTAL_PUNCTUATION) -UBLOCKCODE(SYLOTI_NAGRI) -UBLOCKCODE(TIFINAGH) -UBLOCKCODE(VERTICAL_FORMS) -UBLOCKCODE(NKO) -UBLOCKCODE(BALINESE) -UBLOCKCODE(LATIN_EXTENDED_C) -UBLOCKCODE(LATIN_EXTENDED_D) -UBLOCKCODE(PHAGS_PA) -UBLOCKCODE(PHOENICIAN) -UBLOCKCODE(CUNEIFORM) -UBLOCKCODE(CUNEIFORM_NUMBERS_AND_PUNCTUATION) -UBLOCKCODE(COUNTING_ROD_NUMERALS) -UBLOCKCODE(SUNDANESE) -UBLOCKCODE(LEPCHA) -UBLOCKCODE(OL_CHIKI) -UBLOCKCODE(CYRILLIC_EXTENDED_A) -UBLOCKCODE(VAI) -UBLOCKCODE(CYRILLIC_EXTENDED_B) -UBLOCKCODE(SAURASHTRA) -UBLOCKCODE(KAYAH_LI) -UBLOCKCODE(REJANG) -UBLOCKCODE(CHAM) -UBLOCKCODE(ANCIENT_SYMBOLS) -UBLOCKCODE(PHAISTOS_DISC) -UBLOCKCODE(LYCIAN) -UBLOCKCODE(CARIAN) -UBLOCKCODE(LYDIAN) -UBLOCKCODE(MAHJONG_TILES) -UBLOCKCODE(DOMINO_TILES) -UBLOCKCODE(SAMARITAN) -UBLOCKCODE(UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED) -UBLOCKCODE(TAI_THAM) -UBLOCKCODE(VEDIC_EXTENSIONS) -UBLOCKCODE(LISU) -UBLOCKCODE(BAMUM) -UBLOCKCODE(COMMON_INDIC_NUMBER_FORMS) -UBLOCKCODE(DEVANAGARI_EXTENDED) -UBLOCKCODE(HANGUL_JAMO_EXTENDED_A) -UBLOCKCODE(JAVANESE) -UBLOCKCODE(MYANMAR_EXTENDED_A) -UBLOCKCODE(TAI_VIET) -UBLOCKCODE(MEETEI_MAYEK) -UBLOCKCODE(HANGUL_JAMO_EXTENDED_B) -UBLOCKCODE(IMPERIAL_ARAMAIC) -UBLOCKCODE(OLD_SOUTH_ARABIAN) -UBLOCKCODE(AVESTAN) -UBLOCKCODE(INSCRIPTIONAL_PARTHIAN) -UBLOCKCODE(INSCRIPTIONAL_PAHLAVI) -UBLOCKCODE(OLD_TURKIC) -UBLOCKCODE(RUMI_NUMERAL_SYMBOLS) -UBLOCKCODE(KAITHI) -UBLOCKCODE(EGYPTIAN_HIEROGLYPHS) -UBLOCKCODE(ENCLOSED_ALPHANUMERIC_SUPPLEMENT) -UBLOCKCODE(ENCLOSED_IDEOGRAPHIC_SUPPLEMENT) -UBLOCKCODE(CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C) -UBLOCKCODE(MANDAIC) -UBLOCKCODE(BATAK) -UBLOCKCODE(ETHIOPIC_EXTENDED_A) -UBLOCKCODE(BRAHMI) -UBLOCKCODE(BAMUM_SUPPLEMENT) -UBLOCKCODE(KANA_SUPPLEMENT) -UBLOCKCODE(PLAYING_CARDS) -UBLOCKCODE(MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS) -UBLOCKCODE(EMOTICONS) -UBLOCKCODE(TRANSPORT_AND_MAP_SYMBOLS) -UBLOCKCODE(ALCHEMICAL_SYMBOLS) -UBLOCKCODE(CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D) -UBLOCKCODE(ARABIC_EXTENDED_A) -UBLOCKCODE(ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS) -UBLOCKCODE(CHAKMA) -UBLOCKCODE(MEETEI_MAYEK_EXTENSIONS) -UBLOCKCODE(MEROITIC_CURSIVE) -UBLOCKCODE(MEROITIC_HIEROGLYPHS) -UBLOCKCODE(MIAO) -UBLOCKCODE(SHARADA) -UBLOCKCODE(SORA_SOMPENG) -UBLOCKCODE(SUNDANESE_SUPPLEMENT) -UBLOCKCODE(TAKRI) -#if U_ICU_VERSION_MAJOR_NUM >= 54 -UBLOCKCODE(BASSA_VAH) -UBLOCKCODE(CAUCASIAN_ALBANIAN) -UBLOCKCODE(COPTIC_EPACT_NUMBERS) -UBLOCKCODE(COMBINING_DIACRITICAL_MARKS_EXTENDED) -UBLOCKCODE(DUPLOYAN) -UBLOCKCODE(ELBASAN) -UBLOCKCODE(GEOMETRIC_SHAPES_EXTENDED) -UBLOCKCODE(GRANTHA) -UBLOCKCODE(KHOJKI) -UBLOCKCODE(KHUDAWADI) -UBLOCKCODE(LATIN_EXTENDED_E) -UBLOCKCODE(LINEAR_A) -UBLOCKCODE(MAHAJANI) -UBLOCKCODE(MANICHAEAN) -UBLOCKCODE(MENDE_KIKAKUI) -UBLOCKCODE(MODI) -UBLOCKCODE(MRO) -UBLOCKCODE(MYANMAR_EXTENDED_B) -UBLOCKCODE(NABATAEAN) -UBLOCKCODE(OLD_NORTH_ARABIAN) -UBLOCKCODE(OLD_PERMIC) -UBLOCKCODE(ORNAMENTAL_DINGBATS) -UBLOCKCODE(PAHAWH_HMONG) -UBLOCKCODE(PALMYRENE) -UBLOCKCODE(PAU_CIN_HAU) -UBLOCKCODE(PSALTER_PAHLAVI) -UBLOCKCODE(SHORTHAND_FORMAT_CONTROLS) -UBLOCKCODE(SIDDHAM) -UBLOCKCODE(SINHALA_ARCHAIC_NUMBERS) -UBLOCKCODE(SUPPLEMENTAL_ARROWS_C) -UBLOCKCODE(TIRHUTA) -UBLOCKCODE(WARANG_CITI) -#endif /* ICU >= 54 */ -UBLOCKCODE(COUNT) -UBLOCKCODE(INVALID_CODE) diff --git a/ext/intl/uchar/uchar.c b/ext/intl/uchar/uchar.c index 43fe38314fbb2..771805925827f 100644 --- a/ext/intl/uchar/uchar.c +++ b/ext/intl/uchar/uchar.c @@ -1,11 +1,12 @@ #include "uchar.h" #include "intl_data.h" #include "intl_convert.h" -#include "uchar_arginfo.h" #include #include +#include "uchar_arginfo.h" + #define IC_METHOD(mname) PHP_METHOD(IntlChar, mname) static inline int convert_cp(UChar32* pcp, zend_string *string_codepoint, zend_long int_codepoint) { @@ -612,45 +613,7 @@ IC_CHAR_METHOD_CHAR(getBidiPairedBracket) /* }}} */ int php_uchar_minit(INIT_FUNC_ARGS) { - zend_class_entry *ce; - - ce = register_class_IntlChar(); - -#define IC_CONSTL(name, val) \ - zend_declare_class_constant_long(ce, name, strlen(name), val); - - zend_declare_class_constant_string(ce, "UNICODE_VERSION", sizeof("UNICODE_VERISON")-1, U_UNICODE_VERSION); - IC_CONSTL("CODEPOINT_MIN", UCHAR_MIN_VALUE) - IC_CONSTL("CODEPOINT_MAX", UCHAR_MAX_VALUE) - zend_declare_class_constant_double(ce, "NO_NUMERIC_VALUE", sizeof("NO_NUMERIC_VALUE")-1, U_NO_NUMERIC_VALUE); - - /* All enums used by the uchar APIs. There are a LOT of them, - * so they're separated out into include files, - * leaving this source file for actual implementation. - */ -#define UPROPERTY(name) IC_CONSTL("PROPERTY_" #name, UCHAR_##name) -#include "uproperty-enum.h" -#undef UPROPERTY - -#define UCHARCATEGORY(name) IC_CONSTL("CHAR_CATEGORY_" #name, U_##name) -#include "ucharcategory-enum.h" -#undef UCHARCATEGORY - -#define UCHARDIRECTION(name) IC_CONSTL("CHAR_DIRECTION_" #name, U_##name) -#include "uchardirection-enum.h" -#undef UCHARDIRECTION - -#define UBLOCKCODE(name) IC_CONSTL("BLOCK_CODE_" #name, UBLOCK_##name) -#include "ublockcode-enum.h" -#undef UBLOCKCODE - - /* Smaller, self-destribing enums */ -#define UOTHER(name) IC_CONSTL(#name, U_##name) -#include "uother-enum.h" -#undef UOTHER - -#undef IC_CONSTL -#undef IC_CONSTS + register_class_IntlChar(); return SUCCESS; } diff --git a/ext/intl/uchar/uchar.stub.php b/ext/intl/uchar/uchar.stub.php index d246c2b25c2ec..d789684fc8f95 100644 --- a/ext/intl/uchar/uchar.stub.php +++ b/ext/intl/uchar/uchar.stub.php @@ -4,6 +4,3382 @@ class IntlChar { + /** + * @var string + * @cvalue U_UNICODE_VERSION + */ + public const UNICODE_VERSION = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_MIN_VALUE + */ + public const CODEPOINT_MIN = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_MAX_VALUE + */ + public const CODEPOINT_MAX = UNKNOWN; + /** + * @var float + * @cvalue U_NO_NUMERIC_VALUE + */ + public const NO_NUMERIC_VALUE = UNKNOWN; + + /** + * @var int + * @cvalue UCHAR_ALPHABETIC + */ + public const PROPERTY_ALPHABETIC = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BINARY_START + */ + public const PROPERTY_BINARY_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_ASCII_HEX_DIGIT + */ + public const PROPERTY_ASCII_HEX_DIGIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BIDI_CONTROL + */ + public const PROPERTY_BIDI_CONTROL = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BIDI_MIRRORED + */ + public const PROPERTY_BIDI_MIRRORED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DASH + */ + public const PROPERTY_DASH = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DEFAULT_IGNORABLE_CODE_POINT + */ + public const PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DEPRECATED + */ + public const PROPERTY_DEPRECATED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DIACRITIC + */ + public const PROPERTY_DIACRITIC = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_EXTENDER + */ + public const PROPERTY_EXTENDER = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_FULL_COMPOSITION_EXCLUSION + */ + public const PROPERTY_FULL_COMPOSITION_EXCLUSION = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_GRAPHEME_BASE + */ + public const PROPERTY_GRAPHEME_BASE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_GRAPHEME_EXTEND + */ + public const PROPERTY_GRAPHEME_EXTEND = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_GRAPHEME_LINK + */ + public const PROPERTY_GRAPHEME_LINK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_HEX_DIGIT + */ + public const PROPERTY_HEX_DIGIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_HYPHEN + */ + public const PROPERTY_HYPHEN = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_ID_CONTINUE + */ + public const PROPERTY_ID_CONTINUE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_ID_START + */ + public const PROPERTY_ID_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_IDEOGRAPHIC + */ + public const PROPERTY_IDEOGRAPHIC = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_IDS_BINARY_OPERATOR + */ + public const PROPERTY_IDS_BINARY_OPERATOR = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_IDS_TRINARY_OPERATOR + */ + public const PROPERTY_IDS_TRINARY_OPERATOR = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_JOIN_CONTROL + */ + public const PROPERTY_JOIN_CONTROL = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_LOGICAL_ORDER_EXCEPTION + */ + public const PROPERTY_LOGICAL_ORDER_EXCEPTION = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_LOWERCASE + */ + public const PROPERTY_LOWERCASE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_MATH + */ + public const PROPERTY_MATH = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NONCHARACTER_CODE_POINT + */ + public const PROPERTY_NONCHARACTER_CODE_POINT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_QUOTATION_MARK + */ + public const PROPERTY_QUOTATION_MARK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_RADICAL + */ + public const PROPERTY_RADICAL = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SOFT_DOTTED + */ + public const PROPERTY_SOFT_DOTTED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_TERMINAL_PUNCTUATION + */ + public const PROPERTY_TERMINAL_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_UNIFIED_IDEOGRAPH + */ + public const PROPERTY_UNIFIED_IDEOGRAPH = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_UPPERCASE + */ + public const PROPERTY_UPPERCASE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_WHITE_SPACE + */ + public const PROPERTY_WHITE_SPACE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_XID_CONTINUE + */ + public const PROPERTY_XID_CONTINUE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_XID_START + */ + public const PROPERTY_XID_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CASE_SENSITIVE + */ + public const PROPERTY_CASE_SENSITIVE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_S_TERM + */ + public const PROPERTY_S_TERM = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_VARIATION_SELECTOR + */ + public const PROPERTY_VARIATION_SELECTOR = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFD_INERT + */ + public const PROPERTY_NFD_INERT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFKD_INERT + */ + public const PROPERTY_NFKD_INERT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFC_INERT + */ + public const PROPERTY_NFC_INERT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFKC_INERT + */ + public const PROPERTY_NFKC_INERT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SEGMENT_STARTER + */ + public const PROPERTY_SEGMENT_STARTER = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_PATTERN_SYNTAX + */ + public const PROPERTY_PATTERN_SYNTAX = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_PATTERN_WHITE_SPACE + */ + public const PROPERTY_PATTERN_WHITE_SPACE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_POSIX_ALNUM + */ + public const PROPERTY_POSIX_ALNUM = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_POSIX_BLANK + */ + public const PROPERTY_POSIX_BLANK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_POSIX_GRAPH + */ + public const PROPERTY_POSIX_GRAPH = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_POSIX_PRINT + */ + public const PROPERTY_POSIX_PRINT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_POSIX_XDIGIT + */ + public const PROPERTY_POSIX_XDIGIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CASED + */ + public const PROPERTY_CASED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CASE_IGNORABLE + */ + public const PROPERTY_CASE_IGNORABLE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CHANGES_WHEN_LOWERCASED + */ + public const PROPERTY_CHANGES_WHEN_LOWERCASED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CHANGES_WHEN_UPPERCASED + */ + public const PROPERTY_CHANGES_WHEN_UPPERCASED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CHANGES_WHEN_TITLECASED + */ + public const PROPERTY_CHANGES_WHEN_TITLECASED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CHANGES_WHEN_CASEFOLDED + */ + public const PROPERTY_CHANGES_WHEN_CASEFOLDED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CHANGES_WHEN_CASEMAPPED + */ + public const PROPERTY_CHANGES_WHEN_CASEMAPPED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED + */ + public const PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BINARY_LIMIT + */ + public const PROPERTY_BINARY_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BIDI_CLASS + */ + public const PROPERTY_BIDI_CLASS = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_INT_START + */ + public const PROPERTY_INT_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BLOCK + */ + public const PROPERTY_BLOCK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CANONICAL_COMBINING_CLASS + */ + public const PROPERTY_CANONICAL_COMBINING_CLASS = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DECOMPOSITION_TYPE + */ + public const PROPERTY_DECOMPOSITION_TYPE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_EAST_ASIAN_WIDTH + */ + public const PROPERTY_EAST_ASIAN_WIDTH = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_GENERAL_CATEGORY + */ + public const PROPERTY_GENERAL_CATEGORY = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_JOINING_GROUP + */ + public const PROPERTY_JOINING_GROUP = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_JOINING_TYPE + */ + public const PROPERTY_JOINING_TYPE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_LINE_BREAK + */ + public const PROPERTY_LINE_BREAK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NUMERIC_TYPE + */ + public const PROPERTY_NUMERIC_TYPE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SCRIPT + */ + public const PROPERTY_SCRIPT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_HANGUL_SYLLABLE_TYPE + */ + public const PROPERTY_HANGUL_SYLLABLE_TYPE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFD_QUICK_CHECK + */ + public const PROPERTY_NFD_QUICK_CHECK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFKD_QUICK_CHECK + */ + public const PROPERTY_NFKD_QUICK_CHECK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFC_QUICK_CHECK + */ + public const PROPERTY_NFC_QUICK_CHECK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NFKC_QUICK_CHECK + */ + public const PROPERTY_NFKC_QUICK_CHECK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_LEAD_CANONICAL_COMBINING_CLASS + */ + public const PROPERTY_LEAD_CANONICAL_COMBINING_CLASS = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_TRAIL_CANONICAL_COMBINING_CLASS + */ + public const PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_GRAPHEME_CLUSTER_BREAK + */ + public const PROPERTY_GRAPHEME_CLUSTER_BREAK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SENTENCE_BREAK + */ + public const PROPERTY_SENTENCE_BREAK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_WORD_BREAK + */ + public const PROPERTY_WORD_BREAK = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 52 + /** + * @var int + * @cvalue UCHAR_BIDI_PAIRED_BRACKET_TYPE + */ + public const PROPERTY_BIDI_PAIRED_BRACKET_TYPE = UNKNOWN; +#endif + /** + * @var int + * @cvalue UCHAR_INT_LIMIT + */ + public const PROPERTY_INT_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_GENERAL_CATEGORY_MASK + */ + public const PROPERTY_GENERAL_CATEGORY_MASK = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_MASK_START + */ + public const PROPERTY_MASK_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_MASK_LIMIT + */ + public const PROPERTY_MASK_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NUMERIC_VALUE + */ + public const PROPERTY_NUMERIC_VALUE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DOUBLE_START + */ + public const PROPERTY_DOUBLE_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_DOUBLE_LIMIT + */ + public const PROPERTY_DOUBLE_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_AGE + */ + public const PROPERTY_AGE = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_STRING_START + */ + public const PROPERTY_STRING_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_BIDI_MIRRORING_GLYPH + */ + public const PROPERTY_BIDI_MIRRORING_GLYPH = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_CASE_FOLDING + */ + public const PROPERTY_CASE_FOLDING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_ISO_COMMENT + */ + public const PROPERTY_ISO_COMMENT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_LOWERCASE_MAPPING + */ + public const PROPERTY_LOWERCASE_MAPPING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_NAME + */ + public const PROPERTY_NAME = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SIMPLE_CASE_FOLDING + */ + public const PROPERTY_SIMPLE_CASE_FOLDING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SIMPLE_LOWERCASE_MAPPING + */ + public const PROPERTY_SIMPLE_LOWERCASE_MAPPING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SIMPLE_TITLECASE_MAPPING + */ + public const PROPERTY_SIMPLE_TITLECASE_MAPPING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SIMPLE_UPPERCASE_MAPPING + */ + public const PROPERTY_SIMPLE_UPPERCASE_MAPPING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_TITLECASE_MAPPING + */ + public const PROPERTY_TITLECASE_MAPPING = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_UNICODE_1_NAME + */ + public const PROPERTY_UNICODE_1_NAME = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_UPPERCASE_MAPPING + */ + public const PROPERTY_UPPERCASE_MAPPING = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 52 + /** + * @var int + * @cvalue UCHAR_BIDI_PAIRED_BRACKET + */ + public const PROPERTY_BIDI_PAIRED_BRACKET = UNKNOWN; +#endif + /** + * @var int + * @cvalue UCHAR_STRING_LIMIT + */ + public const PROPERTY_STRING_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_SCRIPT_EXTENSIONS + */ + public const PROPERTY_SCRIPT_EXTENSIONS = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_OTHER_PROPERTY_START + */ + public const PROPERTY_OTHER_PROPERTY_START = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_OTHER_PROPERTY_LIMIT + */ + public const PROPERTY_OTHER_PROPERTY_LIMIT = UNKNOWN; + /** + * @var int + * @cvalue UCHAR_INVALID_CODE + */ + public const PROPERTY_INVALID_CODE = UNKNOWN; + + /** + * @var int + * @cvalue U_UNASSIGNED + */ + public const CHAR_CATEGORY_UNASSIGNED = UNKNOWN; + /** + * @var int + * @cvalue U_GENERAL_OTHER_TYPES + */ + public const CHAR_CATEGORY_GENERAL_OTHER_TYPES = UNKNOWN; + /** + * @var int + * @cvalue U_UPPERCASE_LETTER + */ + public const CHAR_CATEGORY_UPPERCASE_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_LOWERCASE_LETTER + */ + public const CHAR_CATEGORY_LOWERCASE_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_TITLECASE_LETTER + */ + public const CHAR_CATEGORY_TITLECASE_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_MODIFIER_LETTER + */ + public const CHAR_CATEGORY_MODIFIER_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_OTHER_LETTER + */ + public const CHAR_CATEGORY_OTHER_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_NON_SPACING_MARK + */ + public const CHAR_CATEGORY_NON_SPACING_MARK = UNKNOWN; + /** + * @var int + * @cvalue U_ENCLOSING_MARK + */ + public const CHAR_CATEGORY_ENCLOSING_MARK = UNKNOWN; + /** + * @var int + * @cvalue U_COMBINING_SPACING_MARK + */ + public const CHAR_CATEGORY_COMBINING_SPACING_MARK = UNKNOWN; + /** + * @var int + * @cvalue U_DECIMAL_DIGIT_NUMBER + */ + public const CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER = UNKNOWN; + /** + * @var int + * @cvalue U_LETTER_NUMBER + */ + public const CHAR_CATEGORY_LETTER_NUMBER = UNKNOWN; + /** + * @var int + * @cvalue U_OTHER_NUMBER + */ + public const CHAR_CATEGORY_OTHER_NUMBER = UNKNOWN; + /** + * @var int + * @cvalue U_SPACE_SEPARATOR + */ + public const CHAR_CATEGORY_SPACE_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_LINE_SEPARATOR + */ + public const CHAR_CATEGORY_LINE_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_PARAGRAPH_SEPARATOR + */ + public const CHAR_CATEGORY_PARAGRAPH_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_CONTROL_CHAR + */ + public const CHAR_CATEGORY_CONTROL_CHAR = UNKNOWN; + /** + * @var int + * @cvalue U_FORMAT_CHAR + */ + public const CHAR_CATEGORY_FORMAT_CHAR = UNKNOWN; + /** + * @var int + * @cvalue U_PRIVATE_USE_CHAR + */ + public const CHAR_CATEGORY_PRIVATE_USE_CHAR = UNKNOWN; + /** + * @var int + * @cvalue U_SURROGATE + */ + public const CHAR_CATEGORY_SURROGATE = UNKNOWN; + /** + * @var int + * @cvalue U_DASH_PUNCTUATION + */ + public const CHAR_CATEGORY_DASH_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_START_PUNCTUATION + */ + public const CHAR_CATEGORY_START_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_END_PUNCTUATION + */ + public const CHAR_CATEGORY_END_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_CONNECTOR_PUNCTUATION + */ + public const CHAR_CATEGORY_CONNECTOR_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_OTHER_PUNCTUATION + */ + public const CHAR_CATEGORY_OTHER_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_MATH_SYMBOL + */ + public const CHAR_CATEGORY_MATH_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue U_CURRENCY_SYMBOL + */ + public const CHAR_CATEGORY_CURRENCY_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue U_MODIFIER_SYMBOL + */ + public const CHAR_CATEGORY_MODIFIER_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue U_OTHER_SYMBOL + */ + public const CHAR_CATEGORY_OTHER_SYMBOL = UNKNOWN; + /** + * @var int + * @cvalue U_INITIAL_PUNCTUATION + */ + public const CHAR_CATEGORY_INITIAL_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_FINAL_PUNCTUATION + */ + public const CHAR_CATEGORY_FINAL_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_CHAR_CATEGORY_COUNT + */ + public const CHAR_CATEGORY_CHAR_CATEGORY_COUNT = UNKNOWN; + + /** + * @var int + * @cvalue U_LEFT_TO_RIGHT + */ + public const CHAR_DIRECTION_LEFT_TO_RIGHT = UNKNOWN; + /** + * @var int + * @cvalue U_RIGHT_TO_LEFT + */ + public const CHAR_DIRECTION_RIGHT_TO_LEFT = UNKNOWN; + /** + * @var int + * @cvalue U_EUROPEAN_NUMBER + */ + public const CHAR_DIRECTION_EUROPEAN_NUMBER = UNKNOWN; + /** + * @var int + * @cvalue U_EUROPEAN_NUMBER_SEPARATOR + */ + public const CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_EUROPEAN_NUMBER_TERMINATOR + */ + public const CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR = UNKNOWN; + /** + * @var int + * @cvalue U_ARABIC_NUMBER + */ + public const CHAR_DIRECTION_ARABIC_NUMBER = UNKNOWN; + /** + * @var int + * @cvalue U_COMMON_NUMBER_SEPARATOR + */ + public const CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_BLOCK_SEPARATOR + */ + public const CHAR_DIRECTION_BLOCK_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_SEGMENT_SEPARATOR + */ + public const CHAR_DIRECTION_SEGMENT_SEPARATOR = UNKNOWN; + /** + * @var int + * @cvalue U_WHITE_SPACE_NEUTRAL + */ + public const CHAR_DIRECTION_WHITE_SPACE_NEUTRAL = UNKNOWN; + /** + * @var int + * @cvalue U_OTHER_NEUTRAL + */ + public const CHAR_DIRECTION_OTHER_NEUTRAL = UNKNOWN; + /** + * @var int + * @cvalue U_LEFT_TO_RIGHT_EMBEDDING + */ + public const CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING = UNKNOWN; + /** + * @var int + * @cvalue U_LEFT_TO_RIGHT_OVERRIDE + */ + public const CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE = UNKNOWN; + /** + * @var int + * @cvalue U_RIGHT_TO_LEFT_ARABIC + */ + public const CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC = UNKNOWN; + /** + * @var int + * @cvalue U_RIGHT_TO_LEFT_EMBEDDING + */ + public const CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING = UNKNOWN; + /** + * @var int + * @cvalue U_RIGHT_TO_LEFT_OVERRIDE + */ + public const CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE = UNKNOWN; + /** + * @var int + * @cvalue U_POP_DIRECTIONAL_FORMAT + */ + public const CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT = UNKNOWN; + /** + * @var int + * @cvalue U_DIR_NON_SPACING_MARK + */ + public const CHAR_DIRECTION_DIR_NON_SPACING_MARK = UNKNOWN; + /** + * @var int + * @cvalue U_BOUNDARY_NEUTRAL + */ + public const CHAR_DIRECTION_BOUNDARY_NEUTRAL = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 52 + /** + * @var int + * @cvalue U_FIRST_STRONG_ISOLATE + */ + public const CHAR_DIRECTION_FIRST_STRONG_ISOLATE = UNKNOWN; + /** + * @var int + * @cvalue U_LEFT_TO_RIGHT_ISOLATE + */ + public const CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE = UNKNOWN; + /** + * @var int + * @cvalue U_RIGHT_TO_LEFT_ISOLATE + */ + public const CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = UNKNOWN; + /** + * @var int + * @cvalue U_POP_DIRECTIONAL_ISOLATE + */ + public const CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = UNKNOWN; +#endif + /** + * @var int + * @cvalue U_CHAR_DIRECTION_COUNT + */ + public const CHAR_DIRECTION_CHAR_DIRECTION_COUNT = UNKNOWN; + + /** + * @var int + * @cvalue UBLOCK_NO_BLOCK + */ + public const BLOCK_CODE_NO_BLOCK = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BASIC_LATIN + */ + public const BLOCK_CODE_BASIC_LATIN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_1_SUPPLEMENT + */ + public const BLOCK_CODE_LATIN_1_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_EXTENDED_A + */ + public const BLOCK_CODE_LATIN_EXTENDED_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_EXTENDED_B + */ + public const BLOCK_CODE_LATIN_EXTENDED_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_IPA_EXTENSIONS + */ + public const BLOCK_CODE_IPA_EXTENSIONS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SPACING_MODIFIER_LETTERS + */ + public const BLOCK_CODE_SPACING_MODIFIER_LETTERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COMBINING_DIACRITICAL_MARKS + */ + public const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GREEK + */ + public const BLOCK_CODE_GREEK = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CYRILLIC + */ + public const BLOCK_CODE_CYRILLIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARMENIAN + */ + public const BLOCK_CODE_ARMENIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HEBREW + */ + public const BLOCK_CODE_HEBREW = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARABIC + */ + public const BLOCK_CODE_ARABIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SYRIAC + */ + public const BLOCK_CODE_SYRIAC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_THAANA + */ + public const BLOCK_CODE_THAANA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_DEVANAGARI + */ + public const BLOCK_CODE_DEVANAGARI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BENGALI + */ + public const BLOCK_CODE_BENGALI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GURMUKHI + */ + public const BLOCK_CODE_GURMUKHI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GUJARATI + */ + public const BLOCK_CODE_GUJARATI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ORIYA + */ + public const BLOCK_CODE_ORIYA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAMIL + */ + public const BLOCK_CODE_TAMIL = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TELUGU + */ + public const BLOCK_CODE_TELUGU = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KANNADA + */ + public const BLOCK_CODE_KANNADA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MALAYALAM + */ + public const BLOCK_CODE_MALAYALAM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SINHALA + */ + public const BLOCK_CODE_SINHALA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_THAI + */ + public const BLOCK_CODE_THAI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LAO + */ + public const BLOCK_CODE_LAO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TIBETAN + */ + public const BLOCK_CODE_TIBETAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MYANMAR + */ + public const BLOCK_CODE_MYANMAR = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GEORGIAN + */ + public const BLOCK_CODE_GEORGIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HANGUL_JAMO + */ + public const BLOCK_CODE_HANGUL_JAMO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ETHIOPIC + */ + public const BLOCK_CODE_ETHIOPIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CHEROKEE + */ + public const BLOCK_CODE_CHEROKEE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS + */ + public const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OGHAM + */ + public const BLOCK_CODE_OGHAM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_RUNIC + */ + public const BLOCK_CODE_RUNIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KHMER + */ + public const BLOCK_CODE_KHMER = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MONGOLIAN + */ + public const BLOCK_CODE_MONGOLIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_EXTENDED_ADDITIONAL + */ + public const BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GREEK_EXTENDED + */ + public const BLOCK_CODE_GREEK_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GENERAL_PUNCTUATION + */ + public const BLOCK_CODE_GENERAL_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS + */ + public const BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CURRENCY_SYMBOLS + */ + public const BLOCK_CODE_CURRENCY_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COMBINING_MARKS_FOR_SYMBOLS + */ + public const BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LETTERLIKE_SYMBOLS + */ + public const BLOCK_CODE_LETTERLIKE_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_NUMBER_FORMS + */ + public const BLOCK_CODE_NUMBER_FORMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARROWS + */ + public const BLOCK_CODE_ARROWS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MATHEMATICAL_OPERATORS + */ + public const BLOCK_CODE_MATHEMATICAL_OPERATORS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MISCELLANEOUS_TECHNICAL + */ + public const BLOCK_CODE_MISCELLANEOUS_TECHNICAL = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CONTROL_PICTURES + */ + public const BLOCK_CODE_CONTROL_PICTURES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OPTICAL_CHARACTER_RECOGNITION + */ + public const BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ENCLOSED_ALPHANUMERICS + */ + public const BLOCK_CODE_ENCLOSED_ALPHANUMERICS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BOX_DRAWING + */ + public const BLOCK_CODE_BOX_DRAWING = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BLOCK_ELEMENTS + */ + public const BLOCK_CODE_BLOCK_ELEMENTS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GEOMETRIC_SHAPES + */ + public const BLOCK_CODE_GEOMETRIC_SHAPES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MISCELLANEOUS_SYMBOLS + */ + public const BLOCK_CODE_MISCELLANEOUS_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_DINGBATS + */ + public const BLOCK_CODE_DINGBATS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BRAILLE_PATTERNS + */ + public const BLOCK_CODE_BRAILLE_PATTERNS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_RADICALS_SUPPLEMENT + */ + public const BLOCK_CODE_CJK_RADICALS_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KANGXI_RADICALS + */ + public const BLOCK_CODE_KANGXI_RADICALS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS + */ + public const BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION + */ + public const BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HIRAGANA + */ + public const BLOCK_CODE_HIRAGANA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KATAKANA + */ + public const BLOCK_CODE_KATAKANA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BOPOMOFO + */ + public const BLOCK_CODE_BOPOMOFO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HANGUL_COMPATIBILITY_JAMO + */ + public const BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KANBUN + */ + public const BLOCK_CODE_KANBUN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BOPOMOFO_EXTENDED + */ + public const BLOCK_CODE_BOPOMOFO_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS + */ + public const BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_COMPATIBILITY + */ + public const BLOCK_CODE_CJK_COMPATIBILITY = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A + */ + public const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_UNIFIED_IDEOGRAPHS + */ + public const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_YI_SYLLABLES + */ + public const BLOCK_CODE_YI_SYLLABLES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_YI_RADICALS + */ + public const BLOCK_CODE_YI_RADICALS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HANGUL_SYLLABLES + */ + public const BLOCK_CODE_HANGUL_SYLLABLES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HIGH_SURROGATES + */ + public const BLOCK_CODE_HIGH_SURROGATES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HIGH_PRIVATE_USE_SURROGATES + */ + public const BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LOW_SURROGATES + */ + public const BLOCK_CODE_LOW_SURROGATES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PRIVATE_USE_AREA + */ + public const BLOCK_CODE_PRIVATE_USE_AREA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PRIVATE_USE + */ + public const BLOCK_CODE_PRIVATE_USE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS + */ + public const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ALPHABETIC_PRESENTATION_FORMS + */ + public const BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARABIC_PRESENTATION_FORMS_A + */ + public const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COMBINING_HALF_MARKS + */ + public const BLOCK_CODE_COMBINING_HALF_MARKS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_COMPATIBILITY_FORMS + */ + public const BLOCK_CODE_CJK_COMPATIBILITY_FORMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SMALL_FORM_VARIANTS + */ + public const BLOCK_CODE_SMALL_FORM_VARIANTS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARABIC_PRESENTATION_FORMS_B + */ + public const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SPECIALS + */ + public const BLOCK_CODE_SPECIALS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS + */ + public const BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OLD_ITALIC + */ + public const BLOCK_CODE_OLD_ITALIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GOTHIC + */ + public const BLOCK_CODE_GOTHIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_DESERET + */ + public const BLOCK_CODE_DESERET = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BYZANTINE_MUSICAL_SYMBOLS + */ + public const BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MUSICAL_SYMBOLS + */ + public const BLOCK_CODE_MUSICAL_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS + */ + public const BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B + */ + public const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT + */ + public const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAGS + */ + public const BLOCK_CODE_TAGS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CYRILLIC_SUPPLEMENT + */ + public const BLOCK_CODE_CYRILLIC_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CYRILLIC_SUPPLEMENTARY + */ + public const BLOCK_CODE_CYRILLIC_SUPPLEMENTARY = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAGALOG + */ + public const BLOCK_CODE_TAGALOG = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HANUNOO + */ + public const BLOCK_CODE_HANUNOO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BUHID + */ + public const BLOCK_CODE_BUHID = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAGBANWA + */ + public const BLOCK_CODE_TAGBANWA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A + */ + public const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTAL_ARROWS_A + */ + public const BLOCK_CODE_SUPPLEMENTAL_ARROWS_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTAL_ARROWS_B + */ + public const BLOCK_CODE_SUPPLEMENTAL_ARROWS_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B + */ + public const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS + */ + public const BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KATAKANA_PHONETIC_EXTENSIONS + */ + public const BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_VARIATION_SELECTORS + */ + public const BLOCK_CODE_VARIATION_SELECTORS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A + */ + public const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B + */ + public const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LIMBU + */ + public const BLOCK_CODE_LIMBU = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAI_LE + */ + public const BLOCK_CODE_TAI_LE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KHMER_SYMBOLS + */ + public const BLOCK_CODE_KHMER_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PHONETIC_EXTENSIONS + */ + public const BLOCK_CODE_PHONETIC_EXTENSIONS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS + */ + public const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_YIJING_HEXAGRAM_SYMBOLS + */ + public const BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LINEAR_B_SYLLABARY + */ + public const BLOCK_CODE_LINEAR_B_SYLLABARY = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LINEAR_B_IDEOGRAMS + */ + public const BLOCK_CODE_LINEAR_B_IDEOGRAMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_AEGEAN_NUMBERS + */ + public const BLOCK_CODE_AEGEAN_NUMBERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_UGARITIC + */ + public const BLOCK_CODE_UGARITIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SHAVIAN + */ + public const BLOCK_CODE_SHAVIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OSMANYA + */ + public const BLOCK_CODE_OSMANYA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CYPRIOT_SYLLABARY + */ + public const BLOCK_CODE_CYPRIOT_SYLLABARY = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAI_XUAN_JING_SYMBOLS + */ + public const BLOCK_CODE_TAI_XUAN_JING_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_VARIATION_SELECTORS_SUPPLEMENT + */ + public const BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION + */ + public const BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ANCIENT_GREEK_NUMBERS + */ + public const BLOCK_CODE_ANCIENT_GREEK_NUMBERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARABIC_SUPPLEMENT + */ + public const BLOCK_CODE_ARABIC_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BUGINESE + */ + public const BLOCK_CODE_BUGINESE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_STROKES + */ + public const BLOCK_CODE_CJK_STROKES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT + */ + public const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COPTIC + */ + public const BLOCK_CODE_COPTIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ETHIOPIC_EXTENDED + */ + public const BLOCK_CODE_ETHIOPIC_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ETHIOPIC_SUPPLEMENT + */ + public const BLOCK_CODE_ETHIOPIC_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GEORGIAN_SUPPLEMENT + */ + public const BLOCK_CODE_GEORGIAN_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GLAGOLITIC + */ + public const BLOCK_CODE_GLAGOLITIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KHAROSHTHI + */ + public const BLOCK_CODE_KHAROSHTHI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MODIFIER_TONE_LETTERS + */ + public const BLOCK_CODE_MODIFIER_TONE_LETTERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_NEW_TAI_LUE + */ + public const BLOCK_CODE_NEW_TAI_LUE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OLD_PERSIAN + */ + public const BLOCK_CODE_OLD_PERSIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT + */ + public const BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTAL_PUNCTUATION + */ + public const BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SYLOTI_NAGRI + */ + public const BLOCK_CODE_SYLOTI_NAGRI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TIFINAGH + */ + public const BLOCK_CODE_TIFINAGH = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_VERTICAL_FORMS + */ + public const BLOCK_CODE_VERTICAL_FORMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_NKO + */ + public const BLOCK_CODE_NKO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BALINESE + */ + public const BLOCK_CODE_BALINESE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_EXTENDED_C + */ + public const BLOCK_CODE_LATIN_EXTENDED_C = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_EXTENDED_D + */ + public const BLOCK_CODE_LATIN_EXTENDED_D = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PHAGS_PA + */ + public const BLOCK_CODE_PHAGS_PA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PHOENICIAN + */ + public const BLOCK_CODE_PHOENICIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CUNEIFORM + */ + public const BLOCK_CODE_CUNEIFORM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION + */ + public const BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COUNTING_ROD_NUMERALS + */ + public const BLOCK_CODE_COUNTING_ROD_NUMERALS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUNDANESE + */ + public const BLOCK_CODE_SUNDANESE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LEPCHA + */ + public const BLOCK_CODE_LEPCHA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OL_CHIKI + */ + public const BLOCK_CODE_OL_CHIKI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CYRILLIC_EXTENDED_A + */ + public const BLOCK_CODE_CYRILLIC_EXTENDED_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_VAI + */ + public const BLOCK_CODE_VAI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CYRILLIC_EXTENDED_B + */ + public const BLOCK_CODE_CYRILLIC_EXTENDED_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SAURASHTRA + */ + public const BLOCK_CODE_SAURASHTRA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KAYAH_LI + */ + public const BLOCK_CODE_KAYAH_LI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_REJANG + */ + public const BLOCK_CODE_REJANG = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CHAM + */ + public const BLOCK_CODE_CHAM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ANCIENT_SYMBOLS + */ + public const BLOCK_CODE_ANCIENT_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PHAISTOS_DISC + */ + public const BLOCK_CODE_PHAISTOS_DISC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LYCIAN + */ + public const BLOCK_CODE_LYCIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CARIAN + */ + public const BLOCK_CODE_CARIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LYDIAN + */ + public const BLOCK_CODE_LYDIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MAHJONG_TILES + */ + public const BLOCK_CODE_MAHJONG_TILES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_DOMINO_TILES + */ + public const BLOCK_CODE_DOMINO_TILES = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SAMARITAN + */ + public const BLOCK_CODE_SAMARITAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED + */ + public const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAI_THAM + */ + public const BLOCK_CODE_TAI_THAM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_VEDIC_EXTENSIONS + */ + public const BLOCK_CODE_VEDIC_EXTENSIONS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LISU + */ + public const BLOCK_CODE_LISU = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BAMUM + */ + public const BLOCK_CODE_BAMUM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COMMON_INDIC_NUMBER_FORMS + */ + public const BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_DEVANAGARI_EXTENDED + */ + public const BLOCK_CODE_DEVANAGARI_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HANGUL_JAMO_EXTENDED_A + */ + public const BLOCK_CODE_HANGUL_JAMO_EXTENDED_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_JAVANESE + */ + public const BLOCK_CODE_JAVANESE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MYANMAR_EXTENDED_A + */ + public const BLOCK_CODE_MYANMAR_EXTENDED_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAI_VIET + */ + public const BLOCK_CODE_TAI_VIET = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MEETEI_MAYEK + */ + public const BLOCK_CODE_MEETEI_MAYEK = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_HANGUL_JAMO_EXTENDED_B + */ + public const BLOCK_CODE_HANGUL_JAMO_EXTENDED_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_IMPERIAL_ARAMAIC + */ + public const BLOCK_CODE_IMPERIAL_ARAMAIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OLD_SOUTH_ARABIAN + */ + public const BLOCK_CODE_OLD_SOUTH_ARABIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_AVESTAN + */ + public const BLOCK_CODE_AVESTAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_INSCRIPTIONAL_PARTHIAN + */ + public const BLOCK_CODE_INSCRIPTIONAL_PARTHIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_INSCRIPTIONAL_PAHLAVI + */ + public const BLOCK_CODE_INSCRIPTIONAL_PAHLAVI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OLD_TURKIC + */ + public const BLOCK_CODE_OLD_TURKIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_RUMI_NUMERAL_SYMBOLS + */ + public const BLOCK_CODE_RUMI_NUMERAL_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KAITHI + */ + public const BLOCK_CODE_KAITHI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_EGYPTIAN_HIEROGLYPHS + */ + public const BLOCK_CODE_EGYPTIAN_HIEROGLYPHS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT + */ + public const BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT + */ + public const BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C + */ + public const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MANDAIC + */ + public const BLOCK_CODE_MANDAIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BATAK + */ + public const BLOCK_CODE_BATAK = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ETHIOPIC_EXTENDED_A + */ + public const BLOCK_CODE_ETHIOPIC_EXTENDED_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BRAHMI + */ + public const BLOCK_CODE_BRAHMI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_BAMUM_SUPPLEMENT + */ + public const BLOCK_CODE_BAMUM_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KANA_SUPPLEMENT + */ + public const BLOCK_CODE_KANA_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PLAYING_CARDS + */ + public const BLOCK_CODE_PLAYING_CARDS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS + */ + public const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_EMOTICONS + */ + public const BLOCK_CODE_EMOTICONS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TRANSPORT_AND_MAP_SYMBOLS + */ + public const BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ALCHEMICAL_SYMBOLS + */ + public const BLOCK_CODE_ALCHEMICAL_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D + */ + public const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARABIC_EXTENDED_A + */ + public const BLOCK_CODE_ARABIC_EXTENDED_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS + */ + public const BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CHAKMA + */ + public const BLOCK_CODE_CHAKMA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MEETEI_MAYEK_EXTENSIONS + */ + public const BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MEROITIC_CURSIVE + */ + public const BLOCK_CODE_MEROITIC_CURSIVE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MEROITIC_HIEROGLYPHS + */ + public const BLOCK_CODE_MEROITIC_HIEROGLYPHS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MIAO + */ + public const BLOCK_CODE_MIAO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SHARADA + */ + public const BLOCK_CODE_SHARADA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SORA_SOMPENG + */ + public const BLOCK_CODE_SORA_SOMPENG = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUNDANESE_SUPPLEMENT + */ + public const BLOCK_CODE_SUNDANESE_SUPPLEMENT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TAKRI + */ + public const BLOCK_CODE_TAKRI = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 54 + /** + * @var int + * @cvalue UBLOCK_BASSA_VAH + */ + public const BLOCK_CODE_BASSA_VAH = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_CAUCASIAN_ALBANIAN + */ + public const BLOCK_CODE_CAUCASIAN_ALBANIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COPTIC_EPACT_NUMBERS + */ + public const BLOCK_CODE_COPTIC_EPACT_NUMBERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED + */ + public const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_DUPLOYAN + */ + public const BLOCK_CODE_DUPLOYAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ELBASAN + */ + public const BLOCK_CODE_ELBASAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GEOMETRIC_SHAPES_EXTENDED + */ + public const BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_GRANTHA + */ + public const BLOCK_CODE_GRANTHA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KHOJKI + */ + public const BLOCK_CODE_KHOJKI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_KHUDAWADI + */ + public const BLOCK_CODE_KHUDAWADI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LATIN_EXTENDED_E + */ + public const BLOCK_CODE_LATIN_EXTENDED_E = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_LINEAR_A + */ + public const BLOCK_CODE_LINEAR_A = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MAHAJANI + */ + public const BLOCK_CODE_MAHAJANI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MANICHAEAN + */ + public const BLOCK_CODE_MANICHAEAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MENDE_KIKAKUI + */ + public const BLOCK_CODE_MENDE_KIKAKUI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MODI + */ + public const BLOCK_CODE_MODI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MRO + */ + public const BLOCK_CODE_MRO = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_MYANMAR_EXTENDED_B + */ + public const BLOCK_CODE_MYANMAR_EXTENDED_B = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_NABATAEAN + */ + public const BLOCK_CODE_NABATAEAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OLD_NORTH_ARABIAN + */ + public const BLOCK_CODE_OLD_NORTH_ARABIAN = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_OLD_PERMIC + */ + public const BLOCK_CODE_OLD_PERMIC = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_ORNAMENTAL_DINGBATS + */ + public const BLOCK_CODE_ORNAMENTAL_DINGBATS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PAHAWH_HMONG + */ + public const BLOCK_CODE_PAHAWH_HMONG = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PALMYRENE + */ + public const BLOCK_CODE_PALMYRENE = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PAU_CIN_HAU + */ + public const BLOCK_CODE_PAU_CIN_HAU = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_PSALTER_PAHLAVI + */ + public const BLOCK_CODE_PSALTER_PAHLAVI = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SHORTHAND_FORMAT_CONTROLS + */ + public const BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SIDDHAM + */ + public const BLOCK_CODE_SIDDHAM = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SINHALA_ARCHAIC_NUMBERS + */ + public const BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_SUPPLEMENTAL_ARROWS_C + */ + public const BLOCK_CODE_SUPPLEMENTAL_ARROWS_C = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_TIRHUTA + */ + public const BLOCK_CODE_TIRHUTA = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_WARANG_CITI + */ + public const BLOCK_CODE_WARANG_CITI = UNKNOWN; +#endif + /** + * @var int + * @cvalue UBLOCK_COUNT + */ + public const BLOCK_CODE_COUNT = UNKNOWN; + /** + * @var int + * @cvalue UBLOCK_INVALID_CODE + */ + public const BLOCK_CODE_INVALID_CODE = UNKNOWN; + + /* UBidiPairedBracketType - http://icu-project.org/apiref/icu4c/uchar_8h.html#af954219aa1df452657ec355221c6703d */ + +#if U_ICU_VERSION_MAJOR_NUM >= 52 + /** + * @var int + * @cvalue U_BPT_NONE + */ + public const BPT_NONE = UNKNOWN; + /** + * @var int + * @cvalue U_BPT_OPEN + */ + public const BPT_OPEN = UNKNOWN; + /** + * @var int + * @cvalue U_BPT_CLOSE + */ + public const BPT_CLOSE = UNKNOWN; + /** + * @var int + * @cvalue U_BPT_COUNT + */ + public const BPT_COUNT = UNKNOWN; +#endif + + /* UEastAsianWidth - http://icu-project.org/apiref/icu4c/uchar_8h.html#a95cc2ca2f9cfd6d0c63eee2c65951333 */ + + /** + * @var int + * @cvalue U_EA_NEUTRAL + */ + public const EA_NEUTRAL = UNKNOWN; + /** + * @var int + * @cvalue U_EA_AMBIGUOUS + */ + public const EA_AMBIGUOUS = UNKNOWN; + /** + * @var int + * @cvalue U_EA_HALFWIDTH + */ + public const EA_HALFWIDTH = UNKNOWN; + /** + * @var int + * @cvalue U_EA_FULLWIDTH + */ + public const EA_FULLWIDTH = UNKNOWN; + /** + * @var int + * @cvalue U_EA_NARROW + */ + public const EA_NARROW = UNKNOWN; + /** + * @var int + * @cvalue U_EA_WIDE + */ + public const EA_WIDE = UNKNOWN; + /** + * @var int + * @cvalue U_EA_COUNT + */ + public const EA_COUNT = UNKNOWN; + + /* UCharNameChoice - http://icu-project.org/apiref/icu4c/uchar_8h.html#a2ba37edcca62eff48226e8096035addf */ + + /** + * @var int + * @cvalue U_UNICODE_CHAR_NAME + */ + public const UNICODE_CHAR_NAME = UNKNOWN; + /** + * @var int + * @cvalue U_UNICODE_10_CHAR_NAME + */ + public const UNICODE_10_CHAR_NAME = UNKNOWN; + /** + * @var int + * @cvalue U_EXTENDED_CHAR_NAME + */ + public const EXTENDED_CHAR_NAME = UNKNOWN; + /** + * @var int + * @cvalue U_CHAR_NAME_ALIAS + */ + public const CHAR_NAME_ALIAS = UNKNOWN; + /** + * @var int + * @cvalue U_CHAR_NAME_CHOICE_COUNT + */ + public const CHAR_NAME_CHOICE_COUNT = UNKNOWN; + + /* UPropertyNameChoice - http://icu-project.org/apiref/icu4c/uchar_8h.html#a5056494c7d5a2c7185f3c464f48fe5d1 */ + + /** + * @var int + * @cvalue U_SHORT_PROPERTY_NAME + */ + public const SHORT_PROPERTY_NAME = UNKNOWN; + /** + * @var int + * @cvalue U_LONG_PROPERTY_NAME + */ + public const LONG_PROPERTY_NAME = UNKNOWN; + /** + * @var int + * @cvalue U_PROPERTY_NAME_CHOICE_COUNT + */ + public const PROPERTY_NAME_CHOICE_COUNT = UNKNOWN; + + /* UDecompositionType - http://icu-project.org/apiref/icu4c/uchar_8h.html#ae2c56994fcf28062c7e77beb671533f5 */ + + /** + * @var int + * @cvalue U_DT_NONE + */ + public const DT_NONE = UNKNOWN; + /** + * @var int + * @cvalue U_DT_CANONICAL + */ + public const DT_CANONICAL = UNKNOWN; + /** + * @var int + * @cvalue U_DT_COMPAT + */ + public const DT_COMPAT = UNKNOWN; + /** + * @var int + * @cvalue U_DT_CIRCLE + */ + public const DT_CIRCLE = UNKNOWN; + /** + * @var int + * @cvalue U_DT_FINAL + */ + public const DT_FINAL = UNKNOWN; + /** + * @var int + * @cvalue U_DT_FONT + */ + public const DT_FONT = UNKNOWN; + /** + * @var int + * @cvalue U_DT_FRACTION + */ + public const DT_FRACTION = UNKNOWN; + /** + * @var int + * @cvalue U_DT_INITIAL + */ + public const DT_INITIAL = UNKNOWN; + /** + * @var int + * @cvalue U_DT_ISOLATED + */ + public const DT_ISOLATED = UNKNOWN; + /** + * @var int + * @cvalue U_DT_MEDIAL + */ + public const DT_MEDIAL = UNKNOWN; + /** + * @var int + * @cvalue U_DT_NARROW + */ + public const DT_NARROW = UNKNOWN; + /** + * @var int + * @cvalue U_DT_NOBREAK + */ + public const DT_NOBREAK = UNKNOWN; + /** + * @var int + * @cvalue U_DT_SMALL + */ + public const DT_SMALL = UNKNOWN; + /** + * @var int + * @cvalue U_DT_SQUARE + */ + public const DT_SQUARE = UNKNOWN; + /** + * @var int + * @cvalue U_DT_SUB + */ + public const DT_SUB = UNKNOWN; + /** + * @var int + * @cvalue U_DT_SUPER + */ + public const DT_SUPER = UNKNOWN; + /** + * @var int + * @cvalue U_DT_VERTICAL + */ + public const DT_VERTICAL = UNKNOWN; + /** + * @var int + * @cvalue U_DT_WIDE + */ + public const DT_WIDE = UNKNOWN; + /** + * @var int + * @cvalue U_DT_COUNT + */ + public const DT_COUNT = UNKNOWN; + + /* UJoiningType - http://icu-project.org/apiref/icu4c/uchar_8h.html#a3ce1ce20e7f3b8534eb3490ad3aba3dd */ + + /** + * @var int + * @cvalue U_JT_NON_JOINING + */ + public const JT_NON_JOINING = UNKNOWN; + /** + * @var int + * @cvalue U_JT_JOIN_CAUSING + */ + public const JT_JOIN_CAUSING = UNKNOWN; + /** + * @var int + * @cvalue U_JT_DUAL_JOINING + */ + public const JT_DUAL_JOINING = UNKNOWN; + /** + * @var int + * @cvalue U_JT_LEFT_JOINING + */ + public const JT_LEFT_JOINING = UNKNOWN; + /** + * @var int + * @cvalue U_JT_RIGHT_JOINING + */ + public const JT_RIGHT_JOINING = UNKNOWN; + /** + * @var int + * @cvalue U_JT_TRANSPARENT + */ + public const JT_TRANSPARENT = UNKNOWN; + /** + * @var int + * @cvalue U_JT_COUNT + */ + public const JT_COUNT = UNKNOWN; + + /* UJoiningGroup - http://icu-project.org/apiref/icu4c/uchar_8h.html#a7887844ec0872e6e9a283e0825fcae65 */ + + /** + * @var int + * @cvalue U_JG_NO_JOINING_GROUP + */ + public const JG_NO_JOINING_GROUP = UNKNOWN; + /** + * @var int + * @cvalue U_JG_AIN + */ + public const JG_AIN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_ALAPH + */ + public const JG_ALAPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_ALEF + */ + public const JG_ALEF = UNKNOWN; + /** + * @var int + * @cvalue U_JG_BEH + */ + public const JG_BEH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_BETH + */ + public const JG_BETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_DAL + */ + public const JG_DAL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_DALATH_RISH + */ + public const JG_DALATH_RISH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_E + */ + public const JG_E = UNKNOWN; + /** + * @var int + * @cvalue U_JG_FEH + */ + public const JG_FEH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_FINAL_SEMKATH + */ + public const JG_FINAL_SEMKATH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_GAF + */ + public const JG_GAF = UNKNOWN; + /** + * @var int + * @cvalue U_JG_GAMAL + */ + public const JG_GAMAL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_HAH + */ + public const JG_HAH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_TEH_MARBUTA_GOAL + */ + public const JG_TEH_MARBUTA_GOAL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_HAMZA_ON_HEH_GOAL + */ + public const JG_HAMZA_ON_HEH_GOAL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_HE + */ + public const JG_HE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_HEH + */ + public const JG_HEH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_HEH_GOAL + */ + public const JG_HEH_GOAL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_HETH + */ + public const JG_HETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_KAF + */ + public const JG_KAF = UNKNOWN; + /** + * @var int + * @cvalue U_JG_KAPH + */ + public const JG_KAPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_KNOTTED_HEH + */ + public const JG_KNOTTED_HEH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_LAM + */ + public const JG_LAM = UNKNOWN; + /** + * @var int + * @cvalue U_JG_LAMADH + */ + public const JG_LAMADH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MEEM + */ + public const JG_MEEM = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MIM + */ + public const JG_MIM = UNKNOWN; + /** + * @var int + * @cvalue U_JG_NOON + */ + public const JG_NOON = UNKNOWN; + /** + * @var int + * @cvalue U_JG_NUN + */ + public const JG_NUN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_PE + */ + public const JG_PE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_QAF + */ + public const JG_QAF = UNKNOWN; + /** + * @var int + * @cvalue U_JG_QAPH + */ + public const JG_QAPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_REH + */ + public const JG_REH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_REVERSED_PE + */ + public const JG_REVERSED_PE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SAD + */ + public const JG_SAD = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SADHE + */ + public const JG_SADHE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SEEN + */ + public const JG_SEEN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SEMKATH + */ + public const JG_SEMKATH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SHIN + */ + public const JG_SHIN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SWASH_KAF + */ + public const JG_SWASH_KAF = UNKNOWN; + /** + * @var int + * @cvalue U_JG_SYRIAC_WAW + */ + public const JG_SYRIAC_WAW = UNKNOWN; + /** + * @var int + * @cvalue U_JG_TAH + */ + public const JG_TAH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_TAW + */ + public const JG_TAW = UNKNOWN; + /** + * @var int + * @cvalue U_JG_TEH_MARBUTA + */ + public const JG_TEH_MARBUTA = UNKNOWN; + /** + * @var int + * @cvalue U_JG_TETH + */ + public const JG_TETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_WAW + */ + public const JG_WAW = UNKNOWN; + /** + * @var int + * @cvalue U_JG_YEH + */ + public const JG_YEH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_YEH_BARREE + */ + public const JG_YEH_BARREE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_YEH_WITH_TAIL + */ + public const JG_YEH_WITH_TAIL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_YUDH + */ + public const JG_YUDH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_YUDH_HE + */ + public const JG_YUDH_HE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_ZAIN + */ + public const JG_ZAIN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_FE + */ + public const JG_FE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_KHAPH + */ + public const JG_KHAPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_ZHAIN + */ + public const JG_ZHAIN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_BURUSHASKI_YEH_BARREE + */ + public const JG_BURUSHASKI_YEH_BARREE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_FARSI_YEH + */ + public const JG_FARSI_YEH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_NYA + */ + public const JG_NYA = UNKNOWN; + /** + * @var int + * @cvalue U_JG_ROHINGYA_YEH + */ + public const JG_ROHINGYA_YEH = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 54 + /** + * @var int + * @cvalue U_JG_MANICHAEAN_ALEPH + */ + public const JG_MANICHAEAN_ALEPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_AYIN + */ + public const JG_MANICHAEAN_AYIN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_BETH + */ + public const JG_MANICHAEAN_BETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_DALETH + */ + public const JG_MANICHAEAN_DALETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_DHAMEDH + */ + public const JG_MANICHAEAN_DHAMEDH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_FIVE + */ + public const JG_MANICHAEAN_FIVE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_GIMEL + */ + public const JG_MANICHAEAN_GIMEL = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_HETH + */ + public const JG_MANICHAEAN_HETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_HUNDRED + */ + public const JG_MANICHAEAN_HUNDRED = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_KAPH + */ + public const JG_MANICHAEAN_KAPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_LAMEDH + */ + public const JG_MANICHAEAN_LAMEDH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_MEM + */ + public const JG_MANICHAEAN_MEM = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_NUN + */ + public const JG_MANICHAEAN_NUN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_ONE + */ + public const JG_MANICHAEAN_ONE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_PE + */ + public const JG_MANICHAEAN_PE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_QOPH + */ + public const JG_MANICHAEAN_QOPH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_RESH + */ + public const JG_MANICHAEAN_RESH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_SADHE + */ + public const JG_MANICHAEAN_SADHE = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_SAMEKH + */ + public const JG_MANICHAEAN_SAMEKH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_TAW + */ + public const JG_MANICHAEAN_TAW = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_TEN + */ + public const JG_MANICHAEAN_TEN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_TETH + */ + public const JG_MANICHAEAN_TETH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_THAMEDH + */ + public const JG_MANICHAEAN_THAMEDH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_TWENTY + */ + public const JG_MANICHAEAN_TWENTY = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_WAW + */ + public const JG_MANICHAEAN_WAW = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_YODH + */ + public const JG_MANICHAEAN_YODH = UNKNOWN; + /** + * @var int + * @cvalue U_JG_MANICHAEAN_ZAYIN + */ + public const JG_MANICHAEAN_ZAYIN = UNKNOWN; + /** + * @var int + * @cvalue U_JG_STRAIGHT_WAW + */ + public const JG_STRAIGHT_WAW = UNKNOWN; +#endif + /** + * @var int + * @cvalue U_JG_COUNT + */ + public const JG_COUNT = UNKNOWN; + + /* UGraphemeClusterBreak - http://icu-project.org/apiref/icu4c/uchar_8h.html#abb9bae7d2a1c80ce342be4647661fde1 */ + + /** + * @var int + * @cvalue U_GCB_OTHER + */ + public const GCB_OTHER = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_CONTROL + */ + public const GCB_CONTROL = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_CR + */ + public const GCB_CR = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_EXTEND + */ + public const GCB_EXTEND = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_L + */ + public const GCB_L = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_LF + */ + public const GCB_LF = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_LV + */ + public const GCB_LV = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_LVT + */ + public const GCB_LVT = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_T + */ + public const GCB_T = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_V + */ + public const GCB_V = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_SPACING_MARK + */ + public const GCB_SPACING_MARK = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_PREPEND + */ + public const GCB_PREPEND = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_REGIONAL_INDICATOR + */ + public const GCB_REGIONAL_INDICATOR = UNKNOWN; + /** + * @var int + * @cvalue U_GCB_COUNT + */ + public const GCB_COUNT = UNKNOWN; + + /* UWordBreakValues - http://icu-project.org/apiref/icu4c/uchar_8h.html#af70ee907368e663f8dd4b90c7196e15c */ + + /** + * @var int + * @cvalue U_WB_OTHER + */ + public const WB_OTHER = UNKNOWN; + /** + * @var int + * @cvalue U_WB_ALETTER + */ + public const WB_ALETTER = UNKNOWN; + /** + * @var int + * @cvalue U_WB_FORMAT + */ + public const WB_FORMAT = UNKNOWN; + /** + * @var int + * @cvalue U_WB_KATAKANA + */ + public const WB_KATAKANA = UNKNOWN; + /** + * @var int + * @cvalue U_WB_MIDLETTER + */ + public const WB_MIDLETTER = UNKNOWN; + /** + * @var int + * @cvalue U_WB_MIDNUM + */ + public const WB_MIDNUM = UNKNOWN; + /** + * @var int + * @cvalue U_WB_NUMERIC + */ + public const WB_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_WB_EXTENDNUMLET + */ + public const WB_EXTENDNUMLET = UNKNOWN; + /** + * @var int + * @cvalue U_WB_CR + */ + public const WB_CR = UNKNOWN; + /** + * @var int + * @cvalue U_WB_EXTEND + */ + public const WB_EXTEND = UNKNOWN; + /** + * @var int + * @cvalue U_WB_LF + */ + public const WB_LF = UNKNOWN; + /** + * @var int + * @cvalue U_WB_MIDNUMLET + */ + public const WB_MIDNUMLET = UNKNOWN; + /** + * @var int + * @cvalue U_WB_NEWLINE + */ + public const WB_NEWLINE = UNKNOWN; + /** + * @var int + * @cvalue U_WB_REGIONAL_INDICATOR + */ + public const WB_REGIONAL_INDICATOR = UNKNOWN; +#if U_ICU_VERSION_MAJOR_NUM >= 52 + /** + * @var int + * @cvalue U_WB_HEBREW_LETTER + */ + public const WB_HEBREW_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_WB_SINGLE_QUOTE + */ + public const WB_SINGLE_QUOTE = UNKNOWN; + /** + * @var int + * @cvalue U_WB_DOUBLE_QUOTE + */ + public const WB_DOUBLE_QUOTE = UNKNOWN; +#endif + /** + * @var int + * @cvalue U_WB_COUNT + */ + public const WB_COUNT = UNKNOWN; + + /* USentenceBreak - http://icu-project.org/apiref/icu4c/uchar_8h.html#a89e9e463c3bae1d2d46b1dbb6f90de0f */ + + /** + * @var int + * @cvalue U_SB_OTHER + */ + public const SB_OTHER = UNKNOWN; + /** + * @var int + * @cvalue U_SB_ATERM + */ + public const SB_ATERM = UNKNOWN; + /** + * @var int + * @cvalue U_SB_CLOSE + */ + public const SB_CLOSE = UNKNOWN; + /** + * @var int + * @cvalue U_SB_FORMAT + */ + public const SB_FORMAT = UNKNOWN; + /** + * @var int + * @cvalue U_SB_LOWER + */ + public const SB_LOWER = UNKNOWN; + /** + * @var int + * @cvalue U_SB_NUMERIC + */ + public const SB_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_SB_OLETTER + */ + public const SB_OLETTER = UNKNOWN; + /** + * @var int + * @cvalue U_SB_SEP + */ + public const SB_SEP = UNKNOWN; + /** + * @var int + * @cvalue U_SB_SP + */ + public const SB_SP = UNKNOWN; + /** + * @var int + * @cvalue U_SB_STERM + */ + public const SB_STERM = UNKNOWN; + /** + * @var int + * @cvalue U_SB_UPPER + */ + public const SB_UPPER = UNKNOWN; + /** + * @var int + * @cvalue U_SB_CR + */ + public const SB_CR = UNKNOWN; + /** + * @var int + * @cvalue U_SB_EXTEND + */ + public const SB_EXTEND = UNKNOWN; + /** + * @var int + * @cvalue U_SB_LF + */ + public const SB_LF = UNKNOWN; + /** + * @var int + * @cvalue U_SB_SCONTINUE + */ + public const SB_SCONTINUE = UNKNOWN; + /** + * @var int + * @cvalue U_SB_COUNT + */ + public const SB_COUNT = UNKNOWN; + + /* ULineBreak - http://icu-project.org/apiref/icu4c/uchar_8h.html#a5d1abdf05be22cb9599f804a8506277c */ + + /** + * @var int + * @cvalue U_LB_UNKNOWN + */ + public const LB_UNKNOWN = UNKNOWN; + /** + * @var int + * @cvalue U_LB_AMBIGUOUS + */ + public const LB_AMBIGUOUS = UNKNOWN; + /** + * @var int + * @cvalue U_LB_ALPHABETIC + */ + public const LB_ALPHABETIC = UNKNOWN; + /** + * @var int + * @cvalue U_LB_BREAK_BOTH + */ + public const LB_BREAK_BOTH = UNKNOWN; + /** + * @var int + * @cvalue U_LB_BREAK_AFTER + */ + public const LB_BREAK_AFTER = UNKNOWN; + /** + * @var int + * @cvalue U_LB_BREAK_BEFORE + */ + public const LB_BREAK_BEFORE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_MANDATORY_BREAK + */ + public const LB_MANDATORY_BREAK = UNKNOWN; + /** + * @var int + * @cvalue U_LB_CONTINGENT_BREAK + */ + public const LB_CONTINGENT_BREAK = UNKNOWN; + /** + * @var int + * @cvalue U_LB_CLOSE_PUNCTUATION + */ + public const LB_CLOSE_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_LB_COMBINING_MARK + */ + public const LB_COMBINING_MARK = UNKNOWN; + /** + * @var int + * @cvalue U_LB_CARRIAGE_RETURN + */ + public const LB_CARRIAGE_RETURN = UNKNOWN; + /** + * @var int + * @cvalue U_LB_EXCLAMATION + */ + public const LB_EXCLAMATION = UNKNOWN; + /** + * @var int + * @cvalue U_LB_GLUE + */ + public const LB_GLUE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_HYPHEN + */ + public const LB_HYPHEN = UNKNOWN; + /** + * @var int + * @cvalue U_LB_IDEOGRAPHIC + */ + public const LB_IDEOGRAPHIC = UNKNOWN; + /** + * @var int + * @cvalue U_LB_INSEPARABLE + */ + public const LB_INSEPARABLE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_INSEPERABLE + */ + public const LB_INSEPERABLE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_INFIX_NUMERIC + */ + public const LB_INFIX_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_LB_LINE_FEED + */ + public const LB_LINE_FEED = UNKNOWN; + /** + * @var int + * @cvalue U_LB_NONSTARTER + */ + public const LB_NONSTARTER = UNKNOWN; + /** + * @var int + * @cvalue U_LB_NUMERIC + */ + public const LB_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_LB_OPEN_PUNCTUATION + */ + public const LB_OPEN_PUNCTUATION = UNKNOWN; + /** + * @var int + * @cvalue U_LB_POSTFIX_NUMERIC + */ + public const LB_POSTFIX_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_LB_PREFIX_NUMERIC + */ + public const LB_PREFIX_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_LB_QUOTATION + */ + public const LB_QUOTATION = UNKNOWN; + /** + * @var int + * @cvalue U_LB_COMPLEX_CONTEXT + */ + public const LB_COMPLEX_CONTEXT = UNKNOWN; + /** + * @var int + * @cvalue U_LB_SURROGATE + */ + public const LB_SURROGATE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_SPACE + */ + public const LB_SPACE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_BREAK_SYMBOLS + */ + public const LB_BREAK_SYMBOLS = UNKNOWN; + /** + * @var int + * @cvalue U_LB_ZWSPACE + */ + public const LB_ZWSPACE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_NEXT_LINE + */ + public const LB_NEXT_LINE = UNKNOWN; + /** + * @var int + * @cvalue U_LB_WORD_JOINER + */ + public const LB_WORD_JOINER = UNKNOWN; + /** + * @var int + * @cvalue U_LB_H2 + */ + public const LB_H2 = UNKNOWN; + /** + * @var int + * @cvalue U_LB_H3 + */ + public const LB_H3 = UNKNOWN; + /** + * @var int + * @cvalue U_LB_JL + */ + public const LB_JL = UNKNOWN; + /** + * @var int + * @cvalue U_LB_JT + */ + public const LB_JT = UNKNOWN; + /** + * @var int + * @cvalue U_LB_JV + */ + public const LB_JV = UNKNOWN; + /** + * @var int + * @cvalue U_LB_CLOSE_PARENTHESIS + */ + public const LB_CLOSE_PARENTHESIS = UNKNOWN; + /** + * @var int + * @cvalue U_LB_CONDITIONAL_JAPANESE_STARTER + */ + public const LB_CONDITIONAL_JAPANESE_STARTER = UNKNOWN; + /** + * @var int + * @cvalue U_LB_HEBREW_LETTER + */ + public const LB_HEBREW_LETTER = UNKNOWN; + /** + * @var int + * @cvalue U_LB_REGIONAL_INDICATOR + */ + public const LB_REGIONAL_INDICATOR = UNKNOWN; + /** + * @var int + * @cvalue U_LB_COUNT + */ + public const LB_COUNT = UNKNOWN; + + /* UNumericType - http://icu-project.org/apiref/icu4c/uchar_8h.html#adec3e7a6ae3a00274c019b3b2ddaecbe */ + + /** + * @var int + * @cvalue U_NT_NONE + */ + public const NT_NONE = UNKNOWN; + /** + * @var int + * @cvalue U_NT_DECIMAL + */ + public const NT_DECIMAL = UNKNOWN; + /** + * @var int + * @cvalue U_NT_DIGIT + */ + public const NT_DIGIT = UNKNOWN; + /** + * @var int + * @cvalue U_NT_NUMERIC + */ + public const NT_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue U_NT_COUNT + */ + public const NT_COUNT = UNKNOWN; + + /* UHangulSyllableType - http://icu-project.org/apiref/icu4c/uchar_8h.html#a7cb09027c37ad73571cf541caf002c8f */ + + /** + * @var int + * @cvalue U_HST_NOT_APPLICABLE + */ + public const HST_NOT_APPLICABLE = UNKNOWN; + /** + * @var int + * @cvalue U_HST_LEADING_JAMO + */ + public const HST_LEADING_JAMO = UNKNOWN; + /** + * @var int + * @cvalue U_HST_VOWEL_JAMO + */ + public const HST_VOWEL_JAMO = UNKNOWN; + /** + * @var int + * @cvalue U_HST_TRAILING_JAMO + */ + public const HST_TRAILING_JAMO = UNKNOWN; + /** + * @var int + * @cvalue U_HST_LV_SYLLABLE + */ + public const HST_LV_SYLLABLE = UNKNOWN; + /** + * @var int + * @cvalue U_HST_LVT_SYLLABLE + */ + public const HST_LVT_SYLLABLE = UNKNOWN; + /** + * @var int + * @cvalue U_HST_COUNT + */ + public const HST_COUNT = UNKNOWN; + + /* StringOptions - http://icu-project.org/apiref/icu4c/stringoptions_8h.html */ + + /** + * @var int + * @cvalue U_FOLD_CASE_DEFAULT + */ + public const FOLD_CASE_DEFAULT = UNKNOWN; + /** + * @var int + * @cvalue U_FOLD_CASE_EXCLUDE_SPECIAL_I + */ + public const FOLD_CASE_EXCLUDE_SPECIAL_I = UNKNOWN; + /** @tentative-return-type */ public static function hasBinaryProperty(int|string $codepoint, int $property): ?bool {} diff --git a/ext/intl/uchar/uchar_arginfo.h b/ext/intl/uchar/uchar_arginfo.h index 9721bbbb8f939..43481573431fb 100644 --- a/ext/intl/uchar/uchar_arginfo.h +++ b/ext/intl/uchar/uchar_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 2b8605be915f05929dc0ade2edfb6f6ab942218c */ + * Stub hash: e8d6cf16660b6389922160f8a2c9c07ca2d58404 */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_IntlChar_hasBinaryProperty, 0, 2, _IS_BOOL, 1) ZEND_ARG_TYPE_MASK(0, codepoint, MAY_BE_LONG|MAY_BE_STRING, NULL) @@ -318,5 +318,4130 @@ static zend_class_entry *register_class_IntlChar(void) INIT_CLASS_ENTRY(ce, "IntlChar", class_IntlChar_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); + zval const_UNICODE_VERSION_value; + zend_string *const_UNICODE_VERSION_value_str = zend_string_init(U_UNICODE_VERSION, sizeof(U_UNICODE_VERSION) - 1, 1); + ZVAL_STR(&const_UNICODE_VERSION_value, const_UNICODE_VERSION_value_str); + zend_string *const_UNICODE_VERSION_name = zend_string_init_interned("UNICODE_VERSION", sizeof("UNICODE_VERSION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UNICODE_VERSION_name, &const_UNICODE_VERSION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UNICODE_VERSION_name); + + zval const_CODEPOINT_MIN_value; + ZVAL_LONG(&const_CODEPOINT_MIN_value, UCHAR_MIN_VALUE); + zend_string *const_CODEPOINT_MIN_name = zend_string_init_interned("CODEPOINT_MIN", sizeof("CODEPOINT_MIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CODEPOINT_MIN_name, &const_CODEPOINT_MIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CODEPOINT_MIN_name); + + zval const_CODEPOINT_MAX_value; + ZVAL_LONG(&const_CODEPOINT_MAX_value, UCHAR_MAX_VALUE); + zend_string *const_CODEPOINT_MAX_name = zend_string_init_interned("CODEPOINT_MAX", sizeof("CODEPOINT_MAX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CODEPOINT_MAX_name, &const_CODEPOINT_MAX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CODEPOINT_MAX_name); + + zval const_NO_NUMERIC_VALUE_value; + ZVAL_DOUBLE(&const_NO_NUMERIC_VALUE_value, U_NO_NUMERIC_VALUE); + zend_string *const_NO_NUMERIC_VALUE_name = zend_string_init_interned("NO_NUMERIC_VALUE", sizeof("NO_NUMERIC_VALUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NO_NUMERIC_VALUE_name, &const_NO_NUMERIC_VALUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NO_NUMERIC_VALUE_name); + + zval const_PROPERTY_ALPHABETIC_value; + ZVAL_LONG(&const_PROPERTY_ALPHABETIC_value, UCHAR_ALPHABETIC); + zend_string *const_PROPERTY_ALPHABETIC_name = zend_string_init_interned("PROPERTY_ALPHABETIC", sizeof("PROPERTY_ALPHABETIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_ALPHABETIC_name, &const_PROPERTY_ALPHABETIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_ALPHABETIC_name); + + zval const_PROPERTY_BINARY_START_value; + ZVAL_LONG(&const_PROPERTY_BINARY_START_value, UCHAR_BINARY_START); + zend_string *const_PROPERTY_BINARY_START_name = zend_string_init_interned("PROPERTY_BINARY_START", sizeof("PROPERTY_BINARY_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BINARY_START_name, &const_PROPERTY_BINARY_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BINARY_START_name); + + zval const_PROPERTY_ASCII_HEX_DIGIT_value; + ZVAL_LONG(&const_PROPERTY_ASCII_HEX_DIGIT_value, UCHAR_ASCII_HEX_DIGIT); + zend_string *const_PROPERTY_ASCII_HEX_DIGIT_name = zend_string_init_interned("PROPERTY_ASCII_HEX_DIGIT", sizeof("PROPERTY_ASCII_HEX_DIGIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_ASCII_HEX_DIGIT_name, &const_PROPERTY_ASCII_HEX_DIGIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_ASCII_HEX_DIGIT_name); + + zval const_PROPERTY_BIDI_CONTROL_value; + ZVAL_LONG(&const_PROPERTY_BIDI_CONTROL_value, UCHAR_BIDI_CONTROL); + zend_string *const_PROPERTY_BIDI_CONTROL_name = zend_string_init_interned("PROPERTY_BIDI_CONTROL", sizeof("PROPERTY_BIDI_CONTROL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BIDI_CONTROL_name, &const_PROPERTY_BIDI_CONTROL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BIDI_CONTROL_name); + + zval const_PROPERTY_BIDI_MIRRORED_value; + ZVAL_LONG(&const_PROPERTY_BIDI_MIRRORED_value, UCHAR_BIDI_MIRRORED); + zend_string *const_PROPERTY_BIDI_MIRRORED_name = zend_string_init_interned("PROPERTY_BIDI_MIRRORED", sizeof("PROPERTY_BIDI_MIRRORED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BIDI_MIRRORED_name, &const_PROPERTY_BIDI_MIRRORED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BIDI_MIRRORED_name); + + zval const_PROPERTY_DASH_value; + ZVAL_LONG(&const_PROPERTY_DASH_value, UCHAR_DASH); + zend_string *const_PROPERTY_DASH_name = zend_string_init_interned("PROPERTY_DASH", sizeof("PROPERTY_DASH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DASH_name, &const_PROPERTY_DASH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DASH_name); + + zval const_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_value; + ZVAL_LONG(&const_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_value, UCHAR_DEFAULT_IGNORABLE_CODE_POINT); + zend_string *const_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_name = zend_string_init_interned("PROPERTY_DEFAULT_IGNORABLE_CODE_POINT", sizeof("PROPERTY_DEFAULT_IGNORABLE_CODE_POINT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_name, &const_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_name); + + zval const_PROPERTY_DEPRECATED_value; + ZVAL_LONG(&const_PROPERTY_DEPRECATED_value, UCHAR_DEPRECATED); + zend_string *const_PROPERTY_DEPRECATED_name = zend_string_init_interned("PROPERTY_DEPRECATED", sizeof("PROPERTY_DEPRECATED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DEPRECATED_name, &const_PROPERTY_DEPRECATED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DEPRECATED_name); + + zval const_PROPERTY_DIACRITIC_value; + ZVAL_LONG(&const_PROPERTY_DIACRITIC_value, UCHAR_DIACRITIC); + zend_string *const_PROPERTY_DIACRITIC_name = zend_string_init_interned("PROPERTY_DIACRITIC", sizeof("PROPERTY_DIACRITIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DIACRITIC_name, &const_PROPERTY_DIACRITIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DIACRITIC_name); + + zval const_PROPERTY_EXTENDER_value; + ZVAL_LONG(&const_PROPERTY_EXTENDER_value, UCHAR_EXTENDER); + zend_string *const_PROPERTY_EXTENDER_name = zend_string_init_interned("PROPERTY_EXTENDER", sizeof("PROPERTY_EXTENDER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_EXTENDER_name, &const_PROPERTY_EXTENDER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_EXTENDER_name); + + zval const_PROPERTY_FULL_COMPOSITION_EXCLUSION_value; + ZVAL_LONG(&const_PROPERTY_FULL_COMPOSITION_EXCLUSION_value, UCHAR_FULL_COMPOSITION_EXCLUSION); + zend_string *const_PROPERTY_FULL_COMPOSITION_EXCLUSION_name = zend_string_init_interned("PROPERTY_FULL_COMPOSITION_EXCLUSION", sizeof("PROPERTY_FULL_COMPOSITION_EXCLUSION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_FULL_COMPOSITION_EXCLUSION_name, &const_PROPERTY_FULL_COMPOSITION_EXCLUSION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_FULL_COMPOSITION_EXCLUSION_name); + + zval const_PROPERTY_GRAPHEME_BASE_value; + ZVAL_LONG(&const_PROPERTY_GRAPHEME_BASE_value, UCHAR_GRAPHEME_BASE); + zend_string *const_PROPERTY_GRAPHEME_BASE_name = zend_string_init_interned("PROPERTY_GRAPHEME_BASE", sizeof("PROPERTY_GRAPHEME_BASE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_GRAPHEME_BASE_name, &const_PROPERTY_GRAPHEME_BASE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_GRAPHEME_BASE_name); + + zval const_PROPERTY_GRAPHEME_EXTEND_value; + ZVAL_LONG(&const_PROPERTY_GRAPHEME_EXTEND_value, UCHAR_GRAPHEME_EXTEND); + zend_string *const_PROPERTY_GRAPHEME_EXTEND_name = zend_string_init_interned("PROPERTY_GRAPHEME_EXTEND", sizeof("PROPERTY_GRAPHEME_EXTEND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_GRAPHEME_EXTEND_name, &const_PROPERTY_GRAPHEME_EXTEND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_GRAPHEME_EXTEND_name); + + zval const_PROPERTY_GRAPHEME_LINK_value; + ZVAL_LONG(&const_PROPERTY_GRAPHEME_LINK_value, UCHAR_GRAPHEME_LINK); + zend_string *const_PROPERTY_GRAPHEME_LINK_name = zend_string_init_interned("PROPERTY_GRAPHEME_LINK", sizeof("PROPERTY_GRAPHEME_LINK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_GRAPHEME_LINK_name, &const_PROPERTY_GRAPHEME_LINK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_GRAPHEME_LINK_name); + + zval const_PROPERTY_HEX_DIGIT_value; + ZVAL_LONG(&const_PROPERTY_HEX_DIGIT_value, UCHAR_HEX_DIGIT); + zend_string *const_PROPERTY_HEX_DIGIT_name = zend_string_init_interned("PROPERTY_HEX_DIGIT", sizeof("PROPERTY_HEX_DIGIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_HEX_DIGIT_name, &const_PROPERTY_HEX_DIGIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_HEX_DIGIT_name); + + zval const_PROPERTY_HYPHEN_value; + ZVAL_LONG(&const_PROPERTY_HYPHEN_value, UCHAR_HYPHEN); + zend_string *const_PROPERTY_HYPHEN_name = zend_string_init_interned("PROPERTY_HYPHEN", sizeof("PROPERTY_HYPHEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_HYPHEN_name, &const_PROPERTY_HYPHEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_HYPHEN_name); + + zval const_PROPERTY_ID_CONTINUE_value; + ZVAL_LONG(&const_PROPERTY_ID_CONTINUE_value, UCHAR_ID_CONTINUE); + zend_string *const_PROPERTY_ID_CONTINUE_name = zend_string_init_interned("PROPERTY_ID_CONTINUE", sizeof("PROPERTY_ID_CONTINUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_ID_CONTINUE_name, &const_PROPERTY_ID_CONTINUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_ID_CONTINUE_name); + + zval const_PROPERTY_ID_START_value; + ZVAL_LONG(&const_PROPERTY_ID_START_value, UCHAR_ID_START); + zend_string *const_PROPERTY_ID_START_name = zend_string_init_interned("PROPERTY_ID_START", sizeof("PROPERTY_ID_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_ID_START_name, &const_PROPERTY_ID_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_ID_START_name); + + zval const_PROPERTY_IDEOGRAPHIC_value; + ZVAL_LONG(&const_PROPERTY_IDEOGRAPHIC_value, UCHAR_IDEOGRAPHIC); + zend_string *const_PROPERTY_IDEOGRAPHIC_name = zend_string_init_interned("PROPERTY_IDEOGRAPHIC", sizeof("PROPERTY_IDEOGRAPHIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_IDEOGRAPHIC_name, &const_PROPERTY_IDEOGRAPHIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_IDEOGRAPHIC_name); + + zval const_PROPERTY_IDS_BINARY_OPERATOR_value; + ZVAL_LONG(&const_PROPERTY_IDS_BINARY_OPERATOR_value, UCHAR_IDS_BINARY_OPERATOR); + zend_string *const_PROPERTY_IDS_BINARY_OPERATOR_name = zend_string_init_interned("PROPERTY_IDS_BINARY_OPERATOR", sizeof("PROPERTY_IDS_BINARY_OPERATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_IDS_BINARY_OPERATOR_name, &const_PROPERTY_IDS_BINARY_OPERATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_IDS_BINARY_OPERATOR_name); + + zval const_PROPERTY_IDS_TRINARY_OPERATOR_value; + ZVAL_LONG(&const_PROPERTY_IDS_TRINARY_OPERATOR_value, UCHAR_IDS_TRINARY_OPERATOR); + zend_string *const_PROPERTY_IDS_TRINARY_OPERATOR_name = zend_string_init_interned("PROPERTY_IDS_TRINARY_OPERATOR", sizeof("PROPERTY_IDS_TRINARY_OPERATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_IDS_TRINARY_OPERATOR_name, &const_PROPERTY_IDS_TRINARY_OPERATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_IDS_TRINARY_OPERATOR_name); + + zval const_PROPERTY_JOIN_CONTROL_value; + ZVAL_LONG(&const_PROPERTY_JOIN_CONTROL_value, UCHAR_JOIN_CONTROL); + zend_string *const_PROPERTY_JOIN_CONTROL_name = zend_string_init_interned("PROPERTY_JOIN_CONTROL", sizeof("PROPERTY_JOIN_CONTROL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_JOIN_CONTROL_name, &const_PROPERTY_JOIN_CONTROL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_JOIN_CONTROL_name); + + zval const_PROPERTY_LOGICAL_ORDER_EXCEPTION_value; + ZVAL_LONG(&const_PROPERTY_LOGICAL_ORDER_EXCEPTION_value, UCHAR_LOGICAL_ORDER_EXCEPTION); + zend_string *const_PROPERTY_LOGICAL_ORDER_EXCEPTION_name = zend_string_init_interned("PROPERTY_LOGICAL_ORDER_EXCEPTION", sizeof("PROPERTY_LOGICAL_ORDER_EXCEPTION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_LOGICAL_ORDER_EXCEPTION_name, &const_PROPERTY_LOGICAL_ORDER_EXCEPTION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_LOGICAL_ORDER_EXCEPTION_name); + + zval const_PROPERTY_LOWERCASE_value; + ZVAL_LONG(&const_PROPERTY_LOWERCASE_value, UCHAR_LOWERCASE); + zend_string *const_PROPERTY_LOWERCASE_name = zend_string_init_interned("PROPERTY_LOWERCASE", sizeof("PROPERTY_LOWERCASE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_LOWERCASE_name, &const_PROPERTY_LOWERCASE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_LOWERCASE_name); + + zval const_PROPERTY_MATH_value; + ZVAL_LONG(&const_PROPERTY_MATH_value, UCHAR_MATH); + zend_string *const_PROPERTY_MATH_name = zend_string_init_interned("PROPERTY_MATH", sizeof("PROPERTY_MATH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_MATH_name, &const_PROPERTY_MATH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_MATH_name); + + zval const_PROPERTY_NONCHARACTER_CODE_POINT_value; + ZVAL_LONG(&const_PROPERTY_NONCHARACTER_CODE_POINT_value, UCHAR_NONCHARACTER_CODE_POINT); + zend_string *const_PROPERTY_NONCHARACTER_CODE_POINT_name = zend_string_init_interned("PROPERTY_NONCHARACTER_CODE_POINT", sizeof("PROPERTY_NONCHARACTER_CODE_POINT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NONCHARACTER_CODE_POINT_name, &const_PROPERTY_NONCHARACTER_CODE_POINT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NONCHARACTER_CODE_POINT_name); + + zval const_PROPERTY_QUOTATION_MARK_value; + ZVAL_LONG(&const_PROPERTY_QUOTATION_MARK_value, UCHAR_QUOTATION_MARK); + zend_string *const_PROPERTY_QUOTATION_MARK_name = zend_string_init_interned("PROPERTY_QUOTATION_MARK", sizeof("PROPERTY_QUOTATION_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_QUOTATION_MARK_name, &const_PROPERTY_QUOTATION_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_QUOTATION_MARK_name); + + zval const_PROPERTY_RADICAL_value; + ZVAL_LONG(&const_PROPERTY_RADICAL_value, UCHAR_RADICAL); + zend_string *const_PROPERTY_RADICAL_name = zend_string_init_interned("PROPERTY_RADICAL", sizeof("PROPERTY_RADICAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_RADICAL_name, &const_PROPERTY_RADICAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_RADICAL_name); + + zval const_PROPERTY_SOFT_DOTTED_value; + ZVAL_LONG(&const_PROPERTY_SOFT_DOTTED_value, UCHAR_SOFT_DOTTED); + zend_string *const_PROPERTY_SOFT_DOTTED_name = zend_string_init_interned("PROPERTY_SOFT_DOTTED", sizeof("PROPERTY_SOFT_DOTTED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SOFT_DOTTED_name, &const_PROPERTY_SOFT_DOTTED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SOFT_DOTTED_name); + + zval const_PROPERTY_TERMINAL_PUNCTUATION_value; + ZVAL_LONG(&const_PROPERTY_TERMINAL_PUNCTUATION_value, UCHAR_TERMINAL_PUNCTUATION); + zend_string *const_PROPERTY_TERMINAL_PUNCTUATION_name = zend_string_init_interned("PROPERTY_TERMINAL_PUNCTUATION", sizeof("PROPERTY_TERMINAL_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_TERMINAL_PUNCTUATION_name, &const_PROPERTY_TERMINAL_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_TERMINAL_PUNCTUATION_name); + + zval const_PROPERTY_UNIFIED_IDEOGRAPH_value; + ZVAL_LONG(&const_PROPERTY_UNIFIED_IDEOGRAPH_value, UCHAR_UNIFIED_IDEOGRAPH); + zend_string *const_PROPERTY_UNIFIED_IDEOGRAPH_name = zend_string_init_interned("PROPERTY_UNIFIED_IDEOGRAPH", sizeof("PROPERTY_UNIFIED_IDEOGRAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_UNIFIED_IDEOGRAPH_name, &const_PROPERTY_UNIFIED_IDEOGRAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_UNIFIED_IDEOGRAPH_name); + + zval const_PROPERTY_UPPERCASE_value; + ZVAL_LONG(&const_PROPERTY_UPPERCASE_value, UCHAR_UPPERCASE); + zend_string *const_PROPERTY_UPPERCASE_name = zend_string_init_interned("PROPERTY_UPPERCASE", sizeof("PROPERTY_UPPERCASE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_UPPERCASE_name, &const_PROPERTY_UPPERCASE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_UPPERCASE_name); + + zval const_PROPERTY_WHITE_SPACE_value; + ZVAL_LONG(&const_PROPERTY_WHITE_SPACE_value, UCHAR_WHITE_SPACE); + zend_string *const_PROPERTY_WHITE_SPACE_name = zend_string_init_interned("PROPERTY_WHITE_SPACE", sizeof("PROPERTY_WHITE_SPACE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_WHITE_SPACE_name, &const_PROPERTY_WHITE_SPACE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_WHITE_SPACE_name); + + zval const_PROPERTY_XID_CONTINUE_value; + ZVAL_LONG(&const_PROPERTY_XID_CONTINUE_value, UCHAR_XID_CONTINUE); + zend_string *const_PROPERTY_XID_CONTINUE_name = zend_string_init_interned("PROPERTY_XID_CONTINUE", sizeof("PROPERTY_XID_CONTINUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_XID_CONTINUE_name, &const_PROPERTY_XID_CONTINUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_XID_CONTINUE_name); + + zval const_PROPERTY_XID_START_value; + ZVAL_LONG(&const_PROPERTY_XID_START_value, UCHAR_XID_START); + zend_string *const_PROPERTY_XID_START_name = zend_string_init_interned("PROPERTY_XID_START", sizeof("PROPERTY_XID_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_XID_START_name, &const_PROPERTY_XID_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_XID_START_name); + + zval const_PROPERTY_CASE_SENSITIVE_value; + ZVAL_LONG(&const_PROPERTY_CASE_SENSITIVE_value, UCHAR_CASE_SENSITIVE); + zend_string *const_PROPERTY_CASE_SENSITIVE_name = zend_string_init_interned("PROPERTY_CASE_SENSITIVE", sizeof("PROPERTY_CASE_SENSITIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CASE_SENSITIVE_name, &const_PROPERTY_CASE_SENSITIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CASE_SENSITIVE_name); + + zval const_PROPERTY_S_TERM_value; + ZVAL_LONG(&const_PROPERTY_S_TERM_value, UCHAR_S_TERM); + zend_string *const_PROPERTY_S_TERM_name = zend_string_init_interned("PROPERTY_S_TERM", sizeof("PROPERTY_S_TERM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_S_TERM_name, &const_PROPERTY_S_TERM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_S_TERM_name); + + zval const_PROPERTY_VARIATION_SELECTOR_value; + ZVAL_LONG(&const_PROPERTY_VARIATION_SELECTOR_value, UCHAR_VARIATION_SELECTOR); + zend_string *const_PROPERTY_VARIATION_SELECTOR_name = zend_string_init_interned("PROPERTY_VARIATION_SELECTOR", sizeof("PROPERTY_VARIATION_SELECTOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_VARIATION_SELECTOR_name, &const_PROPERTY_VARIATION_SELECTOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_VARIATION_SELECTOR_name); + + zval const_PROPERTY_NFD_INERT_value; + ZVAL_LONG(&const_PROPERTY_NFD_INERT_value, UCHAR_NFD_INERT); + zend_string *const_PROPERTY_NFD_INERT_name = zend_string_init_interned("PROPERTY_NFD_INERT", sizeof("PROPERTY_NFD_INERT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFD_INERT_name, &const_PROPERTY_NFD_INERT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFD_INERT_name); + + zval const_PROPERTY_NFKD_INERT_value; + ZVAL_LONG(&const_PROPERTY_NFKD_INERT_value, UCHAR_NFKD_INERT); + zend_string *const_PROPERTY_NFKD_INERT_name = zend_string_init_interned("PROPERTY_NFKD_INERT", sizeof("PROPERTY_NFKD_INERT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFKD_INERT_name, &const_PROPERTY_NFKD_INERT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFKD_INERT_name); + + zval const_PROPERTY_NFC_INERT_value; + ZVAL_LONG(&const_PROPERTY_NFC_INERT_value, UCHAR_NFC_INERT); + zend_string *const_PROPERTY_NFC_INERT_name = zend_string_init_interned("PROPERTY_NFC_INERT", sizeof("PROPERTY_NFC_INERT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFC_INERT_name, &const_PROPERTY_NFC_INERT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFC_INERT_name); + + zval const_PROPERTY_NFKC_INERT_value; + ZVAL_LONG(&const_PROPERTY_NFKC_INERT_value, UCHAR_NFKC_INERT); + zend_string *const_PROPERTY_NFKC_INERT_name = zend_string_init_interned("PROPERTY_NFKC_INERT", sizeof("PROPERTY_NFKC_INERT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFKC_INERT_name, &const_PROPERTY_NFKC_INERT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFKC_INERT_name); + + zval const_PROPERTY_SEGMENT_STARTER_value; + ZVAL_LONG(&const_PROPERTY_SEGMENT_STARTER_value, UCHAR_SEGMENT_STARTER); + zend_string *const_PROPERTY_SEGMENT_STARTER_name = zend_string_init_interned("PROPERTY_SEGMENT_STARTER", sizeof("PROPERTY_SEGMENT_STARTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SEGMENT_STARTER_name, &const_PROPERTY_SEGMENT_STARTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SEGMENT_STARTER_name); + + zval const_PROPERTY_PATTERN_SYNTAX_value; + ZVAL_LONG(&const_PROPERTY_PATTERN_SYNTAX_value, UCHAR_PATTERN_SYNTAX); + zend_string *const_PROPERTY_PATTERN_SYNTAX_name = zend_string_init_interned("PROPERTY_PATTERN_SYNTAX", sizeof("PROPERTY_PATTERN_SYNTAX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_PATTERN_SYNTAX_name, &const_PROPERTY_PATTERN_SYNTAX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_PATTERN_SYNTAX_name); + + zval const_PROPERTY_PATTERN_WHITE_SPACE_value; + ZVAL_LONG(&const_PROPERTY_PATTERN_WHITE_SPACE_value, UCHAR_PATTERN_WHITE_SPACE); + zend_string *const_PROPERTY_PATTERN_WHITE_SPACE_name = zend_string_init_interned("PROPERTY_PATTERN_WHITE_SPACE", sizeof("PROPERTY_PATTERN_WHITE_SPACE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_PATTERN_WHITE_SPACE_name, &const_PROPERTY_PATTERN_WHITE_SPACE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_PATTERN_WHITE_SPACE_name); + + zval const_PROPERTY_POSIX_ALNUM_value; + ZVAL_LONG(&const_PROPERTY_POSIX_ALNUM_value, UCHAR_POSIX_ALNUM); + zend_string *const_PROPERTY_POSIX_ALNUM_name = zend_string_init_interned("PROPERTY_POSIX_ALNUM", sizeof("PROPERTY_POSIX_ALNUM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_POSIX_ALNUM_name, &const_PROPERTY_POSIX_ALNUM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_POSIX_ALNUM_name); + + zval const_PROPERTY_POSIX_BLANK_value; + ZVAL_LONG(&const_PROPERTY_POSIX_BLANK_value, UCHAR_POSIX_BLANK); + zend_string *const_PROPERTY_POSIX_BLANK_name = zend_string_init_interned("PROPERTY_POSIX_BLANK", sizeof("PROPERTY_POSIX_BLANK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_POSIX_BLANK_name, &const_PROPERTY_POSIX_BLANK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_POSIX_BLANK_name); + + zval const_PROPERTY_POSIX_GRAPH_value; + ZVAL_LONG(&const_PROPERTY_POSIX_GRAPH_value, UCHAR_POSIX_GRAPH); + zend_string *const_PROPERTY_POSIX_GRAPH_name = zend_string_init_interned("PROPERTY_POSIX_GRAPH", sizeof("PROPERTY_POSIX_GRAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_POSIX_GRAPH_name, &const_PROPERTY_POSIX_GRAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_POSIX_GRAPH_name); + + zval const_PROPERTY_POSIX_PRINT_value; + ZVAL_LONG(&const_PROPERTY_POSIX_PRINT_value, UCHAR_POSIX_PRINT); + zend_string *const_PROPERTY_POSIX_PRINT_name = zend_string_init_interned("PROPERTY_POSIX_PRINT", sizeof("PROPERTY_POSIX_PRINT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_POSIX_PRINT_name, &const_PROPERTY_POSIX_PRINT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_POSIX_PRINT_name); + + zval const_PROPERTY_POSIX_XDIGIT_value; + ZVAL_LONG(&const_PROPERTY_POSIX_XDIGIT_value, UCHAR_POSIX_XDIGIT); + zend_string *const_PROPERTY_POSIX_XDIGIT_name = zend_string_init_interned("PROPERTY_POSIX_XDIGIT", sizeof("PROPERTY_POSIX_XDIGIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_POSIX_XDIGIT_name, &const_PROPERTY_POSIX_XDIGIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_POSIX_XDIGIT_name); + + zval const_PROPERTY_CASED_value; + ZVAL_LONG(&const_PROPERTY_CASED_value, UCHAR_CASED); + zend_string *const_PROPERTY_CASED_name = zend_string_init_interned("PROPERTY_CASED", sizeof("PROPERTY_CASED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CASED_name, &const_PROPERTY_CASED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CASED_name); + + zval const_PROPERTY_CASE_IGNORABLE_value; + ZVAL_LONG(&const_PROPERTY_CASE_IGNORABLE_value, UCHAR_CASE_IGNORABLE); + zend_string *const_PROPERTY_CASE_IGNORABLE_name = zend_string_init_interned("PROPERTY_CASE_IGNORABLE", sizeof("PROPERTY_CASE_IGNORABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CASE_IGNORABLE_name, &const_PROPERTY_CASE_IGNORABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CASE_IGNORABLE_name); + + zval const_PROPERTY_CHANGES_WHEN_LOWERCASED_value; + ZVAL_LONG(&const_PROPERTY_CHANGES_WHEN_LOWERCASED_value, UCHAR_CHANGES_WHEN_LOWERCASED); + zend_string *const_PROPERTY_CHANGES_WHEN_LOWERCASED_name = zend_string_init_interned("PROPERTY_CHANGES_WHEN_LOWERCASED", sizeof("PROPERTY_CHANGES_WHEN_LOWERCASED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CHANGES_WHEN_LOWERCASED_name, &const_PROPERTY_CHANGES_WHEN_LOWERCASED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CHANGES_WHEN_LOWERCASED_name); + + zval const_PROPERTY_CHANGES_WHEN_UPPERCASED_value; + ZVAL_LONG(&const_PROPERTY_CHANGES_WHEN_UPPERCASED_value, UCHAR_CHANGES_WHEN_UPPERCASED); + zend_string *const_PROPERTY_CHANGES_WHEN_UPPERCASED_name = zend_string_init_interned("PROPERTY_CHANGES_WHEN_UPPERCASED", sizeof("PROPERTY_CHANGES_WHEN_UPPERCASED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CHANGES_WHEN_UPPERCASED_name, &const_PROPERTY_CHANGES_WHEN_UPPERCASED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CHANGES_WHEN_UPPERCASED_name); + + zval const_PROPERTY_CHANGES_WHEN_TITLECASED_value; + ZVAL_LONG(&const_PROPERTY_CHANGES_WHEN_TITLECASED_value, UCHAR_CHANGES_WHEN_TITLECASED); + zend_string *const_PROPERTY_CHANGES_WHEN_TITLECASED_name = zend_string_init_interned("PROPERTY_CHANGES_WHEN_TITLECASED", sizeof("PROPERTY_CHANGES_WHEN_TITLECASED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CHANGES_WHEN_TITLECASED_name, &const_PROPERTY_CHANGES_WHEN_TITLECASED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CHANGES_WHEN_TITLECASED_name); + + zval const_PROPERTY_CHANGES_WHEN_CASEFOLDED_value; + ZVAL_LONG(&const_PROPERTY_CHANGES_WHEN_CASEFOLDED_value, UCHAR_CHANGES_WHEN_CASEFOLDED); + zend_string *const_PROPERTY_CHANGES_WHEN_CASEFOLDED_name = zend_string_init_interned("PROPERTY_CHANGES_WHEN_CASEFOLDED", sizeof("PROPERTY_CHANGES_WHEN_CASEFOLDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CHANGES_WHEN_CASEFOLDED_name, &const_PROPERTY_CHANGES_WHEN_CASEFOLDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CHANGES_WHEN_CASEFOLDED_name); + + zval const_PROPERTY_CHANGES_WHEN_CASEMAPPED_value; + ZVAL_LONG(&const_PROPERTY_CHANGES_WHEN_CASEMAPPED_value, UCHAR_CHANGES_WHEN_CASEMAPPED); + zend_string *const_PROPERTY_CHANGES_WHEN_CASEMAPPED_name = zend_string_init_interned("PROPERTY_CHANGES_WHEN_CASEMAPPED", sizeof("PROPERTY_CHANGES_WHEN_CASEMAPPED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CHANGES_WHEN_CASEMAPPED_name, &const_PROPERTY_CHANGES_WHEN_CASEMAPPED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CHANGES_WHEN_CASEMAPPED_name); + + zval const_PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED_value; + ZVAL_LONG(&const_PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED_value, UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED); + zend_string *const_PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED_name = zend_string_init_interned("PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED", sizeof("PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED_name, &const_PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED_name); + + zval const_PROPERTY_BINARY_LIMIT_value; + ZVAL_LONG(&const_PROPERTY_BINARY_LIMIT_value, UCHAR_BINARY_LIMIT); + zend_string *const_PROPERTY_BINARY_LIMIT_name = zend_string_init_interned("PROPERTY_BINARY_LIMIT", sizeof("PROPERTY_BINARY_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BINARY_LIMIT_name, &const_PROPERTY_BINARY_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BINARY_LIMIT_name); + + zval const_PROPERTY_BIDI_CLASS_value; + ZVAL_LONG(&const_PROPERTY_BIDI_CLASS_value, UCHAR_BIDI_CLASS); + zend_string *const_PROPERTY_BIDI_CLASS_name = zend_string_init_interned("PROPERTY_BIDI_CLASS", sizeof("PROPERTY_BIDI_CLASS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BIDI_CLASS_name, &const_PROPERTY_BIDI_CLASS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BIDI_CLASS_name); + + zval const_PROPERTY_INT_START_value; + ZVAL_LONG(&const_PROPERTY_INT_START_value, UCHAR_INT_START); + zend_string *const_PROPERTY_INT_START_name = zend_string_init_interned("PROPERTY_INT_START", sizeof("PROPERTY_INT_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_INT_START_name, &const_PROPERTY_INT_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_INT_START_name); + + zval const_PROPERTY_BLOCK_value; + ZVAL_LONG(&const_PROPERTY_BLOCK_value, UCHAR_BLOCK); + zend_string *const_PROPERTY_BLOCK_name = zend_string_init_interned("PROPERTY_BLOCK", sizeof("PROPERTY_BLOCK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BLOCK_name, &const_PROPERTY_BLOCK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BLOCK_name); + + zval const_PROPERTY_CANONICAL_COMBINING_CLASS_value; + ZVAL_LONG(&const_PROPERTY_CANONICAL_COMBINING_CLASS_value, UCHAR_CANONICAL_COMBINING_CLASS); + zend_string *const_PROPERTY_CANONICAL_COMBINING_CLASS_name = zend_string_init_interned("PROPERTY_CANONICAL_COMBINING_CLASS", sizeof("PROPERTY_CANONICAL_COMBINING_CLASS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CANONICAL_COMBINING_CLASS_name, &const_PROPERTY_CANONICAL_COMBINING_CLASS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CANONICAL_COMBINING_CLASS_name); + + zval const_PROPERTY_DECOMPOSITION_TYPE_value; + ZVAL_LONG(&const_PROPERTY_DECOMPOSITION_TYPE_value, UCHAR_DECOMPOSITION_TYPE); + zend_string *const_PROPERTY_DECOMPOSITION_TYPE_name = zend_string_init_interned("PROPERTY_DECOMPOSITION_TYPE", sizeof("PROPERTY_DECOMPOSITION_TYPE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DECOMPOSITION_TYPE_name, &const_PROPERTY_DECOMPOSITION_TYPE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DECOMPOSITION_TYPE_name); + + zval const_PROPERTY_EAST_ASIAN_WIDTH_value; + ZVAL_LONG(&const_PROPERTY_EAST_ASIAN_WIDTH_value, UCHAR_EAST_ASIAN_WIDTH); + zend_string *const_PROPERTY_EAST_ASIAN_WIDTH_name = zend_string_init_interned("PROPERTY_EAST_ASIAN_WIDTH", sizeof("PROPERTY_EAST_ASIAN_WIDTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_EAST_ASIAN_WIDTH_name, &const_PROPERTY_EAST_ASIAN_WIDTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_EAST_ASIAN_WIDTH_name); + + zval const_PROPERTY_GENERAL_CATEGORY_value; + ZVAL_LONG(&const_PROPERTY_GENERAL_CATEGORY_value, UCHAR_GENERAL_CATEGORY); + zend_string *const_PROPERTY_GENERAL_CATEGORY_name = zend_string_init_interned("PROPERTY_GENERAL_CATEGORY", sizeof("PROPERTY_GENERAL_CATEGORY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_GENERAL_CATEGORY_name, &const_PROPERTY_GENERAL_CATEGORY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_GENERAL_CATEGORY_name); + + zval const_PROPERTY_JOINING_GROUP_value; + ZVAL_LONG(&const_PROPERTY_JOINING_GROUP_value, UCHAR_JOINING_GROUP); + zend_string *const_PROPERTY_JOINING_GROUP_name = zend_string_init_interned("PROPERTY_JOINING_GROUP", sizeof("PROPERTY_JOINING_GROUP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_JOINING_GROUP_name, &const_PROPERTY_JOINING_GROUP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_JOINING_GROUP_name); + + zval const_PROPERTY_JOINING_TYPE_value; + ZVAL_LONG(&const_PROPERTY_JOINING_TYPE_value, UCHAR_JOINING_TYPE); + zend_string *const_PROPERTY_JOINING_TYPE_name = zend_string_init_interned("PROPERTY_JOINING_TYPE", sizeof("PROPERTY_JOINING_TYPE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_JOINING_TYPE_name, &const_PROPERTY_JOINING_TYPE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_JOINING_TYPE_name); + + zval const_PROPERTY_LINE_BREAK_value; + ZVAL_LONG(&const_PROPERTY_LINE_BREAK_value, UCHAR_LINE_BREAK); + zend_string *const_PROPERTY_LINE_BREAK_name = zend_string_init_interned("PROPERTY_LINE_BREAK", sizeof("PROPERTY_LINE_BREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_LINE_BREAK_name, &const_PROPERTY_LINE_BREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_LINE_BREAK_name); + + zval const_PROPERTY_NUMERIC_TYPE_value; + ZVAL_LONG(&const_PROPERTY_NUMERIC_TYPE_value, UCHAR_NUMERIC_TYPE); + zend_string *const_PROPERTY_NUMERIC_TYPE_name = zend_string_init_interned("PROPERTY_NUMERIC_TYPE", sizeof("PROPERTY_NUMERIC_TYPE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NUMERIC_TYPE_name, &const_PROPERTY_NUMERIC_TYPE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NUMERIC_TYPE_name); + + zval const_PROPERTY_SCRIPT_value; + ZVAL_LONG(&const_PROPERTY_SCRIPT_value, UCHAR_SCRIPT); + zend_string *const_PROPERTY_SCRIPT_name = zend_string_init_interned("PROPERTY_SCRIPT", sizeof("PROPERTY_SCRIPT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SCRIPT_name, &const_PROPERTY_SCRIPT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SCRIPT_name); + + zval const_PROPERTY_HANGUL_SYLLABLE_TYPE_value; + ZVAL_LONG(&const_PROPERTY_HANGUL_SYLLABLE_TYPE_value, UCHAR_HANGUL_SYLLABLE_TYPE); + zend_string *const_PROPERTY_HANGUL_SYLLABLE_TYPE_name = zend_string_init_interned("PROPERTY_HANGUL_SYLLABLE_TYPE", sizeof("PROPERTY_HANGUL_SYLLABLE_TYPE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_HANGUL_SYLLABLE_TYPE_name, &const_PROPERTY_HANGUL_SYLLABLE_TYPE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_HANGUL_SYLLABLE_TYPE_name); + + zval const_PROPERTY_NFD_QUICK_CHECK_value; + ZVAL_LONG(&const_PROPERTY_NFD_QUICK_CHECK_value, UCHAR_NFD_QUICK_CHECK); + zend_string *const_PROPERTY_NFD_QUICK_CHECK_name = zend_string_init_interned("PROPERTY_NFD_QUICK_CHECK", sizeof("PROPERTY_NFD_QUICK_CHECK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFD_QUICK_CHECK_name, &const_PROPERTY_NFD_QUICK_CHECK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFD_QUICK_CHECK_name); + + zval const_PROPERTY_NFKD_QUICK_CHECK_value; + ZVAL_LONG(&const_PROPERTY_NFKD_QUICK_CHECK_value, UCHAR_NFKD_QUICK_CHECK); + zend_string *const_PROPERTY_NFKD_QUICK_CHECK_name = zend_string_init_interned("PROPERTY_NFKD_QUICK_CHECK", sizeof("PROPERTY_NFKD_QUICK_CHECK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFKD_QUICK_CHECK_name, &const_PROPERTY_NFKD_QUICK_CHECK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFKD_QUICK_CHECK_name); + + zval const_PROPERTY_NFC_QUICK_CHECK_value; + ZVAL_LONG(&const_PROPERTY_NFC_QUICK_CHECK_value, UCHAR_NFC_QUICK_CHECK); + zend_string *const_PROPERTY_NFC_QUICK_CHECK_name = zend_string_init_interned("PROPERTY_NFC_QUICK_CHECK", sizeof("PROPERTY_NFC_QUICK_CHECK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFC_QUICK_CHECK_name, &const_PROPERTY_NFC_QUICK_CHECK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFC_QUICK_CHECK_name); + + zval const_PROPERTY_NFKC_QUICK_CHECK_value; + ZVAL_LONG(&const_PROPERTY_NFKC_QUICK_CHECK_value, UCHAR_NFKC_QUICK_CHECK); + zend_string *const_PROPERTY_NFKC_QUICK_CHECK_name = zend_string_init_interned("PROPERTY_NFKC_QUICK_CHECK", sizeof("PROPERTY_NFKC_QUICK_CHECK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NFKC_QUICK_CHECK_name, &const_PROPERTY_NFKC_QUICK_CHECK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NFKC_QUICK_CHECK_name); + + zval const_PROPERTY_LEAD_CANONICAL_COMBINING_CLASS_value; + ZVAL_LONG(&const_PROPERTY_LEAD_CANONICAL_COMBINING_CLASS_value, UCHAR_LEAD_CANONICAL_COMBINING_CLASS); + zend_string *const_PROPERTY_LEAD_CANONICAL_COMBINING_CLASS_name = zend_string_init_interned("PROPERTY_LEAD_CANONICAL_COMBINING_CLASS", sizeof("PROPERTY_LEAD_CANONICAL_COMBINING_CLASS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_LEAD_CANONICAL_COMBINING_CLASS_name, &const_PROPERTY_LEAD_CANONICAL_COMBINING_CLASS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_LEAD_CANONICAL_COMBINING_CLASS_name); + + zval const_PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS_value; + ZVAL_LONG(&const_PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS_value, UCHAR_TRAIL_CANONICAL_COMBINING_CLASS); + zend_string *const_PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS_name = zend_string_init_interned("PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS", sizeof("PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS_name, &const_PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS_name); + + zval const_PROPERTY_GRAPHEME_CLUSTER_BREAK_value; + ZVAL_LONG(&const_PROPERTY_GRAPHEME_CLUSTER_BREAK_value, UCHAR_GRAPHEME_CLUSTER_BREAK); + zend_string *const_PROPERTY_GRAPHEME_CLUSTER_BREAK_name = zend_string_init_interned("PROPERTY_GRAPHEME_CLUSTER_BREAK", sizeof("PROPERTY_GRAPHEME_CLUSTER_BREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_GRAPHEME_CLUSTER_BREAK_name, &const_PROPERTY_GRAPHEME_CLUSTER_BREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_GRAPHEME_CLUSTER_BREAK_name); + + zval const_PROPERTY_SENTENCE_BREAK_value; + ZVAL_LONG(&const_PROPERTY_SENTENCE_BREAK_value, UCHAR_SENTENCE_BREAK); + zend_string *const_PROPERTY_SENTENCE_BREAK_name = zend_string_init_interned("PROPERTY_SENTENCE_BREAK", sizeof("PROPERTY_SENTENCE_BREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SENTENCE_BREAK_name, &const_PROPERTY_SENTENCE_BREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SENTENCE_BREAK_name); + + zval const_PROPERTY_WORD_BREAK_value; + ZVAL_LONG(&const_PROPERTY_WORD_BREAK_value, UCHAR_WORD_BREAK); + zend_string *const_PROPERTY_WORD_BREAK_name = zend_string_init_interned("PROPERTY_WORD_BREAK", sizeof("PROPERTY_WORD_BREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_WORD_BREAK_name, &const_PROPERTY_WORD_BREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_WORD_BREAK_name); +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_value; + ZVAL_LONG(&const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_value, UCHAR_BIDI_PAIRED_BRACKET_TYPE); + zend_string *const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_name = zend_string_init_interned("PROPERTY_BIDI_PAIRED_BRACKET_TYPE", sizeof("PROPERTY_BIDI_PAIRED_BRACKET_TYPE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_name, &const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_name); +#endif + + zval const_PROPERTY_INT_LIMIT_value; + ZVAL_LONG(&const_PROPERTY_INT_LIMIT_value, UCHAR_INT_LIMIT); + zend_string *const_PROPERTY_INT_LIMIT_name = zend_string_init_interned("PROPERTY_INT_LIMIT", sizeof("PROPERTY_INT_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_INT_LIMIT_name, &const_PROPERTY_INT_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_INT_LIMIT_name); + + zval const_PROPERTY_GENERAL_CATEGORY_MASK_value; + ZVAL_LONG(&const_PROPERTY_GENERAL_CATEGORY_MASK_value, UCHAR_GENERAL_CATEGORY_MASK); + zend_string *const_PROPERTY_GENERAL_CATEGORY_MASK_name = zend_string_init_interned("PROPERTY_GENERAL_CATEGORY_MASK", sizeof("PROPERTY_GENERAL_CATEGORY_MASK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_GENERAL_CATEGORY_MASK_name, &const_PROPERTY_GENERAL_CATEGORY_MASK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_GENERAL_CATEGORY_MASK_name); + + zval const_PROPERTY_MASK_START_value; + ZVAL_LONG(&const_PROPERTY_MASK_START_value, UCHAR_MASK_START); + zend_string *const_PROPERTY_MASK_START_name = zend_string_init_interned("PROPERTY_MASK_START", sizeof("PROPERTY_MASK_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_MASK_START_name, &const_PROPERTY_MASK_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_MASK_START_name); + + zval const_PROPERTY_MASK_LIMIT_value; + ZVAL_LONG(&const_PROPERTY_MASK_LIMIT_value, UCHAR_MASK_LIMIT); + zend_string *const_PROPERTY_MASK_LIMIT_name = zend_string_init_interned("PROPERTY_MASK_LIMIT", sizeof("PROPERTY_MASK_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_MASK_LIMIT_name, &const_PROPERTY_MASK_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_MASK_LIMIT_name); + + zval const_PROPERTY_NUMERIC_VALUE_value; + ZVAL_LONG(&const_PROPERTY_NUMERIC_VALUE_value, UCHAR_NUMERIC_VALUE); + zend_string *const_PROPERTY_NUMERIC_VALUE_name = zend_string_init_interned("PROPERTY_NUMERIC_VALUE", sizeof("PROPERTY_NUMERIC_VALUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NUMERIC_VALUE_name, &const_PROPERTY_NUMERIC_VALUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NUMERIC_VALUE_name); + + zval const_PROPERTY_DOUBLE_START_value; + ZVAL_LONG(&const_PROPERTY_DOUBLE_START_value, UCHAR_DOUBLE_START); + zend_string *const_PROPERTY_DOUBLE_START_name = zend_string_init_interned("PROPERTY_DOUBLE_START", sizeof("PROPERTY_DOUBLE_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DOUBLE_START_name, &const_PROPERTY_DOUBLE_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DOUBLE_START_name); + + zval const_PROPERTY_DOUBLE_LIMIT_value; + ZVAL_LONG(&const_PROPERTY_DOUBLE_LIMIT_value, UCHAR_DOUBLE_LIMIT); + zend_string *const_PROPERTY_DOUBLE_LIMIT_name = zend_string_init_interned("PROPERTY_DOUBLE_LIMIT", sizeof("PROPERTY_DOUBLE_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_DOUBLE_LIMIT_name, &const_PROPERTY_DOUBLE_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_DOUBLE_LIMIT_name); + + zval const_PROPERTY_AGE_value; + ZVAL_LONG(&const_PROPERTY_AGE_value, UCHAR_AGE); + zend_string *const_PROPERTY_AGE_name = zend_string_init_interned("PROPERTY_AGE", sizeof("PROPERTY_AGE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_AGE_name, &const_PROPERTY_AGE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_AGE_name); + + zval const_PROPERTY_STRING_START_value; + ZVAL_LONG(&const_PROPERTY_STRING_START_value, UCHAR_STRING_START); + zend_string *const_PROPERTY_STRING_START_name = zend_string_init_interned("PROPERTY_STRING_START", sizeof("PROPERTY_STRING_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_STRING_START_name, &const_PROPERTY_STRING_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_STRING_START_name); + + zval const_PROPERTY_BIDI_MIRRORING_GLYPH_value; + ZVAL_LONG(&const_PROPERTY_BIDI_MIRRORING_GLYPH_value, UCHAR_BIDI_MIRRORING_GLYPH); + zend_string *const_PROPERTY_BIDI_MIRRORING_GLYPH_name = zend_string_init_interned("PROPERTY_BIDI_MIRRORING_GLYPH", sizeof("PROPERTY_BIDI_MIRRORING_GLYPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BIDI_MIRRORING_GLYPH_name, &const_PROPERTY_BIDI_MIRRORING_GLYPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BIDI_MIRRORING_GLYPH_name); + + zval const_PROPERTY_CASE_FOLDING_value; + ZVAL_LONG(&const_PROPERTY_CASE_FOLDING_value, UCHAR_CASE_FOLDING); + zend_string *const_PROPERTY_CASE_FOLDING_name = zend_string_init_interned("PROPERTY_CASE_FOLDING", sizeof("PROPERTY_CASE_FOLDING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_CASE_FOLDING_name, &const_PROPERTY_CASE_FOLDING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_CASE_FOLDING_name); + + zval const_PROPERTY_ISO_COMMENT_value; + ZVAL_LONG(&const_PROPERTY_ISO_COMMENT_value, UCHAR_ISO_COMMENT); + zend_string *const_PROPERTY_ISO_COMMENT_name = zend_string_init_interned("PROPERTY_ISO_COMMENT", sizeof("PROPERTY_ISO_COMMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_ISO_COMMENT_name, &const_PROPERTY_ISO_COMMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_ISO_COMMENT_name); + + zval const_PROPERTY_LOWERCASE_MAPPING_value; + ZVAL_LONG(&const_PROPERTY_LOWERCASE_MAPPING_value, UCHAR_LOWERCASE_MAPPING); + zend_string *const_PROPERTY_LOWERCASE_MAPPING_name = zend_string_init_interned("PROPERTY_LOWERCASE_MAPPING", sizeof("PROPERTY_LOWERCASE_MAPPING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_LOWERCASE_MAPPING_name, &const_PROPERTY_LOWERCASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_LOWERCASE_MAPPING_name); + + zval const_PROPERTY_NAME_value; + ZVAL_LONG(&const_PROPERTY_NAME_value, UCHAR_NAME); + zend_string *const_PROPERTY_NAME_name = zend_string_init_interned("PROPERTY_NAME", sizeof("PROPERTY_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NAME_name, &const_PROPERTY_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NAME_name); + + zval const_PROPERTY_SIMPLE_CASE_FOLDING_value; + ZVAL_LONG(&const_PROPERTY_SIMPLE_CASE_FOLDING_value, UCHAR_SIMPLE_CASE_FOLDING); + zend_string *const_PROPERTY_SIMPLE_CASE_FOLDING_name = zend_string_init_interned("PROPERTY_SIMPLE_CASE_FOLDING", sizeof("PROPERTY_SIMPLE_CASE_FOLDING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SIMPLE_CASE_FOLDING_name, &const_PROPERTY_SIMPLE_CASE_FOLDING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SIMPLE_CASE_FOLDING_name); + + zval const_PROPERTY_SIMPLE_LOWERCASE_MAPPING_value; + ZVAL_LONG(&const_PROPERTY_SIMPLE_LOWERCASE_MAPPING_value, UCHAR_SIMPLE_LOWERCASE_MAPPING); + zend_string *const_PROPERTY_SIMPLE_LOWERCASE_MAPPING_name = zend_string_init_interned("PROPERTY_SIMPLE_LOWERCASE_MAPPING", sizeof("PROPERTY_SIMPLE_LOWERCASE_MAPPING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SIMPLE_LOWERCASE_MAPPING_name, &const_PROPERTY_SIMPLE_LOWERCASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SIMPLE_LOWERCASE_MAPPING_name); + + zval const_PROPERTY_SIMPLE_TITLECASE_MAPPING_value; + ZVAL_LONG(&const_PROPERTY_SIMPLE_TITLECASE_MAPPING_value, UCHAR_SIMPLE_TITLECASE_MAPPING); + zend_string *const_PROPERTY_SIMPLE_TITLECASE_MAPPING_name = zend_string_init_interned("PROPERTY_SIMPLE_TITLECASE_MAPPING", sizeof("PROPERTY_SIMPLE_TITLECASE_MAPPING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SIMPLE_TITLECASE_MAPPING_name, &const_PROPERTY_SIMPLE_TITLECASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SIMPLE_TITLECASE_MAPPING_name); + + zval const_PROPERTY_SIMPLE_UPPERCASE_MAPPING_value; + ZVAL_LONG(&const_PROPERTY_SIMPLE_UPPERCASE_MAPPING_value, UCHAR_SIMPLE_UPPERCASE_MAPPING); + zend_string *const_PROPERTY_SIMPLE_UPPERCASE_MAPPING_name = zend_string_init_interned("PROPERTY_SIMPLE_UPPERCASE_MAPPING", sizeof("PROPERTY_SIMPLE_UPPERCASE_MAPPING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SIMPLE_UPPERCASE_MAPPING_name, &const_PROPERTY_SIMPLE_UPPERCASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SIMPLE_UPPERCASE_MAPPING_name); + + zval const_PROPERTY_TITLECASE_MAPPING_value; + ZVAL_LONG(&const_PROPERTY_TITLECASE_MAPPING_value, UCHAR_TITLECASE_MAPPING); + zend_string *const_PROPERTY_TITLECASE_MAPPING_name = zend_string_init_interned("PROPERTY_TITLECASE_MAPPING", sizeof("PROPERTY_TITLECASE_MAPPING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_TITLECASE_MAPPING_name, &const_PROPERTY_TITLECASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_TITLECASE_MAPPING_name); + + zval const_PROPERTY_UNICODE_1_NAME_value; + ZVAL_LONG(&const_PROPERTY_UNICODE_1_NAME_value, UCHAR_UNICODE_1_NAME); + zend_string *const_PROPERTY_UNICODE_1_NAME_name = zend_string_init_interned("PROPERTY_UNICODE_1_NAME", sizeof("PROPERTY_UNICODE_1_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_UNICODE_1_NAME_name, &const_PROPERTY_UNICODE_1_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_UNICODE_1_NAME_name); + + zval const_PROPERTY_UPPERCASE_MAPPING_value; + ZVAL_LONG(&const_PROPERTY_UPPERCASE_MAPPING_value, UCHAR_UPPERCASE_MAPPING); + zend_string *const_PROPERTY_UPPERCASE_MAPPING_name = zend_string_init_interned("PROPERTY_UPPERCASE_MAPPING", sizeof("PROPERTY_UPPERCASE_MAPPING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_UPPERCASE_MAPPING_name, &const_PROPERTY_UPPERCASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_UPPERCASE_MAPPING_name); +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_PROPERTY_BIDI_PAIRED_BRACKET_value; + ZVAL_LONG(&const_PROPERTY_BIDI_PAIRED_BRACKET_value, UCHAR_BIDI_PAIRED_BRACKET); + zend_string *const_PROPERTY_BIDI_PAIRED_BRACKET_name = zend_string_init_interned("PROPERTY_BIDI_PAIRED_BRACKET", sizeof("PROPERTY_BIDI_PAIRED_BRACKET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_BIDI_PAIRED_BRACKET_name, &const_PROPERTY_BIDI_PAIRED_BRACKET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_BIDI_PAIRED_BRACKET_name); +#endif + + zval const_PROPERTY_STRING_LIMIT_value; + ZVAL_LONG(&const_PROPERTY_STRING_LIMIT_value, UCHAR_STRING_LIMIT); + zend_string *const_PROPERTY_STRING_LIMIT_name = zend_string_init_interned("PROPERTY_STRING_LIMIT", sizeof("PROPERTY_STRING_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_STRING_LIMIT_name, &const_PROPERTY_STRING_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_STRING_LIMIT_name); + + zval const_PROPERTY_SCRIPT_EXTENSIONS_value; + ZVAL_LONG(&const_PROPERTY_SCRIPT_EXTENSIONS_value, UCHAR_SCRIPT_EXTENSIONS); + zend_string *const_PROPERTY_SCRIPT_EXTENSIONS_name = zend_string_init_interned("PROPERTY_SCRIPT_EXTENSIONS", sizeof("PROPERTY_SCRIPT_EXTENSIONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_SCRIPT_EXTENSIONS_name, &const_PROPERTY_SCRIPT_EXTENSIONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_SCRIPT_EXTENSIONS_name); + + zval const_PROPERTY_OTHER_PROPERTY_START_value; + ZVAL_LONG(&const_PROPERTY_OTHER_PROPERTY_START_value, UCHAR_OTHER_PROPERTY_START); + zend_string *const_PROPERTY_OTHER_PROPERTY_START_name = zend_string_init_interned("PROPERTY_OTHER_PROPERTY_START", sizeof("PROPERTY_OTHER_PROPERTY_START") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_OTHER_PROPERTY_START_name, &const_PROPERTY_OTHER_PROPERTY_START_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_OTHER_PROPERTY_START_name); + + zval const_PROPERTY_OTHER_PROPERTY_LIMIT_value; + ZVAL_LONG(&const_PROPERTY_OTHER_PROPERTY_LIMIT_value, UCHAR_OTHER_PROPERTY_LIMIT); + zend_string *const_PROPERTY_OTHER_PROPERTY_LIMIT_name = zend_string_init_interned("PROPERTY_OTHER_PROPERTY_LIMIT", sizeof("PROPERTY_OTHER_PROPERTY_LIMIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_OTHER_PROPERTY_LIMIT_name, &const_PROPERTY_OTHER_PROPERTY_LIMIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_OTHER_PROPERTY_LIMIT_name); + + zval const_PROPERTY_INVALID_CODE_value; + ZVAL_LONG(&const_PROPERTY_INVALID_CODE_value, UCHAR_INVALID_CODE); + zend_string *const_PROPERTY_INVALID_CODE_name = zend_string_init_interned("PROPERTY_INVALID_CODE", sizeof("PROPERTY_INVALID_CODE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_INVALID_CODE_name, &const_PROPERTY_INVALID_CODE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_INVALID_CODE_name); + + zval const_CHAR_CATEGORY_UNASSIGNED_value; + ZVAL_LONG(&const_CHAR_CATEGORY_UNASSIGNED_value, U_UNASSIGNED); + zend_string *const_CHAR_CATEGORY_UNASSIGNED_name = zend_string_init_interned("CHAR_CATEGORY_UNASSIGNED", sizeof("CHAR_CATEGORY_UNASSIGNED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_UNASSIGNED_name, &const_CHAR_CATEGORY_UNASSIGNED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_UNASSIGNED_name); + + zval const_CHAR_CATEGORY_GENERAL_OTHER_TYPES_value; + ZVAL_LONG(&const_CHAR_CATEGORY_GENERAL_OTHER_TYPES_value, U_GENERAL_OTHER_TYPES); + zend_string *const_CHAR_CATEGORY_GENERAL_OTHER_TYPES_name = zend_string_init_interned("CHAR_CATEGORY_GENERAL_OTHER_TYPES", sizeof("CHAR_CATEGORY_GENERAL_OTHER_TYPES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_GENERAL_OTHER_TYPES_name, &const_CHAR_CATEGORY_GENERAL_OTHER_TYPES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_GENERAL_OTHER_TYPES_name); + + zval const_CHAR_CATEGORY_UPPERCASE_LETTER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_UPPERCASE_LETTER_value, U_UPPERCASE_LETTER); + zend_string *const_CHAR_CATEGORY_UPPERCASE_LETTER_name = zend_string_init_interned("CHAR_CATEGORY_UPPERCASE_LETTER", sizeof("CHAR_CATEGORY_UPPERCASE_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_UPPERCASE_LETTER_name, &const_CHAR_CATEGORY_UPPERCASE_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_UPPERCASE_LETTER_name); + + zval const_CHAR_CATEGORY_LOWERCASE_LETTER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_LOWERCASE_LETTER_value, U_LOWERCASE_LETTER); + zend_string *const_CHAR_CATEGORY_LOWERCASE_LETTER_name = zend_string_init_interned("CHAR_CATEGORY_LOWERCASE_LETTER", sizeof("CHAR_CATEGORY_LOWERCASE_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_LOWERCASE_LETTER_name, &const_CHAR_CATEGORY_LOWERCASE_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_LOWERCASE_LETTER_name); + + zval const_CHAR_CATEGORY_TITLECASE_LETTER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_TITLECASE_LETTER_value, U_TITLECASE_LETTER); + zend_string *const_CHAR_CATEGORY_TITLECASE_LETTER_name = zend_string_init_interned("CHAR_CATEGORY_TITLECASE_LETTER", sizeof("CHAR_CATEGORY_TITLECASE_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_TITLECASE_LETTER_name, &const_CHAR_CATEGORY_TITLECASE_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_TITLECASE_LETTER_name); + + zval const_CHAR_CATEGORY_MODIFIER_LETTER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_MODIFIER_LETTER_value, U_MODIFIER_LETTER); + zend_string *const_CHAR_CATEGORY_MODIFIER_LETTER_name = zend_string_init_interned("CHAR_CATEGORY_MODIFIER_LETTER", sizeof("CHAR_CATEGORY_MODIFIER_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_MODIFIER_LETTER_name, &const_CHAR_CATEGORY_MODIFIER_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_MODIFIER_LETTER_name); + + zval const_CHAR_CATEGORY_OTHER_LETTER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_OTHER_LETTER_value, U_OTHER_LETTER); + zend_string *const_CHAR_CATEGORY_OTHER_LETTER_name = zend_string_init_interned("CHAR_CATEGORY_OTHER_LETTER", sizeof("CHAR_CATEGORY_OTHER_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_OTHER_LETTER_name, &const_CHAR_CATEGORY_OTHER_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_OTHER_LETTER_name); + + zval const_CHAR_CATEGORY_NON_SPACING_MARK_value; + ZVAL_LONG(&const_CHAR_CATEGORY_NON_SPACING_MARK_value, U_NON_SPACING_MARK); + zend_string *const_CHAR_CATEGORY_NON_SPACING_MARK_name = zend_string_init_interned("CHAR_CATEGORY_NON_SPACING_MARK", sizeof("CHAR_CATEGORY_NON_SPACING_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_NON_SPACING_MARK_name, &const_CHAR_CATEGORY_NON_SPACING_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_NON_SPACING_MARK_name); + + zval const_CHAR_CATEGORY_ENCLOSING_MARK_value; + ZVAL_LONG(&const_CHAR_CATEGORY_ENCLOSING_MARK_value, U_ENCLOSING_MARK); + zend_string *const_CHAR_CATEGORY_ENCLOSING_MARK_name = zend_string_init_interned("CHAR_CATEGORY_ENCLOSING_MARK", sizeof("CHAR_CATEGORY_ENCLOSING_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_ENCLOSING_MARK_name, &const_CHAR_CATEGORY_ENCLOSING_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_ENCLOSING_MARK_name); + + zval const_CHAR_CATEGORY_COMBINING_SPACING_MARK_value; + ZVAL_LONG(&const_CHAR_CATEGORY_COMBINING_SPACING_MARK_value, U_COMBINING_SPACING_MARK); + zend_string *const_CHAR_CATEGORY_COMBINING_SPACING_MARK_name = zend_string_init_interned("CHAR_CATEGORY_COMBINING_SPACING_MARK", sizeof("CHAR_CATEGORY_COMBINING_SPACING_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_COMBINING_SPACING_MARK_name, &const_CHAR_CATEGORY_COMBINING_SPACING_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_COMBINING_SPACING_MARK_name); + + zval const_CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER_value, U_DECIMAL_DIGIT_NUMBER); + zend_string *const_CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER_name = zend_string_init_interned("CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER", sizeof("CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER_name, &const_CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER_name); + + zval const_CHAR_CATEGORY_LETTER_NUMBER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_LETTER_NUMBER_value, U_LETTER_NUMBER); + zend_string *const_CHAR_CATEGORY_LETTER_NUMBER_name = zend_string_init_interned("CHAR_CATEGORY_LETTER_NUMBER", sizeof("CHAR_CATEGORY_LETTER_NUMBER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_LETTER_NUMBER_name, &const_CHAR_CATEGORY_LETTER_NUMBER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_LETTER_NUMBER_name); + + zval const_CHAR_CATEGORY_OTHER_NUMBER_value; + ZVAL_LONG(&const_CHAR_CATEGORY_OTHER_NUMBER_value, U_OTHER_NUMBER); + zend_string *const_CHAR_CATEGORY_OTHER_NUMBER_name = zend_string_init_interned("CHAR_CATEGORY_OTHER_NUMBER", sizeof("CHAR_CATEGORY_OTHER_NUMBER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_OTHER_NUMBER_name, &const_CHAR_CATEGORY_OTHER_NUMBER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_OTHER_NUMBER_name); + + zval const_CHAR_CATEGORY_SPACE_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_CATEGORY_SPACE_SEPARATOR_value, U_SPACE_SEPARATOR); + zend_string *const_CHAR_CATEGORY_SPACE_SEPARATOR_name = zend_string_init_interned("CHAR_CATEGORY_SPACE_SEPARATOR", sizeof("CHAR_CATEGORY_SPACE_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_SPACE_SEPARATOR_name, &const_CHAR_CATEGORY_SPACE_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_SPACE_SEPARATOR_name); + + zval const_CHAR_CATEGORY_LINE_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_CATEGORY_LINE_SEPARATOR_value, U_LINE_SEPARATOR); + zend_string *const_CHAR_CATEGORY_LINE_SEPARATOR_name = zend_string_init_interned("CHAR_CATEGORY_LINE_SEPARATOR", sizeof("CHAR_CATEGORY_LINE_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_LINE_SEPARATOR_name, &const_CHAR_CATEGORY_LINE_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_LINE_SEPARATOR_name); + + zval const_CHAR_CATEGORY_PARAGRAPH_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_CATEGORY_PARAGRAPH_SEPARATOR_value, U_PARAGRAPH_SEPARATOR); + zend_string *const_CHAR_CATEGORY_PARAGRAPH_SEPARATOR_name = zend_string_init_interned("CHAR_CATEGORY_PARAGRAPH_SEPARATOR", sizeof("CHAR_CATEGORY_PARAGRAPH_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_PARAGRAPH_SEPARATOR_name, &const_CHAR_CATEGORY_PARAGRAPH_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_PARAGRAPH_SEPARATOR_name); + + zval const_CHAR_CATEGORY_CONTROL_CHAR_value; + ZVAL_LONG(&const_CHAR_CATEGORY_CONTROL_CHAR_value, U_CONTROL_CHAR); + zend_string *const_CHAR_CATEGORY_CONTROL_CHAR_name = zend_string_init_interned("CHAR_CATEGORY_CONTROL_CHAR", sizeof("CHAR_CATEGORY_CONTROL_CHAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_CONTROL_CHAR_name, &const_CHAR_CATEGORY_CONTROL_CHAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_CONTROL_CHAR_name); + + zval const_CHAR_CATEGORY_FORMAT_CHAR_value; + ZVAL_LONG(&const_CHAR_CATEGORY_FORMAT_CHAR_value, U_FORMAT_CHAR); + zend_string *const_CHAR_CATEGORY_FORMAT_CHAR_name = zend_string_init_interned("CHAR_CATEGORY_FORMAT_CHAR", sizeof("CHAR_CATEGORY_FORMAT_CHAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_FORMAT_CHAR_name, &const_CHAR_CATEGORY_FORMAT_CHAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_FORMAT_CHAR_name); + + zval const_CHAR_CATEGORY_PRIVATE_USE_CHAR_value; + ZVAL_LONG(&const_CHAR_CATEGORY_PRIVATE_USE_CHAR_value, U_PRIVATE_USE_CHAR); + zend_string *const_CHAR_CATEGORY_PRIVATE_USE_CHAR_name = zend_string_init_interned("CHAR_CATEGORY_PRIVATE_USE_CHAR", sizeof("CHAR_CATEGORY_PRIVATE_USE_CHAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_PRIVATE_USE_CHAR_name, &const_CHAR_CATEGORY_PRIVATE_USE_CHAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_PRIVATE_USE_CHAR_name); + + zval const_CHAR_CATEGORY_SURROGATE_value; + ZVAL_LONG(&const_CHAR_CATEGORY_SURROGATE_value, U_SURROGATE); + zend_string *const_CHAR_CATEGORY_SURROGATE_name = zend_string_init_interned("CHAR_CATEGORY_SURROGATE", sizeof("CHAR_CATEGORY_SURROGATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_SURROGATE_name, &const_CHAR_CATEGORY_SURROGATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_SURROGATE_name); + + zval const_CHAR_CATEGORY_DASH_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_DASH_PUNCTUATION_value, U_DASH_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_DASH_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_DASH_PUNCTUATION", sizeof("CHAR_CATEGORY_DASH_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_DASH_PUNCTUATION_name, &const_CHAR_CATEGORY_DASH_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_DASH_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_START_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_START_PUNCTUATION_value, U_START_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_START_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_START_PUNCTUATION", sizeof("CHAR_CATEGORY_START_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_START_PUNCTUATION_name, &const_CHAR_CATEGORY_START_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_START_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_END_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_END_PUNCTUATION_value, U_END_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_END_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_END_PUNCTUATION", sizeof("CHAR_CATEGORY_END_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_END_PUNCTUATION_name, &const_CHAR_CATEGORY_END_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_END_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_CONNECTOR_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_CONNECTOR_PUNCTUATION_value, U_CONNECTOR_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_CONNECTOR_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_CONNECTOR_PUNCTUATION", sizeof("CHAR_CATEGORY_CONNECTOR_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_CONNECTOR_PUNCTUATION_name, &const_CHAR_CATEGORY_CONNECTOR_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_CONNECTOR_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_OTHER_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_OTHER_PUNCTUATION_value, U_OTHER_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_OTHER_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_OTHER_PUNCTUATION", sizeof("CHAR_CATEGORY_OTHER_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_OTHER_PUNCTUATION_name, &const_CHAR_CATEGORY_OTHER_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_OTHER_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_MATH_SYMBOL_value; + ZVAL_LONG(&const_CHAR_CATEGORY_MATH_SYMBOL_value, U_MATH_SYMBOL); + zend_string *const_CHAR_CATEGORY_MATH_SYMBOL_name = zend_string_init_interned("CHAR_CATEGORY_MATH_SYMBOL", sizeof("CHAR_CATEGORY_MATH_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_MATH_SYMBOL_name, &const_CHAR_CATEGORY_MATH_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_MATH_SYMBOL_name); + + zval const_CHAR_CATEGORY_CURRENCY_SYMBOL_value; + ZVAL_LONG(&const_CHAR_CATEGORY_CURRENCY_SYMBOL_value, U_CURRENCY_SYMBOL); + zend_string *const_CHAR_CATEGORY_CURRENCY_SYMBOL_name = zend_string_init_interned("CHAR_CATEGORY_CURRENCY_SYMBOL", sizeof("CHAR_CATEGORY_CURRENCY_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_CURRENCY_SYMBOL_name, &const_CHAR_CATEGORY_CURRENCY_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_CURRENCY_SYMBOL_name); + + zval const_CHAR_CATEGORY_MODIFIER_SYMBOL_value; + ZVAL_LONG(&const_CHAR_CATEGORY_MODIFIER_SYMBOL_value, U_MODIFIER_SYMBOL); + zend_string *const_CHAR_CATEGORY_MODIFIER_SYMBOL_name = zend_string_init_interned("CHAR_CATEGORY_MODIFIER_SYMBOL", sizeof("CHAR_CATEGORY_MODIFIER_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_MODIFIER_SYMBOL_name, &const_CHAR_CATEGORY_MODIFIER_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_MODIFIER_SYMBOL_name); + + zval const_CHAR_CATEGORY_OTHER_SYMBOL_value; + ZVAL_LONG(&const_CHAR_CATEGORY_OTHER_SYMBOL_value, U_OTHER_SYMBOL); + zend_string *const_CHAR_CATEGORY_OTHER_SYMBOL_name = zend_string_init_interned("CHAR_CATEGORY_OTHER_SYMBOL", sizeof("CHAR_CATEGORY_OTHER_SYMBOL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_OTHER_SYMBOL_name, &const_CHAR_CATEGORY_OTHER_SYMBOL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_OTHER_SYMBOL_name); + + zval const_CHAR_CATEGORY_INITIAL_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_INITIAL_PUNCTUATION_value, U_INITIAL_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_INITIAL_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_INITIAL_PUNCTUATION", sizeof("CHAR_CATEGORY_INITIAL_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_INITIAL_PUNCTUATION_name, &const_CHAR_CATEGORY_INITIAL_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_INITIAL_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_FINAL_PUNCTUATION_value; + ZVAL_LONG(&const_CHAR_CATEGORY_FINAL_PUNCTUATION_value, U_FINAL_PUNCTUATION); + zend_string *const_CHAR_CATEGORY_FINAL_PUNCTUATION_name = zend_string_init_interned("CHAR_CATEGORY_FINAL_PUNCTUATION", sizeof("CHAR_CATEGORY_FINAL_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_FINAL_PUNCTUATION_name, &const_CHAR_CATEGORY_FINAL_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_FINAL_PUNCTUATION_name); + + zval const_CHAR_CATEGORY_CHAR_CATEGORY_COUNT_value; + ZVAL_LONG(&const_CHAR_CATEGORY_CHAR_CATEGORY_COUNT_value, U_CHAR_CATEGORY_COUNT); + zend_string *const_CHAR_CATEGORY_CHAR_CATEGORY_COUNT_name = zend_string_init_interned("CHAR_CATEGORY_CHAR_CATEGORY_COUNT", sizeof("CHAR_CATEGORY_CHAR_CATEGORY_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_CATEGORY_CHAR_CATEGORY_COUNT_name, &const_CHAR_CATEGORY_CHAR_CATEGORY_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_CATEGORY_CHAR_CATEGORY_COUNT_name); + + zval const_CHAR_DIRECTION_LEFT_TO_RIGHT_value; + ZVAL_LONG(&const_CHAR_DIRECTION_LEFT_TO_RIGHT_value, U_LEFT_TO_RIGHT); + zend_string *const_CHAR_DIRECTION_LEFT_TO_RIGHT_name = zend_string_init_interned("CHAR_DIRECTION_LEFT_TO_RIGHT", sizeof("CHAR_DIRECTION_LEFT_TO_RIGHT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_LEFT_TO_RIGHT_name, &const_CHAR_DIRECTION_LEFT_TO_RIGHT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_LEFT_TO_RIGHT_name); + + zval const_CHAR_DIRECTION_RIGHT_TO_LEFT_value; + ZVAL_LONG(&const_CHAR_DIRECTION_RIGHT_TO_LEFT_value, U_RIGHT_TO_LEFT); + zend_string *const_CHAR_DIRECTION_RIGHT_TO_LEFT_name = zend_string_init_interned("CHAR_DIRECTION_RIGHT_TO_LEFT", sizeof("CHAR_DIRECTION_RIGHT_TO_LEFT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_RIGHT_TO_LEFT_name, &const_CHAR_DIRECTION_RIGHT_TO_LEFT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_RIGHT_TO_LEFT_name); + + zval const_CHAR_DIRECTION_EUROPEAN_NUMBER_value; + ZVAL_LONG(&const_CHAR_DIRECTION_EUROPEAN_NUMBER_value, U_EUROPEAN_NUMBER); + zend_string *const_CHAR_DIRECTION_EUROPEAN_NUMBER_name = zend_string_init_interned("CHAR_DIRECTION_EUROPEAN_NUMBER", sizeof("CHAR_DIRECTION_EUROPEAN_NUMBER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_EUROPEAN_NUMBER_name, &const_CHAR_DIRECTION_EUROPEAN_NUMBER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_EUROPEAN_NUMBER_name); + + zval const_CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR_value, U_EUROPEAN_NUMBER_SEPARATOR); + zend_string *const_CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR_name = zend_string_init_interned("CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR", sizeof("CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR_name, &const_CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR_name); + + zval const_CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR_value; + ZVAL_LONG(&const_CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR_value, U_EUROPEAN_NUMBER_TERMINATOR); + zend_string *const_CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR_name = zend_string_init_interned("CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR", sizeof("CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR_name, &const_CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR_name); + + zval const_CHAR_DIRECTION_ARABIC_NUMBER_value; + ZVAL_LONG(&const_CHAR_DIRECTION_ARABIC_NUMBER_value, U_ARABIC_NUMBER); + zend_string *const_CHAR_DIRECTION_ARABIC_NUMBER_name = zend_string_init_interned("CHAR_DIRECTION_ARABIC_NUMBER", sizeof("CHAR_DIRECTION_ARABIC_NUMBER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_ARABIC_NUMBER_name, &const_CHAR_DIRECTION_ARABIC_NUMBER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_ARABIC_NUMBER_name); + + zval const_CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR_value, U_COMMON_NUMBER_SEPARATOR); + zend_string *const_CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR_name = zend_string_init_interned("CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR", sizeof("CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR_name, &const_CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR_name); + + zval const_CHAR_DIRECTION_BLOCK_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_DIRECTION_BLOCK_SEPARATOR_value, U_BLOCK_SEPARATOR); + zend_string *const_CHAR_DIRECTION_BLOCK_SEPARATOR_name = zend_string_init_interned("CHAR_DIRECTION_BLOCK_SEPARATOR", sizeof("CHAR_DIRECTION_BLOCK_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_BLOCK_SEPARATOR_name, &const_CHAR_DIRECTION_BLOCK_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_BLOCK_SEPARATOR_name); + + zval const_CHAR_DIRECTION_SEGMENT_SEPARATOR_value; + ZVAL_LONG(&const_CHAR_DIRECTION_SEGMENT_SEPARATOR_value, U_SEGMENT_SEPARATOR); + zend_string *const_CHAR_DIRECTION_SEGMENT_SEPARATOR_name = zend_string_init_interned("CHAR_DIRECTION_SEGMENT_SEPARATOR", sizeof("CHAR_DIRECTION_SEGMENT_SEPARATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_SEGMENT_SEPARATOR_name, &const_CHAR_DIRECTION_SEGMENT_SEPARATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_SEGMENT_SEPARATOR_name); + + zval const_CHAR_DIRECTION_WHITE_SPACE_NEUTRAL_value; + ZVAL_LONG(&const_CHAR_DIRECTION_WHITE_SPACE_NEUTRAL_value, U_WHITE_SPACE_NEUTRAL); + zend_string *const_CHAR_DIRECTION_WHITE_SPACE_NEUTRAL_name = zend_string_init_interned("CHAR_DIRECTION_WHITE_SPACE_NEUTRAL", sizeof("CHAR_DIRECTION_WHITE_SPACE_NEUTRAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_WHITE_SPACE_NEUTRAL_name, &const_CHAR_DIRECTION_WHITE_SPACE_NEUTRAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_WHITE_SPACE_NEUTRAL_name); + + zval const_CHAR_DIRECTION_OTHER_NEUTRAL_value; + ZVAL_LONG(&const_CHAR_DIRECTION_OTHER_NEUTRAL_value, U_OTHER_NEUTRAL); + zend_string *const_CHAR_DIRECTION_OTHER_NEUTRAL_name = zend_string_init_interned("CHAR_DIRECTION_OTHER_NEUTRAL", sizeof("CHAR_DIRECTION_OTHER_NEUTRAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_OTHER_NEUTRAL_name, &const_CHAR_DIRECTION_OTHER_NEUTRAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_OTHER_NEUTRAL_name); + + zval const_CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING_value; + ZVAL_LONG(&const_CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING_value, U_LEFT_TO_RIGHT_EMBEDDING); + zend_string *const_CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING_name = zend_string_init_interned("CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING", sizeof("CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING_name, &const_CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING_name); + + zval const_CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE_value; + ZVAL_LONG(&const_CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE_value, U_LEFT_TO_RIGHT_OVERRIDE); + zend_string *const_CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE_name = zend_string_init_interned("CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE", sizeof("CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE_name, &const_CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE_name); + + zval const_CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC_value; + ZVAL_LONG(&const_CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC_value, U_RIGHT_TO_LEFT_ARABIC); + zend_string *const_CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC_name = zend_string_init_interned("CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC", sizeof("CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC_name, &const_CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC_name); + + zval const_CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING_value; + ZVAL_LONG(&const_CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING_value, U_RIGHT_TO_LEFT_EMBEDDING); + zend_string *const_CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING_name = zend_string_init_interned("CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING", sizeof("CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING_name, &const_CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING_name); + + zval const_CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE_value; + ZVAL_LONG(&const_CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE_value, U_RIGHT_TO_LEFT_OVERRIDE); + zend_string *const_CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE_name = zend_string_init_interned("CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE", sizeof("CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE_name, &const_CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE_name); + + zval const_CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT_value; + ZVAL_LONG(&const_CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT_value, U_POP_DIRECTIONAL_FORMAT); + zend_string *const_CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT_name = zend_string_init_interned("CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT", sizeof("CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT_name, &const_CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT_name); + + zval const_CHAR_DIRECTION_DIR_NON_SPACING_MARK_value; + ZVAL_LONG(&const_CHAR_DIRECTION_DIR_NON_SPACING_MARK_value, U_DIR_NON_SPACING_MARK); + zend_string *const_CHAR_DIRECTION_DIR_NON_SPACING_MARK_name = zend_string_init_interned("CHAR_DIRECTION_DIR_NON_SPACING_MARK", sizeof("CHAR_DIRECTION_DIR_NON_SPACING_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_DIR_NON_SPACING_MARK_name, &const_CHAR_DIRECTION_DIR_NON_SPACING_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_DIR_NON_SPACING_MARK_name); + + zval const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_value; + ZVAL_LONG(&const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_value, U_BOUNDARY_NEUTRAL); + zend_string *const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_name = zend_string_init_interned("CHAR_DIRECTION_BOUNDARY_NEUTRAL", sizeof("CHAR_DIRECTION_BOUNDARY_NEUTRAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_name, &const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_name); +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_value; + ZVAL_LONG(&const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_value, U_FIRST_STRONG_ISOLATE); + zend_string *const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_FIRST_STRONG_ISOLATE", sizeof("CHAR_DIRECTION_FIRST_STRONG_ISOLATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_name, &const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_value; + ZVAL_LONG(&const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_value, U_LEFT_TO_RIGHT_ISOLATE); + zend_string *const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE", sizeof("CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_name, &const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_value; + ZVAL_LONG(&const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_value, U_RIGHT_TO_LEFT_ISOLATE); + zend_string *const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE", sizeof("CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_name, &const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_value; + ZVAL_LONG(&const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_value, U_POP_DIRECTIONAL_ISOLATE); + zend_string *const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE", sizeof("CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_name, &const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_name); +#endif + + zval const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_value; + ZVAL_LONG(&const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_value, U_CHAR_DIRECTION_COUNT); + zend_string *const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_name = zend_string_init_interned("CHAR_DIRECTION_CHAR_DIRECTION_COUNT", sizeof("CHAR_DIRECTION_CHAR_DIRECTION_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_name, &const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_name); + + zval const_BLOCK_CODE_NO_BLOCK_value; + ZVAL_LONG(&const_BLOCK_CODE_NO_BLOCK_value, UBLOCK_NO_BLOCK); + zend_string *const_BLOCK_CODE_NO_BLOCK_name = zend_string_init_interned("BLOCK_CODE_NO_BLOCK", sizeof("BLOCK_CODE_NO_BLOCK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_NO_BLOCK_name, &const_BLOCK_CODE_NO_BLOCK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_NO_BLOCK_name); + + zval const_BLOCK_CODE_BASIC_LATIN_value; + ZVAL_LONG(&const_BLOCK_CODE_BASIC_LATIN_value, UBLOCK_BASIC_LATIN); + zend_string *const_BLOCK_CODE_BASIC_LATIN_name = zend_string_init_interned("BLOCK_CODE_BASIC_LATIN", sizeof("BLOCK_CODE_BASIC_LATIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BASIC_LATIN_name, &const_BLOCK_CODE_BASIC_LATIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BASIC_LATIN_name); + + zval const_BLOCK_CODE_LATIN_1_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_1_SUPPLEMENT_value, UBLOCK_LATIN_1_SUPPLEMENT); + zend_string *const_BLOCK_CODE_LATIN_1_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_LATIN_1_SUPPLEMENT", sizeof("BLOCK_CODE_LATIN_1_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_1_SUPPLEMENT_name, &const_BLOCK_CODE_LATIN_1_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_1_SUPPLEMENT_name); + + zval const_BLOCK_CODE_LATIN_EXTENDED_A_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_A_value, UBLOCK_LATIN_EXTENDED_A); + zend_string *const_BLOCK_CODE_LATIN_EXTENDED_A_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_A", sizeof("BLOCK_CODE_LATIN_EXTENDED_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_A_name, &const_BLOCK_CODE_LATIN_EXTENDED_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_A_name); + + zval const_BLOCK_CODE_LATIN_EXTENDED_B_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_B_value, UBLOCK_LATIN_EXTENDED_B); + zend_string *const_BLOCK_CODE_LATIN_EXTENDED_B_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_B", sizeof("BLOCK_CODE_LATIN_EXTENDED_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_B_name, &const_BLOCK_CODE_LATIN_EXTENDED_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_B_name); + + zval const_BLOCK_CODE_IPA_EXTENSIONS_value; + ZVAL_LONG(&const_BLOCK_CODE_IPA_EXTENSIONS_value, UBLOCK_IPA_EXTENSIONS); + zend_string *const_BLOCK_CODE_IPA_EXTENSIONS_name = zend_string_init_interned("BLOCK_CODE_IPA_EXTENSIONS", sizeof("BLOCK_CODE_IPA_EXTENSIONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_IPA_EXTENSIONS_name, &const_BLOCK_CODE_IPA_EXTENSIONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_IPA_EXTENSIONS_name); + + zval const_BLOCK_CODE_SPACING_MODIFIER_LETTERS_value; + ZVAL_LONG(&const_BLOCK_CODE_SPACING_MODIFIER_LETTERS_value, UBLOCK_SPACING_MODIFIER_LETTERS); + zend_string *const_BLOCK_CODE_SPACING_MODIFIER_LETTERS_name = zend_string_init_interned("BLOCK_CODE_SPACING_MODIFIER_LETTERS", sizeof("BLOCK_CODE_SPACING_MODIFIER_LETTERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SPACING_MODIFIER_LETTERS_name, &const_BLOCK_CODE_SPACING_MODIFIER_LETTERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SPACING_MODIFIER_LETTERS_name); + + zval const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_value; + ZVAL_LONG(&const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_value, UBLOCK_COMBINING_DIACRITICAL_MARKS); + zend_string *const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_name = zend_string_init_interned("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS", sizeof("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_name, &const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_name); + + zval const_BLOCK_CODE_GREEK_value; + ZVAL_LONG(&const_BLOCK_CODE_GREEK_value, UBLOCK_GREEK); + zend_string *const_BLOCK_CODE_GREEK_name = zend_string_init_interned("BLOCK_CODE_GREEK", sizeof("BLOCK_CODE_GREEK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GREEK_name, &const_BLOCK_CODE_GREEK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GREEK_name); + + zval const_BLOCK_CODE_CYRILLIC_value; + ZVAL_LONG(&const_BLOCK_CODE_CYRILLIC_value, UBLOCK_CYRILLIC); + zend_string *const_BLOCK_CODE_CYRILLIC_name = zend_string_init_interned("BLOCK_CODE_CYRILLIC", sizeof("BLOCK_CODE_CYRILLIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CYRILLIC_name, &const_BLOCK_CODE_CYRILLIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CYRILLIC_name); + + zval const_BLOCK_CODE_ARMENIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_ARMENIAN_value, UBLOCK_ARMENIAN); + zend_string *const_BLOCK_CODE_ARMENIAN_name = zend_string_init_interned("BLOCK_CODE_ARMENIAN", sizeof("BLOCK_CODE_ARMENIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARMENIAN_name, &const_BLOCK_CODE_ARMENIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARMENIAN_name); + + zval const_BLOCK_CODE_HEBREW_value; + ZVAL_LONG(&const_BLOCK_CODE_HEBREW_value, UBLOCK_HEBREW); + zend_string *const_BLOCK_CODE_HEBREW_name = zend_string_init_interned("BLOCK_CODE_HEBREW", sizeof("BLOCK_CODE_HEBREW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HEBREW_name, &const_BLOCK_CODE_HEBREW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HEBREW_name); + + zval const_BLOCK_CODE_ARABIC_value; + ZVAL_LONG(&const_BLOCK_CODE_ARABIC_value, UBLOCK_ARABIC); + zend_string *const_BLOCK_CODE_ARABIC_name = zend_string_init_interned("BLOCK_CODE_ARABIC", sizeof("BLOCK_CODE_ARABIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARABIC_name, &const_BLOCK_CODE_ARABIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARABIC_name); + + zval const_BLOCK_CODE_SYRIAC_value; + ZVAL_LONG(&const_BLOCK_CODE_SYRIAC_value, UBLOCK_SYRIAC); + zend_string *const_BLOCK_CODE_SYRIAC_name = zend_string_init_interned("BLOCK_CODE_SYRIAC", sizeof("BLOCK_CODE_SYRIAC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SYRIAC_name, &const_BLOCK_CODE_SYRIAC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SYRIAC_name); + + zval const_BLOCK_CODE_THAANA_value; + ZVAL_LONG(&const_BLOCK_CODE_THAANA_value, UBLOCK_THAANA); + zend_string *const_BLOCK_CODE_THAANA_name = zend_string_init_interned("BLOCK_CODE_THAANA", sizeof("BLOCK_CODE_THAANA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_THAANA_name, &const_BLOCK_CODE_THAANA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_THAANA_name); + + zval const_BLOCK_CODE_DEVANAGARI_value; + ZVAL_LONG(&const_BLOCK_CODE_DEVANAGARI_value, UBLOCK_DEVANAGARI); + zend_string *const_BLOCK_CODE_DEVANAGARI_name = zend_string_init_interned("BLOCK_CODE_DEVANAGARI", sizeof("BLOCK_CODE_DEVANAGARI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_DEVANAGARI_name, &const_BLOCK_CODE_DEVANAGARI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_DEVANAGARI_name); + + zval const_BLOCK_CODE_BENGALI_value; + ZVAL_LONG(&const_BLOCK_CODE_BENGALI_value, UBLOCK_BENGALI); + zend_string *const_BLOCK_CODE_BENGALI_name = zend_string_init_interned("BLOCK_CODE_BENGALI", sizeof("BLOCK_CODE_BENGALI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BENGALI_name, &const_BLOCK_CODE_BENGALI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BENGALI_name); + + zval const_BLOCK_CODE_GURMUKHI_value; + ZVAL_LONG(&const_BLOCK_CODE_GURMUKHI_value, UBLOCK_GURMUKHI); + zend_string *const_BLOCK_CODE_GURMUKHI_name = zend_string_init_interned("BLOCK_CODE_GURMUKHI", sizeof("BLOCK_CODE_GURMUKHI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GURMUKHI_name, &const_BLOCK_CODE_GURMUKHI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GURMUKHI_name); + + zval const_BLOCK_CODE_GUJARATI_value; + ZVAL_LONG(&const_BLOCK_CODE_GUJARATI_value, UBLOCK_GUJARATI); + zend_string *const_BLOCK_CODE_GUJARATI_name = zend_string_init_interned("BLOCK_CODE_GUJARATI", sizeof("BLOCK_CODE_GUJARATI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GUJARATI_name, &const_BLOCK_CODE_GUJARATI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GUJARATI_name); + + zval const_BLOCK_CODE_ORIYA_value; + ZVAL_LONG(&const_BLOCK_CODE_ORIYA_value, UBLOCK_ORIYA); + zend_string *const_BLOCK_CODE_ORIYA_name = zend_string_init_interned("BLOCK_CODE_ORIYA", sizeof("BLOCK_CODE_ORIYA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ORIYA_name, &const_BLOCK_CODE_ORIYA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ORIYA_name); + + zval const_BLOCK_CODE_TAMIL_value; + ZVAL_LONG(&const_BLOCK_CODE_TAMIL_value, UBLOCK_TAMIL); + zend_string *const_BLOCK_CODE_TAMIL_name = zend_string_init_interned("BLOCK_CODE_TAMIL", sizeof("BLOCK_CODE_TAMIL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAMIL_name, &const_BLOCK_CODE_TAMIL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAMIL_name); + + zval const_BLOCK_CODE_TELUGU_value; + ZVAL_LONG(&const_BLOCK_CODE_TELUGU_value, UBLOCK_TELUGU); + zend_string *const_BLOCK_CODE_TELUGU_name = zend_string_init_interned("BLOCK_CODE_TELUGU", sizeof("BLOCK_CODE_TELUGU") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TELUGU_name, &const_BLOCK_CODE_TELUGU_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TELUGU_name); + + zval const_BLOCK_CODE_KANNADA_value; + ZVAL_LONG(&const_BLOCK_CODE_KANNADA_value, UBLOCK_KANNADA); + zend_string *const_BLOCK_CODE_KANNADA_name = zend_string_init_interned("BLOCK_CODE_KANNADA", sizeof("BLOCK_CODE_KANNADA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KANNADA_name, &const_BLOCK_CODE_KANNADA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KANNADA_name); + + zval const_BLOCK_CODE_MALAYALAM_value; + ZVAL_LONG(&const_BLOCK_CODE_MALAYALAM_value, UBLOCK_MALAYALAM); + zend_string *const_BLOCK_CODE_MALAYALAM_name = zend_string_init_interned("BLOCK_CODE_MALAYALAM", sizeof("BLOCK_CODE_MALAYALAM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MALAYALAM_name, &const_BLOCK_CODE_MALAYALAM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MALAYALAM_name); + + zval const_BLOCK_CODE_SINHALA_value; + ZVAL_LONG(&const_BLOCK_CODE_SINHALA_value, UBLOCK_SINHALA); + zend_string *const_BLOCK_CODE_SINHALA_name = zend_string_init_interned("BLOCK_CODE_SINHALA", sizeof("BLOCK_CODE_SINHALA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SINHALA_name, &const_BLOCK_CODE_SINHALA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SINHALA_name); + + zval const_BLOCK_CODE_THAI_value; + ZVAL_LONG(&const_BLOCK_CODE_THAI_value, UBLOCK_THAI); + zend_string *const_BLOCK_CODE_THAI_name = zend_string_init_interned("BLOCK_CODE_THAI", sizeof("BLOCK_CODE_THAI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_THAI_name, &const_BLOCK_CODE_THAI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_THAI_name); + + zval const_BLOCK_CODE_LAO_value; + ZVAL_LONG(&const_BLOCK_CODE_LAO_value, UBLOCK_LAO); + zend_string *const_BLOCK_CODE_LAO_name = zend_string_init_interned("BLOCK_CODE_LAO", sizeof("BLOCK_CODE_LAO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LAO_name, &const_BLOCK_CODE_LAO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LAO_name); + + zval const_BLOCK_CODE_TIBETAN_value; + ZVAL_LONG(&const_BLOCK_CODE_TIBETAN_value, UBLOCK_TIBETAN); + zend_string *const_BLOCK_CODE_TIBETAN_name = zend_string_init_interned("BLOCK_CODE_TIBETAN", sizeof("BLOCK_CODE_TIBETAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TIBETAN_name, &const_BLOCK_CODE_TIBETAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TIBETAN_name); + + zval const_BLOCK_CODE_MYANMAR_value; + ZVAL_LONG(&const_BLOCK_CODE_MYANMAR_value, UBLOCK_MYANMAR); + zend_string *const_BLOCK_CODE_MYANMAR_name = zend_string_init_interned("BLOCK_CODE_MYANMAR", sizeof("BLOCK_CODE_MYANMAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MYANMAR_name, &const_BLOCK_CODE_MYANMAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MYANMAR_name); + + zval const_BLOCK_CODE_GEORGIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_GEORGIAN_value, UBLOCK_GEORGIAN); + zend_string *const_BLOCK_CODE_GEORGIAN_name = zend_string_init_interned("BLOCK_CODE_GEORGIAN", sizeof("BLOCK_CODE_GEORGIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GEORGIAN_name, &const_BLOCK_CODE_GEORGIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GEORGIAN_name); + + zval const_BLOCK_CODE_HANGUL_JAMO_value; + ZVAL_LONG(&const_BLOCK_CODE_HANGUL_JAMO_value, UBLOCK_HANGUL_JAMO); + zend_string *const_BLOCK_CODE_HANGUL_JAMO_name = zend_string_init_interned("BLOCK_CODE_HANGUL_JAMO", sizeof("BLOCK_CODE_HANGUL_JAMO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HANGUL_JAMO_name, &const_BLOCK_CODE_HANGUL_JAMO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HANGUL_JAMO_name); + + zval const_BLOCK_CODE_ETHIOPIC_value; + ZVAL_LONG(&const_BLOCK_CODE_ETHIOPIC_value, UBLOCK_ETHIOPIC); + zend_string *const_BLOCK_CODE_ETHIOPIC_name = zend_string_init_interned("BLOCK_CODE_ETHIOPIC", sizeof("BLOCK_CODE_ETHIOPIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ETHIOPIC_name, &const_BLOCK_CODE_ETHIOPIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ETHIOPIC_name); + + zval const_BLOCK_CODE_CHEROKEE_value; + ZVAL_LONG(&const_BLOCK_CODE_CHEROKEE_value, UBLOCK_CHEROKEE); + zend_string *const_BLOCK_CODE_CHEROKEE_name = zend_string_init_interned("BLOCK_CODE_CHEROKEE", sizeof("BLOCK_CODE_CHEROKEE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CHEROKEE_name, &const_BLOCK_CODE_CHEROKEE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CHEROKEE_name); + + zval const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_value; + ZVAL_LONG(&const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_value, UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS); + zend_string *const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_name = zend_string_init_interned("BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS", sizeof("BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_name, &const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_name); + + zval const_BLOCK_CODE_OGHAM_value; + ZVAL_LONG(&const_BLOCK_CODE_OGHAM_value, UBLOCK_OGHAM); + zend_string *const_BLOCK_CODE_OGHAM_name = zend_string_init_interned("BLOCK_CODE_OGHAM", sizeof("BLOCK_CODE_OGHAM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OGHAM_name, &const_BLOCK_CODE_OGHAM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OGHAM_name); + + zval const_BLOCK_CODE_RUNIC_value; + ZVAL_LONG(&const_BLOCK_CODE_RUNIC_value, UBLOCK_RUNIC); + zend_string *const_BLOCK_CODE_RUNIC_name = zend_string_init_interned("BLOCK_CODE_RUNIC", sizeof("BLOCK_CODE_RUNIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_RUNIC_name, &const_BLOCK_CODE_RUNIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_RUNIC_name); + + zval const_BLOCK_CODE_KHMER_value; + ZVAL_LONG(&const_BLOCK_CODE_KHMER_value, UBLOCK_KHMER); + zend_string *const_BLOCK_CODE_KHMER_name = zend_string_init_interned("BLOCK_CODE_KHMER", sizeof("BLOCK_CODE_KHMER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KHMER_name, &const_BLOCK_CODE_KHMER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KHMER_name); + + zval const_BLOCK_CODE_MONGOLIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_MONGOLIAN_value, UBLOCK_MONGOLIAN); + zend_string *const_BLOCK_CODE_MONGOLIAN_name = zend_string_init_interned("BLOCK_CODE_MONGOLIAN", sizeof("BLOCK_CODE_MONGOLIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MONGOLIAN_name, &const_BLOCK_CODE_MONGOLIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MONGOLIAN_name); + + zval const_BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL_value, UBLOCK_LATIN_EXTENDED_ADDITIONAL); + zend_string *const_BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL", sizeof("BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL_name, &const_BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL_name); + + zval const_BLOCK_CODE_GREEK_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_GREEK_EXTENDED_value, UBLOCK_GREEK_EXTENDED); + zend_string *const_BLOCK_CODE_GREEK_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_GREEK_EXTENDED", sizeof("BLOCK_CODE_GREEK_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GREEK_EXTENDED_name, &const_BLOCK_CODE_GREEK_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GREEK_EXTENDED_name); + + zval const_BLOCK_CODE_GENERAL_PUNCTUATION_value; + ZVAL_LONG(&const_BLOCK_CODE_GENERAL_PUNCTUATION_value, UBLOCK_GENERAL_PUNCTUATION); + zend_string *const_BLOCK_CODE_GENERAL_PUNCTUATION_name = zend_string_init_interned("BLOCK_CODE_GENERAL_PUNCTUATION", sizeof("BLOCK_CODE_GENERAL_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GENERAL_PUNCTUATION_name, &const_BLOCK_CODE_GENERAL_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GENERAL_PUNCTUATION_name); + + zval const_BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS_value, UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS); + zend_string *const_BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS_name = zend_string_init_interned("BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS", sizeof("BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS_name, &const_BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS_name); + + zval const_BLOCK_CODE_CURRENCY_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_CURRENCY_SYMBOLS_value, UBLOCK_CURRENCY_SYMBOLS); + zend_string *const_BLOCK_CODE_CURRENCY_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_CURRENCY_SYMBOLS", sizeof("BLOCK_CODE_CURRENCY_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CURRENCY_SYMBOLS_name, &const_BLOCK_CODE_CURRENCY_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CURRENCY_SYMBOLS_name); + + zval const_BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS_value, UBLOCK_COMBINING_MARKS_FOR_SYMBOLS); + zend_string *const_BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS", sizeof("BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS_name, &const_BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS_name); + + zval const_BLOCK_CODE_LETTERLIKE_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_LETTERLIKE_SYMBOLS_value, UBLOCK_LETTERLIKE_SYMBOLS); + zend_string *const_BLOCK_CODE_LETTERLIKE_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_LETTERLIKE_SYMBOLS", sizeof("BLOCK_CODE_LETTERLIKE_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LETTERLIKE_SYMBOLS_name, &const_BLOCK_CODE_LETTERLIKE_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LETTERLIKE_SYMBOLS_name); + + zval const_BLOCK_CODE_NUMBER_FORMS_value; + ZVAL_LONG(&const_BLOCK_CODE_NUMBER_FORMS_value, UBLOCK_NUMBER_FORMS); + zend_string *const_BLOCK_CODE_NUMBER_FORMS_name = zend_string_init_interned("BLOCK_CODE_NUMBER_FORMS", sizeof("BLOCK_CODE_NUMBER_FORMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_NUMBER_FORMS_name, &const_BLOCK_CODE_NUMBER_FORMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_NUMBER_FORMS_name); + + zval const_BLOCK_CODE_ARROWS_value; + ZVAL_LONG(&const_BLOCK_CODE_ARROWS_value, UBLOCK_ARROWS); + zend_string *const_BLOCK_CODE_ARROWS_name = zend_string_init_interned("BLOCK_CODE_ARROWS", sizeof("BLOCK_CODE_ARROWS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARROWS_name, &const_BLOCK_CODE_ARROWS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARROWS_name); + + zval const_BLOCK_CODE_MATHEMATICAL_OPERATORS_value; + ZVAL_LONG(&const_BLOCK_CODE_MATHEMATICAL_OPERATORS_value, UBLOCK_MATHEMATICAL_OPERATORS); + zend_string *const_BLOCK_CODE_MATHEMATICAL_OPERATORS_name = zend_string_init_interned("BLOCK_CODE_MATHEMATICAL_OPERATORS", sizeof("BLOCK_CODE_MATHEMATICAL_OPERATORS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MATHEMATICAL_OPERATORS_name, &const_BLOCK_CODE_MATHEMATICAL_OPERATORS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MATHEMATICAL_OPERATORS_name); + + zval const_BLOCK_CODE_MISCELLANEOUS_TECHNICAL_value; + ZVAL_LONG(&const_BLOCK_CODE_MISCELLANEOUS_TECHNICAL_value, UBLOCK_MISCELLANEOUS_TECHNICAL); + zend_string *const_BLOCK_CODE_MISCELLANEOUS_TECHNICAL_name = zend_string_init_interned("BLOCK_CODE_MISCELLANEOUS_TECHNICAL", sizeof("BLOCK_CODE_MISCELLANEOUS_TECHNICAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MISCELLANEOUS_TECHNICAL_name, &const_BLOCK_CODE_MISCELLANEOUS_TECHNICAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MISCELLANEOUS_TECHNICAL_name); + + zval const_BLOCK_CODE_CONTROL_PICTURES_value; + ZVAL_LONG(&const_BLOCK_CODE_CONTROL_PICTURES_value, UBLOCK_CONTROL_PICTURES); + zend_string *const_BLOCK_CODE_CONTROL_PICTURES_name = zend_string_init_interned("BLOCK_CODE_CONTROL_PICTURES", sizeof("BLOCK_CODE_CONTROL_PICTURES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CONTROL_PICTURES_name, &const_BLOCK_CODE_CONTROL_PICTURES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CONTROL_PICTURES_name); + + zval const_BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION_value; + ZVAL_LONG(&const_BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION_value, UBLOCK_OPTICAL_CHARACTER_RECOGNITION); + zend_string *const_BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION_name = zend_string_init_interned("BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION", sizeof("BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION_name, &const_BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION_name); + + zval const_BLOCK_CODE_ENCLOSED_ALPHANUMERICS_value; + ZVAL_LONG(&const_BLOCK_CODE_ENCLOSED_ALPHANUMERICS_value, UBLOCK_ENCLOSED_ALPHANUMERICS); + zend_string *const_BLOCK_CODE_ENCLOSED_ALPHANUMERICS_name = zend_string_init_interned("BLOCK_CODE_ENCLOSED_ALPHANUMERICS", sizeof("BLOCK_CODE_ENCLOSED_ALPHANUMERICS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ENCLOSED_ALPHANUMERICS_name, &const_BLOCK_CODE_ENCLOSED_ALPHANUMERICS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ENCLOSED_ALPHANUMERICS_name); + + zval const_BLOCK_CODE_BOX_DRAWING_value; + ZVAL_LONG(&const_BLOCK_CODE_BOX_DRAWING_value, UBLOCK_BOX_DRAWING); + zend_string *const_BLOCK_CODE_BOX_DRAWING_name = zend_string_init_interned("BLOCK_CODE_BOX_DRAWING", sizeof("BLOCK_CODE_BOX_DRAWING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BOX_DRAWING_name, &const_BLOCK_CODE_BOX_DRAWING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BOX_DRAWING_name); + + zval const_BLOCK_CODE_BLOCK_ELEMENTS_value; + ZVAL_LONG(&const_BLOCK_CODE_BLOCK_ELEMENTS_value, UBLOCK_BLOCK_ELEMENTS); + zend_string *const_BLOCK_CODE_BLOCK_ELEMENTS_name = zend_string_init_interned("BLOCK_CODE_BLOCK_ELEMENTS", sizeof("BLOCK_CODE_BLOCK_ELEMENTS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BLOCK_ELEMENTS_name, &const_BLOCK_CODE_BLOCK_ELEMENTS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BLOCK_ELEMENTS_name); + + zval const_BLOCK_CODE_GEOMETRIC_SHAPES_value; + ZVAL_LONG(&const_BLOCK_CODE_GEOMETRIC_SHAPES_value, UBLOCK_GEOMETRIC_SHAPES); + zend_string *const_BLOCK_CODE_GEOMETRIC_SHAPES_name = zend_string_init_interned("BLOCK_CODE_GEOMETRIC_SHAPES", sizeof("BLOCK_CODE_GEOMETRIC_SHAPES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GEOMETRIC_SHAPES_name, &const_BLOCK_CODE_GEOMETRIC_SHAPES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GEOMETRIC_SHAPES_name); + + zval const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_value, UBLOCK_MISCELLANEOUS_SYMBOLS); + zend_string *const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_MISCELLANEOUS_SYMBOLS", sizeof("BLOCK_CODE_MISCELLANEOUS_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_name, &const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_name); + + zval const_BLOCK_CODE_DINGBATS_value; + ZVAL_LONG(&const_BLOCK_CODE_DINGBATS_value, UBLOCK_DINGBATS); + zend_string *const_BLOCK_CODE_DINGBATS_name = zend_string_init_interned("BLOCK_CODE_DINGBATS", sizeof("BLOCK_CODE_DINGBATS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_DINGBATS_name, &const_BLOCK_CODE_DINGBATS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_DINGBATS_name); + + zval const_BLOCK_CODE_BRAILLE_PATTERNS_value; + ZVAL_LONG(&const_BLOCK_CODE_BRAILLE_PATTERNS_value, UBLOCK_BRAILLE_PATTERNS); + zend_string *const_BLOCK_CODE_BRAILLE_PATTERNS_name = zend_string_init_interned("BLOCK_CODE_BRAILLE_PATTERNS", sizeof("BLOCK_CODE_BRAILLE_PATTERNS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BRAILLE_PATTERNS_name, &const_BLOCK_CODE_BRAILLE_PATTERNS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BRAILLE_PATTERNS_name); + + zval const_BLOCK_CODE_CJK_RADICALS_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_RADICALS_SUPPLEMENT_value, UBLOCK_CJK_RADICALS_SUPPLEMENT); + zend_string *const_BLOCK_CODE_CJK_RADICALS_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_CJK_RADICALS_SUPPLEMENT", sizeof("BLOCK_CODE_CJK_RADICALS_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_RADICALS_SUPPLEMENT_name, &const_BLOCK_CODE_CJK_RADICALS_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_RADICALS_SUPPLEMENT_name); + + zval const_BLOCK_CODE_KANGXI_RADICALS_value; + ZVAL_LONG(&const_BLOCK_CODE_KANGXI_RADICALS_value, UBLOCK_KANGXI_RADICALS); + zend_string *const_BLOCK_CODE_KANGXI_RADICALS_name = zend_string_init_interned("BLOCK_CODE_KANGXI_RADICALS", sizeof("BLOCK_CODE_KANGXI_RADICALS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KANGXI_RADICALS_name, &const_BLOCK_CODE_KANGXI_RADICALS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KANGXI_RADICALS_name); + + zval const_BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS_value; + ZVAL_LONG(&const_BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS_value, UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS); + zend_string *const_BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS_name = zend_string_init_interned("BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS", sizeof("BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS_name, &const_BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS_name); + + zval const_BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION_value, UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION); + zend_string *const_BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION_name = zend_string_init_interned("BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION", sizeof("BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION_name, &const_BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION_name); + + zval const_BLOCK_CODE_HIRAGANA_value; + ZVAL_LONG(&const_BLOCK_CODE_HIRAGANA_value, UBLOCK_HIRAGANA); + zend_string *const_BLOCK_CODE_HIRAGANA_name = zend_string_init_interned("BLOCK_CODE_HIRAGANA", sizeof("BLOCK_CODE_HIRAGANA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HIRAGANA_name, &const_BLOCK_CODE_HIRAGANA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HIRAGANA_name); + + zval const_BLOCK_CODE_KATAKANA_value; + ZVAL_LONG(&const_BLOCK_CODE_KATAKANA_value, UBLOCK_KATAKANA); + zend_string *const_BLOCK_CODE_KATAKANA_name = zend_string_init_interned("BLOCK_CODE_KATAKANA", sizeof("BLOCK_CODE_KATAKANA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KATAKANA_name, &const_BLOCK_CODE_KATAKANA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KATAKANA_name); + + zval const_BLOCK_CODE_BOPOMOFO_value; + ZVAL_LONG(&const_BLOCK_CODE_BOPOMOFO_value, UBLOCK_BOPOMOFO); + zend_string *const_BLOCK_CODE_BOPOMOFO_name = zend_string_init_interned("BLOCK_CODE_BOPOMOFO", sizeof("BLOCK_CODE_BOPOMOFO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BOPOMOFO_name, &const_BLOCK_CODE_BOPOMOFO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BOPOMOFO_name); + + zval const_BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO_value; + ZVAL_LONG(&const_BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO_value, UBLOCK_HANGUL_COMPATIBILITY_JAMO); + zend_string *const_BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO_name = zend_string_init_interned("BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO", sizeof("BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO_name, &const_BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO_name); + + zval const_BLOCK_CODE_KANBUN_value; + ZVAL_LONG(&const_BLOCK_CODE_KANBUN_value, UBLOCK_KANBUN); + zend_string *const_BLOCK_CODE_KANBUN_name = zend_string_init_interned("BLOCK_CODE_KANBUN", sizeof("BLOCK_CODE_KANBUN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KANBUN_name, &const_BLOCK_CODE_KANBUN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KANBUN_name); + + zval const_BLOCK_CODE_BOPOMOFO_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_BOPOMOFO_EXTENDED_value, UBLOCK_BOPOMOFO_EXTENDED); + zend_string *const_BLOCK_CODE_BOPOMOFO_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_BOPOMOFO_EXTENDED", sizeof("BLOCK_CODE_BOPOMOFO_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BOPOMOFO_EXTENDED_name, &const_BLOCK_CODE_BOPOMOFO_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BOPOMOFO_EXTENDED_name); + + zval const_BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS_value; + ZVAL_LONG(&const_BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS_value, UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS); + zend_string *const_BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS_name = zend_string_init_interned("BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS", sizeof("BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS_name, &const_BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS_name); + + zval const_BLOCK_CODE_CJK_COMPATIBILITY_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_COMPATIBILITY_value, UBLOCK_CJK_COMPATIBILITY); + zend_string *const_BLOCK_CODE_CJK_COMPATIBILITY_name = zend_string_init_interned("BLOCK_CODE_CJK_COMPATIBILITY", sizeof("BLOCK_CODE_CJK_COMPATIBILITY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_COMPATIBILITY_name, &const_BLOCK_CODE_CJK_COMPATIBILITY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_COMPATIBILITY_name); + + zval const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_value, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A); + zend_string *const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_name = zend_string_init_interned("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A", sizeof("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_name, &const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_name); + + zval const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_value, UBLOCK_CJK_UNIFIED_IDEOGRAPHS); + zend_string *const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_name = zend_string_init_interned("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS", sizeof("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_name, &const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_name); + + zval const_BLOCK_CODE_YI_SYLLABLES_value; + ZVAL_LONG(&const_BLOCK_CODE_YI_SYLLABLES_value, UBLOCK_YI_SYLLABLES); + zend_string *const_BLOCK_CODE_YI_SYLLABLES_name = zend_string_init_interned("BLOCK_CODE_YI_SYLLABLES", sizeof("BLOCK_CODE_YI_SYLLABLES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_YI_SYLLABLES_name, &const_BLOCK_CODE_YI_SYLLABLES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_YI_SYLLABLES_name); + + zval const_BLOCK_CODE_YI_RADICALS_value; + ZVAL_LONG(&const_BLOCK_CODE_YI_RADICALS_value, UBLOCK_YI_RADICALS); + zend_string *const_BLOCK_CODE_YI_RADICALS_name = zend_string_init_interned("BLOCK_CODE_YI_RADICALS", sizeof("BLOCK_CODE_YI_RADICALS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_YI_RADICALS_name, &const_BLOCK_CODE_YI_RADICALS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_YI_RADICALS_name); + + zval const_BLOCK_CODE_HANGUL_SYLLABLES_value; + ZVAL_LONG(&const_BLOCK_CODE_HANGUL_SYLLABLES_value, UBLOCK_HANGUL_SYLLABLES); + zend_string *const_BLOCK_CODE_HANGUL_SYLLABLES_name = zend_string_init_interned("BLOCK_CODE_HANGUL_SYLLABLES", sizeof("BLOCK_CODE_HANGUL_SYLLABLES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HANGUL_SYLLABLES_name, &const_BLOCK_CODE_HANGUL_SYLLABLES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HANGUL_SYLLABLES_name); + + zval const_BLOCK_CODE_HIGH_SURROGATES_value; + ZVAL_LONG(&const_BLOCK_CODE_HIGH_SURROGATES_value, UBLOCK_HIGH_SURROGATES); + zend_string *const_BLOCK_CODE_HIGH_SURROGATES_name = zend_string_init_interned("BLOCK_CODE_HIGH_SURROGATES", sizeof("BLOCK_CODE_HIGH_SURROGATES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HIGH_SURROGATES_name, &const_BLOCK_CODE_HIGH_SURROGATES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HIGH_SURROGATES_name); + + zval const_BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES_value; + ZVAL_LONG(&const_BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES_value, UBLOCK_HIGH_PRIVATE_USE_SURROGATES); + zend_string *const_BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES_name = zend_string_init_interned("BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES", sizeof("BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES_name, &const_BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES_name); + + zval const_BLOCK_CODE_LOW_SURROGATES_value; + ZVAL_LONG(&const_BLOCK_CODE_LOW_SURROGATES_value, UBLOCK_LOW_SURROGATES); + zend_string *const_BLOCK_CODE_LOW_SURROGATES_name = zend_string_init_interned("BLOCK_CODE_LOW_SURROGATES", sizeof("BLOCK_CODE_LOW_SURROGATES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LOW_SURROGATES_name, &const_BLOCK_CODE_LOW_SURROGATES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LOW_SURROGATES_name); + + zval const_BLOCK_CODE_PRIVATE_USE_AREA_value; + ZVAL_LONG(&const_BLOCK_CODE_PRIVATE_USE_AREA_value, UBLOCK_PRIVATE_USE_AREA); + zend_string *const_BLOCK_CODE_PRIVATE_USE_AREA_name = zend_string_init_interned("BLOCK_CODE_PRIVATE_USE_AREA", sizeof("BLOCK_CODE_PRIVATE_USE_AREA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PRIVATE_USE_AREA_name, &const_BLOCK_CODE_PRIVATE_USE_AREA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PRIVATE_USE_AREA_name); + + zval const_BLOCK_CODE_PRIVATE_USE_value; + ZVAL_LONG(&const_BLOCK_CODE_PRIVATE_USE_value, UBLOCK_PRIVATE_USE); + zend_string *const_BLOCK_CODE_PRIVATE_USE_name = zend_string_init_interned("BLOCK_CODE_PRIVATE_USE", sizeof("BLOCK_CODE_PRIVATE_USE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PRIVATE_USE_name, &const_BLOCK_CODE_PRIVATE_USE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PRIVATE_USE_name); + + zval const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_value, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS); + zend_string *const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_name = zend_string_init_interned("BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS", sizeof("BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_name, &const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_name); + + zval const_BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS_value; + ZVAL_LONG(&const_BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS_value, UBLOCK_ALPHABETIC_PRESENTATION_FORMS); + zend_string *const_BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS_name = zend_string_init_interned("BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS", sizeof("BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS_name, &const_BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS_name); + + zval const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A_value; + ZVAL_LONG(&const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A_value, UBLOCK_ARABIC_PRESENTATION_FORMS_A); + zend_string *const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A_name = zend_string_init_interned("BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A", sizeof("BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A_name, &const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A_name); + + zval const_BLOCK_CODE_COMBINING_HALF_MARKS_value; + ZVAL_LONG(&const_BLOCK_CODE_COMBINING_HALF_MARKS_value, UBLOCK_COMBINING_HALF_MARKS); + zend_string *const_BLOCK_CODE_COMBINING_HALF_MARKS_name = zend_string_init_interned("BLOCK_CODE_COMBINING_HALF_MARKS", sizeof("BLOCK_CODE_COMBINING_HALF_MARKS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COMBINING_HALF_MARKS_name, &const_BLOCK_CODE_COMBINING_HALF_MARKS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COMBINING_HALF_MARKS_name); + + zval const_BLOCK_CODE_CJK_COMPATIBILITY_FORMS_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_COMPATIBILITY_FORMS_value, UBLOCK_CJK_COMPATIBILITY_FORMS); + zend_string *const_BLOCK_CODE_CJK_COMPATIBILITY_FORMS_name = zend_string_init_interned("BLOCK_CODE_CJK_COMPATIBILITY_FORMS", sizeof("BLOCK_CODE_CJK_COMPATIBILITY_FORMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_COMPATIBILITY_FORMS_name, &const_BLOCK_CODE_CJK_COMPATIBILITY_FORMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_COMPATIBILITY_FORMS_name); + + zval const_BLOCK_CODE_SMALL_FORM_VARIANTS_value; + ZVAL_LONG(&const_BLOCK_CODE_SMALL_FORM_VARIANTS_value, UBLOCK_SMALL_FORM_VARIANTS); + zend_string *const_BLOCK_CODE_SMALL_FORM_VARIANTS_name = zend_string_init_interned("BLOCK_CODE_SMALL_FORM_VARIANTS", sizeof("BLOCK_CODE_SMALL_FORM_VARIANTS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SMALL_FORM_VARIANTS_name, &const_BLOCK_CODE_SMALL_FORM_VARIANTS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SMALL_FORM_VARIANTS_name); + + zval const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B_value; + ZVAL_LONG(&const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B_value, UBLOCK_ARABIC_PRESENTATION_FORMS_B); + zend_string *const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B_name = zend_string_init_interned("BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B", sizeof("BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B_name, &const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B_name); + + zval const_BLOCK_CODE_SPECIALS_value; + ZVAL_LONG(&const_BLOCK_CODE_SPECIALS_value, UBLOCK_SPECIALS); + zend_string *const_BLOCK_CODE_SPECIALS_name = zend_string_init_interned("BLOCK_CODE_SPECIALS", sizeof("BLOCK_CODE_SPECIALS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SPECIALS_name, &const_BLOCK_CODE_SPECIALS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SPECIALS_name); + + zval const_BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS_value; + ZVAL_LONG(&const_BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS_value, UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS); + zend_string *const_BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS_name = zend_string_init_interned("BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS", sizeof("BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS_name, &const_BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS_name); + + zval const_BLOCK_CODE_OLD_ITALIC_value; + ZVAL_LONG(&const_BLOCK_CODE_OLD_ITALIC_value, UBLOCK_OLD_ITALIC); + zend_string *const_BLOCK_CODE_OLD_ITALIC_name = zend_string_init_interned("BLOCK_CODE_OLD_ITALIC", sizeof("BLOCK_CODE_OLD_ITALIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OLD_ITALIC_name, &const_BLOCK_CODE_OLD_ITALIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OLD_ITALIC_name); + + zval const_BLOCK_CODE_GOTHIC_value; + ZVAL_LONG(&const_BLOCK_CODE_GOTHIC_value, UBLOCK_GOTHIC); + zend_string *const_BLOCK_CODE_GOTHIC_name = zend_string_init_interned("BLOCK_CODE_GOTHIC", sizeof("BLOCK_CODE_GOTHIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GOTHIC_name, &const_BLOCK_CODE_GOTHIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GOTHIC_name); + + zval const_BLOCK_CODE_DESERET_value; + ZVAL_LONG(&const_BLOCK_CODE_DESERET_value, UBLOCK_DESERET); + zend_string *const_BLOCK_CODE_DESERET_name = zend_string_init_interned("BLOCK_CODE_DESERET", sizeof("BLOCK_CODE_DESERET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_DESERET_name, &const_BLOCK_CODE_DESERET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_DESERET_name); + + zval const_BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS_value, UBLOCK_BYZANTINE_MUSICAL_SYMBOLS); + zend_string *const_BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS", sizeof("BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS_name, &const_BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS_name); + + zval const_BLOCK_CODE_MUSICAL_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_MUSICAL_SYMBOLS_value, UBLOCK_MUSICAL_SYMBOLS); + zend_string *const_BLOCK_CODE_MUSICAL_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_MUSICAL_SYMBOLS", sizeof("BLOCK_CODE_MUSICAL_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MUSICAL_SYMBOLS_name, &const_BLOCK_CODE_MUSICAL_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MUSICAL_SYMBOLS_name); + + zval const_BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS_value, UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS); + zend_string *const_BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS", sizeof("BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS_name, &const_BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS_name); + + zval const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_value, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B); + zend_string *const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_name = zend_string_init_interned("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B", sizeof("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_name, &const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_name); + + zval const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_value, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT); + zend_string *const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT", sizeof("BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_name, &const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_name); + + zval const_BLOCK_CODE_TAGS_value; + ZVAL_LONG(&const_BLOCK_CODE_TAGS_value, UBLOCK_TAGS); + zend_string *const_BLOCK_CODE_TAGS_name = zend_string_init_interned("BLOCK_CODE_TAGS", sizeof("BLOCK_CODE_TAGS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAGS_name, &const_BLOCK_CODE_TAGS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAGS_name); + + zval const_BLOCK_CODE_CYRILLIC_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_CYRILLIC_SUPPLEMENT_value, UBLOCK_CYRILLIC_SUPPLEMENT); + zend_string *const_BLOCK_CODE_CYRILLIC_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_CYRILLIC_SUPPLEMENT", sizeof("BLOCK_CODE_CYRILLIC_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CYRILLIC_SUPPLEMENT_name, &const_BLOCK_CODE_CYRILLIC_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CYRILLIC_SUPPLEMENT_name); + + zval const_BLOCK_CODE_CYRILLIC_SUPPLEMENTARY_value; + ZVAL_LONG(&const_BLOCK_CODE_CYRILLIC_SUPPLEMENTARY_value, UBLOCK_CYRILLIC_SUPPLEMENTARY); + zend_string *const_BLOCK_CODE_CYRILLIC_SUPPLEMENTARY_name = zend_string_init_interned("BLOCK_CODE_CYRILLIC_SUPPLEMENTARY", sizeof("BLOCK_CODE_CYRILLIC_SUPPLEMENTARY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CYRILLIC_SUPPLEMENTARY_name, &const_BLOCK_CODE_CYRILLIC_SUPPLEMENTARY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CYRILLIC_SUPPLEMENTARY_name); + + zval const_BLOCK_CODE_TAGALOG_value; + ZVAL_LONG(&const_BLOCK_CODE_TAGALOG_value, UBLOCK_TAGALOG); + zend_string *const_BLOCK_CODE_TAGALOG_name = zend_string_init_interned("BLOCK_CODE_TAGALOG", sizeof("BLOCK_CODE_TAGALOG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAGALOG_name, &const_BLOCK_CODE_TAGALOG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAGALOG_name); + + zval const_BLOCK_CODE_HANUNOO_value; + ZVAL_LONG(&const_BLOCK_CODE_HANUNOO_value, UBLOCK_HANUNOO); + zend_string *const_BLOCK_CODE_HANUNOO_name = zend_string_init_interned("BLOCK_CODE_HANUNOO", sizeof("BLOCK_CODE_HANUNOO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HANUNOO_name, &const_BLOCK_CODE_HANUNOO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HANUNOO_name); + + zval const_BLOCK_CODE_BUHID_value; + ZVAL_LONG(&const_BLOCK_CODE_BUHID_value, UBLOCK_BUHID); + zend_string *const_BLOCK_CODE_BUHID_name = zend_string_init_interned("BLOCK_CODE_BUHID", sizeof("BLOCK_CODE_BUHID") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BUHID_name, &const_BLOCK_CODE_BUHID_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BUHID_name); + + zval const_BLOCK_CODE_TAGBANWA_value; + ZVAL_LONG(&const_BLOCK_CODE_TAGBANWA_value, UBLOCK_TAGBANWA); + zend_string *const_BLOCK_CODE_TAGBANWA_name = zend_string_init_interned("BLOCK_CODE_TAGBANWA", sizeof("BLOCK_CODE_TAGBANWA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAGBANWA_name, &const_BLOCK_CODE_TAGBANWA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAGBANWA_name); + + zval const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_value; + ZVAL_LONG(&const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_value, UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A); + zend_string *const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_name = zend_string_init_interned("BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A", sizeof("BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_name, &const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_name); + + zval const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_A_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_A_value, UBLOCK_SUPPLEMENTAL_ARROWS_A); + zend_string *const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_A_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTAL_ARROWS_A", sizeof("BLOCK_CODE_SUPPLEMENTAL_ARROWS_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_A_name, &const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_A_name); + + zval const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_B_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_B_value, UBLOCK_SUPPLEMENTAL_ARROWS_B); + zend_string *const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_B_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTAL_ARROWS_B", sizeof("BLOCK_CODE_SUPPLEMENTAL_ARROWS_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_B_name, &const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_B_name); + + zval const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_value; + ZVAL_LONG(&const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_value, UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B); + zend_string *const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_name = zend_string_init_interned("BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B", sizeof("BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_name, &const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_name); + + zval const_BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS_value, UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS); + zend_string *const_BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS", sizeof("BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS_name, &const_BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS_name); + + zval const_BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS_value; + ZVAL_LONG(&const_BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS_value, UBLOCK_KATAKANA_PHONETIC_EXTENSIONS); + zend_string *const_BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS_name = zend_string_init_interned("BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS", sizeof("BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS_name, &const_BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS_name); + + zval const_BLOCK_CODE_VARIATION_SELECTORS_value; + ZVAL_LONG(&const_BLOCK_CODE_VARIATION_SELECTORS_value, UBLOCK_VARIATION_SELECTORS); + zend_string *const_BLOCK_CODE_VARIATION_SELECTORS_name = zend_string_init_interned("BLOCK_CODE_VARIATION_SELECTORS", sizeof("BLOCK_CODE_VARIATION_SELECTORS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_VARIATION_SELECTORS_name, &const_BLOCK_CODE_VARIATION_SELECTORS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_VARIATION_SELECTORS_name); + + zval const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A_value, UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A); + zend_string *const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A", sizeof("BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A_name, &const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A_name); + + zval const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B_value, UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B); + zend_string *const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B", sizeof("BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B_name, &const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B_name); + + zval const_BLOCK_CODE_LIMBU_value; + ZVAL_LONG(&const_BLOCK_CODE_LIMBU_value, UBLOCK_LIMBU); + zend_string *const_BLOCK_CODE_LIMBU_name = zend_string_init_interned("BLOCK_CODE_LIMBU", sizeof("BLOCK_CODE_LIMBU") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LIMBU_name, &const_BLOCK_CODE_LIMBU_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LIMBU_name); + + zval const_BLOCK_CODE_TAI_LE_value; + ZVAL_LONG(&const_BLOCK_CODE_TAI_LE_value, UBLOCK_TAI_LE); + zend_string *const_BLOCK_CODE_TAI_LE_name = zend_string_init_interned("BLOCK_CODE_TAI_LE", sizeof("BLOCK_CODE_TAI_LE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAI_LE_name, &const_BLOCK_CODE_TAI_LE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAI_LE_name); + + zval const_BLOCK_CODE_KHMER_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_KHMER_SYMBOLS_value, UBLOCK_KHMER_SYMBOLS); + zend_string *const_BLOCK_CODE_KHMER_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_KHMER_SYMBOLS", sizeof("BLOCK_CODE_KHMER_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KHMER_SYMBOLS_name, &const_BLOCK_CODE_KHMER_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KHMER_SYMBOLS_name); + + zval const_BLOCK_CODE_PHONETIC_EXTENSIONS_value; + ZVAL_LONG(&const_BLOCK_CODE_PHONETIC_EXTENSIONS_value, UBLOCK_PHONETIC_EXTENSIONS); + zend_string *const_BLOCK_CODE_PHONETIC_EXTENSIONS_name = zend_string_init_interned("BLOCK_CODE_PHONETIC_EXTENSIONS", sizeof("BLOCK_CODE_PHONETIC_EXTENSIONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PHONETIC_EXTENSIONS_name, &const_BLOCK_CODE_PHONETIC_EXTENSIONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PHONETIC_EXTENSIONS_name); + + zval const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS_value; + ZVAL_LONG(&const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS_value, UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS); + zend_string *const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS_name = zend_string_init_interned("BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS", sizeof("BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS_name, &const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS_name); + + zval const_BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS_value, UBLOCK_YIJING_HEXAGRAM_SYMBOLS); + zend_string *const_BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS", sizeof("BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS_name, &const_BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS_name); + + zval const_BLOCK_CODE_LINEAR_B_SYLLABARY_value; + ZVAL_LONG(&const_BLOCK_CODE_LINEAR_B_SYLLABARY_value, UBLOCK_LINEAR_B_SYLLABARY); + zend_string *const_BLOCK_CODE_LINEAR_B_SYLLABARY_name = zend_string_init_interned("BLOCK_CODE_LINEAR_B_SYLLABARY", sizeof("BLOCK_CODE_LINEAR_B_SYLLABARY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LINEAR_B_SYLLABARY_name, &const_BLOCK_CODE_LINEAR_B_SYLLABARY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LINEAR_B_SYLLABARY_name); + + zval const_BLOCK_CODE_LINEAR_B_IDEOGRAMS_value; + ZVAL_LONG(&const_BLOCK_CODE_LINEAR_B_IDEOGRAMS_value, UBLOCK_LINEAR_B_IDEOGRAMS); + zend_string *const_BLOCK_CODE_LINEAR_B_IDEOGRAMS_name = zend_string_init_interned("BLOCK_CODE_LINEAR_B_IDEOGRAMS", sizeof("BLOCK_CODE_LINEAR_B_IDEOGRAMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LINEAR_B_IDEOGRAMS_name, &const_BLOCK_CODE_LINEAR_B_IDEOGRAMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LINEAR_B_IDEOGRAMS_name); + + zval const_BLOCK_CODE_AEGEAN_NUMBERS_value; + ZVAL_LONG(&const_BLOCK_CODE_AEGEAN_NUMBERS_value, UBLOCK_AEGEAN_NUMBERS); + zend_string *const_BLOCK_CODE_AEGEAN_NUMBERS_name = zend_string_init_interned("BLOCK_CODE_AEGEAN_NUMBERS", sizeof("BLOCK_CODE_AEGEAN_NUMBERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_AEGEAN_NUMBERS_name, &const_BLOCK_CODE_AEGEAN_NUMBERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_AEGEAN_NUMBERS_name); + + zval const_BLOCK_CODE_UGARITIC_value; + ZVAL_LONG(&const_BLOCK_CODE_UGARITIC_value, UBLOCK_UGARITIC); + zend_string *const_BLOCK_CODE_UGARITIC_name = zend_string_init_interned("BLOCK_CODE_UGARITIC", sizeof("BLOCK_CODE_UGARITIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_UGARITIC_name, &const_BLOCK_CODE_UGARITIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_UGARITIC_name); + + zval const_BLOCK_CODE_SHAVIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_SHAVIAN_value, UBLOCK_SHAVIAN); + zend_string *const_BLOCK_CODE_SHAVIAN_name = zend_string_init_interned("BLOCK_CODE_SHAVIAN", sizeof("BLOCK_CODE_SHAVIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SHAVIAN_name, &const_BLOCK_CODE_SHAVIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SHAVIAN_name); + + zval const_BLOCK_CODE_OSMANYA_value; + ZVAL_LONG(&const_BLOCK_CODE_OSMANYA_value, UBLOCK_OSMANYA); + zend_string *const_BLOCK_CODE_OSMANYA_name = zend_string_init_interned("BLOCK_CODE_OSMANYA", sizeof("BLOCK_CODE_OSMANYA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OSMANYA_name, &const_BLOCK_CODE_OSMANYA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OSMANYA_name); + + zval const_BLOCK_CODE_CYPRIOT_SYLLABARY_value; + ZVAL_LONG(&const_BLOCK_CODE_CYPRIOT_SYLLABARY_value, UBLOCK_CYPRIOT_SYLLABARY); + zend_string *const_BLOCK_CODE_CYPRIOT_SYLLABARY_name = zend_string_init_interned("BLOCK_CODE_CYPRIOT_SYLLABARY", sizeof("BLOCK_CODE_CYPRIOT_SYLLABARY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CYPRIOT_SYLLABARY_name, &const_BLOCK_CODE_CYPRIOT_SYLLABARY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CYPRIOT_SYLLABARY_name); + + zval const_BLOCK_CODE_TAI_XUAN_JING_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_TAI_XUAN_JING_SYMBOLS_value, UBLOCK_TAI_XUAN_JING_SYMBOLS); + zend_string *const_BLOCK_CODE_TAI_XUAN_JING_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_TAI_XUAN_JING_SYMBOLS", sizeof("BLOCK_CODE_TAI_XUAN_JING_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAI_XUAN_JING_SYMBOLS_name, &const_BLOCK_CODE_TAI_XUAN_JING_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAI_XUAN_JING_SYMBOLS_name); + + zval const_BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT_value, UBLOCK_VARIATION_SELECTORS_SUPPLEMENT); + zend_string *const_BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT", sizeof("BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT_name, &const_BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT_name); + + zval const_BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION_value; + ZVAL_LONG(&const_BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION_value, UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION); + zend_string *const_BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION_name = zend_string_init_interned("BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION", sizeof("BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION_name, &const_BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION_name); + + zval const_BLOCK_CODE_ANCIENT_GREEK_NUMBERS_value; + ZVAL_LONG(&const_BLOCK_CODE_ANCIENT_GREEK_NUMBERS_value, UBLOCK_ANCIENT_GREEK_NUMBERS); + zend_string *const_BLOCK_CODE_ANCIENT_GREEK_NUMBERS_name = zend_string_init_interned("BLOCK_CODE_ANCIENT_GREEK_NUMBERS", sizeof("BLOCK_CODE_ANCIENT_GREEK_NUMBERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ANCIENT_GREEK_NUMBERS_name, &const_BLOCK_CODE_ANCIENT_GREEK_NUMBERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ANCIENT_GREEK_NUMBERS_name); + + zval const_BLOCK_CODE_ARABIC_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_ARABIC_SUPPLEMENT_value, UBLOCK_ARABIC_SUPPLEMENT); + zend_string *const_BLOCK_CODE_ARABIC_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_ARABIC_SUPPLEMENT", sizeof("BLOCK_CODE_ARABIC_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARABIC_SUPPLEMENT_name, &const_BLOCK_CODE_ARABIC_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARABIC_SUPPLEMENT_name); + + zval const_BLOCK_CODE_BUGINESE_value; + ZVAL_LONG(&const_BLOCK_CODE_BUGINESE_value, UBLOCK_BUGINESE); + zend_string *const_BLOCK_CODE_BUGINESE_name = zend_string_init_interned("BLOCK_CODE_BUGINESE", sizeof("BLOCK_CODE_BUGINESE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BUGINESE_name, &const_BLOCK_CODE_BUGINESE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BUGINESE_name); + + zval const_BLOCK_CODE_CJK_STROKES_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_STROKES_value, UBLOCK_CJK_STROKES); + zend_string *const_BLOCK_CODE_CJK_STROKES_name = zend_string_init_interned("BLOCK_CODE_CJK_STROKES", sizeof("BLOCK_CODE_CJK_STROKES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_STROKES_name, &const_BLOCK_CODE_CJK_STROKES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_STROKES_name); + + zval const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_value, UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT); + zend_string *const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT", sizeof("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_name, &const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_name); + + zval const_BLOCK_CODE_COPTIC_value; + ZVAL_LONG(&const_BLOCK_CODE_COPTIC_value, UBLOCK_COPTIC); + zend_string *const_BLOCK_CODE_COPTIC_name = zend_string_init_interned("BLOCK_CODE_COPTIC", sizeof("BLOCK_CODE_COPTIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COPTIC_name, &const_BLOCK_CODE_COPTIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COPTIC_name); + + zval const_BLOCK_CODE_ETHIOPIC_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_ETHIOPIC_EXTENDED_value, UBLOCK_ETHIOPIC_EXTENDED); + zend_string *const_BLOCK_CODE_ETHIOPIC_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_ETHIOPIC_EXTENDED", sizeof("BLOCK_CODE_ETHIOPIC_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ETHIOPIC_EXTENDED_name, &const_BLOCK_CODE_ETHIOPIC_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ETHIOPIC_EXTENDED_name); + + zval const_BLOCK_CODE_ETHIOPIC_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_ETHIOPIC_SUPPLEMENT_value, UBLOCK_ETHIOPIC_SUPPLEMENT); + zend_string *const_BLOCK_CODE_ETHIOPIC_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_ETHIOPIC_SUPPLEMENT", sizeof("BLOCK_CODE_ETHIOPIC_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ETHIOPIC_SUPPLEMENT_name, &const_BLOCK_CODE_ETHIOPIC_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ETHIOPIC_SUPPLEMENT_name); + + zval const_BLOCK_CODE_GEORGIAN_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_GEORGIAN_SUPPLEMENT_value, UBLOCK_GEORGIAN_SUPPLEMENT); + zend_string *const_BLOCK_CODE_GEORGIAN_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_GEORGIAN_SUPPLEMENT", sizeof("BLOCK_CODE_GEORGIAN_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GEORGIAN_SUPPLEMENT_name, &const_BLOCK_CODE_GEORGIAN_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GEORGIAN_SUPPLEMENT_name); + + zval const_BLOCK_CODE_GLAGOLITIC_value; + ZVAL_LONG(&const_BLOCK_CODE_GLAGOLITIC_value, UBLOCK_GLAGOLITIC); + zend_string *const_BLOCK_CODE_GLAGOLITIC_name = zend_string_init_interned("BLOCK_CODE_GLAGOLITIC", sizeof("BLOCK_CODE_GLAGOLITIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GLAGOLITIC_name, &const_BLOCK_CODE_GLAGOLITIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GLAGOLITIC_name); + + zval const_BLOCK_CODE_KHAROSHTHI_value; + ZVAL_LONG(&const_BLOCK_CODE_KHAROSHTHI_value, UBLOCK_KHAROSHTHI); + zend_string *const_BLOCK_CODE_KHAROSHTHI_name = zend_string_init_interned("BLOCK_CODE_KHAROSHTHI", sizeof("BLOCK_CODE_KHAROSHTHI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KHAROSHTHI_name, &const_BLOCK_CODE_KHAROSHTHI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KHAROSHTHI_name); + + zval const_BLOCK_CODE_MODIFIER_TONE_LETTERS_value; + ZVAL_LONG(&const_BLOCK_CODE_MODIFIER_TONE_LETTERS_value, UBLOCK_MODIFIER_TONE_LETTERS); + zend_string *const_BLOCK_CODE_MODIFIER_TONE_LETTERS_name = zend_string_init_interned("BLOCK_CODE_MODIFIER_TONE_LETTERS", sizeof("BLOCK_CODE_MODIFIER_TONE_LETTERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MODIFIER_TONE_LETTERS_name, &const_BLOCK_CODE_MODIFIER_TONE_LETTERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MODIFIER_TONE_LETTERS_name); + + zval const_BLOCK_CODE_NEW_TAI_LUE_value; + ZVAL_LONG(&const_BLOCK_CODE_NEW_TAI_LUE_value, UBLOCK_NEW_TAI_LUE); + zend_string *const_BLOCK_CODE_NEW_TAI_LUE_name = zend_string_init_interned("BLOCK_CODE_NEW_TAI_LUE", sizeof("BLOCK_CODE_NEW_TAI_LUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_NEW_TAI_LUE_name, &const_BLOCK_CODE_NEW_TAI_LUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_NEW_TAI_LUE_name); + + zval const_BLOCK_CODE_OLD_PERSIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_OLD_PERSIAN_value, UBLOCK_OLD_PERSIAN); + zend_string *const_BLOCK_CODE_OLD_PERSIAN_name = zend_string_init_interned("BLOCK_CODE_OLD_PERSIAN", sizeof("BLOCK_CODE_OLD_PERSIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OLD_PERSIAN_name, &const_BLOCK_CODE_OLD_PERSIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OLD_PERSIAN_name); + + zval const_BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT_value, UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT); + zend_string *const_BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT", sizeof("BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT_name, &const_BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT_name); + + zval const_BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION_value, UBLOCK_SUPPLEMENTAL_PUNCTUATION); + zend_string *const_BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION", sizeof("BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION_name, &const_BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION_name); + + zval const_BLOCK_CODE_SYLOTI_NAGRI_value; + ZVAL_LONG(&const_BLOCK_CODE_SYLOTI_NAGRI_value, UBLOCK_SYLOTI_NAGRI); + zend_string *const_BLOCK_CODE_SYLOTI_NAGRI_name = zend_string_init_interned("BLOCK_CODE_SYLOTI_NAGRI", sizeof("BLOCK_CODE_SYLOTI_NAGRI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SYLOTI_NAGRI_name, &const_BLOCK_CODE_SYLOTI_NAGRI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SYLOTI_NAGRI_name); + + zval const_BLOCK_CODE_TIFINAGH_value; + ZVAL_LONG(&const_BLOCK_CODE_TIFINAGH_value, UBLOCK_TIFINAGH); + zend_string *const_BLOCK_CODE_TIFINAGH_name = zend_string_init_interned("BLOCK_CODE_TIFINAGH", sizeof("BLOCK_CODE_TIFINAGH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TIFINAGH_name, &const_BLOCK_CODE_TIFINAGH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TIFINAGH_name); + + zval const_BLOCK_CODE_VERTICAL_FORMS_value; + ZVAL_LONG(&const_BLOCK_CODE_VERTICAL_FORMS_value, UBLOCK_VERTICAL_FORMS); + zend_string *const_BLOCK_CODE_VERTICAL_FORMS_name = zend_string_init_interned("BLOCK_CODE_VERTICAL_FORMS", sizeof("BLOCK_CODE_VERTICAL_FORMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_VERTICAL_FORMS_name, &const_BLOCK_CODE_VERTICAL_FORMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_VERTICAL_FORMS_name); + + zval const_BLOCK_CODE_NKO_value; + ZVAL_LONG(&const_BLOCK_CODE_NKO_value, UBLOCK_NKO); + zend_string *const_BLOCK_CODE_NKO_name = zend_string_init_interned("BLOCK_CODE_NKO", sizeof("BLOCK_CODE_NKO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_NKO_name, &const_BLOCK_CODE_NKO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_NKO_name); + + zval const_BLOCK_CODE_BALINESE_value; + ZVAL_LONG(&const_BLOCK_CODE_BALINESE_value, UBLOCK_BALINESE); + zend_string *const_BLOCK_CODE_BALINESE_name = zend_string_init_interned("BLOCK_CODE_BALINESE", sizeof("BLOCK_CODE_BALINESE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BALINESE_name, &const_BLOCK_CODE_BALINESE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BALINESE_name); + + zval const_BLOCK_CODE_LATIN_EXTENDED_C_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_C_value, UBLOCK_LATIN_EXTENDED_C); + zend_string *const_BLOCK_CODE_LATIN_EXTENDED_C_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_C", sizeof("BLOCK_CODE_LATIN_EXTENDED_C") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_C_name, &const_BLOCK_CODE_LATIN_EXTENDED_C_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_C_name); + + zval const_BLOCK_CODE_LATIN_EXTENDED_D_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_D_value, UBLOCK_LATIN_EXTENDED_D); + zend_string *const_BLOCK_CODE_LATIN_EXTENDED_D_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_D", sizeof("BLOCK_CODE_LATIN_EXTENDED_D") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_D_name, &const_BLOCK_CODE_LATIN_EXTENDED_D_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_D_name); + + zval const_BLOCK_CODE_PHAGS_PA_value; + ZVAL_LONG(&const_BLOCK_CODE_PHAGS_PA_value, UBLOCK_PHAGS_PA); + zend_string *const_BLOCK_CODE_PHAGS_PA_name = zend_string_init_interned("BLOCK_CODE_PHAGS_PA", sizeof("BLOCK_CODE_PHAGS_PA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PHAGS_PA_name, &const_BLOCK_CODE_PHAGS_PA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PHAGS_PA_name); + + zval const_BLOCK_CODE_PHOENICIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_PHOENICIAN_value, UBLOCK_PHOENICIAN); + zend_string *const_BLOCK_CODE_PHOENICIAN_name = zend_string_init_interned("BLOCK_CODE_PHOENICIAN", sizeof("BLOCK_CODE_PHOENICIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PHOENICIAN_name, &const_BLOCK_CODE_PHOENICIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PHOENICIAN_name); + + zval const_BLOCK_CODE_CUNEIFORM_value; + ZVAL_LONG(&const_BLOCK_CODE_CUNEIFORM_value, UBLOCK_CUNEIFORM); + zend_string *const_BLOCK_CODE_CUNEIFORM_name = zend_string_init_interned("BLOCK_CODE_CUNEIFORM", sizeof("BLOCK_CODE_CUNEIFORM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CUNEIFORM_name, &const_BLOCK_CODE_CUNEIFORM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CUNEIFORM_name); + + zval const_BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION_value; + ZVAL_LONG(&const_BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION_value, UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION); + zend_string *const_BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION_name = zend_string_init_interned("BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION", sizeof("BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION_name, &const_BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION_name); + + zval const_BLOCK_CODE_COUNTING_ROD_NUMERALS_value; + ZVAL_LONG(&const_BLOCK_CODE_COUNTING_ROD_NUMERALS_value, UBLOCK_COUNTING_ROD_NUMERALS); + zend_string *const_BLOCK_CODE_COUNTING_ROD_NUMERALS_name = zend_string_init_interned("BLOCK_CODE_COUNTING_ROD_NUMERALS", sizeof("BLOCK_CODE_COUNTING_ROD_NUMERALS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COUNTING_ROD_NUMERALS_name, &const_BLOCK_CODE_COUNTING_ROD_NUMERALS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COUNTING_ROD_NUMERALS_name); + + zval const_BLOCK_CODE_SUNDANESE_value; + ZVAL_LONG(&const_BLOCK_CODE_SUNDANESE_value, UBLOCK_SUNDANESE); + zend_string *const_BLOCK_CODE_SUNDANESE_name = zend_string_init_interned("BLOCK_CODE_SUNDANESE", sizeof("BLOCK_CODE_SUNDANESE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUNDANESE_name, &const_BLOCK_CODE_SUNDANESE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUNDANESE_name); + + zval const_BLOCK_CODE_LEPCHA_value; + ZVAL_LONG(&const_BLOCK_CODE_LEPCHA_value, UBLOCK_LEPCHA); + zend_string *const_BLOCK_CODE_LEPCHA_name = zend_string_init_interned("BLOCK_CODE_LEPCHA", sizeof("BLOCK_CODE_LEPCHA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LEPCHA_name, &const_BLOCK_CODE_LEPCHA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LEPCHA_name); + + zval const_BLOCK_CODE_OL_CHIKI_value; + ZVAL_LONG(&const_BLOCK_CODE_OL_CHIKI_value, UBLOCK_OL_CHIKI); + zend_string *const_BLOCK_CODE_OL_CHIKI_name = zend_string_init_interned("BLOCK_CODE_OL_CHIKI", sizeof("BLOCK_CODE_OL_CHIKI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OL_CHIKI_name, &const_BLOCK_CODE_OL_CHIKI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OL_CHIKI_name); + + zval const_BLOCK_CODE_CYRILLIC_EXTENDED_A_value; + ZVAL_LONG(&const_BLOCK_CODE_CYRILLIC_EXTENDED_A_value, UBLOCK_CYRILLIC_EXTENDED_A); + zend_string *const_BLOCK_CODE_CYRILLIC_EXTENDED_A_name = zend_string_init_interned("BLOCK_CODE_CYRILLIC_EXTENDED_A", sizeof("BLOCK_CODE_CYRILLIC_EXTENDED_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CYRILLIC_EXTENDED_A_name, &const_BLOCK_CODE_CYRILLIC_EXTENDED_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CYRILLIC_EXTENDED_A_name); + + zval const_BLOCK_CODE_VAI_value; + ZVAL_LONG(&const_BLOCK_CODE_VAI_value, UBLOCK_VAI); + zend_string *const_BLOCK_CODE_VAI_name = zend_string_init_interned("BLOCK_CODE_VAI", sizeof("BLOCK_CODE_VAI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_VAI_name, &const_BLOCK_CODE_VAI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_VAI_name); + + zval const_BLOCK_CODE_CYRILLIC_EXTENDED_B_value; + ZVAL_LONG(&const_BLOCK_CODE_CYRILLIC_EXTENDED_B_value, UBLOCK_CYRILLIC_EXTENDED_B); + zend_string *const_BLOCK_CODE_CYRILLIC_EXTENDED_B_name = zend_string_init_interned("BLOCK_CODE_CYRILLIC_EXTENDED_B", sizeof("BLOCK_CODE_CYRILLIC_EXTENDED_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CYRILLIC_EXTENDED_B_name, &const_BLOCK_CODE_CYRILLIC_EXTENDED_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CYRILLIC_EXTENDED_B_name); + + zval const_BLOCK_CODE_SAURASHTRA_value; + ZVAL_LONG(&const_BLOCK_CODE_SAURASHTRA_value, UBLOCK_SAURASHTRA); + zend_string *const_BLOCK_CODE_SAURASHTRA_name = zend_string_init_interned("BLOCK_CODE_SAURASHTRA", sizeof("BLOCK_CODE_SAURASHTRA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SAURASHTRA_name, &const_BLOCK_CODE_SAURASHTRA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SAURASHTRA_name); + + zval const_BLOCK_CODE_KAYAH_LI_value; + ZVAL_LONG(&const_BLOCK_CODE_KAYAH_LI_value, UBLOCK_KAYAH_LI); + zend_string *const_BLOCK_CODE_KAYAH_LI_name = zend_string_init_interned("BLOCK_CODE_KAYAH_LI", sizeof("BLOCK_CODE_KAYAH_LI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KAYAH_LI_name, &const_BLOCK_CODE_KAYAH_LI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KAYAH_LI_name); + + zval const_BLOCK_CODE_REJANG_value; + ZVAL_LONG(&const_BLOCK_CODE_REJANG_value, UBLOCK_REJANG); + zend_string *const_BLOCK_CODE_REJANG_name = zend_string_init_interned("BLOCK_CODE_REJANG", sizeof("BLOCK_CODE_REJANG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_REJANG_name, &const_BLOCK_CODE_REJANG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_REJANG_name); + + zval const_BLOCK_CODE_CHAM_value; + ZVAL_LONG(&const_BLOCK_CODE_CHAM_value, UBLOCK_CHAM); + zend_string *const_BLOCK_CODE_CHAM_name = zend_string_init_interned("BLOCK_CODE_CHAM", sizeof("BLOCK_CODE_CHAM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CHAM_name, &const_BLOCK_CODE_CHAM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CHAM_name); + + zval const_BLOCK_CODE_ANCIENT_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_ANCIENT_SYMBOLS_value, UBLOCK_ANCIENT_SYMBOLS); + zend_string *const_BLOCK_CODE_ANCIENT_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_ANCIENT_SYMBOLS", sizeof("BLOCK_CODE_ANCIENT_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ANCIENT_SYMBOLS_name, &const_BLOCK_CODE_ANCIENT_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ANCIENT_SYMBOLS_name); + + zval const_BLOCK_CODE_PHAISTOS_DISC_value; + ZVAL_LONG(&const_BLOCK_CODE_PHAISTOS_DISC_value, UBLOCK_PHAISTOS_DISC); + zend_string *const_BLOCK_CODE_PHAISTOS_DISC_name = zend_string_init_interned("BLOCK_CODE_PHAISTOS_DISC", sizeof("BLOCK_CODE_PHAISTOS_DISC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PHAISTOS_DISC_name, &const_BLOCK_CODE_PHAISTOS_DISC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PHAISTOS_DISC_name); + + zval const_BLOCK_CODE_LYCIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_LYCIAN_value, UBLOCK_LYCIAN); + zend_string *const_BLOCK_CODE_LYCIAN_name = zend_string_init_interned("BLOCK_CODE_LYCIAN", sizeof("BLOCK_CODE_LYCIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LYCIAN_name, &const_BLOCK_CODE_LYCIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LYCIAN_name); + + zval const_BLOCK_CODE_CARIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_CARIAN_value, UBLOCK_CARIAN); + zend_string *const_BLOCK_CODE_CARIAN_name = zend_string_init_interned("BLOCK_CODE_CARIAN", sizeof("BLOCK_CODE_CARIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CARIAN_name, &const_BLOCK_CODE_CARIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CARIAN_name); + + zval const_BLOCK_CODE_LYDIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_LYDIAN_value, UBLOCK_LYDIAN); + zend_string *const_BLOCK_CODE_LYDIAN_name = zend_string_init_interned("BLOCK_CODE_LYDIAN", sizeof("BLOCK_CODE_LYDIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LYDIAN_name, &const_BLOCK_CODE_LYDIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LYDIAN_name); + + zval const_BLOCK_CODE_MAHJONG_TILES_value; + ZVAL_LONG(&const_BLOCK_CODE_MAHJONG_TILES_value, UBLOCK_MAHJONG_TILES); + zend_string *const_BLOCK_CODE_MAHJONG_TILES_name = zend_string_init_interned("BLOCK_CODE_MAHJONG_TILES", sizeof("BLOCK_CODE_MAHJONG_TILES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MAHJONG_TILES_name, &const_BLOCK_CODE_MAHJONG_TILES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MAHJONG_TILES_name); + + zval const_BLOCK_CODE_DOMINO_TILES_value; + ZVAL_LONG(&const_BLOCK_CODE_DOMINO_TILES_value, UBLOCK_DOMINO_TILES); + zend_string *const_BLOCK_CODE_DOMINO_TILES_name = zend_string_init_interned("BLOCK_CODE_DOMINO_TILES", sizeof("BLOCK_CODE_DOMINO_TILES") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_DOMINO_TILES_name, &const_BLOCK_CODE_DOMINO_TILES_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_DOMINO_TILES_name); + + zval const_BLOCK_CODE_SAMARITAN_value; + ZVAL_LONG(&const_BLOCK_CODE_SAMARITAN_value, UBLOCK_SAMARITAN); + zend_string *const_BLOCK_CODE_SAMARITAN_name = zend_string_init_interned("BLOCK_CODE_SAMARITAN", sizeof("BLOCK_CODE_SAMARITAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SAMARITAN_name, &const_BLOCK_CODE_SAMARITAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SAMARITAN_name); + + zval const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_value, UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED); + zend_string *const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED", sizeof("BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_name, &const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_name); + + zval const_BLOCK_CODE_TAI_THAM_value; + ZVAL_LONG(&const_BLOCK_CODE_TAI_THAM_value, UBLOCK_TAI_THAM); + zend_string *const_BLOCK_CODE_TAI_THAM_name = zend_string_init_interned("BLOCK_CODE_TAI_THAM", sizeof("BLOCK_CODE_TAI_THAM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAI_THAM_name, &const_BLOCK_CODE_TAI_THAM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAI_THAM_name); + + zval const_BLOCK_CODE_VEDIC_EXTENSIONS_value; + ZVAL_LONG(&const_BLOCK_CODE_VEDIC_EXTENSIONS_value, UBLOCK_VEDIC_EXTENSIONS); + zend_string *const_BLOCK_CODE_VEDIC_EXTENSIONS_name = zend_string_init_interned("BLOCK_CODE_VEDIC_EXTENSIONS", sizeof("BLOCK_CODE_VEDIC_EXTENSIONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_VEDIC_EXTENSIONS_name, &const_BLOCK_CODE_VEDIC_EXTENSIONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_VEDIC_EXTENSIONS_name); + + zval const_BLOCK_CODE_LISU_value; + ZVAL_LONG(&const_BLOCK_CODE_LISU_value, UBLOCK_LISU); + zend_string *const_BLOCK_CODE_LISU_name = zend_string_init_interned("BLOCK_CODE_LISU", sizeof("BLOCK_CODE_LISU") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LISU_name, &const_BLOCK_CODE_LISU_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LISU_name); + + zval const_BLOCK_CODE_BAMUM_value; + ZVAL_LONG(&const_BLOCK_CODE_BAMUM_value, UBLOCK_BAMUM); + zend_string *const_BLOCK_CODE_BAMUM_name = zend_string_init_interned("BLOCK_CODE_BAMUM", sizeof("BLOCK_CODE_BAMUM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BAMUM_name, &const_BLOCK_CODE_BAMUM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BAMUM_name); + + zval const_BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS_value; + ZVAL_LONG(&const_BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS_value, UBLOCK_COMMON_INDIC_NUMBER_FORMS); + zend_string *const_BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS_name = zend_string_init_interned("BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS", sizeof("BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS_name, &const_BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS_name); + + zval const_BLOCK_CODE_DEVANAGARI_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_DEVANAGARI_EXTENDED_value, UBLOCK_DEVANAGARI_EXTENDED); + zend_string *const_BLOCK_CODE_DEVANAGARI_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_DEVANAGARI_EXTENDED", sizeof("BLOCK_CODE_DEVANAGARI_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_DEVANAGARI_EXTENDED_name, &const_BLOCK_CODE_DEVANAGARI_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_DEVANAGARI_EXTENDED_name); + + zval const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_A_value; + ZVAL_LONG(&const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_A_value, UBLOCK_HANGUL_JAMO_EXTENDED_A); + zend_string *const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_A_name = zend_string_init_interned("BLOCK_CODE_HANGUL_JAMO_EXTENDED_A", sizeof("BLOCK_CODE_HANGUL_JAMO_EXTENDED_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_A_name, &const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_A_name); + + zval const_BLOCK_CODE_JAVANESE_value; + ZVAL_LONG(&const_BLOCK_CODE_JAVANESE_value, UBLOCK_JAVANESE); + zend_string *const_BLOCK_CODE_JAVANESE_name = zend_string_init_interned("BLOCK_CODE_JAVANESE", sizeof("BLOCK_CODE_JAVANESE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_JAVANESE_name, &const_BLOCK_CODE_JAVANESE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_JAVANESE_name); + + zval const_BLOCK_CODE_MYANMAR_EXTENDED_A_value; + ZVAL_LONG(&const_BLOCK_CODE_MYANMAR_EXTENDED_A_value, UBLOCK_MYANMAR_EXTENDED_A); + zend_string *const_BLOCK_CODE_MYANMAR_EXTENDED_A_name = zend_string_init_interned("BLOCK_CODE_MYANMAR_EXTENDED_A", sizeof("BLOCK_CODE_MYANMAR_EXTENDED_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MYANMAR_EXTENDED_A_name, &const_BLOCK_CODE_MYANMAR_EXTENDED_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MYANMAR_EXTENDED_A_name); + + zval const_BLOCK_CODE_TAI_VIET_value; + ZVAL_LONG(&const_BLOCK_CODE_TAI_VIET_value, UBLOCK_TAI_VIET); + zend_string *const_BLOCK_CODE_TAI_VIET_name = zend_string_init_interned("BLOCK_CODE_TAI_VIET", sizeof("BLOCK_CODE_TAI_VIET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAI_VIET_name, &const_BLOCK_CODE_TAI_VIET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAI_VIET_name); + + zval const_BLOCK_CODE_MEETEI_MAYEK_value; + ZVAL_LONG(&const_BLOCK_CODE_MEETEI_MAYEK_value, UBLOCK_MEETEI_MAYEK); + zend_string *const_BLOCK_CODE_MEETEI_MAYEK_name = zend_string_init_interned("BLOCK_CODE_MEETEI_MAYEK", sizeof("BLOCK_CODE_MEETEI_MAYEK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MEETEI_MAYEK_name, &const_BLOCK_CODE_MEETEI_MAYEK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MEETEI_MAYEK_name); + + zval const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_B_value; + ZVAL_LONG(&const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_B_value, UBLOCK_HANGUL_JAMO_EXTENDED_B); + zend_string *const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_B_name = zend_string_init_interned("BLOCK_CODE_HANGUL_JAMO_EXTENDED_B", sizeof("BLOCK_CODE_HANGUL_JAMO_EXTENDED_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_B_name, &const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_HANGUL_JAMO_EXTENDED_B_name); + + zval const_BLOCK_CODE_IMPERIAL_ARAMAIC_value; + ZVAL_LONG(&const_BLOCK_CODE_IMPERIAL_ARAMAIC_value, UBLOCK_IMPERIAL_ARAMAIC); + zend_string *const_BLOCK_CODE_IMPERIAL_ARAMAIC_name = zend_string_init_interned("BLOCK_CODE_IMPERIAL_ARAMAIC", sizeof("BLOCK_CODE_IMPERIAL_ARAMAIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_IMPERIAL_ARAMAIC_name, &const_BLOCK_CODE_IMPERIAL_ARAMAIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_IMPERIAL_ARAMAIC_name); + + zval const_BLOCK_CODE_OLD_SOUTH_ARABIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_OLD_SOUTH_ARABIAN_value, UBLOCK_OLD_SOUTH_ARABIAN); + zend_string *const_BLOCK_CODE_OLD_SOUTH_ARABIAN_name = zend_string_init_interned("BLOCK_CODE_OLD_SOUTH_ARABIAN", sizeof("BLOCK_CODE_OLD_SOUTH_ARABIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OLD_SOUTH_ARABIAN_name, &const_BLOCK_CODE_OLD_SOUTH_ARABIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OLD_SOUTH_ARABIAN_name); + + zval const_BLOCK_CODE_AVESTAN_value; + ZVAL_LONG(&const_BLOCK_CODE_AVESTAN_value, UBLOCK_AVESTAN); + zend_string *const_BLOCK_CODE_AVESTAN_name = zend_string_init_interned("BLOCK_CODE_AVESTAN", sizeof("BLOCK_CODE_AVESTAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_AVESTAN_name, &const_BLOCK_CODE_AVESTAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_AVESTAN_name); + + zval const_BLOCK_CODE_INSCRIPTIONAL_PARTHIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_INSCRIPTIONAL_PARTHIAN_value, UBLOCK_INSCRIPTIONAL_PARTHIAN); + zend_string *const_BLOCK_CODE_INSCRIPTIONAL_PARTHIAN_name = zend_string_init_interned("BLOCK_CODE_INSCRIPTIONAL_PARTHIAN", sizeof("BLOCK_CODE_INSCRIPTIONAL_PARTHIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_INSCRIPTIONAL_PARTHIAN_name, &const_BLOCK_CODE_INSCRIPTIONAL_PARTHIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_INSCRIPTIONAL_PARTHIAN_name); + + zval const_BLOCK_CODE_INSCRIPTIONAL_PAHLAVI_value; + ZVAL_LONG(&const_BLOCK_CODE_INSCRIPTIONAL_PAHLAVI_value, UBLOCK_INSCRIPTIONAL_PAHLAVI); + zend_string *const_BLOCK_CODE_INSCRIPTIONAL_PAHLAVI_name = zend_string_init_interned("BLOCK_CODE_INSCRIPTIONAL_PAHLAVI", sizeof("BLOCK_CODE_INSCRIPTIONAL_PAHLAVI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_INSCRIPTIONAL_PAHLAVI_name, &const_BLOCK_CODE_INSCRIPTIONAL_PAHLAVI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_INSCRIPTIONAL_PAHLAVI_name); + + zval const_BLOCK_CODE_OLD_TURKIC_value; + ZVAL_LONG(&const_BLOCK_CODE_OLD_TURKIC_value, UBLOCK_OLD_TURKIC); + zend_string *const_BLOCK_CODE_OLD_TURKIC_name = zend_string_init_interned("BLOCK_CODE_OLD_TURKIC", sizeof("BLOCK_CODE_OLD_TURKIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OLD_TURKIC_name, &const_BLOCK_CODE_OLD_TURKIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OLD_TURKIC_name); + + zval const_BLOCK_CODE_RUMI_NUMERAL_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_RUMI_NUMERAL_SYMBOLS_value, UBLOCK_RUMI_NUMERAL_SYMBOLS); + zend_string *const_BLOCK_CODE_RUMI_NUMERAL_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_RUMI_NUMERAL_SYMBOLS", sizeof("BLOCK_CODE_RUMI_NUMERAL_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_RUMI_NUMERAL_SYMBOLS_name, &const_BLOCK_CODE_RUMI_NUMERAL_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_RUMI_NUMERAL_SYMBOLS_name); + + zval const_BLOCK_CODE_KAITHI_value; + ZVAL_LONG(&const_BLOCK_CODE_KAITHI_value, UBLOCK_KAITHI); + zend_string *const_BLOCK_CODE_KAITHI_name = zend_string_init_interned("BLOCK_CODE_KAITHI", sizeof("BLOCK_CODE_KAITHI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KAITHI_name, &const_BLOCK_CODE_KAITHI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KAITHI_name); + + zval const_BLOCK_CODE_EGYPTIAN_HIEROGLYPHS_value; + ZVAL_LONG(&const_BLOCK_CODE_EGYPTIAN_HIEROGLYPHS_value, UBLOCK_EGYPTIAN_HIEROGLYPHS); + zend_string *const_BLOCK_CODE_EGYPTIAN_HIEROGLYPHS_name = zend_string_init_interned("BLOCK_CODE_EGYPTIAN_HIEROGLYPHS", sizeof("BLOCK_CODE_EGYPTIAN_HIEROGLYPHS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_EGYPTIAN_HIEROGLYPHS_name, &const_BLOCK_CODE_EGYPTIAN_HIEROGLYPHS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_EGYPTIAN_HIEROGLYPHS_name); + + zval const_BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT_value, UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT); + zend_string *const_BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT", sizeof("BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT_name, &const_BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT_name); + + zval const_BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_value, UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT); + zend_string *const_BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT", sizeof("BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_name, &const_BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_name); + + zval const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_value, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C); + zend_string *const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_name = zend_string_init_interned("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C", sizeof("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_name, &const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_name); + + zval const_BLOCK_CODE_MANDAIC_value; + ZVAL_LONG(&const_BLOCK_CODE_MANDAIC_value, UBLOCK_MANDAIC); + zend_string *const_BLOCK_CODE_MANDAIC_name = zend_string_init_interned("BLOCK_CODE_MANDAIC", sizeof("BLOCK_CODE_MANDAIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MANDAIC_name, &const_BLOCK_CODE_MANDAIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MANDAIC_name); + + zval const_BLOCK_CODE_BATAK_value; + ZVAL_LONG(&const_BLOCK_CODE_BATAK_value, UBLOCK_BATAK); + zend_string *const_BLOCK_CODE_BATAK_name = zend_string_init_interned("BLOCK_CODE_BATAK", sizeof("BLOCK_CODE_BATAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BATAK_name, &const_BLOCK_CODE_BATAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BATAK_name); + + zval const_BLOCK_CODE_ETHIOPIC_EXTENDED_A_value; + ZVAL_LONG(&const_BLOCK_CODE_ETHIOPIC_EXTENDED_A_value, UBLOCK_ETHIOPIC_EXTENDED_A); + zend_string *const_BLOCK_CODE_ETHIOPIC_EXTENDED_A_name = zend_string_init_interned("BLOCK_CODE_ETHIOPIC_EXTENDED_A", sizeof("BLOCK_CODE_ETHIOPIC_EXTENDED_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ETHIOPIC_EXTENDED_A_name, &const_BLOCK_CODE_ETHIOPIC_EXTENDED_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ETHIOPIC_EXTENDED_A_name); + + zval const_BLOCK_CODE_BRAHMI_value; + ZVAL_LONG(&const_BLOCK_CODE_BRAHMI_value, UBLOCK_BRAHMI); + zend_string *const_BLOCK_CODE_BRAHMI_name = zend_string_init_interned("BLOCK_CODE_BRAHMI", sizeof("BLOCK_CODE_BRAHMI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BRAHMI_name, &const_BLOCK_CODE_BRAHMI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BRAHMI_name); + + zval const_BLOCK_CODE_BAMUM_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_BAMUM_SUPPLEMENT_value, UBLOCK_BAMUM_SUPPLEMENT); + zend_string *const_BLOCK_CODE_BAMUM_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_BAMUM_SUPPLEMENT", sizeof("BLOCK_CODE_BAMUM_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BAMUM_SUPPLEMENT_name, &const_BLOCK_CODE_BAMUM_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BAMUM_SUPPLEMENT_name); + + zval const_BLOCK_CODE_KANA_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_KANA_SUPPLEMENT_value, UBLOCK_KANA_SUPPLEMENT); + zend_string *const_BLOCK_CODE_KANA_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_KANA_SUPPLEMENT", sizeof("BLOCK_CODE_KANA_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KANA_SUPPLEMENT_name, &const_BLOCK_CODE_KANA_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KANA_SUPPLEMENT_name); + + zval const_BLOCK_CODE_PLAYING_CARDS_value; + ZVAL_LONG(&const_BLOCK_CODE_PLAYING_CARDS_value, UBLOCK_PLAYING_CARDS); + zend_string *const_BLOCK_CODE_PLAYING_CARDS_name = zend_string_init_interned("BLOCK_CODE_PLAYING_CARDS", sizeof("BLOCK_CODE_PLAYING_CARDS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PLAYING_CARDS_name, &const_BLOCK_CODE_PLAYING_CARDS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PLAYING_CARDS_name); + + zval const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_value; + ZVAL_LONG(&const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_value, UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS); + zend_string *const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_name = zend_string_init_interned("BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS", sizeof("BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_name, &const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_name); + + zval const_BLOCK_CODE_EMOTICONS_value; + ZVAL_LONG(&const_BLOCK_CODE_EMOTICONS_value, UBLOCK_EMOTICONS); + zend_string *const_BLOCK_CODE_EMOTICONS_name = zend_string_init_interned("BLOCK_CODE_EMOTICONS", sizeof("BLOCK_CODE_EMOTICONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_EMOTICONS_name, &const_BLOCK_CODE_EMOTICONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_EMOTICONS_name); + + zval const_BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS_value, UBLOCK_TRANSPORT_AND_MAP_SYMBOLS); + zend_string *const_BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS", sizeof("BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS_name, &const_BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS_name); + + zval const_BLOCK_CODE_ALCHEMICAL_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_ALCHEMICAL_SYMBOLS_value, UBLOCK_ALCHEMICAL_SYMBOLS); + zend_string *const_BLOCK_CODE_ALCHEMICAL_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_ALCHEMICAL_SYMBOLS", sizeof("BLOCK_CODE_ALCHEMICAL_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ALCHEMICAL_SYMBOLS_name, &const_BLOCK_CODE_ALCHEMICAL_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ALCHEMICAL_SYMBOLS_name); + + zval const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_value; + ZVAL_LONG(&const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_value, UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D); + zend_string *const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_name = zend_string_init_interned("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D", sizeof("BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_name, &const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_name); + + zval const_BLOCK_CODE_ARABIC_EXTENDED_A_value; + ZVAL_LONG(&const_BLOCK_CODE_ARABIC_EXTENDED_A_value, UBLOCK_ARABIC_EXTENDED_A); + zend_string *const_BLOCK_CODE_ARABIC_EXTENDED_A_name = zend_string_init_interned("BLOCK_CODE_ARABIC_EXTENDED_A", sizeof("BLOCK_CODE_ARABIC_EXTENDED_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARABIC_EXTENDED_A_name, &const_BLOCK_CODE_ARABIC_EXTENDED_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARABIC_EXTENDED_A_name); + + zval const_BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_value; + ZVAL_LONG(&const_BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_value, UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS); + zend_string *const_BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_name = zend_string_init_interned("BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS", sizeof("BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_name, &const_BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_name); + + zval const_BLOCK_CODE_CHAKMA_value; + ZVAL_LONG(&const_BLOCK_CODE_CHAKMA_value, UBLOCK_CHAKMA); + zend_string *const_BLOCK_CODE_CHAKMA_name = zend_string_init_interned("BLOCK_CODE_CHAKMA", sizeof("BLOCK_CODE_CHAKMA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CHAKMA_name, &const_BLOCK_CODE_CHAKMA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CHAKMA_name); + + zval const_BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS_value; + ZVAL_LONG(&const_BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS_value, UBLOCK_MEETEI_MAYEK_EXTENSIONS); + zend_string *const_BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS_name = zend_string_init_interned("BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS", sizeof("BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS_name, &const_BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS_name); + + zval const_BLOCK_CODE_MEROITIC_CURSIVE_value; + ZVAL_LONG(&const_BLOCK_CODE_MEROITIC_CURSIVE_value, UBLOCK_MEROITIC_CURSIVE); + zend_string *const_BLOCK_CODE_MEROITIC_CURSIVE_name = zend_string_init_interned("BLOCK_CODE_MEROITIC_CURSIVE", sizeof("BLOCK_CODE_MEROITIC_CURSIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MEROITIC_CURSIVE_name, &const_BLOCK_CODE_MEROITIC_CURSIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MEROITIC_CURSIVE_name); + + zval const_BLOCK_CODE_MEROITIC_HIEROGLYPHS_value; + ZVAL_LONG(&const_BLOCK_CODE_MEROITIC_HIEROGLYPHS_value, UBLOCK_MEROITIC_HIEROGLYPHS); + zend_string *const_BLOCK_CODE_MEROITIC_HIEROGLYPHS_name = zend_string_init_interned("BLOCK_CODE_MEROITIC_HIEROGLYPHS", sizeof("BLOCK_CODE_MEROITIC_HIEROGLYPHS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MEROITIC_HIEROGLYPHS_name, &const_BLOCK_CODE_MEROITIC_HIEROGLYPHS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MEROITIC_HIEROGLYPHS_name); + + zval const_BLOCK_CODE_MIAO_value; + ZVAL_LONG(&const_BLOCK_CODE_MIAO_value, UBLOCK_MIAO); + zend_string *const_BLOCK_CODE_MIAO_name = zend_string_init_interned("BLOCK_CODE_MIAO", sizeof("BLOCK_CODE_MIAO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MIAO_name, &const_BLOCK_CODE_MIAO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MIAO_name); + + zval const_BLOCK_CODE_SHARADA_value; + ZVAL_LONG(&const_BLOCK_CODE_SHARADA_value, UBLOCK_SHARADA); + zend_string *const_BLOCK_CODE_SHARADA_name = zend_string_init_interned("BLOCK_CODE_SHARADA", sizeof("BLOCK_CODE_SHARADA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SHARADA_name, &const_BLOCK_CODE_SHARADA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SHARADA_name); + + zval const_BLOCK_CODE_SORA_SOMPENG_value; + ZVAL_LONG(&const_BLOCK_CODE_SORA_SOMPENG_value, UBLOCK_SORA_SOMPENG); + zend_string *const_BLOCK_CODE_SORA_SOMPENG_name = zend_string_init_interned("BLOCK_CODE_SORA_SOMPENG", sizeof("BLOCK_CODE_SORA_SOMPENG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SORA_SOMPENG_name, &const_BLOCK_CODE_SORA_SOMPENG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SORA_SOMPENG_name); + + zval const_BLOCK_CODE_SUNDANESE_SUPPLEMENT_value; + ZVAL_LONG(&const_BLOCK_CODE_SUNDANESE_SUPPLEMENT_value, UBLOCK_SUNDANESE_SUPPLEMENT); + zend_string *const_BLOCK_CODE_SUNDANESE_SUPPLEMENT_name = zend_string_init_interned("BLOCK_CODE_SUNDANESE_SUPPLEMENT", sizeof("BLOCK_CODE_SUNDANESE_SUPPLEMENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUNDANESE_SUPPLEMENT_name, &const_BLOCK_CODE_SUNDANESE_SUPPLEMENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUNDANESE_SUPPLEMENT_name); + + zval const_BLOCK_CODE_TAKRI_value; + ZVAL_LONG(&const_BLOCK_CODE_TAKRI_value, UBLOCK_TAKRI); + zend_string *const_BLOCK_CODE_TAKRI_name = zend_string_init_interned("BLOCK_CODE_TAKRI", sizeof("BLOCK_CODE_TAKRI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TAKRI_name, &const_BLOCK_CODE_TAKRI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TAKRI_name); +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_BASSA_VAH_value; + ZVAL_LONG(&const_BLOCK_CODE_BASSA_VAH_value, UBLOCK_BASSA_VAH); + zend_string *const_BLOCK_CODE_BASSA_VAH_name = zend_string_init_interned("BLOCK_CODE_BASSA_VAH", sizeof("BLOCK_CODE_BASSA_VAH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_BASSA_VAH_name, &const_BLOCK_CODE_BASSA_VAH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_BASSA_VAH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_CAUCASIAN_ALBANIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_CAUCASIAN_ALBANIAN_value, UBLOCK_CAUCASIAN_ALBANIAN); + zend_string *const_BLOCK_CODE_CAUCASIAN_ALBANIAN_name = zend_string_init_interned("BLOCK_CODE_CAUCASIAN_ALBANIAN", sizeof("BLOCK_CODE_CAUCASIAN_ALBANIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_CAUCASIAN_ALBANIAN_name, &const_BLOCK_CODE_CAUCASIAN_ALBANIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_CAUCASIAN_ALBANIAN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_value; + ZVAL_LONG(&const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_value, UBLOCK_COPTIC_EPACT_NUMBERS); + zend_string *const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_name = zend_string_init_interned("BLOCK_CODE_COPTIC_EPACT_NUMBERS", sizeof("BLOCK_CODE_COPTIC_EPACT_NUMBERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_name, &const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_value, UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED); + zend_string *const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED", sizeof("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_name, &const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_DUPLOYAN_value; + ZVAL_LONG(&const_BLOCK_CODE_DUPLOYAN_value, UBLOCK_DUPLOYAN); + zend_string *const_BLOCK_CODE_DUPLOYAN_name = zend_string_init_interned("BLOCK_CODE_DUPLOYAN", sizeof("BLOCK_CODE_DUPLOYAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_DUPLOYAN_name, &const_BLOCK_CODE_DUPLOYAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_DUPLOYAN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_ELBASAN_value; + ZVAL_LONG(&const_BLOCK_CODE_ELBASAN_value, UBLOCK_ELBASAN); + zend_string *const_BLOCK_CODE_ELBASAN_name = zend_string_init_interned("BLOCK_CODE_ELBASAN", sizeof("BLOCK_CODE_ELBASAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ELBASAN_name, &const_BLOCK_CODE_ELBASAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ELBASAN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_value; + ZVAL_LONG(&const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_value, UBLOCK_GEOMETRIC_SHAPES_EXTENDED); + zend_string *const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED", sizeof("BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_name, &const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_GRANTHA_value; + ZVAL_LONG(&const_BLOCK_CODE_GRANTHA_value, UBLOCK_GRANTHA); + zend_string *const_BLOCK_CODE_GRANTHA_name = zend_string_init_interned("BLOCK_CODE_GRANTHA", sizeof("BLOCK_CODE_GRANTHA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_GRANTHA_name, &const_BLOCK_CODE_GRANTHA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_GRANTHA_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_KHOJKI_value; + ZVAL_LONG(&const_BLOCK_CODE_KHOJKI_value, UBLOCK_KHOJKI); + zend_string *const_BLOCK_CODE_KHOJKI_name = zend_string_init_interned("BLOCK_CODE_KHOJKI", sizeof("BLOCK_CODE_KHOJKI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KHOJKI_name, &const_BLOCK_CODE_KHOJKI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KHOJKI_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_KHUDAWADI_value; + ZVAL_LONG(&const_BLOCK_CODE_KHUDAWADI_value, UBLOCK_KHUDAWADI); + zend_string *const_BLOCK_CODE_KHUDAWADI_name = zend_string_init_interned("BLOCK_CODE_KHUDAWADI", sizeof("BLOCK_CODE_KHUDAWADI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_KHUDAWADI_name, &const_BLOCK_CODE_KHUDAWADI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_KHUDAWADI_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_LATIN_EXTENDED_E_value; + ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_E_value, UBLOCK_LATIN_EXTENDED_E); + zend_string *const_BLOCK_CODE_LATIN_EXTENDED_E_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_E", sizeof("BLOCK_CODE_LATIN_EXTENDED_E") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_E_name, &const_BLOCK_CODE_LATIN_EXTENDED_E_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_E_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_LINEAR_A_value; + ZVAL_LONG(&const_BLOCK_CODE_LINEAR_A_value, UBLOCK_LINEAR_A); + zend_string *const_BLOCK_CODE_LINEAR_A_name = zend_string_init_interned("BLOCK_CODE_LINEAR_A", sizeof("BLOCK_CODE_LINEAR_A") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_LINEAR_A_name, &const_BLOCK_CODE_LINEAR_A_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_LINEAR_A_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_MAHAJANI_value; + ZVAL_LONG(&const_BLOCK_CODE_MAHAJANI_value, UBLOCK_MAHAJANI); + zend_string *const_BLOCK_CODE_MAHAJANI_name = zend_string_init_interned("BLOCK_CODE_MAHAJANI", sizeof("BLOCK_CODE_MAHAJANI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MAHAJANI_name, &const_BLOCK_CODE_MAHAJANI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MAHAJANI_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_MANICHAEAN_value; + ZVAL_LONG(&const_BLOCK_CODE_MANICHAEAN_value, UBLOCK_MANICHAEAN); + zend_string *const_BLOCK_CODE_MANICHAEAN_name = zend_string_init_interned("BLOCK_CODE_MANICHAEAN", sizeof("BLOCK_CODE_MANICHAEAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MANICHAEAN_name, &const_BLOCK_CODE_MANICHAEAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MANICHAEAN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_MENDE_KIKAKUI_value; + ZVAL_LONG(&const_BLOCK_CODE_MENDE_KIKAKUI_value, UBLOCK_MENDE_KIKAKUI); + zend_string *const_BLOCK_CODE_MENDE_KIKAKUI_name = zend_string_init_interned("BLOCK_CODE_MENDE_KIKAKUI", sizeof("BLOCK_CODE_MENDE_KIKAKUI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MENDE_KIKAKUI_name, &const_BLOCK_CODE_MENDE_KIKAKUI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MENDE_KIKAKUI_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_MODI_value; + ZVAL_LONG(&const_BLOCK_CODE_MODI_value, UBLOCK_MODI); + zend_string *const_BLOCK_CODE_MODI_name = zend_string_init_interned("BLOCK_CODE_MODI", sizeof("BLOCK_CODE_MODI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MODI_name, &const_BLOCK_CODE_MODI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MODI_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_MRO_value; + ZVAL_LONG(&const_BLOCK_CODE_MRO_value, UBLOCK_MRO); + zend_string *const_BLOCK_CODE_MRO_name = zend_string_init_interned("BLOCK_CODE_MRO", sizeof("BLOCK_CODE_MRO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MRO_name, &const_BLOCK_CODE_MRO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MRO_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_MYANMAR_EXTENDED_B_value; + ZVAL_LONG(&const_BLOCK_CODE_MYANMAR_EXTENDED_B_value, UBLOCK_MYANMAR_EXTENDED_B); + zend_string *const_BLOCK_CODE_MYANMAR_EXTENDED_B_name = zend_string_init_interned("BLOCK_CODE_MYANMAR_EXTENDED_B", sizeof("BLOCK_CODE_MYANMAR_EXTENDED_B") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_MYANMAR_EXTENDED_B_name, &const_BLOCK_CODE_MYANMAR_EXTENDED_B_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_MYANMAR_EXTENDED_B_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_NABATAEAN_value; + ZVAL_LONG(&const_BLOCK_CODE_NABATAEAN_value, UBLOCK_NABATAEAN); + zend_string *const_BLOCK_CODE_NABATAEAN_name = zend_string_init_interned("BLOCK_CODE_NABATAEAN", sizeof("BLOCK_CODE_NABATAEAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_NABATAEAN_name, &const_BLOCK_CODE_NABATAEAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_NABATAEAN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_OLD_NORTH_ARABIAN_value; + ZVAL_LONG(&const_BLOCK_CODE_OLD_NORTH_ARABIAN_value, UBLOCK_OLD_NORTH_ARABIAN); + zend_string *const_BLOCK_CODE_OLD_NORTH_ARABIAN_name = zend_string_init_interned("BLOCK_CODE_OLD_NORTH_ARABIAN", sizeof("BLOCK_CODE_OLD_NORTH_ARABIAN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OLD_NORTH_ARABIAN_name, &const_BLOCK_CODE_OLD_NORTH_ARABIAN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OLD_NORTH_ARABIAN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_OLD_PERMIC_value; + ZVAL_LONG(&const_BLOCK_CODE_OLD_PERMIC_value, UBLOCK_OLD_PERMIC); + zend_string *const_BLOCK_CODE_OLD_PERMIC_name = zend_string_init_interned("BLOCK_CODE_OLD_PERMIC", sizeof("BLOCK_CODE_OLD_PERMIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_OLD_PERMIC_name, &const_BLOCK_CODE_OLD_PERMIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_OLD_PERMIC_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_ORNAMENTAL_DINGBATS_value; + ZVAL_LONG(&const_BLOCK_CODE_ORNAMENTAL_DINGBATS_value, UBLOCK_ORNAMENTAL_DINGBATS); + zend_string *const_BLOCK_CODE_ORNAMENTAL_DINGBATS_name = zend_string_init_interned("BLOCK_CODE_ORNAMENTAL_DINGBATS", sizeof("BLOCK_CODE_ORNAMENTAL_DINGBATS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_ORNAMENTAL_DINGBATS_name, &const_BLOCK_CODE_ORNAMENTAL_DINGBATS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_ORNAMENTAL_DINGBATS_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_PAHAWH_HMONG_value; + ZVAL_LONG(&const_BLOCK_CODE_PAHAWH_HMONG_value, UBLOCK_PAHAWH_HMONG); + zend_string *const_BLOCK_CODE_PAHAWH_HMONG_name = zend_string_init_interned("BLOCK_CODE_PAHAWH_HMONG", sizeof("BLOCK_CODE_PAHAWH_HMONG") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PAHAWH_HMONG_name, &const_BLOCK_CODE_PAHAWH_HMONG_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PAHAWH_HMONG_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_PALMYRENE_value; + ZVAL_LONG(&const_BLOCK_CODE_PALMYRENE_value, UBLOCK_PALMYRENE); + zend_string *const_BLOCK_CODE_PALMYRENE_name = zend_string_init_interned("BLOCK_CODE_PALMYRENE", sizeof("BLOCK_CODE_PALMYRENE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PALMYRENE_name, &const_BLOCK_CODE_PALMYRENE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PALMYRENE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_PAU_CIN_HAU_value; + ZVAL_LONG(&const_BLOCK_CODE_PAU_CIN_HAU_value, UBLOCK_PAU_CIN_HAU); + zend_string *const_BLOCK_CODE_PAU_CIN_HAU_name = zend_string_init_interned("BLOCK_CODE_PAU_CIN_HAU", sizeof("BLOCK_CODE_PAU_CIN_HAU") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PAU_CIN_HAU_name, &const_BLOCK_CODE_PAU_CIN_HAU_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PAU_CIN_HAU_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_PSALTER_PAHLAVI_value; + ZVAL_LONG(&const_BLOCK_CODE_PSALTER_PAHLAVI_value, UBLOCK_PSALTER_PAHLAVI); + zend_string *const_BLOCK_CODE_PSALTER_PAHLAVI_name = zend_string_init_interned("BLOCK_CODE_PSALTER_PAHLAVI", sizeof("BLOCK_CODE_PSALTER_PAHLAVI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_PSALTER_PAHLAVI_name, &const_BLOCK_CODE_PSALTER_PAHLAVI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_PSALTER_PAHLAVI_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_value; + ZVAL_LONG(&const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_value, UBLOCK_SHORTHAND_FORMAT_CONTROLS); + zend_string *const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_name = zend_string_init_interned("BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS", sizeof("BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_name, &const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_SIDDHAM_value; + ZVAL_LONG(&const_BLOCK_CODE_SIDDHAM_value, UBLOCK_SIDDHAM); + zend_string *const_BLOCK_CODE_SIDDHAM_name = zend_string_init_interned("BLOCK_CODE_SIDDHAM", sizeof("BLOCK_CODE_SIDDHAM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SIDDHAM_name, &const_BLOCK_CODE_SIDDHAM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SIDDHAM_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_value; + ZVAL_LONG(&const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_value, UBLOCK_SINHALA_ARCHAIC_NUMBERS); + zend_string *const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_name = zend_string_init_interned("BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS", sizeof("BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_name, &const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_value; + ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_value, UBLOCK_SUPPLEMENTAL_ARROWS_C); + zend_string *const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTAL_ARROWS_C", sizeof("BLOCK_CODE_SUPPLEMENTAL_ARROWS_C") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_name, &const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_TIRHUTA_value; + ZVAL_LONG(&const_BLOCK_CODE_TIRHUTA_value, UBLOCK_TIRHUTA); + zend_string *const_BLOCK_CODE_TIRHUTA_name = zend_string_init_interned("BLOCK_CODE_TIRHUTA", sizeof("BLOCK_CODE_TIRHUTA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_TIRHUTA_name, &const_BLOCK_CODE_TIRHUTA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_TIRHUTA_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_BLOCK_CODE_WARANG_CITI_value; + ZVAL_LONG(&const_BLOCK_CODE_WARANG_CITI_value, UBLOCK_WARANG_CITI); + zend_string *const_BLOCK_CODE_WARANG_CITI_name = zend_string_init_interned("BLOCK_CODE_WARANG_CITI", sizeof("BLOCK_CODE_WARANG_CITI") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_WARANG_CITI_name, &const_BLOCK_CODE_WARANG_CITI_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_WARANG_CITI_name); +#endif + + zval const_BLOCK_CODE_COUNT_value; + ZVAL_LONG(&const_BLOCK_CODE_COUNT_value, UBLOCK_COUNT); + zend_string *const_BLOCK_CODE_COUNT_name = zend_string_init_interned("BLOCK_CODE_COUNT", sizeof("BLOCK_CODE_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_COUNT_name, &const_BLOCK_CODE_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_COUNT_name); + + zval const_BLOCK_CODE_INVALID_CODE_value; + ZVAL_LONG(&const_BLOCK_CODE_INVALID_CODE_value, UBLOCK_INVALID_CODE); + zend_string *const_BLOCK_CODE_INVALID_CODE_name = zend_string_init_interned("BLOCK_CODE_INVALID_CODE", sizeof("BLOCK_CODE_INVALID_CODE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BLOCK_CODE_INVALID_CODE_name, &const_BLOCK_CODE_INVALID_CODE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BLOCK_CODE_INVALID_CODE_name); +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_BPT_NONE_value; + ZVAL_LONG(&const_BPT_NONE_value, U_BPT_NONE); + zend_string *const_BPT_NONE_name = zend_string_init_interned("BPT_NONE", sizeof("BPT_NONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BPT_NONE_name, &const_BPT_NONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BPT_NONE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_BPT_OPEN_value; + ZVAL_LONG(&const_BPT_OPEN_value, U_BPT_OPEN); + zend_string *const_BPT_OPEN_name = zend_string_init_interned("BPT_OPEN", sizeof("BPT_OPEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BPT_OPEN_name, &const_BPT_OPEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BPT_OPEN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_BPT_CLOSE_value; + ZVAL_LONG(&const_BPT_CLOSE_value, U_BPT_CLOSE); + zend_string *const_BPT_CLOSE_name = zend_string_init_interned("BPT_CLOSE", sizeof("BPT_CLOSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BPT_CLOSE_name, &const_BPT_CLOSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BPT_CLOSE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_BPT_COUNT_value; + ZVAL_LONG(&const_BPT_COUNT_value, U_BPT_COUNT); + zend_string *const_BPT_COUNT_name = zend_string_init_interned("BPT_COUNT", sizeof("BPT_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BPT_COUNT_name, &const_BPT_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BPT_COUNT_name); +#endif + + zval const_EA_NEUTRAL_value; + ZVAL_LONG(&const_EA_NEUTRAL_value, U_EA_NEUTRAL); + zend_string *const_EA_NEUTRAL_name = zend_string_init_interned("EA_NEUTRAL", sizeof("EA_NEUTRAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_NEUTRAL_name, &const_EA_NEUTRAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_NEUTRAL_name); + + zval const_EA_AMBIGUOUS_value; + ZVAL_LONG(&const_EA_AMBIGUOUS_value, U_EA_AMBIGUOUS); + zend_string *const_EA_AMBIGUOUS_name = zend_string_init_interned("EA_AMBIGUOUS", sizeof("EA_AMBIGUOUS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_AMBIGUOUS_name, &const_EA_AMBIGUOUS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_AMBIGUOUS_name); + + zval const_EA_HALFWIDTH_value; + ZVAL_LONG(&const_EA_HALFWIDTH_value, U_EA_HALFWIDTH); + zend_string *const_EA_HALFWIDTH_name = zend_string_init_interned("EA_HALFWIDTH", sizeof("EA_HALFWIDTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_HALFWIDTH_name, &const_EA_HALFWIDTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_HALFWIDTH_name); + + zval const_EA_FULLWIDTH_value; + ZVAL_LONG(&const_EA_FULLWIDTH_value, U_EA_FULLWIDTH); + zend_string *const_EA_FULLWIDTH_name = zend_string_init_interned("EA_FULLWIDTH", sizeof("EA_FULLWIDTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_FULLWIDTH_name, &const_EA_FULLWIDTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_FULLWIDTH_name); + + zval const_EA_NARROW_value; + ZVAL_LONG(&const_EA_NARROW_value, U_EA_NARROW); + zend_string *const_EA_NARROW_name = zend_string_init_interned("EA_NARROW", sizeof("EA_NARROW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_NARROW_name, &const_EA_NARROW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_NARROW_name); + + zval const_EA_WIDE_value; + ZVAL_LONG(&const_EA_WIDE_value, U_EA_WIDE); + zend_string *const_EA_WIDE_name = zend_string_init_interned("EA_WIDE", sizeof("EA_WIDE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_WIDE_name, &const_EA_WIDE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_WIDE_name); + + zval const_EA_COUNT_value; + ZVAL_LONG(&const_EA_COUNT_value, U_EA_COUNT); + zend_string *const_EA_COUNT_name = zend_string_init_interned("EA_COUNT", sizeof("EA_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EA_COUNT_name, &const_EA_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EA_COUNT_name); + + zval const_UNICODE_CHAR_NAME_value; + ZVAL_LONG(&const_UNICODE_CHAR_NAME_value, U_UNICODE_CHAR_NAME); + zend_string *const_UNICODE_CHAR_NAME_name = zend_string_init_interned("UNICODE_CHAR_NAME", sizeof("UNICODE_CHAR_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UNICODE_CHAR_NAME_name, &const_UNICODE_CHAR_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UNICODE_CHAR_NAME_name); + + zval const_UNICODE_10_CHAR_NAME_value; + ZVAL_LONG(&const_UNICODE_10_CHAR_NAME_value, U_UNICODE_10_CHAR_NAME); + zend_string *const_UNICODE_10_CHAR_NAME_name = zend_string_init_interned("UNICODE_10_CHAR_NAME", sizeof("UNICODE_10_CHAR_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UNICODE_10_CHAR_NAME_name, &const_UNICODE_10_CHAR_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UNICODE_10_CHAR_NAME_name); + + zval const_EXTENDED_CHAR_NAME_value; + ZVAL_LONG(&const_EXTENDED_CHAR_NAME_value, U_EXTENDED_CHAR_NAME); + zend_string *const_EXTENDED_CHAR_NAME_name = zend_string_init_interned("EXTENDED_CHAR_NAME", sizeof("EXTENDED_CHAR_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EXTENDED_CHAR_NAME_name, &const_EXTENDED_CHAR_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EXTENDED_CHAR_NAME_name); + + zval const_CHAR_NAME_ALIAS_value; + ZVAL_LONG(&const_CHAR_NAME_ALIAS_value, U_CHAR_NAME_ALIAS); + zend_string *const_CHAR_NAME_ALIAS_name = zend_string_init_interned("CHAR_NAME_ALIAS", sizeof("CHAR_NAME_ALIAS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_NAME_ALIAS_name, &const_CHAR_NAME_ALIAS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_NAME_ALIAS_name); + + zval const_CHAR_NAME_CHOICE_COUNT_value; + ZVAL_LONG(&const_CHAR_NAME_CHOICE_COUNT_value, U_CHAR_NAME_CHOICE_COUNT); + zend_string *const_CHAR_NAME_CHOICE_COUNT_name = zend_string_init_interned("CHAR_NAME_CHOICE_COUNT", sizeof("CHAR_NAME_CHOICE_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHAR_NAME_CHOICE_COUNT_name, &const_CHAR_NAME_CHOICE_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHAR_NAME_CHOICE_COUNT_name); + + zval const_SHORT_PROPERTY_NAME_value; + ZVAL_LONG(&const_SHORT_PROPERTY_NAME_value, U_SHORT_PROPERTY_NAME); + zend_string *const_SHORT_PROPERTY_NAME_name = zend_string_init_interned("SHORT_PROPERTY_NAME", sizeof("SHORT_PROPERTY_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SHORT_PROPERTY_NAME_name, &const_SHORT_PROPERTY_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SHORT_PROPERTY_NAME_name); + + zval const_LONG_PROPERTY_NAME_value; + ZVAL_LONG(&const_LONG_PROPERTY_NAME_value, U_LONG_PROPERTY_NAME); + zend_string *const_LONG_PROPERTY_NAME_name = zend_string_init_interned("LONG_PROPERTY_NAME", sizeof("LONG_PROPERTY_NAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LONG_PROPERTY_NAME_name, &const_LONG_PROPERTY_NAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LONG_PROPERTY_NAME_name); + + zval const_PROPERTY_NAME_CHOICE_COUNT_value; + ZVAL_LONG(&const_PROPERTY_NAME_CHOICE_COUNT_value, U_PROPERTY_NAME_CHOICE_COUNT); + zend_string *const_PROPERTY_NAME_CHOICE_COUNT_name = zend_string_init_interned("PROPERTY_NAME_CHOICE_COUNT", sizeof("PROPERTY_NAME_CHOICE_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_PROPERTY_NAME_CHOICE_COUNT_name, &const_PROPERTY_NAME_CHOICE_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_PROPERTY_NAME_CHOICE_COUNT_name); + + zval const_DT_NONE_value; + ZVAL_LONG(&const_DT_NONE_value, U_DT_NONE); + zend_string *const_DT_NONE_name = zend_string_init_interned("DT_NONE", sizeof("DT_NONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_NONE_name, &const_DT_NONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_NONE_name); + + zval const_DT_CANONICAL_value; + ZVAL_LONG(&const_DT_CANONICAL_value, U_DT_CANONICAL); + zend_string *const_DT_CANONICAL_name = zend_string_init_interned("DT_CANONICAL", sizeof("DT_CANONICAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_CANONICAL_name, &const_DT_CANONICAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_CANONICAL_name); + + zval const_DT_COMPAT_value; + ZVAL_LONG(&const_DT_COMPAT_value, U_DT_COMPAT); + zend_string *const_DT_COMPAT_name = zend_string_init_interned("DT_COMPAT", sizeof("DT_COMPAT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_COMPAT_name, &const_DT_COMPAT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_COMPAT_name); + + zval const_DT_CIRCLE_value; + ZVAL_LONG(&const_DT_CIRCLE_value, U_DT_CIRCLE); + zend_string *const_DT_CIRCLE_name = zend_string_init_interned("DT_CIRCLE", sizeof("DT_CIRCLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_CIRCLE_name, &const_DT_CIRCLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_CIRCLE_name); + + zval const_DT_FINAL_value; + ZVAL_LONG(&const_DT_FINAL_value, U_DT_FINAL); + zend_string *const_DT_FINAL_name = zend_string_init_interned("DT_FINAL", sizeof("DT_FINAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_FINAL_name, &const_DT_FINAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_FINAL_name); + + zval const_DT_FONT_value; + ZVAL_LONG(&const_DT_FONT_value, U_DT_FONT); + zend_string *const_DT_FONT_name = zend_string_init_interned("DT_FONT", sizeof("DT_FONT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_FONT_name, &const_DT_FONT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_FONT_name); + + zval const_DT_FRACTION_value; + ZVAL_LONG(&const_DT_FRACTION_value, U_DT_FRACTION); + zend_string *const_DT_FRACTION_name = zend_string_init_interned("DT_FRACTION", sizeof("DT_FRACTION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_FRACTION_name, &const_DT_FRACTION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_FRACTION_name); + + zval const_DT_INITIAL_value; + ZVAL_LONG(&const_DT_INITIAL_value, U_DT_INITIAL); + zend_string *const_DT_INITIAL_name = zend_string_init_interned("DT_INITIAL", sizeof("DT_INITIAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_INITIAL_name, &const_DT_INITIAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_INITIAL_name); + + zval const_DT_ISOLATED_value; + ZVAL_LONG(&const_DT_ISOLATED_value, U_DT_ISOLATED); + zend_string *const_DT_ISOLATED_name = zend_string_init_interned("DT_ISOLATED", sizeof("DT_ISOLATED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_ISOLATED_name, &const_DT_ISOLATED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_ISOLATED_name); + + zval const_DT_MEDIAL_value; + ZVAL_LONG(&const_DT_MEDIAL_value, U_DT_MEDIAL); + zend_string *const_DT_MEDIAL_name = zend_string_init_interned("DT_MEDIAL", sizeof("DT_MEDIAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_MEDIAL_name, &const_DT_MEDIAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_MEDIAL_name); + + zval const_DT_NARROW_value; + ZVAL_LONG(&const_DT_NARROW_value, U_DT_NARROW); + zend_string *const_DT_NARROW_name = zend_string_init_interned("DT_NARROW", sizeof("DT_NARROW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_NARROW_name, &const_DT_NARROW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_NARROW_name); + + zval const_DT_NOBREAK_value; + ZVAL_LONG(&const_DT_NOBREAK_value, U_DT_NOBREAK); + zend_string *const_DT_NOBREAK_name = zend_string_init_interned("DT_NOBREAK", sizeof("DT_NOBREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_NOBREAK_name, &const_DT_NOBREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_NOBREAK_name); + + zval const_DT_SMALL_value; + ZVAL_LONG(&const_DT_SMALL_value, U_DT_SMALL); + zend_string *const_DT_SMALL_name = zend_string_init_interned("DT_SMALL", sizeof("DT_SMALL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_SMALL_name, &const_DT_SMALL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_SMALL_name); + + zval const_DT_SQUARE_value; + ZVAL_LONG(&const_DT_SQUARE_value, U_DT_SQUARE); + zend_string *const_DT_SQUARE_name = zend_string_init_interned("DT_SQUARE", sizeof("DT_SQUARE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_SQUARE_name, &const_DT_SQUARE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_SQUARE_name); + + zval const_DT_SUB_value; + ZVAL_LONG(&const_DT_SUB_value, U_DT_SUB); + zend_string *const_DT_SUB_name = zend_string_init_interned("DT_SUB", sizeof("DT_SUB") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_SUB_name, &const_DT_SUB_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_SUB_name); + + zval const_DT_SUPER_value; + ZVAL_LONG(&const_DT_SUPER_value, U_DT_SUPER); + zend_string *const_DT_SUPER_name = zend_string_init_interned("DT_SUPER", sizeof("DT_SUPER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_SUPER_name, &const_DT_SUPER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_SUPER_name); + + zval const_DT_VERTICAL_value; + ZVAL_LONG(&const_DT_VERTICAL_value, U_DT_VERTICAL); + zend_string *const_DT_VERTICAL_name = zend_string_init_interned("DT_VERTICAL", sizeof("DT_VERTICAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_VERTICAL_name, &const_DT_VERTICAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_VERTICAL_name); + + zval const_DT_WIDE_value; + ZVAL_LONG(&const_DT_WIDE_value, U_DT_WIDE); + zend_string *const_DT_WIDE_name = zend_string_init_interned("DT_WIDE", sizeof("DT_WIDE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_WIDE_name, &const_DT_WIDE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_WIDE_name); + + zval const_DT_COUNT_value; + ZVAL_LONG(&const_DT_COUNT_value, U_DT_COUNT); + zend_string *const_DT_COUNT_name = zend_string_init_interned("DT_COUNT", sizeof("DT_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DT_COUNT_name, &const_DT_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DT_COUNT_name); + + zval const_JT_NON_JOINING_value; + ZVAL_LONG(&const_JT_NON_JOINING_value, U_JT_NON_JOINING); + zend_string *const_JT_NON_JOINING_name = zend_string_init_interned("JT_NON_JOINING", sizeof("JT_NON_JOINING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_NON_JOINING_name, &const_JT_NON_JOINING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_NON_JOINING_name); + + zval const_JT_JOIN_CAUSING_value; + ZVAL_LONG(&const_JT_JOIN_CAUSING_value, U_JT_JOIN_CAUSING); + zend_string *const_JT_JOIN_CAUSING_name = zend_string_init_interned("JT_JOIN_CAUSING", sizeof("JT_JOIN_CAUSING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_JOIN_CAUSING_name, &const_JT_JOIN_CAUSING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_JOIN_CAUSING_name); + + zval const_JT_DUAL_JOINING_value; + ZVAL_LONG(&const_JT_DUAL_JOINING_value, U_JT_DUAL_JOINING); + zend_string *const_JT_DUAL_JOINING_name = zend_string_init_interned("JT_DUAL_JOINING", sizeof("JT_DUAL_JOINING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_DUAL_JOINING_name, &const_JT_DUAL_JOINING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_DUAL_JOINING_name); + + zval const_JT_LEFT_JOINING_value; + ZVAL_LONG(&const_JT_LEFT_JOINING_value, U_JT_LEFT_JOINING); + zend_string *const_JT_LEFT_JOINING_name = zend_string_init_interned("JT_LEFT_JOINING", sizeof("JT_LEFT_JOINING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_LEFT_JOINING_name, &const_JT_LEFT_JOINING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_LEFT_JOINING_name); + + zval const_JT_RIGHT_JOINING_value; + ZVAL_LONG(&const_JT_RIGHT_JOINING_value, U_JT_RIGHT_JOINING); + zend_string *const_JT_RIGHT_JOINING_name = zend_string_init_interned("JT_RIGHT_JOINING", sizeof("JT_RIGHT_JOINING") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_RIGHT_JOINING_name, &const_JT_RIGHT_JOINING_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_RIGHT_JOINING_name); + + zval const_JT_TRANSPARENT_value; + ZVAL_LONG(&const_JT_TRANSPARENT_value, U_JT_TRANSPARENT); + zend_string *const_JT_TRANSPARENT_name = zend_string_init_interned("JT_TRANSPARENT", sizeof("JT_TRANSPARENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_TRANSPARENT_name, &const_JT_TRANSPARENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_TRANSPARENT_name); + + zval const_JT_COUNT_value; + ZVAL_LONG(&const_JT_COUNT_value, U_JT_COUNT); + zend_string *const_JT_COUNT_name = zend_string_init_interned("JT_COUNT", sizeof("JT_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JT_COUNT_name, &const_JT_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JT_COUNT_name); + + zval const_JG_NO_JOINING_GROUP_value; + ZVAL_LONG(&const_JG_NO_JOINING_GROUP_value, U_JG_NO_JOINING_GROUP); + zend_string *const_JG_NO_JOINING_GROUP_name = zend_string_init_interned("JG_NO_JOINING_GROUP", sizeof("JG_NO_JOINING_GROUP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_NO_JOINING_GROUP_name, &const_JG_NO_JOINING_GROUP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_NO_JOINING_GROUP_name); + + zval const_JG_AIN_value; + ZVAL_LONG(&const_JG_AIN_value, U_JG_AIN); + zend_string *const_JG_AIN_name = zend_string_init_interned("JG_AIN", sizeof("JG_AIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_AIN_name, &const_JG_AIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_AIN_name); + + zval const_JG_ALAPH_value; + ZVAL_LONG(&const_JG_ALAPH_value, U_JG_ALAPH); + zend_string *const_JG_ALAPH_name = zend_string_init_interned("JG_ALAPH", sizeof("JG_ALAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_ALAPH_name, &const_JG_ALAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_ALAPH_name); + + zval const_JG_ALEF_value; + ZVAL_LONG(&const_JG_ALEF_value, U_JG_ALEF); + zend_string *const_JG_ALEF_name = zend_string_init_interned("JG_ALEF", sizeof("JG_ALEF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_ALEF_name, &const_JG_ALEF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_ALEF_name); + + zval const_JG_BEH_value; + ZVAL_LONG(&const_JG_BEH_value, U_JG_BEH); + zend_string *const_JG_BEH_name = zend_string_init_interned("JG_BEH", sizeof("JG_BEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_BEH_name, &const_JG_BEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_BEH_name); + + zval const_JG_BETH_value; + ZVAL_LONG(&const_JG_BETH_value, U_JG_BETH); + zend_string *const_JG_BETH_name = zend_string_init_interned("JG_BETH", sizeof("JG_BETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_BETH_name, &const_JG_BETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_BETH_name); + + zval const_JG_DAL_value; + ZVAL_LONG(&const_JG_DAL_value, U_JG_DAL); + zend_string *const_JG_DAL_name = zend_string_init_interned("JG_DAL", sizeof("JG_DAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_DAL_name, &const_JG_DAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_DAL_name); + + zval const_JG_DALATH_RISH_value; + ZVAL_LONG(&const_JG_DALATH_RISH_value, U_JG_DALATH_RISH); + zend_string *const_JG_DALATH_RISH_name = zend_string_init_interned("JG_DALATH_RISH", sizeof("JG_DALATH_RISH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_DALATH_RISH_name, &const_JG_DALATH_RISH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_DALATH_RISH_name); + + zval const_JG_E_value; + ZVAL_LONG(&const_JG_E_value, U_JG_E); + zend_string *const_JG_E_name = zend_string_init_interned("JG_E", sizeof("JG_E") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_E_name, &const_JG_E_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_E_name); + + zval const_JG_FEH_value; + ZVAL_LONG(&const_JG_FEH_value, U_JG_FEH); + zend_string *const_JG_FEH_name = zend_string_init_interned("JG_FEH", sizeof("JG_FEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_FEH_name, &const_JG_FEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_FEH_name); + + zval const_JG_FINAL_SEMKATH_value; + ZVAL_LONG(&const_JG_FINAL_SEMKATH_value, U_JG_FINAL_SEMKATH); + zend_string *const_JG_FINAL_SEMKATH_name = zend_string_init_interned("JG_FINAL_SEMKATH", sizeof("JG_FINAL_SEMKATH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_FINAL_SEMKATH_name, &const_JG_FINAL_SEMKATH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_FINAL_SEMKATH_name); + + zval const_JG_GAF_value; + ZVAL_LONG(&const_JG_GAF_value, U_JG_GAF); + zend_string *const_JG_GAF_name = zend_string_init_interned("JG_GAF", sizeof("JG_GAF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_GAF_name, &const_JG_GAF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_GAF_name); + + zval const_JG_GAMAL_value; + ZVAL_LONG(&const_JG_GAMAL_value, U_JG_GAMAL); + zend_string *const_JG_GAMAL_name = zend_string_init_interned("JG_GAMAL", sizeof("JG_GAMAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_GAMAL_name, &const_JG_GAMAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_GAMAL_name); + + zval const_JG_HAH_value; + ZVAL_LONG(&const_JG_HAH_value, U_JG_HAH); + zend_string *const_JG_HAH_name = zend_string_init_interned("JG_HAH", sizeof("JG_HAH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_HAH_name, &const_JG_HAH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_HAH_name); + + zval const_JG_TEH_MARBUTA_GOAL_value; + ZVAL_LONG(&const_JG_TEH_MARBUTA_GOAL_value, U_JG_TEH_MARBUTA_GOAL); + zend_string *const_JG_TEH_MARBUTA_GOAL_name = zend_string_init_interned("JG_TEH_MARBUTA_GOAL", sizeof("JG_TEH_MARBUTA_GOAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_TEH_MARBUTA_GOAL_name, &const_JG_TEH_MARBUTA_GOAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_TEH_MARBUTA_GOAL_name); + + zval const_JG_HAMZA_ON_HEH_GOAL_value; + ZVAL_LONG(&const_JG_HAMZA_ON_HEH_GOAL_value, U_JG_HAMZA_ON_HEH_GOAL); + zend_string *const_JG_HAMZA_ON_HEH_GOAL_name = zend_string_init_interned("JG_HAMZA_ON_HEH_GOAL", sizeof("JG_HAMZA_ON_HEH_GOAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_HAMZA_ON_HEH_GOAL_name, &const_JG_HAMZA_ON_HEH_GOAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_HAMZA_ON_HEH_GOAL_name); + + zval const_JG_HE_value; + ZVAL_LONG(&const_JG_HE_value, U_JG_HE); + zend_string *const_JG_HE_name = zend_string_init_interned("JG_HE", sizeof("JG_HE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_HE_name, &const_JG_HE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_HE_name); + + zval const_JG_HEH_value; + ZVAL_LONG(&const_JG_HEH_value, U_JG_HEH); + zend_string *const_JG_HEH_name = zend_string_init_interned("JG_HEH", sizeof("JG_HEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_HEH_name, &const_JG_HEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_HEH_name); + + zval const_JG_HEH_GOAL_value; + ZVAL_LONG(&const_JG_HEH_GOAL_value, U_JG_HEH_GOAL); + zend_string *const_JG_HEH_GOAL_name = zend_string_init_interned("JG_HEH_GOAL", sizeof("JG_HEH_GOAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_HEH_GOAL_name, &const_JG_HEH_GOAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_HEH_GOAL_name); + + zval const_JG_HETH_value; + ZVAL_LONG(&const_JG_HETH_value, U_JG_HETH); + zend_string *const_JG_HETH_name = zend_string_init_interned("JG_HETH", sizeof("JG_HETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_HETH_name, &const_JG_HETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_HETH_name); + + zval const_JG_KAF_value; + ZVAL_LONG(&const_JG_KAF_value, U_JG_KAF); + zend_string *const_JG_KAF_name = zend_string_init_interned("JG_KAF", sizeof("JG_KAF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_KAF_name, &const_JG_KAF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_KAF_name); + + zval const_JG_KAPH_value; + ZVAL_LONG(&const_JG_KAPH_value, U_JG_KAPH); + zend_string *const_JG_KAPH_name = zend_string_init_interned("JG_KAPH", sizeof("JG_KAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_KAPH_name, &const_JG_KAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_KAPH_name); + + zval const_JG_KNOTTED_HEH_value; + ZVAL_LONG(&const_JG_KNOTTED_HEH_value, U_JG_KNOTTED_HEH); + zend_string *const_JG_KNOTTED_HEH_name = zend_string_init_interned("JG_KNOTTED_HEH", sizeof("JG_KNOTTED_HEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_KNOTTED_HEH_name, &const_JG_KNOTTED_HEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_KNOTTED_HEH_name); + + zval const_JG_LAM_value; + ZVAL_LONG(&const_JG_LAM_value, U_JG_LAM); + zend_string *const_JG_LAM_name = zend_string_init_interned("JG_LAM", sizeof("JG_LAM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_LAM_name, &const_JG_LAM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_LAM_name); + + zval const_JG_LAMADH_value; + ZVAL_LONG(&const_JG_LAMADH_value, U_JG_LAMADH); + zend_string *const_JG_LAMADH_name = zend_string_init_interned("JG_LAMADH", sizeof("JG_LAMADH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_LAMADH_name, &const_JG_LAMADH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_LAMADH_name); + + zval const_JG_MEEM_value; + ZVAL_LONG(&const_JG_MEEM_value, U_JG_MEEM); + zend_string *const_JG_MEEM_name = zend_string_init_interned("JG_MEEM", sizeof("JG_MEEM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MEEM_name, &const_JG_MEEM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MEEM_name); + + zval const_JG_MIM_value; + ZVAL_LONG(&const_JG_MIM_value, U_JG_MIM); + zend_string *const_JG_MIM_name = zend_string_init_interned("JG_MIM", sizeof("JG_MIM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MIM_name, &const_JG_MIM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MIM_name); + + zval const_JG_NOON_value; + ZVAL_LONG(&const_JG_NOON_value, U_JG_NOON); + zend_string *const_JG_NOON_name = zend_string_init_interned("JG_NOON", sizeof("JG_NOON") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_NOON_name, &const_JG_NOON_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_NOON_name); + + zval const_JG_NUN_value; + ZVAL_LONG(&const_JG_NUN_value, U_JG_NUN); + zend_string *const_JG_NUN_name = zend_string_init_interned("JG_NUN", sizeof("JG_NUN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_NUN_name, &const_JG_NUN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_NUN_name); + + zval const_JG_PE_value; + ZVAL_LONG(&const_JG_PE_value, U_JG_PE); + zend_string *const_JG_PE_name = zend_string_init_interned("JG_PE", sizeof("JG_PE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_PE_name, &const_JG_PE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_PE_name); + + zval const_JG_QAF_value; + ZVAL_LONG(&const_JG_QAF_value, U_JG_QAF); + zend_string *const_JG_QAF_name = zend_string_init_interned("JG_QAF", sizeof("JG_QAF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_QAF_name, &const_JG_QAF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_QAF_name); + + zval const_JG_QAPH_value; + ZVAL_LONG(&const_JG_QAPH_value, U_JG_QAPH); + zend_string *const_JG_QAPH_name = zend_string_init_interned("JG_QAPH", sizeof("JG_QAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_QAPH_name, &const_JG_QAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_QAPH_name); + + zval const_JG_REH_value; + ZVAL_LONG(&const_JG_REH_value, U_JG_REH); + zend_string *const_JG_REH_name = zend_string_init_interned("JG_REH", sizeof("JG_REH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_REH_name, &const_JG_REH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_REH_name); + + zval const_JG_REVERSED_PE_value; + ZVAL_LONG(&const_JG_REVERSED_PE_value, U_JG_REVERSED_PE); + zend_string *const_JG_REVERSED_PE_name = zend_string_init_interned("JG_REVERSED_PE", sizeof("JG_REVERSED_PE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_REVERSED_PE_name, &const_JG_REVERSED_PE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_REVERSED_PE_name); + + zval const_JG_SAD_value; + ZVAL_LONG(&const_JG_SAD_value, U_JG_SAD); + zend_string *const_JG_SAD_name = zend_string_init_interned("JG_SAD", sizeof("JG_SAD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SAD_name, &const_JG_SAD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SAD_name); + + zval const_JG_SADHE_value; + ZVAL_LONG(&const_JG_SADHE_value, U_JG_SADHE); + zend_string *const_JG_SADHE_name = zend_string_init_interned("JG_SADHE", sizeof("JG_SADHE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SADHE_name, &const_JG_SADHE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SADHE_name); + + zval const_JG_SEEN_value; + ZVAL_LONG(&const_JG_SEEN_value, U_JG_SEEN); + zend_string *const_JG_SEEN_name = zend_string_init_interned("JG_SEEN", sizeof("JG_SEEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SEEN_name, &const_JG_SEEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SEEN_name); + + zval const_JG_SEMKATH_value; + ZVAL_LONG(&const_JG_SEMKATH_value, U_JG_SEMKATH); + zend_string *const_JG_SEMKATH_name = zend_string_init_interned("JG_SEMKATH", sizeof("JG_SEMKATH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SEMKATH_name, &const_JG_SEMKATH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SEMKATH_name); + + zval const_JG_SHIN_value; + ZVAL_LONG(&const_JG_SHIN_value, U_JG_SHIN); + zend_string *const_JG_SHIN_name = zend_string_init_interned("JG_SHIN", sizeof("JG_SHIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SHIN_name, &const_JG_SHIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SHIN_name); + + zval const_JG_SWASH_KAF_value; + ZVAL_LONG(&const_JG_SWASH_KAF_value, U_JG_SWASH_KAF); + zend_string *const_JG_SWASH_KAF_name = zend_string_init_interned("JG_SWASH_KAF", sizeof("JG_SWASH_KAF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SWASH_KAF_name, &const_JG_SWASH_KAF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SWASH_KAF_name); + + zval const_JG_SYRIAC_WAW_value; + ZVAL_LONG(&const_JG_SYRIAC_WAW_value, U_JG_SYRIAC_WAW); + zend_string *const_JG_SYRIAC_WAW_name = zend_string_init_interned("JG_SYRIAC_WAW", sizeof("JG_SYRIAC_WAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_SYRIAC_WAW_name, &const_JG_SYRIAC_WAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_SYRIAC_WAW_name); + + zval const_JG_TAH_value; + ZVAL_LONG(&const_JG_TAH_value, U_JG_TAH); + zend_string *const_JG_TAH_name = zend_string_init_interned("JG_TAH", sizeof("JG_TAH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_TAH_name, &const_JG_TAH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_TAH_name); + + zval const_JG_TAW_value; + ZVAL_LONG(&const_JG_TAW_value, U_JG_TAW); + zend_string *const_JG_TAW_name = zend_string_init_interned("JG_TAW", sizeof("JG_TAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_TAW_name, &const_JG_TAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_TAW_name); + + zval const_JG_TEH_MARBUTA_value; + ZVAL_LONG(&const_JG_TEH_MARBUTA_value, U_JG_TEH_MARBUTA); + zend_string *const_JG_TEH_MARBUTA_name = zend_string_init_interned("JG_TEH_MARBUTA", sizeof("JG_TEH_MARBUTA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_TEH_MARBUTA_name, &const_JG_TEH_MARBUTA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_TEH_MARBUTA_name); + + zval const_JG_TETH_value; + ZVAL_LONG(&const_JG_TETH_value, U_JG_TETH); + zend_string *const_JG_TETH_name = zend_string_init_interned("JG_TETH", sizeof("JG_TETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_TETH_name, &const_JG_TETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_TETH_name); + + zval const_JG_WAW_value; + ZVAL_LONG(&const_JG_WAW_value, U_JG_WAW); + zend_string *const_JG_WAW_name = zend_string_init_interned("JG_WAW", sizeof("JG_WAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_WAW_name, &const_JG_WAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_WAW_name); + + zval const_JG_YEH_value; + ZVAL_LONG(&const_JG_YEH_value, U_JG_YEH); + zend_string *const_JG_YEH_name = zend_string_init_interned("JG_YEH", sizeof("JG_YEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_YEH_name, &const_JG_YEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_YEH_name); + + zval const_JG_YEH_BARREE_value; + ZVAL_LONG(&const_JG_YEH_BARREE_value, U_JG_YEH_BARREE); + zend_string *const_JG_YEH_BARREE_name = zend_string_init_interned("JG_YEH_BARREE", sizeof("JG_YEH_BARREE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_YEH_BARREE_name, &const_JG_YEH_BARREE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_YEH_BARREE_name); + + zval const_JG_YEH_WITH_TAIL_value; + ZVAL_LONG(&const_JG_YEH_WITH_TAIL_value, U_JG_YEH_WITH_TAIL); + zend_string *const_JG_YEH_WITH_TAIL_name = zend_string_init_interned("JG_YEH_WITH_TAIL", sizeof("JG_YEH_WITH_TAIL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_YEH_WITH_TAIL_name, &const_JG_YEH_WITH_TAIL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_YEH_WITH_TAIL_name); + + zval const_JG_YUDH_value; + ZVAL_LONG(&const_JG_YUDH_value, U_JG_YUDH); + zend_string *const_JG_YUDH_name = zend_string_init_interned("JG_YUDH", sizeof("JG_YUDH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_YUDH_name, &const_JG_YUDH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_YUDH_name); + + zval const_JG_YUDH_HE_value; + ZVAL_LONG(&const_JG_YUDH_HE_value, U_JG_YUDH_HE); + zend_string *const_JG_YUDH_HE_name = zend_string_init_interned("JG_YUDH_HE", sizeof("JG_YUDH_HE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_YUDH_HE_name, &const_JG_YUDH_HE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_YUDH_HE_name); + + zval const_JG_ZAIN_value; + ZVAL_LONG(&const_JG_ZAIN_value, U_JG_ZAIN); + zend_string *const_JG_ZAIN_name = zend_string_init_interned("JG_ZAIN", sizeof("JG_ZAIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_ZAIN_name, &const_JG_ZAIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_ZAIN_name); + + zval const_JG_FE_value; + ZVAL_LONG(&const_JG_FE_value, U_JG_FE); + zend_string *const_JG_FE_name = zend_string_init_interned("JG_FE", sizeof("JG_FE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_FE_name, &const_JG_FE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_FE_name); + + zval const_JG_KHAPH_value; + ZVAL_LONG(&const_JG_KHAPH_value, U_JG_KHAPH); + zend_string *const_JG_KHAPH_name = zend_string_init_interned("JG_KHAPH", sizeof("JG_KHAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_KHAPH_name, &const_JG_KHAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_KHAPH_name); + + zval const_JG_ZHAIN_value; + ZVAL_LONG(&const_JG_ZHAIN_value, U_JG_ZHAIN); + zend_string *const_JG_ZHAIN_name = zend_string_init_interned("JG_ZHAIN", sizeof("JG_ZHAIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_ZHAIN_name, &const_JG_ZHAIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_ZHAIN_name); + + zval const_JG_BURUSHASKI_YEH_BARREE_value; + ZVAL_LONG(&const_JG_BURUSHASKI_YEH_BARREE_value, U_JG_BURUSHASKI_YEH_BARREE); + zend_string *const_JG_BURUSHASKI_YEH_BARREE_name = zend_string_init_interned("JG_BURUSHASKI_YEH_BARREE", sizeof("JG_BURUSHASKI_YEH_BARREE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_BURUSHASKI_YEH_BARREE_name, &const_JG_BURUSHASKI_YEH_BARREE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_BURUSHASKI_YEH_BARREE_name); + + zval const_JG_FARSI_YEH_value; + ZVAL_LONG(&const_JG_FARSI_YEH_value, U_JG_FARSI_YEH); + zend_string *const_JG_FARSI_YEH_name = zend_string_init_interned("JG_FARSI_YEH", sizeof("JG_FARSI_YEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_FARSI_YEH_name, &const_JG_FARSI_YEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_FARSI_YEH_name); + + zval const_JG_NYA_value; + ZVAL_LONG(&const_JG_NYA_value, U_JG_NYA); + zend_string *const_JG_NYA_name = zend_string_init_interned("JG_NYA", sizeof("JG_NYA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_NYA_name, &const_JG_NYA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_NYA_name); + + zval const_JG_ROHINGYA_YEH_value; + ZVAL_LONG(&const_JG_ROHINGYA_YEH_value, U_JG_ROHINGYA_YEH); + zend_string *const_JG_ROHINGYA_YEH_name = zend_string_init_interned("JG_ROHINGYA_YEH", sizeof("JG_ROHINGYA_YEH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_ROHINGYA_YEH_name, &const_JG_ROHINGYA_YEH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_ROHINGYA_YEH_name); +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_ALEPH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_ALEPH_value, U_JG_MANICHAEAN_ALEPH); + zend_string *const_JG_MANICHAEAN_ALEPH_name = zend_string_init_interned("JG_MANICHAEAN_ALEPH", sizeof("JG_MANICHAEAN_ALEPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_ALEPH_name, &const_JG_MANICHAEAN_ALEPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_ALEPH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_AYIN_value; + ZVAL_LONG(&const_JG_MANICHAEAN_AYIN_value, U_JG_MANICHAEAN_AYIN); + zend_string *const_JG_MANICHAEAN_AYIN_name = zend_string_init_interned("JG_MANICHAEAN_AYIN", sizeof("JG_MANICHAEAN_AYIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_AYIN_name, &const_JG_MANICHAEAN_AYIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_AYIN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_BETH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_BETH_value, U_JG_MANICHAEAN_BETH); + zend_string *const_JG_MANICHAEAN_BETH_name = zend_string_init_interned("JG_MANICHAEAN_BETH", sizeof("JG_MANICHAEAN_BETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_BETH_name, &const_JG_MANICHAEAN_BETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_BETH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_DALETH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_DALETH_value, U_JG_MANICHAEAN_DALETH); + zend_string *const_JG_MANICHAEAN_DALETH_name = zend_string_init_interned("JG_MANICHAEAN_DALETH", sizeof("JG_MANICHAEAN_DALETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_DALETH_name, &const_JG_MANICHAEAN_DALETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_DALETH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_DHAMEDH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_DHAMEDH_value, U_JG_MANICHAEAN_DHAMEDH); + zend_string *const_JG_MANICHAEAN_DHAMEDH_name = zend_string_init_interned("JG_MANICHAEAN_DHAMEDH", sizeof("JG_MANICHAEAN_DHAMEDH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_DHAMEDH_name, &const_JG_MANICHAEAN_DHAMEDH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_DHAMEDH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_FIVE_value; + ZVAL_LONG(&const_JG_MANICHAEAN_FIVE_value, U_JG_MANICHAEAN_FIVE); + zend_string *const_JG_MANICHAEAN_FIVE_name = zend_string_init_interned("JG_MANICHAEAN_FIVE", sizeof("JG_MANICHAEAN_FIVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_FIVE_name, &const_JG_MANICHAEAN_FIVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_FIVE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_GIMEL_value; + ZVAL_LONG(&const_JG_MANICHAEAN_GIMEL_value, U_JG_MANICHAEAN_GIMEL); + zend_string *const_JG_MANICHAEAN_GIMEL_name = zend_string_init_interned("JG_MANICHAEAN_GIMEL", sizeof("JG_MANICHAEAN_GIMEL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_GIMEL_name, &const_JG_MANICHAEAN_GIMEL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_GIMEL_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_HETH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_HETH_value, U_JG_MANICHAEAN_HETH); + zend_string *const_JG_MANICHAEAN_HETH_name = zend_string_init_interned("JG_MANICHAEAN_HETH", sizeof("JG_MANICHAEAN_HETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_HETH_name, &const_JG_MANICHAEAN_HETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_HETH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_HUNDRED_value; + ZVAL_LONG(&const_JG_MANICHAEAN_HUNDRED_value, U_JG_MANICHAEAN_HUNDRED); + zend_string *const_JG_MANICHAEAN_HUNDRED_name = zend_string_init_interned("JG_MANICHAEAN_HUNDRED", sizeof("JG_MANICHAEAN_HUNDRED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_HUNDRED_name, &const_JG_MANICHAEAN_HUNDRED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_HUNDRED_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_KAPH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_KAPH_value, U_JG_MANICHAEAN_KAPH); + zend_string *const_JG_MANICHAEAN_KAPH_name = zend_string_init_interned("JG_MANICHAEAN_KAPH", sizeof("JG_MANICHAEAN_KAPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_KAPH_name, &const_JG_MANICHAEAN_KAPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_KAPH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_LAMEDH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_LAMEDH_value, U_JG_MANICHAEAN_LAMEDH); + zend_string *const_JG_MANICHAEAN_LAMEDH_name = zend_string_init_interned("JG_MANICHAEAN_LAMEDH", sizeof("JG_MANICHAEAN_LAMEDH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_LAMEDH_name, &const_JG_MANICHAEAN_LAMEDH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_LAMEDH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_MEM_value; + ZVAL_LONG(&const_JG_MANICHAEAN_MEM_value, U_JG_MANICHAEAN_MEM); + zend_string *const_JG_MANICHAEAN_MEM_name = zend_string_init_interned("JG_MANICHAEAN_MEM", sizeof("JG_MANICHAEAN_MEM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_MEM_name, &const_JG_MANICHAEAN_MEM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_MEM_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_NUN_value; + ZVAL_LONG(&const_JG_MANICHAEAN_NUN_value, U_JG_MANICHAEAN_NUN); + zend_string *const_JG_MANICHAEAN_NUN_name = zend_string_init_interned("JG_MANICHAEAN_NUN", sizeof("JG_MANICHAEAN_NUN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_NUN_name, &const_JG_MANICHAEAN_NUN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_NUN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_ONE_value; + ZVAL_LONG(&const_JG_MANICHAEAN_ONE_value, U_JG_MANICHAEAN_ONE); + zend_string *const_JG_MANICHAEAN_ONE_name = zend_string_init_interned("JG_MANICHAEAN_ONE", sizeof("JG_MANICHAEAN_ONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_ONE_name, &const_JG_MANICHAEAN_ONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_ONE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_PE_value; + ZVAL_LONG(&const_JG_MANICHAEAN_PE_value, U_JG_MANICHAEAN_PE); + zend_string *const_JG_MANICHAEAN_PE_name = zend_string_init_interned("JG_MANICHAEAN_PE", sizeof("JG_MANICHAEAN_PE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_PE_name, &const_JG_MANICHAEAN_PE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_PE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_QOPH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_QOPH_value, U_JG_MANICHAEAN_QOPH); + zend_string *const_JG_MANICHAEAN_QOPH_name = zend_string_init_interned("JG_MANICHAEAN_QOPH", sizeof("JG_MANICHAEAN_QOPH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_QOPH_name, &const_JG_MANICHAEAN_QOPH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_QOPH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_RESH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_RESH_value, U_JG_MANICHAEAN_RESH); + zend_string *const_JG_MANICHAEAN_RESH_name = zend_string_init_interned("JG_MANICHAEAN_RESH", sizeof("JG_MANICHAEAN_RESH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_RESH_name, &const_JG_MANICHAEAN_RESH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_RESH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_SADHE_value; + ZVAL_LONG(&const_JG_MANICHAEAN_SADHE_value, U_JG_MANICHAEAN_SADHE); + zend_string *const_JG_MANICHAEAN_SADHE_name = zend_string_init_interned("JG_MANICHAEAN_SADHE", sizeof("JG_MANICHAEAN_SADHE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_SADHE_name, &const_JG_MANICHAEAN_SADHE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_SADHE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_SAMEKH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_SAMEKH_value, U_JG_MANICHAEAN_SAMEKH); + zend_string *const_JG_MANICHAEAN_SAMEKH_name = zend_string_init_interned("JG_MANICHAEAN_SAMEKH", sizeof("JG_MANICHAEAN_SAMEKH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_SAMEKH_name, &const_JG_MANICHAEAN_SAMEKH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_SAMEKH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_TAW_value; + ZVAL_LONG(&const_JG_MANICHAEAN_TAW_value, U_JG_MANICHAEAN_TAW); + zend_string *const_JG_MANICHAEAN_TAW_name = zend_string_init_interned("JG_MANICHAEAN_TAW", sizeof("JG_MANICHAEAN_TAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_TAW_name, &const_JG_MANICHAEAN_TAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_TAW_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_TEN_value; + ZVAL_LONG(&const_JG_MANICHAEAN_TEN_value, U_JG_MANICHAEAN_TEN); + zend_string *const_JG_MANICHAEAN_TEN_name = zend_string_init_interned("JG_MANICHAEAN_TEN", sizeof("JG_MANICHAEAN_TEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_TEN_name, &const_JG_MANICHAEAN_TEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_TEN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_TETH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_TETH_value, U_JG_MANICHAEAN_TETH); + zend_string *const_JG_MANICHAEAN_TETH_name = zend_string_init_interned("JG_MANICHAEAN_TETH", sizeof("JG_MANICHAEAN_TETH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_TETH_name, &const_JG_MANICHAEAN_TETH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_TETH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_THAMEDH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_THAMEDH_value, U_JG_MANICHAEAN_THAMEDH); + zend_string *const_JG_MANICHAEAN_THAMEDH_name = zend_string_init_interned("JG_MANICHAEAN_THAMEDH", sizeof("JG_MANICHAEAN_THAMEDH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_THAMEDH_name, &const_JG_MANICHAEAN_THAMEDH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_THAMEDH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_TWENTY_value; + ZVAL_LONG(&const_JG_MANICHAEAN_TWENTY_value, U_JG_MANICHAEAN_TWENTY); + zend_string *const_JG_MANICHAEAN_TWENTY_name = zend_string_init_interned("JG_MANICHAEAN_TWENTY", sizeof("JG_MANICHAEAN_TWENTY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_TWENTY_name, &const_JG_MANICHAEAN_TWENTY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_TWENTY_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_WAW_value; + ZVAL_LONG(&const_JG_MANICHAEAN_WAW_value, U_JG_MANICHAEAN_WAW); + zend_string *const_JG_MANICHAEAN_WAW_name = zend_string_init_interned("JG_MANICHAEAN_WAW", sizeof("JG_MANICHAEAN_WAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_WAW_name, &const_JG_MANICHAEAN_WAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_WAW_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_YODH_value; + ZVAL_LONG(&const_JG_MANICHAEAN_YODH_value, U_JG_MANICHAEAN_YODH); + zend_string *const_JG_MANICHAEAN_YODH_name = zend_string_init_interned("JG_MANICHAEAN_YODH", sizeof("JG_MANICHAEAN_YODH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_YODH_name, &const_JG_MANICHAEAN_YODH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_YODH_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_MANICHAEAN_ZAYIN_value; + ZVAL_LONG(&const_JG_MANICHAEAN_ZAYIN_value, U_JG_MANICHAEAN_ZAYIN); + zend_string *const_JG_MANICHAEAN_ZAYIN_name = zend_string_init_interned("JG_MANICHAEAN_ZAYIN", sizeof("JG_MANICHAEAN_ZAYIN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_MANICHAEAN_ZAYIN_name, &const_JG_MANICHAEAN_ZAYIN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_MANICHAEAN_ZAYIN_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 54 + + zval const_JG_STRAIGHT_WAW_value; + ZVAL_LONG(&const_JG_STRAIGHT_WAW_value, U_JG_STRAIGHT_WAW); + zend_string *const_JG_STRAIGHT_WAW_name = zend_string_init_interned("JG_STRAIGHT_WAW", sizeof("JG_STRAIGHT_WAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_STRAIGHT_WAW_name, &const_JG_STRAIGHT_WAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_STRAIGHT_WAW_name); +#endif + + zval const_JG_COUNT_value; + ZVAL_LONG(&const_JG_COUNT_value, U_JG_COUNT); + zend_string *const_JG_COUNT_name = zend_string_init_interned("JG_COUNT", sizeof("JG_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_JG_COUNT_name, &const_JG_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_JG_COUNT_name); + + zval const_GCB_OTHER_value; + ZVAL_LONG(&const_GCB_OTHER_value, U_GCB_OTHER); + zend_string *const_GCB_OTHER_name = zend_string_init_interned("GCB_OTHER", sizeof("GCB_OTHER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_OTHER_name, &const_GCB_OTHER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_OTHER_name); + + zval const_GCB_CONTROL_value; + ZVAL_LONG(&const_GCB_CONTROL_value, U_GCB_CONTROL); + zend_string *const_GCB_CONTROL_name = zend_string_init_interned("GCB_CONTROL", sizeof("GCB_CONTROL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_CONTROL_name, &const_GCB_CONTROL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_CONTROL_name); + + zval const_GCB_CR_value; + ZVAL_LONG(&const_GCB_CR_value, U_GCB_CR); + zend_string *const_GCB_CR_name = zend_string_init_interned("GCB_CR", sizeof("GCB_CR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_CR_name, &const_GCB_CR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_CR_name); + + zval const_GCB_EXTEND_value; + ZVAL_LONG(&const_GCB_EXTEND_value, U_GCB_EXTEND); + zend_string *const_GCB_EXTEND_name = zend_string_init_interned("GCB_EXTEND", sizeof("GCB_EXTEND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_EXTEND_name, &const_GCB_EXTEND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_EXTEND_name); + + zval const_GCB_L_value; + ZVAL_LONG(&const_GCB_L_value, U_GCB_L); + zend_string *const_GCB_L_name = zend_string_init_interned("GCB_L", sizeof("GCB_L") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_L_name, &const_GCB_L_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_L_name); + + zval const_GCB_LF_value; + ZVAL_LONG(&const_GCB_LF_value, U_GCB_LF); + zend_string *const_GCB_LF_name = zend_string_init_interned("GCB_LF", sizeof("GCB_LF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_LF_name, &const_GCB_LF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_LF_name); + + zval const_GCB_LV_value; + ZVAL_LONG(&const_GCB_LV_value, U_GCB_LV); + zend_string *const_GCB_LV_name = zend_string_init_interned("GCB_LV", sizeof("GCB_LV") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_LV_name, &const_GCB_LV_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_LV_name); + + zval const_GCB_LVT_value; + ZVAL_LONG(&const_GCB_LVT_value, U_GCB_LVT); + zend_string *const_GCB_LVT_name = zend_string_init_interned("GCB_LVT", sizeof("GCB_LVT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_LVT_name, &const_GCB_LVT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_LVT_name); + + zval const_GCB_T_value; + ZVAL_LONG(&const_GCB_T_value, U_GCB_T); + zend_string *const_GCB_T_name = zend_string_init_interned("GCB_T", sizeof("GCB_T") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_T_name, &const_GCB_T_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_T_name); + + zval const_GCB_V_value; + ZVAL_LONG(&const_GCB_V_value, U_GCB_V); + zend_string *const_GCB_V_name = zend_string_init_interned("GCB_V", sizeof("GCB_V") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_V_name, &const_GCB_V_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_V_name); + + zval const_GCB_SPACING_MARK_value; + ZVAL_LONG(&const_GCB_SPACING_MARK_value, U_GCB_SPACING_MARK); + zend_string *const_GCB_SPACING_MARK_name = zend_string_init_interned("GCB_SPACING_MARK", sizeof("GCB_SPACING_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_SPACING_MARK_name, &const_GCB_SPACING_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_SPACING_MARK_name); + + zval const_GCB_PREPEND_value; + ZVAL_LONG(&const_GCB_PREPEND_value, U_GCB_PREPEND); + zend_string *const_GCB_PREPEND_name = zend_string_init_interned("GCB_PREPEND", sizeof("GCB_PREPEND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_PREPEND_name, &const_GCB_PREPEND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_PREPEND_name); + + zval const_GCB_REGIONAL_INDICATOR_value; + ZVAL_LONG(&const_GCB_REGIONAL_INDICATOR_value, U_GCB_REGIONAL_INDICATOR); + zend_string *const_GCB_REGIONAL_INDICATOR_name = zend_string_init_interned("GCB_REGIONAL_INDICATOR", sizeof("GCB_REGIONAL_INDICATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_REGIONAL_INDICATOR_name, &const_GCB_REGIONAL_INDICATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_REGIONAL_INDICATOR_name); + + zval const_GCB_COUNT_value; + ZVAL_LONG(&const_GCB_COUNT_value, U_GCB_COUNT); + zend_string *const_GCB_COUNT_name = zend_string_init_interned("GCB_COUNT", sizeof("GCB_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_GCB_COUNT_name, &const_GCB_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_GCB_COUNT_name); + + zval const_WB_OTHER_value; + ZVAL_LONG(&const_WB_OTHER_value, U_WB_OTHER); + zend_string *const_WB_OTHER_name = zend_string_init_interned("WB_OTHER", sizeof("WB_OTHER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_OTHER_name, &const_WB_OTHER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_OTHER_name); + + zval const_WB_ALETTER_value; + ZVAL_LONG(&const_WB_ALETTER_value, U_WB_ALETTER); + zend_string *const_WB_ALETTER_name = zend_string_init_interned("WB_ALETTER", sizeof("WB_ALETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_ALETTER_name, &const_WB_ALETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_ALETTER_name); + + zval const_WB_FORMAT_value; + ZVAL_LONG(&const_WB_FORMAT_value, U_WB_FORMAT); + zend_string *const_WB_FORMAT_name = zend_string_init_interned("WB_FORMAT", sizeof("WB_FORMAT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_FORMAT_name, &const_WB_FORMAT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_FORMAT_name); + + zval const_WB_KATAKANA_value; + ZVAL_LONG(&const_WB_KATAKANA_value, U_WB_KATAKANA); + zend_string *const_WB_KATAKANA_name = zend_string_init_interned("WB_KATAKANA", sizeof("WB_KATAKANA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_KATAKANA_name, &const_WB_KATAKANA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_KATAKANA_name); + + zval const_WB_MIDLETTER_value; + ZVAL_LONG(&const_WB_MIDLETTER_value, U_WB_MIDLETTER); + zend_string *const_WB_MIDLETTER_name = zend_string_init_interned("WB_MIDLETTER", sizeof("WB_MIDLETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_MIDLETTER_name, &const_WB_MIDLETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_MIDLETTER_name); + + zval const_WB_MIDNUM_value; + ZVAL_LONG(&const_WB_MIDNUM_value, U_WB_MIDNUM); + zend_string *const_WB_MIDNUM_name = zend_string_init_interned("WB_MIDNUM", sizeof("WB_MIDNUM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_MIDNUM_name, &const_WB_MIDNUM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_MIDNUM_name); + + zval const_WB_NUMERIC_value; + ZVAL_LONG(&const_WB_NUMERIC_value, U_WB_NUMERIC); + zend_string *const_WB_NUMERIC_name = zend_string_init_interned("WB_NUMERIC", sizeof("WB_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_NUMERIC_name, &const_WB_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_NUMERIC_name); + + zval const_WB_EXTENDNUMLET_value; + ZVAL_LONG(&const_WB_EXTENDNUMLET_value, U_WB_EXTENDNUMLET); + zend_string *const_WB_EXTENDNUMLET_name = zend_string_init_interned("WB_EXTENDNUMLET", sizeof("WB_EXTENDNUMLET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_EXTENDNUMLET_name, &const_WB_EXTENDNUMLET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_EXTENDNUMLET_name); + + zval const_WB_CR_value; + ZVAL_LONG(&const_WB_CR_value, U_WB_CR); + zend_string *const_WB_CR_name = zend_string_init_interned("WB_CR", sizeof("WB_CR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_CR_name, &const_WB_CR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_CR_name); + + zval const_WB_EXTEND_value; + ZVAL_LONG(&const_WB_EXTEND_value, U_WB_EXTEND); + zend_string *const_WB_EXTEND_name = zend_string_init_interned("WB_EXTEND", sizeof("WB_EXTEND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_EXTEND_name, &const_WB_EXTEND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_EXTEND_name); + + zval const_WB_LF_value; + ZVAL_LONG(&const_WB_LF_value, U_WB_LF); + zend_string *const_WB_LF_name = zend_string_init_interned("WB_LF", sizeof("WB_LF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_LF_name, &const_WB_LF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_LF_name); + + zval const_WB_MIDNUMLET_value; + ZVAL_LONG(&const_WB_MIDNUMLET_value, U_WB_MIDNUMLET); + zend_string *const_WB_MIDNUMLET_name = zend_string_init_interned("WB_MIDNUMLET", sizeof("WB_MIDNUMLET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_MIDNUMLET_name, &const_WB_MIDNUMLET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_MIDNUMLET_name); + + zval const_WB_NEWLINE_value; + ZVAL_LONG(&const_WB_NEWLINE_value, U_WB_NEWLINE); + zend_string *const_WB_NEWLINE_name = zend_string_init_interned("WB_NEWLINE", sizeof("WB_NEWLINE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_NEWLINE_name, &const_WB_NEWLINE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_NEWLINE_name); + + zval const_WB_REGIONAL_INDICATOR_value; + ZVAL_LONG(&const_WB_REGIONAL_INDICATOR_value, U_WB_REGIONAL_INDICATOR); + zend_string *const_WB_REGIONAL_INDICATOR_name = zend_string_init_interned("WB_REGIONAL_INDICATOR", sizeof("WB_REGIONAL_INDICATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_REGIONAL_INDICATOR_name, &const_WB_REGIONAL_INDICATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_REGIONAL_INDICATOR_name); +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_WB_HEBREW_LETTER_value; + ZVAL_LONG(&const_WB_HEBREW_LETTER_value, U_WB_HEBREW_LETTER); + zend_string *const_WB_HEBREW_LETTER_name = zend_string_init_interned("WB_HEBREW_LETTER", sizeof("WB_HEBREW_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_HEBREW_LETTER_name, &const_WB_HEBREW_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_HEBREW_LETTER_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_WB_SINGLE_QUOTE_value; + ZVAL_LONG(&const_WB_SINGLE_QUOTE_value, U_WB_SINGLE_QUOTE); + zend_string *const_WB_SINGLE_QUOTE_name = zend_string_init_interned("WB_SINGLE_QUOTE", sizeof("WB_SINGLE_QUOTE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_SINGLE_QUOTE_name, &const_WB_SINGLE_QUOTE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_SINGLE_QUOTE_name); +#endif +#if U_ICU_VERSION_MAJOR_NUM >= 52 + + zval const_WB_DOUBLE_QUOTE_value; + ZVAL_LONG(&const_WB_DOUBLE_QUOTE_value, U_WB_DOUBLE_QUOTE); + zend_string *const_WB_DOUBLE_QUOTE_name = zend_string_init_interned("WB_DOUBLE_QUOTE", sizeof("WB_DOUBLE_QUOTE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_DOUBLE_QUOTE_name, &const_WB_DOUBLE_QUOTE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_DOUBLE_QUOTE_name); +#endif + + zval const_WB_COUNT_value; + ZVAL_LONG(&const_WB_COUNT_value, U_WB_COUNT); + zend_string *const_WB_COUNT_name = zend_string_init_interned("WB_COUNT", sizeof("WB_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_WB_COUNT_name, &const_WB_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_WB_COUNT_name); + + zval const_SB_OTHER_value; + ZVAL_LONG(&const_SB_OTHER_value, U_SB_OTHER); + zend_string *const_SB_OTHER_name = zend_string_init_interned("SB_OTHER", sizeof("SB_OTHER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_OTHER_name, &const_SB_OTHER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_OTHER_name); + + zval const_SB_ATERM_value; + ZVAL_LONG(&const_SB_ATERM_value, U_SB_ATERM); + zend_string *const_SB_ATERM_name = zend_string_init_interned("SB_ATERM", sizeof("SB_ATERM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_ATERM_name, &const_SB_ATERM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_ATERM_name); + + zval const_SB_CLOSE_value; + ZVAL_LONG(&const_SB_CLOSE_value, U_SB_CLOSE); + zend_string *const_SB_CLOSE_name = zend_string_init_interned("SB_CLOSE", sizeof("SB_CLOSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_CLOSE_name, &const_SB_CLOSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_CLOSE_name); + + zval const_SB_FORMAT_value; + ZVAL_LONG(&const_SB_FORMAT_value, U_SB_FORMAT); + zend_string *const_SB_FORMAT_name = zend_string_init_interned("SB_FORMAT", sizeof("SB_FORMAT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_FORMAT_name, &const_SB_FORMAT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_FORMAT_name); + + zval const_SB_LOWER_value; + ZVAL_LONG(&const_SB_LOWER_value, U_SB_LOWER); + zend_string *const_SB_LOWER_name = zend_string_init_interned("SB_LOWER", sizeof("SB_LOWER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_LOWER_name, &const_SB_LOWER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_LOWER_name); + + zval const_SB_NUMERIC_value; + ZVAL_LONG(&const_SB_NUMERIC_value, U_SB_NUMERIC); + zend_string *const_SB_NUMERIC_name = zend_string_init_interned("SB_NUMERIC", sizeof("SB_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_NUMERIC_name, &const_SB_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_NUMERIC_name); + + zval const_SB_OLETTER_value; + ZVAL_LONG(&const_SB_OLETTER_value, U_SB_OLETTER); + zend_string *const_SB_OLETTER_name = zend_string_init_interned("SB_OLETTER", sizeof("SB_OLETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_OLETTER_name, &const_SB_OLETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_OLETTER_name); + + zval const_SB_SEP_value; + ZVAL_LONG(&const_SB_SEP_value, U_SB_SEP); + zend_string *const_SB_SEP_name = zend_string_init_interned("SB_SEP", sizeof("SB_SEP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_SEP_name, &const_SB_SEP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_SEP_name); + + zval const_SB_SP_value; + ZVAL_LONG(&const_SB_SP_value, U_SB_SP); + zend_string *const_SB_SP_name = zend_string_init_interned("SB_SP", sizeof("SB_SP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_SP_name, &const_SB_SP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_SP_name); + + zval const_SB_STERM_value; + ZVAL_LONG(&const_SB_STERM_value, U_SB_STERM); + zend_string *const_SB_STERM_name = zend_string_init_interned("SB_STERM", sizeof("SB_STERM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_STERM_name, &const_SB_STERM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_STERM_name); + + zval const_SB_UPPER_value; + ZVAL_LONG(&const_SB_UPPER_value, U_SB_UPPER); + zend_string *const_SB_UPPER_name = zend_string_init_interned("SB_UPPER", sizeof("SB_UPPER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_UPPER_name, &const_SB_UPPER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_UPPER_name); + + zval const_SB_CR_value; + ZVAL_LONG(&const_SB_CR_value, U_SB_CR); + zend_string *const_SB_CR_name = zend_string_init_interned("SB_CR", sizeof("SB_CR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_CR_name, &const_SB_CR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_CR_name); + + zval const_SB_EXTEND_value; + ZVAL_LONG(&const_SB_EXTEND_value, U_SB_EXTEND); + zend_string *const_SB_EXTEND_name = zend_string_init_interned("SB_EXTEND", sizeof("SB_EXTEND") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_EXTEND_name, &const_SB_EXTEND_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_EXTEND_name); + + zval const_SB_LF_value; + ZVAL_LONG(&const_SB_LF_value, U_SB_LF); + zend_string *const_SB_LF_name = zend_string_init_interned("SB_LF", sizeof("SB_LF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_LF_name, &const_SB_LF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_LF_name); + + zval const_SB_SCONTINUE_value; + ZVAL_LONG(&const_SB_SCONTINUE_value, U_SB_SCONTINUE); + zend_string *const_SB_SCONTINUE_name = zend_string_init_interned("SB_SCONTINUE", sizeof("SB_SCONTINUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_SCONTINUE_name, &const_SB_SCONTINUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_SCONTINUE_name); + + zval const_SB_COUNT_value; + ZVAL_LONG(&const_SB_COUNT_value, U_SB_COUNT); + zend_string *const_SB_COUNT_name = zend_string_init_interned("SB_COUNT", sizeof("SB_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SB_COUNT_name, &const_SB_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SB_COUNT_name); + + zval const_LB_UNKNOWN_value; + ZVAL_LONG(&const_LB_UNKNOWN_value, U_LB_UNKNOWN); + zend_string *const_LB_UNKNOWN_name = zend_string_init_interned("LB_UNKNOWN", sizeof("LB_UNKNOWN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_UNKNOWN_name, &const_LB_UNKNOWN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_UNKNOWN_name); + + zval const_LB_AMBIGUOUS_value; + ZVAL_LONG(&const_LB_AMBIGUOUS_value, U_LB_AMBIGUOUS); + zend_string *const_LB_AMBIGUOUS_name = zend_string_init_interned("LB_AMBIGUOUS", sizeof("LB_AMBIGUOUS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_AMBIGUOUS_name, &const_LB_AMBIGUOUS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_AMBIGUOUS_name); + + zval const_LB_ALPHABETIC_value; + ZVAL_LONG(&const_LB_ALPHABETIC_value, U_LB_ALPHABETIC); + zend_string *const_LB_ALPHABETIC_name = zend_string_init_interned("LB_ALPHABETIC", sizeof("LB_ALPHABETIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_ALPHABETIC_name, &const_LB_ALPHABETIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_ALPHABETIC_name); + + zval const_LB_BREAK_BOTH_value; + ZVAL_LONG(&const_LB_BREAK_BOTH_value, U_LB_BREAK_BOTH); + zend_string *const_LB_BREAK_BOTH_name = zend_string_init_interned("LB_BREAK_BOTH", sizeof("LB_BREAK_BOTH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_BREAK_BOTH_name, &const_LB_BREAK_BOTH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_BREAK_BOTH_name); + + zval const_LB_BREAK_AFTER_value; + ZVAL_LONG(&const_LB_BREAK_AFTER_value, U_LB_BREAK_AFTER); + zend_string *const_LB_BREAK_AFTER_name = zend_string_init_interned("LB_BREAK_AFTER", sizeof("LB_BREAK_AFTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_BREAK_AFTER_name, &const_LB_BREAK_AFTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_BREAK_AFTER_name); + + zval const_LB_BREAK_BEFORE_value; + ZVAL_LONG(&const_LB_BREAK_BEFORE_value, U_LB_BREAK_BEFORE); + zend_string *const_LB_BREAK_BEFORE_name = zend_string_init_interned("LB_BREAK_BEFORE", sizeof("LB_BREAK_BEFORE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_BREAK_BEFORE_name, &const_LB_BREAK_BEFORE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_BREAK_BEFORE_name); + + zval const_LB_MANDATORY_BREAK_value; + ZVAL_LONG(&const_LB_MANDATORY_BREAK_value, U_LB_MANDATORY_BREAK); + zend_string *const_LB_MANDATORY_BREAK_name = zend_string_init_interned("LB_MANDATORY_BREAK", sizeof("LB_MANDATORY_BREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_MANDATORY_BREAK_name, &const_LB_MANDATORY_BREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_MANDATORY_BREAK_name); + + zval const_LB_CONTINGENT_BREAK_value; + ZVAL_LONG(&const_LB_CONTINGENT_BREAK_value, U_LB_CONTINGENT_BREAK); + zend_string *const_LB_CONTINGENT_BREAK_name = zend_string_init_interned("LB_CONTINGENT_BREAK", sizeof("LB_CONTINGENT_BREAK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_CONTINGENT_BREAK_name, &const_LB_CONTINGENT_BREAK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_CONTINGENT_BREAK_name); + + zval const_LB_CLOSE_PUNCTUATION_value; + ZVAL_LONG(&const_LB_CLOSE_PUNCTUATION_value, U_LB_CLOSE_PUNCTUATION); + zend_string *const_LB_CLOSE_PUNCTUATION_name = zend_string_init_interned("LB_CLOSE_PUNCTUATION", sizeof("LB_CLOSE_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_CLOSE_PUNCTUATION_name, &const_LB_CLOSE_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_CLOSE_PUNCTUATION_name); + + zval const_LB_COMBINING_MARK_value; + ZVAL_LONG(&const_LB_COMBINING_MARK_value, U_LB_COMBINING_MARK); + zend_string *const_LB_COMBINING_MARK_name = zend_string_init_interned("LB_COMBINING_MARK", sizeof("LB_COMBINING_MARK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_COMBINING_MARK_name, &const_LB_COMBINING_MARK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_COMBINING_MARK_name); + + zval const_LB_CARRIAGE_RETURN_value; + ZVAL_LONG(&const_LB_CARRIAGE_RETURN_value, U_LB_CARRIAGE_RETURN); + zend_string *const_LB_CARRIAGE_RETURN_name = zend_string_init_interned("LB_CARRIAGE_RETURN", sizeof("LB_CARRIAGE_RETURN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_CARRIAGE_RETURN_name, &const_LB_CARRIAGE_RETURN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_CARRIAGE_RETURN_name); + + zval const_LB_EXCLAMATION_value; + ZVAL_LONG(&const_LB_EXCLAMATION_value, U_LB_EXCLAMATION); + zend_string *const_LB_EXCLAMATION_name = zend_string_init_interned("LB_EXCLAMATION", sizeof("LB_EXCLAMATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_EXCLAMATION_name, &const_LB_EXCLAMATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_EXCLAMATION_name); + + zval const_LB_GLUE_value; + ZVAL_LONG(&const_LB_GLUE_value, U_LB_GLUE); + zend_string *const_LB_GLUE_name = zend_string_init_interned("LB_GLUE", sizeof("LB_GLUE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_GLUE_name, &const_LB_GLUE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_GLUE_name); + + zval const_LB_HYPHEN_value; + ZVAL_LONG(&const_LB_HYPHEN_value, U_LB_HYPHEN); + zend_string *const_LB_HYPHEN_name = zend_string_init_interned("LB_HYPHEN", sizeof("LB_HYPHEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_HYPHEN_name, &const_LB_HYPHEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_HYPHEN_name); + + zval const_LB_IDEOGRAPHIC_value; + ZVAL_LONG(&const_LB_IDEOGRAPHIC_value, U_LB_IDEOGRAPHIC); + zend_string *const_LB_IDEOGRAPHIC_name = zend_string_init_interned("LB_IDEOGRAPHIC", sizeof("LB_IDEOGRAPHIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_IDEOGRAPHIC_name, &const_LB_IDEOGRAPHIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_IDEOGRAPHIC_name); + + zval const_LB_INSEPARABLE_value; + ZVAL_LONG(&const_LB_INSEPARABLE_value, U_LB_INSEPARABLE); + zend_string *const_LB_INSEPARABLE_name = zend_string_init_interned("LB_INSEPARABLE", sizeof("LB_INSEPARABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_INSEPARABLE_name, &const_LB_INSEPARABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_INSEPARABLE_name); + + zval const_LB_INSEPERABLE_value; + ZVAL_LONG(&const_LB_INSEPERABLE_value, U_LB_INSEPERABLE); + zend_string *const_LB_INSEPERABLE_name = zend_string_init_interned("LB_INSEPERABLE", sizeof("LB_INSEPERABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_INSEPERABLE_name, &const_LB_INSEPERABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_INSEPERABLE_name); + + zval const_LB_INFIX_NUMERIC_value; + ZVAL_LONG(&const_LB_INFIX_NUMERIC_value, U_LB_INFIX_NUMERIC); + zend_string *const_LB_INFIX_NUMERIC_name = zend_string_init_interned("LB_INFIX_NUMERIC", sizeof("LB_INFIX_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_INFIX_NUMERIC_name, &const_LB_INFIX_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_INFIX_NUMERIC_name); + + zval const_LB_LINE_FEED_value; + ZVAL_LONG(&const_LB_LINE_FEED_value, U_LB_LINE_FEED); + zend_string *const_LB_LINE_FEED_name = zend_string_init_interned("LB_LINE_FEED", sizeof("LB_LINE_FEED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_LINE_FEED_name, &const_LB_LINE_FEED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_LINE_FEED_name); + + zval const_LB_NONSTARTER_value; + ZVAL_LONG(&const_LB_NONSTARTER_value, U_LB_NONSTARTER); + zend_string *const_LB_NONSTARTER_name = zend_string_init_interned("LB_NONSTARTER", sizeof("LB_NONSTARTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_NONSTARTER_name, &const_LB_NONSTARTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_NONSTARTER_name); + + zval const_LB_NUMERIC_value; + ZVAL_LONG(&const_LB_NUMERIC_value, U_LB_NUMERIC); + zend_string *const_LB_NUMERIC_name = zend_string_init_interned("LB_NUMERIC", sizeof("LB_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_NUMERIC_name, &const_LB_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_NUMERIC_name); + + zval const_LB_OPEN_PUNCTUATION_value; + ZVAL_LONG(&const_LB_OPEN_PUNCTUATION_value, U_LB_OPEN_PUNCTUATION); + zend_string *const_LB_OPEN_PUNCTUATION_name = zend_string_init_interned("LB_OPEN_PUNCTUATION", sizeof("LB_OPEN_PUNCTUATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_OPEN_PUNCTUATION_name, &const_LB_OPEN_PUNCTUATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_OPEN_PUNCTUATION_name); + + zval const_LB_POSTFIX_NUMERIC_value; + ZVAL_LONG(&const_LB_POSTFIX_NUMERIC_value, U_LB_POSTFIX_NUMERIC); + zend_string *const_LB_POSTFIX_NUMERIC_name = zend_string_init_interned("LB_POSTFIX_NUMERIC", sizeof("LB_POSTFIX_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_POSTFIX_NUMERIC_name, &const_LB_POSTFIX_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_POSTFIX_NUMERIC_name); + + zval const_LB_PREFIX_NUMERIC_value; + ZVAL_LONG(&const_LB_PREFIX_NUMERIC_value, U_LB_PREFIX_NUMERIC); + zend_string *const_LB_PREFIX_NUMERIC_name = zend_string_init_interned("LB_PREFIX_NUMERIC", sizeof("LB_PREFIX_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_PREFIX_NUMERIC_name, &const_LB_PREFIX_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_PREFIX_NUMERIC_name); + + zval const_LB_QUOTATION_value; + ZVAL_LONG(&const_LB_QUOTATION_value, U_LB_QUOTATION); + zend_string *const_LB_QUOTATION_name = zend_string_init_interned("LB_QUOTATION", sizeof("LB_QUOTATION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_QUOTATION_name, &const_LB_QUOTATION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_QUOTATION_name); + + zval const_LB_COMPLEX_CONTEXT_value; + ZVAL_LONG(&const_LB_COMPLEX_CONTEXT_value, U_LB_COMPLEX_CONTEXT); + zend_string *const_LB_COMPLEX_CONTEXT_name = zend_string_init_interned("LB_COMPLEX_CONTEXT", sizeof("LB_COMPLEX_CONTEXT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_COMPLEX_CONTEXT_name, &const_LB_COMPLEX_CONTEXT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_COMPLEX_CONTEXT_name); + + zval const_LB_SURROGATE_value; + ZVAL_LONG(&const_LB_SURROGATE_value, U_LB_SURROGATE); + zend_string *const_LB_SURROGATE_name = zend_string_init_interned("LB_SURROGATE", sizeof("LB_SURROGATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_SURROGATE_name, &const_LB_SURROGATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_SURROGATE_name); + + zval const_LB_SPACE_value; + ZVAL_LONG(&const_LB_SPACE_value, U_LB_SPACE); + zend_string *const_LB_SPACE_name = zend_string_init_interned("LB_SPACE", sizeof("LB_SPACE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_SPACE_name, &const_LB_SPACE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_SPACE_name); + + zval const_LB_BREAK_SYMBOLS_value; + ZVAL_LONG(&const_LB_BREAK_SYMBOLS_value, U_LB_BREAK_SYMBOLS); + zend_string *const_LB_BREAK_SYMBOLS_name = zend_string_init_interned("LB_BREAK_SYMBOLS", sizeof("LB_BREAK_SYMBOLS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_BREAK_SYMBOLS_name, &const_LB_BREAK_SYMBOLS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_BREAK_SYMBOLS_name); + + zval const_LB_ZWSPACE_value; + ZVAL_LONG(&const_LB_ZWSPACE_value, U_LB_ZWSPACE); + zend_string *const_LB_ZWSPACE_name = zend_string_init_interned("LB_ZWSPACE", sizeof("LB_ZWSPACE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_ZWSPACE_name, &const_LB_ZWSPACE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_ZWSPACE_name); + + zval const_LB_NEXT_LINE_value; + ZVAL_LONG(&const_LB_NEXT_LINE_value, U_LB_NEXT_LINE); + zend_string *const_LB_NEXT_LINE_name = zend_string_init_interned("LB_NEXT_LINE", sizeof("LB_NEXT_LINE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_NEXT_LINE_name, &const_LB_NEXT_LINE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_NEXT_LINE_name); + + zval const_LB_WORD_JOINER_value; + ZVAL_LONG(&const_LB_WORD_JOINER_value, U_LB_WORD_JOINER); + zend_string *const_LB_WORD_JOINER_name = zend_string_init_interned("LB_WORD_JOINER", sizeof("LB_WORD_JOINER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_WORD_JOINER_name, &const_LB_WORD_JOINER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_WORD_JOINER_name); + + zval const_LB_H2_value; + ZVAL_LONG(&const_LB_H2_value, U_LB_H2); + zend_string *const_LB_H2_name = zend_string_init_interned("LB_H2", sizeof("LB_H2") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_H2_name, &const_LB_H2_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_H2_name); + + zval const_LB_H3_value; + ZVAL_LONG(&const_LB_H3_value, U_LB_H3); + zend_string *const_LB_H3_name = zend_string_init_interned("LB_H3", sizeof("LB_H3") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_H3_name, &const_LB_H3_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_H3_name); + + zval const_LB_JL_value; + ZVAL_LONG(&const_LB_JL_value, U_LB_JL); + zend_string *const_LB_JL_name = zend_string_init_interned("LB_JL", sizeof("LB_JL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_JL_name, &const_LB_JL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_JL_name); + + zval const_LB_JT_value; + ZVAL_LONG(&const_LB_JT_value, U_LB_JT); + zend_string *const_LB_JT_name = zend_string_init_interned("LB_JT", sizeof("LB_JT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_JT_name, &const_LB_JT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_JT_name); + + zval const_LB_JV_value; + ZVAL_LONG(&const_LB_JV_value, U_LB_JV); + zend_string *const_LB_JV_name = zend_string_init_interned("LB_JV", sizeof("LB_JV") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_JV_name, &const_LB_JV_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_JV_name); + + zval const_LB_CLOSE_PARENTHESIS_value; + ZVAL_LONG(&const_LB_CLOSE_PARENTHESIS_value, U_LB_CLOSE_PARENTHESIS); + zend_string *const_LB_CLOSE_PARENTHESIS_name = zend_string_init_interned("LB_CLOSE_PARENTHESIS", sizeof("LB_CLOSE_PARENTHESIS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_CLOSE_PARENTHESIS_name, &const_LB_CLOSE_PARENTHESIS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_CLOSE_PARENTHESIS_name); + + zval const_LB_CONDITIONAL_JAPANESE_STARTER_value; + ZVAL_LONG(&const_LB_CONDITIONAL_JAPANESE_STARTER_value, U_LB_CONDITIONAL_JAPANESE_STARTER); + zend_string *const_LB_CONDITIONAL_JAPANESE_STARTER_name = zend_string_init_interned("LB_CONDITIONAL_JAPANESE_STARTER", sizeof("LB_CONDITIONAL_JAPANESE_STARTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_CONDITIONAL_JAPANESE_STARTER_name, &const_LB_CONDITIONAL_JAPANESE_STARTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_CONDITIONAL_JAPANESE_STARTER_name); + + zval const_LB_HEBREW_LETTER_value; + ZVAL_LONG(&const_LB_HEBREW_LETTER_value, U_LB_HEBREW_LETTER); + zend_string *const_LB_HEBREW_LETTER_name = zend_string_init_interned("LB_HEBREW_LETTER", sizeof("LB_HEBREW_LETTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_HEBREW_LETTER_name, &const_LB_HEBREW_LETTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_HEBREW_LETTER_name); + + zval const_LB_REGIONAL_INDICATOR_value; + ZVAL_LONG(&const_LB_REGIONAL_INDICATOR_value, U_LB_REGIONAL_INDICATOR); + zend_string *const_LB_REGIONAL_INDICATOR_name = zend_string_init_interned("LB_REGIONAL_INDICATOR", sizeof("LB_REGIONAL_INDICATOR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_REGIONAL_INDICATOR_name, &const_LB_REGIONAL_INDICATOR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_REGIONAL_INDICATOR_name); + + zval const_LB_COUNT_value; + ZVAL_LONG(&const_LB_COUNT_value, U_LB_COUNT); + zend_string *const_LB_COUNT_name = zend_string_init_interned("LB_COUNT", sizeof("LB_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LB_COUNT_name, &const_LB_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LB_COUNT_name); + + zval const_NT_NONE_value; + ZVAL_LONG(&const_NT_NONE_value, U_NT_NONE); + zend_string *const_NT_NONE_name = zend_string_init_interned("NT_NONE", sizeof("NT_NONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NT_NONE_name, &const_NT_NONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NT_NONE_name); + + zval const_NT_DECIMAL_value; + ZVAL_LONG(&const_NT_DECIMAL_value, U_NT_DECIMAL); + zend_string *const_NT_DECIMAL_name = zend_string_init_interned("NT_DECIMAL", sizeof("NT_DECIMAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NT_DECIMAL_name, &const_NT_DECIMAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NT_DECIMAL_name); + + zval const_NT_DIGIT_value; + ZVAL_LONG(&const_NT_DIGIT_value, U_NT_DIGIT); + zend_string *const_NT_DIGIT_name = zend_string_init_interned("NT_DIGIT", sizeof("NT_DIGIT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NT_DIGIT_name, &const_NT_DIGIT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NT_DIGIT_name); + + zval const_NT_NUMERIC_value; + ZVAL_LONG(&const_NT_NUMERIC_value, U_NT_NUMERIC); + zend_string *const_NT_NUMERIC_name = zend_string_init_interned("NT_NUMERIC", sizeof("NT_NUMERIC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NT_NUMERIC_name, &const_NT_NUMERIC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NT_NUMERIC_name); + + zval const_NT_COUNT_value; + ZVAL_LONG(&const_NT_COUNT_value, U_NT_COUNT); + zend_string *const_NT_COUNT_name = zend_string_init_interned("NT_COUNT", sizeof("NT_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_NT_COUNT_name, &const_NT_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_NT_COUNT_name); + + zval const_HST_NOT_APPLICABLE_value; + ZVAL_LONG(&const_HST_NOT_APPLICABLE_value, U_HST_NOT_APPLICABLE); + zend_string *const_HST_NOT_APPLICABLE_name = zend_string_init_interned("HST_NOT_APPLICABLE", sizeof("HST_NOT_APPLICABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_NOT_APPLICABLE_name, &const_HST_NOT_APPLICABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_NOT_APPLICABLE_name); + + zval const_HST_LEADING_JAMO_value; + ZVAL_LONG(&const_HST_LEADING_JAMO_value, U_HST_LEADING_JAMO); + zend_string *const_HST_LEADING_JAMO_name = zend_string_init_interned("HST_LEADING_JAMO", sizeof("HST_LEADING_JAMO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_LEADING_JAMO_name, &const_HST_LEADING_JAMO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_LEADING_JAMO_name); + + zval const_HST_VOWEL_JAMO_value; + ZVAL_LONG(&const_HST_VOWEL_JAMO_value, U_HST_VOWEL_JAMO); + zend_string *const_HST_VOWEL_JAMO_name = zend_string_init_interned("HST_VOWEL_JAMO", sizeof("HST_VOWEL_JAMO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_VOWEL_JAMO_name, &const_HST_VOWEL_JAMO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_VOWEL_JAMO_name); + + zval const_HST_TRAILING_JAMO_value; + ZVAL_LONG(&const_HST_TRAILING_JAMO_value, U_HST_TRAILING_JAMO); + zend_string *const_HST_TRAILING_JAMO_name = zend_string_init_interned("HST_TRAILING_JAMO", sizeof("HST_TRAILING_JAMO") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_TRAILING_JAMO_name, &const_HST_TRAILING_JAMO_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_TRAILING_JAMO_name); + + zval const_HST_LV_SYLLABLE_value; + ZVAL_LONG(&const_HST_LV_SYLLABLE_value, U_HST_LV_SYLLABLE); + zend_string *const_HST_LV_SYLLABLE_name = zend_string_init_interned("HST_LV_SYLLABLE", sizeof("HST_LV_SYLLABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_LV_SYLLABLE_name, &const_HST_LV_SYLLABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_LV_SYLLABLE_name); + + zval const_HST_LVT_SYLLABLE_value; + ZVAL_LONG(&const_HST_LVT_SYLLABLE_value, U_HST_LVT_SYLLABLE); + zend_string *const_HST_LVT_SYLLABLE_name = zend_string_init_interned("HST_LVT_SYLLABLE", sizeof("HST_LVT_SYLLABLE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_LVT_SYLLABLE_name, &const_HST_LVT_SYLLABLE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_LVT_SYLLABLE_name); + + zval const_HST_COUNT_value; + ZVAL_LONG(&const_HST_COUNT_value, U_HST_COUNT); + zend_string *const_HST_COUNT_name = zend_string_init_interned("HST_COUNT", sizeof("HST_COUNT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HST_COUNT_name, &const_HST_COUNT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HST_COUNT_name); + + zval const_FOLD_CASE_DEFAULT_value; + ZVAL_LONG(&const_FOLD_CASE_DEFAULT_value, U_FOLD_CASE_DEFAULT); + zend_string *const_FOLD_CASE_DEFAULT_name = zend_string_init_interned("FOLD_CASE_DEFAULT", sizeof("FOLD_CASE_DEFAULT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FOLD_CASE_DEFAULT_name, &const_FOLD_CASE_DEFAULT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FOLD_CASE_DEFAULT_name); + + zval const_FOLD_CASE_EXCLUDE_SPECIAL_I_value; + ZVAL_LONG(&const_FOLD_CASE_EXCLUDE_SPECIAL_I_value, U_FOLD_CASE_EXCLUDE_SPECIAL_I); + zend_string *const_FOLD_CASE_EXCLUDE_SPECIAL_I_name = zend_string_init_interned("FOLD_CASE_EXCLUDE_SPECIAL_I", sizeof("FOLD_CASE_EXCLUDE_SPECIAL_I") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FOLD_CASE_EXCLUDE_SPECIAL_I_name, &const_FOLD_CASE_EXCLUDE_SPECIAL_I_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FOLD_CASE_EXCLUDE_SPECIAL_I_name); + return class_entry; } diff --git a/ext/intl/uchar/ucharcategory-enum.h b/ext/intl/uchar/ucharcategory-enum.h deleted file mode 100644 index 2db8a2f8609cf..0000000000000 --- a/ext/intl/uchar/ucharcategory-enum.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Generate from http://icu-project.org/apiref/icu4c/uchar_8h.html#a6a2dbc531efce8d77fdb4c314e7fc25e */ -UCHARCATEGORY(UNASSIGNED) -UCHARCATEGORY(GENERAL_OTHER_TYPES) -UCHARCATEGORY(UPPERCASE_LETTER) -UCHARCATEGORY(LOWERCASE_LETTER) -UCHARCATEGORY(TITLECASE_LETTER) -UCHARCATEGORY(MODIFIER_LETTER) -UCHARCATEGORY(OTHER_LETTER) -UCHARCATEGORY(NON_SPACING_MARK) -UCHARCATEGORY(ENCLOSING_MARK) -UCHARCATEGORY(COMBINING_SPACING_MARK) -UCHARCATEGORY(DECIMAL_DIGIT_NUMBER) -UCHARCATEGORY(LETTER_NUMBER) -UCHARCATEGORY(OTHER_NUMBER) -UCHARCATEGORY(SPACE_SEPARATOR) -UCHARCATEGORY(LINE_SEPARATOR) -UCHARCATEGORY(PARAGRAPH_SEPARATOR) -UCHARCATEGORY(CONTROL_CHAR) -UCHARCATEGORY(FORMAT_CHAR) -UCHARCATEGORY(PRIVATE_USE_CHAR) -UCHARCATEGORY(SURROGATE) -UCHARCATEGORY(DASH_PUNCTUATION) -UCHARCATEGORY(START_PUNCTUATION) -UCHARCATEGORY(END_PUNCTUATION) -UCHARCATEGORY(CONNECTOR_PUNCTUATION) -UCHARCATEGORY(OTHER_PUNCTUATION) -UCHARCATEGORY(MATH_SYMBOL) -UCHARCATEGORY(CURRENCY_SYMBOL) -UCHARCATEGORY(MODIFIER_SYMBOL) -UCHARCATEGORY(OTHER_SYMBOL) -UCHARCATEGORY(INITIAL_PUNCTUATION) -UCHARCATEGORY(FINAL_PUNCTUATION) -UCHARCATEGORY(CHAR_CATEGORY_COUNT) diff --git a/ext/intl/uchar/uchardirection-enum.h b/ext/intl/uchar/uchardirection-enum.h deleted file mode 100644 index afbbdb28cb438..0000000000000 --- a/ext/intl/uchar/uchardirection-enum.h +++ /dev/null @@ -1,26 +0,0 @@ -UCHARDIRECTION(LEFT_TO_RIGHT) -UCHARDIRECTION(RIGHT_TO_LEFT) -UCHARDIRECTION(EUROPEAN_NUMBER) -UCHARDIRECTION(EUROPEAN_NUMBER_SEPARATOR) -UCHARDIRECTION(EUROPEAN_NUMBER_TERMINATOR) -UCHARDIRECTION(ARABIC_NUMBER) -UCHARDIRECTION(COMMON_NUMBER_SEPARATOR) -UCHARDIRECTION(BLOCK_SEPARATOR) -UCHARDIRECTION(SEGMENT_SEPARATOR) -UCHARDIRECTION(WHITE_SPACE_NEUTRAL) -UCHARDIRECTION(OTHER_NEUTRAL) -UCHARDIRECTION(LEFT_TO_RIGHT_EMBEDDING) -UCHARDIRECTION(LEFT_TO_RIGHT_OVERRIDE) -UCHARDIRECTION(RIGHT_TO_LEFT_ARABIC) -UCHARDIRECTION(RIGHT_TO_LEFT_EMBEDDING) -UCHARDIRECTION(RIGHT_TO_LEFT_OVERRIDE) -UCHARDIRECTION(POP_DIRECTIONAL_FORMAT) -UCHARDIRECTION(DIR_NON_SPACING_MARK) -UCHARDIRECTION(BOUNDARY_NEUTRAL) -#if U_ICU_VERSION_MAJOR_NUM >= 52 -UCHARDIRECTION(FIRST_STRONG_ISOLATE) -UCHARDIRECTION(LEFT_TO_RIGHT_ISOLATE) -UCHARDIRECTION(RIGHT_TO_LEFT_ISOLATE) -UCHARDIRECTION(POP_DIRECTIONAL_ISOLATE) -#endif /* ICU >= 52 */ -UCHARDIRECTION(CHAR_DIRECTION_COUNT) diff --git a/ext/intl/uchar/uother-enum.h b/ext/intl/uchar/uother-enum.h deleted file mode 100644 index c45dfad6c7931..0000000000000 --- a/ext/intl/uchar/uother-enum.h +++ /dev/null @@ -1,270 +0,0 @@ -/* UBidiPairedBracketType - http://icu-project.org/apiref/icu4c/uchar_8h.html#af954219aa1df452657ec355221c6703d */ -#if U_ICU_VERSION_MAJOR_NUM >= 52 -UOTHER(BPT_NONE) -UOTHER(BPT_OPEN) -UOTHER(BPT_CLOSE) -UOTHER(BPT_COUNT) -#endif /* ICU >= 52 */ - -/* UEastAsianWidth - http://icu-project.org/apiref/icu4c/uchar_8h.html#a95cc2ca2f9cfd6d0c63eee2c65951333 */ -UOTHER(EA_NEUTRAL) -UOTHER(EA_AMBIGUOUS) -UOTHER(EA_HALFWIDTH) -UOTHER(EA_FULLWIDTH ) -UOTHER(EA_NARROW) -UOTHER(EA_WIDE) -UOTHER(EA_COUNT) - -/* UCharNameChoice - http://icu-project.org/apiref/icu4c/uchar_8h.html#a2ba37edcca62eff48226e8096035addf */ -UOTHER(UNICODE_CHAR_NAME) -UOTHER(UNICODE_10_CHAR_NAME) -UOTHER(EXTENDED_CHAR_NAME) -UOTHER(CHAR_NAME_ALIAS) -UOTHER(CHAR_NAME_CHOICE_COUNT) - -/* UPropertyNameChoice - http://icu-project.org/apiref/icu4c/uchar_8h.html#a5056494c7d5a2c7185f3c464f48fe5d1 */ -UOTHER(SHORT_PROPERTY_NAME) -UOTHER(LONG_PROPERTY_NAME) -UOTHER(PROPERTY_NAME_CHOICE_COUNT) - -/* UDecompositionType - http://icu-project.org/apiref/icu4c/uchar_8h.html#ae2c56994fcf28062c7e77beb671533f5 */ -UOTHER(DT_NONE) -UOTHER(DT_CANONICAL) -UOTHER(DT_COMPAT) -UOTHER(DT_CIRCLE) -UOTHER(DT_FINAL) -UOTHER(DT_FONT) -UOTHER(DT_FRACTION) -UOTHER(DT_INITIAL) -UOTHER(DT_ISOLATED) -UOTHER(DT_MEDIAL) -UOTHER(DT_NARROW) -UOTHER(DT_NOBREAK) -UOTHER(DT_SMALL) -UOTHER(DT_SQUARE) -UOTHER(DT_SUB) -UOTHER(DT_SUPER) -UOTHER(DT_VERTICAL) -UOTHER(DT_WIDE) -UOTHER(DT_COUNT ) - -/* UJoiningType - http://icu-project.org/apiref/icu4c/uchar_8h.html#a3ce1ce20e7f3b8534eb3490ad3aba3dd */ -UOTHER(JT_NON_JOINING) -UOTHER(JT_JOIN_CAUSING) -UOTHER(JT_DUAL_JOINING) -UOTHER(JT_LEFT_JOINING) -UOTHER(JT_RIGHT_JOINING) -UOTHER(JT_TRANSPARENT) -UOTHER(JT_COUNT) - -/* UJoiningGroup - http://icu-project.org/apiref/icu4c/uchar_8h.html#a7887844ec0872e6e9a283e0825fcae65 */ -UOTHER(JG_NO_JOINING_GROUP) -UOTHER(JG_AIN) -UOTHER(JG_ALAPH) -UOTHER(JG_ALEF) -UOTHER(JG_BEH) -UOTHER(JG_BETH) -UOTHER(JG_DAL) -UOTHER(JG_DALATH_RISH) -UOTHER(JG_E) -UOTHER(JG_FEH) -UOTHER(JG_FINAL_SEMKATH) -UOTHER(JG_GAF) -UOTHER(JG_GAMAL) -UOTHER(JG_HAH) -UOTHER(JG_TEH_MARBUTA_GOAL) -UOTHER(JG_HAMZA_ON_HEH_GOAL) -UOTHER(JG_HE) -UOTHER(JG_HEH) -UOTHER(JG_HEH_GOAL) -UOTHER(JG_HETH) -UOTHER(JG_KAF) -UOTHER(JG_KAPH) -UOTHER(JG_KNOTTED_HEH) -UOTHER(JG_LAM) -UOTHER(JG_LAMADH) -UOTHER(JG_MEEM) -UOTHER(JG_MIM) -UOTHER(JG_NOON) -UOTHER(JG_NUN) -UOTHER(JG_PE) -UOTHER(JG_QAF) -UOTHER(JG_QAPH) -UOTHER(JG_REH) -UOTHER(JG_REVERSED_PE) -UOTHER(JG_SAD) -UOTHER(JG_SADHE) -UOTHER(JG_SEEN) -UOTHER(JG_SEMKATH) -UOTHER(JG_SHIN) -UOTHER(JG_SWASH_KAF) -UOTHER(JG_SYRIAC_WAW) -UOTHER(JG_TAH) -UOTHER(JG_TAW) -UOTHER(JG_TEH_MARBUTA) -UOTHER(JG_TETH) -UOTHER(JG_WAW) -UOTHER(JG_YEH) -UOTHER(JG_YEH_BARREE) -UOTHER(JG_YEH_WITH_TAIL) -UOTHER(JG_YUDH) -UOTHER(JG_YUDH_HE) -UOTHER(JG_ZAIN) -UOTHER(JG_FE) -UOTHER(JG_KHAPH) -UOTHER(JG_ZHAIN) -UOTHER(JG_BURUSHASKI_YEH_BARREE) -UOTHER(JG_FARSI_YEH) -UOTHER(JG_NYA) -UOTHER(JG_ROHINGYA_YEH) -#if U_ICU_VERSION_MAJOR_NUM >= 54 -UOTHER(JG_MANICHAEAN_ALEPH) -UOTHER(JG_MANICHAEAN_AYIN) -UOTHER(JG_MANICHAEAN_BETH) -UOTHER(JG_MANICHAEAN_DALETH) -UOTHER(JG_MANICHAEAN_DHAMEDH) -UOTHER(JG_MANICHAEAN_FIVE) -UOTHER(JG_MANICHAEAN_GIMEL) -UOTHER(JG_MANICHAEAN_HETH) -UOTHER(JG_MANICHAEAN_HUNDRED) -UOTHER(JG_MANICHAEAN_KAPH) -UOTHER(JG_MANICHAEAN_LAMEDH) -UOTHER(JG_MANICHAEAN_MEM) -UOTHER(JG_MANICHAEAN_NUN) -UOTHER(JG_MANICHAEAN_ONE) -UOTHER(JG_MANICHAEAN_PE) -UOTHER(JG_MANICHAEAN_QOPH) -UOTHER(JG_MANICHAEAN_RESH) -UOTHER(JG_MANICHAEAN_SADHE) -UOTHER(JG_MANICHAEAN_SAMEKH) -UOTHER(JG_MANICHAEAN_TAW) -UOTHER(JG_MANICHAEAN_TEN) -UOTHER(JG_MANICHAEAN_TETH) -UOTHER(JG_MANICHAEAN_THAMEDH) -UOTHER(JG_MANICHAEAN_TWENTY) -UOTHER(JG_MANICHAEAN_WAW) -UOTHER(JG_MANICHAEAN_YODH) -UOTHER(JG_MANICHAEAN_ZAYIN) -UOTHER(JG_STRAIGHT_WAW) -#endif /* ICU 54 */ -UOTHER(JG_COUNT ) - -/* UGraphemeClusterBreak - http://icu-project.org/apiref/icu4c/uchar_8h.html#abb9bae7d2a1c80ce342be4647661fde1 */ -UOTHER(GCB_OTHER) -UOTHER(GCB_CONTROL) -UOTHER(GCB_CR) -UOTHER(GCB_EXTEND) -UOTHER(GCB_L) -UOTHER(GCB_LF) -UOTHER(GCB_LV) -UOTHER(GCB_LVT) -UOTHER(GCB_T) -UOTHER(GCB_V) -UOTHER(GCB_SPACING_MARK) -UOTHER(GCB_PREPEND) -UOTHER(GCB_REGIONAL_INDICATOR) -UOTHER(GCB_COUNT) - -/* UWordBreakValues - http://icu-project.org/apiref/icu4c/uchar_8h.html#af70ee907368e663f8dd4b90c7196e15c */ -UOTHER(WB_OTHER) -UOTHER(WB_ALETTER) -UOTHER(WB_FORMAT) -UOTHER(WB_KATAKANA) -UOTHER(WB_MIDLETTER) -UOTHER(WB_MIDNUM) -UOTHER(WB_NUMERIC) -UOTHER(WB_EXTENDNUMLET) -UOTHER(WB_CR) -UOTHER(WB_EXTEND) -UOTHER(WB_LF) -UOTHER(WB_MIDNUMLET) -UOTHER(WB_NEWLINE) -UOTHER(WB_REGIONAL_INDICATOR) -#if U_ICU_VERSION_MAJOR_NUM >= 52 -UOTHER(WB_HEBREW_LETTER) -UOTHER(WB_SINGLE_QUOTE) -UOTHER(WB_DOUBLE_QUOTE) -#endif /* ICU >= 52 */ -UOTHER(WB_COUNT) - -/* USentenceBreak - http://icu-project.org/apiref/icu4c/uchar_8h.html#a89e9e463c3bae1d2d46b1dbb6f90de0f */ -UOTHER(SB_OTHER) -UOTHER(SB_ATERM) -UOTHER(SB_CLOSE) -UOTHER(SB_FORMAT) -UOTHER(SB_LOWER) -UOTHER(SB_NUMERIC) -UOTHER(SB_OLETTER) -UOTHER(SB_SEP) -UOTHER(SB_SP) -UOTHER(SB_STERM) -UOTHER(SB_UPPER) -UOTHER(SB_CR) -UOTHER(SB_EXTEND) -UOTHER(SB_LF) -UOTHER(SB_SCONTINUE) -UOTHER(SB_COUNT) - -/* ULineBreak - http://icu-project.org/apiref/icu4c/uchar_8h.html#a5d1abdf05be22cb9599f804a8506277c */ -UOTHER(LB_UNKNOWN) -UOTHER(LB_AMBIGUOUS) -UOTHER(LB_ALPHABETIC) -UOTHER(LB_BREAK_BOTH) -UOTHER(LB_BREAK_AFTER) -UOTHER(LB_BREAK_BEFORE) -UOTHER(LB_MANDATORY_BREAK) -UOTHER(LB_CONTINGENT_BREAK) -UOTHER(LB_CLOSE_PUNCTUATION) -UOTHER(LB_COMBINING_MARK) -UOTHER(LB_CARRIAGE_RETURN) -UOTHER(LB_EXCLAMATION) -UOTHER(LB_GLUE) -UOTHER(LB_HYPHEN) -UOTHER(LB_IDEOGRAPHIC) -UOTHER(LB_INSEPARABLE) -UOTHER(LB_INSEPERABLE) -UOTHER(LB_INFIX_NUMERIC) -UOTHER(LB_LINE_FEED) -UOTHER(LB_NONSTARTER) -UOTHER(LB_NUMERIC) -UOTHER(LB_OPEN_PUNCTUATION) -UOTHER(LB_POSTFIX_NUMERIC) -UOTHER(LB_PREFIX_NUMERIC) -UOTHER(LB_QUOTATION) -UOTHER(LB_COMPLEX_CONTEXT) -UOTHER(LB_SURROGATE) -UOTHER(LB_SPACE) -UOTHER(LB_BREAK_SYMBOLS) -UOTHER(LB_ZWSPACE) -UOTHER(LB_NEXT_LINE) -UOTHER(LB_WORD_JOINER) -UOTHER(LB_H2) -UOTHER(LB_H3) -UOTHER(LB_JL) -UOTHER(LB_JT) -UOTHER(LB_JV) -UOTHER(LB_CLOSE_PARENTHESIS) -UOTHER(LB_CONDITIONAL_JAPANESE_STARTER) -UOTHER(LB_HEBREW_LETTER) -UOTHER(LB_REGIONAL_INDICATOR) -UOTHER(LB_COUNT) - -/* UNumericType - http://icu-project.org/apiref/icu4c/uchar_8h.html#adec3e7a6ae3a00274c019b3b2ddaecbe */ -UOTHER(NT_NONE) -UOTHER(NT_DECIMAL) -UOTHER(NT_DIGIT) -UOTHER(NT_NUMERIC) -UOTHER(NT_COUNT) - -/* UHangulSyllableType - http://icu-project.org/apiref/icu4c/uchar_8h.html#a7cb09027c37ad73571cf541caf002c8f */ -UOTHER(HST_NOT_APPLICABLE) -UOTHER(HST_LEADING_JAMO) -UOTHER(HST_VOWEL_JAMO) -UOTHER(HST_TRAILING_JAMO) -UOTHER(HST_LV_SYLLABLE) -UOTHER(HST_LVT_SYLLABLE) -UOTHER(HST_COUNT ) - -/* StringOptions - http://icu-project.org/apiref/icu4c/stringoptions_8h.html */ -UOTHER(FOLD_CASE_DEFAULT) -UOTHER(FOLD_CASE_EXCLUDE_SPECIAL_I) diff --git a/ext/intl/uchar/uproperty-enum.h b/ext/intl/uchar/uproperty-enum.h deleted file mode 100644 index 59095a493e655..0000000000000 --- a/ext/intl/uchar/uproperty-enum.h +++ /dev/null @@ -1,114 +0,0 @@ -/* Generated from http://icu-project.org/apiref/icu4c/uchar_8h.html#ae40d616419e74ecc7c80a9febab03199 */ -UPROPERTY(ALPHABETIC) -UPROPERTY(BINARY_START) -UPROPERTY(ASCII_HEX_DIGIT) -UPROPERTY(BIDI_CONTROL) -UPROPERTY(BIDI_MIRRORED) -UPROPERTY(DASH) -UPROPERTY(DEFAULT_IGNORABLE_CODE_POINT) -UPROPERTY(DEPRECATED) -UPROPERTY(DIACRITIC) -UPROPERTY(EXTENDER) -UPROPERTY(FULL_COMPOSITION_EXCLUSION) -UPROPERTY(GRAPHEME_BASE) -UPROPERTY(GRAPHEME_EXTEND) -UPROPERTY(GRAPHEME_LINK) -UPROPERTY(HEX_DIGIT) -UPROPERTY(HYPHEN) -UPROPERTY(ID_CONTINUE) -UPROPERTY(ID_START) -UPROPERTY(IDEOGRAPHIC) -UPROPERTY(IDS_BINARY_OPERATOR) -UPROPERTY(IDS_TRINARY_OPERATOR) -UPROPERTY(JOIN_CONTROL) -UPROPERTY(LOGICAL_ORDER_EXCEPTION) -UPROPERTY(LOWERCASE) -UPROPERTY(MATH) -UPROPERTY(NONCHARACTER_CODE_POINT) -UPROPERTY(QUOTATION_MARK) -UPROPERTY(RADICAL) -UPROPERTY(SOFT_DOTTED) -UPROPERTY(TERMINAL_PUNCTUATION) -UPROPERTY(UNIFIED_IDEOGRAPH) -UPROPERTY(UPPERCASE) -UPROPERTY(WHITE_SPACE) -UPROPERTY(XID_CONTINUE) -UPROPERTY(XID_START) -UPROPERTY(CASE_SENSITIVE) -UPROPERTY(S_TERM) -UPROPERTY(VARIATION_SELECTOR) -UPROPERTY(NFD_INERT) -UPROPERTY(NFKD_INERT) -UPROPERTY(NFC_INERT) -UPROPERTY(NFKC_INERT) -UPROPERTY(SEGMENT_STARTER) -UPROPERTY(PATTERN_SYNTAX) -UPROPERTY(PATTERN_WHITE_SPACE) -UPROPERTY(POSIX_ALNUM) -UPROPERTY(POSIX_BLANK) -UPROPERTY(POSIX_GRAPH) -UPROPERTY(POSIX_PRINT) -UPROPERTY(POSIX_XDIGIT) -UPROPERTY(CASED) -UPROPERTY(CASE_IGNORABLE) -UPROPERTY(CHANGES_WHEN_LOWERCASED) -UPROPERTY(CHANGES_WHEN_UPPERCASED) -UPROPERTY(CHANGES_WHEN_TITLECASED) -UPROPERTY(CHANGES_WHEN_CASEFOLDED) -UPROPERTY(CHANGES_WHEN_CASEMAPPED) -UPROPERTY(CHANGES_WHEN_NFKC_CASEFOLDED) -UPROPERTY(BINARY_LIMIT) -UPROPERTY(BIDI_CLASS) -UPROPERTY(INT_START) -UPROPERTY(BLOCK) -UPROPERTY(CANONICAL_COMBINING_CLASS) -UPROPERTY(DECOMPOSITION_TYPE) -UPROPERTY(EAST_ASIAN_WIDTH) -UPROPERTY(GENERAL_CATEGORY) -UPROPERTY(JOINING_GROUP) -UPROPERTY(JOINING_TYPE) -UPROPERTY(LINE_BREAK) -UPROPERTY(NUMERIC_TYPE) -UPROPERTY(SCRIPT) -UPROPERTY(HANGUL_SYLLABLE_TYPE) -UPROPERTY(NFD_QUICK_CHECK) -UPROPERTY(NFKD_QUICK_CHECK) -UPROPERTY(NFC_QUICK_CHECK) -UPROPERTY(NFKC_QUICK_CHECK) -UPROPERTY(LEAD_CANONICAL_COMBINING_CLASS) -UPROPERTY(TRAIL_CANONICAL_COMBINING_CLASS) -UPROPERTY(GRAPHEME_CLUSTER_BREAK) -UPROPERTY(SENTENCE_BREAK) -UPROPERTY(WORD_BREAK) -#if U_ICU_VERSION_MAJOR_NUM >= 52 -UPROPERTY(BIDI_PAIRED_BRACKET_TYPE) -#endif /* ICU >= 52 */ -UPROPERTY(INT_LIMIT) -UPROPERTY(GENERAL_CATEGORY_MASK) -UPROPERTY(MASK_START) -UPROPERTY(MASK_LIMIT) -UPROPERTY(NUMERIC_VALUE) -UPROPERTY(DOUBLE_START) -UPROPERTY(DOUBLE_LIMIT) -UPROPERTY(AGE) -UPROPERTY(STRING_START) -UPROPERTY(BIDI_MIRRORING_GLYPH) -UPROPERTY(CASE_FOLDING) -UPROPERTY(ISO_COMMENT) -UPROPERTY(LOWERCASE_MAPPING) -UPROPERTY(NAME) -UPROPERTY(SIMPLE_CASE_FOLDING) -UPROPERTY(SIMPLE_LOWERCASE_MAPPING) -UPROPERTY(SIMPLE_TITLECASE_MAPPING) -UPROPERTY(SIMPLE_UPPERCASE_MAPPING) -UPROPERTY(TITLECASE_MAPPING) -UPROPERTY(UNICODE_1_NAME) -UPROPERTY(UPPERCASE_MAPPING) -#if U_ICU_VERSION_MAJOR_NUM >= 52 -UPROPERTY(BIDI_PAIRED_BRACKET) -#endif /* ICU >= 52 */ -UPROPERTY(STRING_LIMIT) -UPROPERTY(SCRIPT_EXTENSIONS) -UPROPERTY(OTHER_PROPERTY_START) -UPROPERTY(OTHER_PROPERTY_LIMIT) -UPROPERTY(INVALID_CODE) From aeabb51ae4738adf13382c0cfd66a5b6aa390fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 9 Aug 2022 11:32:06 +0200 Subject: [PATCH 038/229] Declare ext/intl constants in stubs - part 9 (#9276) --- ext/intl/converter/converter.c | 50 +---- ext/intl/converter/converter.stub.php | 211 +++++++++++++++++++++ ext/intl/converter/converter_arginfo.h | 248 ++++++++++++++++++++++++- 3 files changed, 459 insertions(+), 50 deletions(-) diff --git a/ext/intl/converter/converter.c b/ext/intl/converter/converter.c index 5358c8a0e38f8..04a34e207cce1 100644 --- a/ext/intl/converter/converter.c +++ b/ext/intl/converter/converter.c @@ -13,7 +13,6 @@ */ #include "converter.h" -#include "converter_arginfo.h" #include "zend_exceptions.h" #include @@ -24,6 +23,7 @@ #include "../intl_error.h" #include "../intl_common.h" +#include "converter_arginfo.h" typedef struct _php_converter_object { UConverter *src, *dest; @@ -969,9 +969,6 @@ static zend_object *php_converter_clone_object(zend_object *object) { } /* }}} */ -#define CONV_REASON_CONST(v) zend_declare_class_constant_long(php_converter_ce, "REASON_" #v, sizeof("REASON_" #v) - 1, UCNV_ ## v) -#define CONV_TYPE_CONST(v) zend_declare_class_constant_long(php_converter_ce, #v , sizeof(#v) - 1, UCNV_ ## v) - /* {{{ php_converter_minit */ int php_converter_minit(INIT_FUNC_ARGS) { php_converter_ce = register_class_UConverter(); @@ -981,51 +978,6 @@ int php_converter_minit(INIT_FUNC_ARGS) { php_converter_object_handlers.clone_obj = php_converter_clone_object; php_converter_object_handlers.free_obj = php_converter_free_object; - /* enum UConverterCallbackReason */ - CONV_REASON_CONST(UNASSIGNED); - CONV_REASON_CONST(ILLEGAL); - CONV_REASON_CONST(IRREGULAR); - CONV_REASON_CONST(RESET); - CONV_REASON_CONST(CLOSE); - CONV_REASON_CONST(CLONE); - - /* enum UConverterType */ - CONV_TYPE_CONST(UNSUPPORTED_CONVERTER); - CONV_TYPE_CONST(SBCS); - CONV_TYPE_CONST(DBCS); - CONV_TYPE_CONST(MBCS); - CONV_TYPE_CONST(LATIN_1); - CONV_TYPE_CONST(UTF8); - CONV_TYPE_CONST(UTF16_BigEndian); - CONV_TYPE_CONST(UTF16_LittleEndian); - CONV_TYPE_CONST(UTF32_BigEndian); - CONV_TYPE_CONST(UTF32_LittleEndian); - CONV_TYPE_CONST(EBCDIC_STATEFUL); - CONV_TYPE_CONST(ISO_2022); - CONV_TYPE_CONST(LMBCS_1); - CONV_TYPE_CONST(LMBCS_2); - CONV_TYPE_CONST(LMBCS_3); - CONV_TYPE_CONST(LMBCS_4); - CONV_TYPE_CONST(LMBCS_5); - CONV_TYPE_CONST(LMBCS_6); - CONV_TYPE_CONST(LMBCS_8); - CONV_TYPE_CONST(LMBCS_11); - CONV_TYPE_CONST(LMBCS_16); - CONV_TYPE_CONST(LMBCS_17); - CONV_TYPE_CONST(LMBCS_18); - CONV_TYPE_CONST(LMBCS_19); - CONV_TYPE_CONST(LMBCS_LAST); - CONV_TYPE_CONST(HZ); - CONV_TYPE_CONST(SCSU); - CONV_TYPE_CONST(ISCII); - CONV_TYPE_CONST(US_ASCII); - CONV_TYPE_CONST(UTF7); - CONV_TYPE_CONST(BOCU1); - CONV_TYPE_CONST(UTF16); - CONV_TYPE_CONST(UTF32); - CONV_TYPE_CONST(CESU8); - CONV_TYPE_CONST(IMAP_MAILBOX); - return SUCCESS; } /* }}} */ diff --git a/ext/intl/converter/converter.stub.php b/ext/intl/converter/converter.stub.php index 19a8bbef9512f..169d6499687cd 100644 --- a/ext/intl/converter/converter.stub.php +++ b/ext/intl/converter/converter.stub.php @@ -5,6 +5,217 @@ /** @not-serializable */ class UConverter { + /* enum UConverterCallbackReason */ + + /** + * @var int + * @cvalue UCNV_UNASSIGNED + */ + public const REASON_UNASSIGNED = UNKNOWN; + /** + * @var int + * @cvalue UCNV_ILLEGAL + */ + public const REASON_ILLEGAL = UNKNOWN; + /** + * @var int + * @cvalue UCNV_IRREGULAR + */ + public const REASON_IRREGULAR = UNKNOWN; + /** + * @var int + * @cvalue UCNV_RESET + */ + public const REASON_RESET = UNKNOWN; + /** + * @var int + * @cvalue UCNV_CLOSE + */ + public const REASON_CLOSE = UNKNOWN; + /** + * @var int + * @cvalue UCNV_CLONE + */ + public const REASON_CLONE = UNKNOWN; + + /* enum UConverterType */ + + /** + * @var int + * @cvalue UCNV_UNSUPPORTED_CONVERTER + */ + public const UNSUPPORTED_CONVERTER = UNKNOWN; + /** + * @var int + * @cvalue UCNV_SBCS + */ + public const SBCS = UNKNOWN; + /** + * @var int + * @cvalue UCNV_DBCS + */ + public const DBCS = UNKNOWN; + /** + * @var int + * @cvalue UCNV_MBCS + */ + public const MBCS = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LATIN_1 + */ + public const LATIN_1 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF8 + */ + public const UTF8 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF16_BigEndian + */ + public const UTF16_BigEndian = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF16_LittleEndian + */ + public const UTF16_LittleEndian = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF32_BigEndian + */ + public const UTF32_BigEndian = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF32_LittleEndian + */ + public const UTF32_LittleEndian = UNKNOWN; + /** + * @var int + * @cvalue UCNV_EBCDIC_STATEFUL + */ + public const EBCDIC_STATEFUL = UNKNOWN; + /** + * @var int + * @cvalue UCNV_ISO_2022 + */ + public const ISO_2022 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_1 + */ + public const LMBCS_1 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_2 + */ + public const LMBCS_2 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_3 + */ + public const LMBCS_3 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_4 + */ + public const LMBCS_4 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_5 + */ + public const LMBCS_5 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_6 + */ + public const LMBCS_6 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_8 + */ + public const LMBCS_8 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_11 + */ + public const LMBCS_11 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_16 + */ + public const LMBCS_16 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_17 + */ + public const LMBCS_17 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_18 + */ + public const LMBCS_18 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_19 + */ + public const LMBCS_19 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_LMBCS_LAST + */ + public const LMBCS_LAST = UNKNOWN; + /** + * @var int + * @cvalue UCNV_HZ + */ + public const HZ = UNKNOWN; + /** + * @var int + * @cvalue UCNV_SCSU + */ + public const SCSU = UNKNOWN; + /** + * @var int + * @cvalue UCNV_ISCII + */ + public const ISCII = UNKNOWN; + /** + * @var int + * @cvalue UCNV_US_ASCII + */ + public const US_ASCII = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF7 + */ + public const UTF7 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_BOCU1 + */ + public const BOCU1 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF16 + */ + public const UTF16 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_UTF32 + */ + public const UTF32 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_CESU8 + */ + public const CESU8 = UNKNOWN; + /** + * @var int + * @cvalue UCNV_IMAP_MAILBOX + */ + public const IMAP_MAILBOX = UNKNOWN; + public function __construct(?string $destination_encoding = null, ?string $source_encoding = null) {} /** @tentative-return-type */ diff --git a/ext/intl/converter/converter_arginfo.h b/ext/intl/converter/converter_arginfo.h index cae2a68d4be07..c78d0dc8b8d93 100644 --- a/ext/intl/converter/converter_arginfo.h +++ b/ext/intl/converter/converter_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 0ab2d741996611bbfcfb07462bc184a02f353585 */ + * Stub hash: 4012b69ba043f9780ea2e92714c7f2daa47e928e */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_UConverter___construct, 0, 0, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, destination_encoding, IS_STRING, 1, "null") @@ -127,5 +127,251 @@ static zend_class_entry *register_class_UConverter(void) class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; + zval const_REASON_UNASSIGNED_value; + ZVAL_LONG(&const_REASON_UNASSIGNED_value, UCNV_UNASSIGNED); + zend_string *const_REASON_UNASSIGNED_name = zend_string_init_interned("REASON_UNASSIGNED", sizeof("REASON_UNASSIGNED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REASON_UNASSIGNED_name, &const_REASON_UNASSIGNED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REASON_UNASSIGNED_name); + + zval const_REASON_ILLEGAL_value; + ZVAL_LONG(&const_REASON_ILLEGAL_value, UCNV_ILLEGAL); + zend_string *const_REASON_ILLEGAL_name = zend_string_init_interned("REASON_ILLEGAL", sizeof("REASON_ILLEGAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REASON_ILLEGAL_name, &const_REASON_ILLEGAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REASON_ILLEGAL_name); + + zval const_REASON_IRREGULAR_value; + ZVAL_LONG(&const_REASON_IRREGULAR_value, UCNV_IRREGULAR); + zend_string *const_REASON_IRREGULAR_name = zend_string_init_interned("REASON_IRREGULAR", sizeof("REASON_IRREGULAR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REASON_IRREGULAR_name, &const_REASON_IRREGULAR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REASON_IRREGULAR_name); + + zval const_REASON_RESET_value; + ZVAL_LONG(&const_REASON_RESET_value, UCNV_RESET); + zend_string *const_REASON_RESET_name = zend_string_init_interned("REASON_RESET", sizeof("REASON_RESET") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REASON_RESET_name, &const_REASON_RESET_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REASON_RESET_name); + + zval const_REASON_CLOSE_value; + ZVAL_LONG(&const_REASON_CLOSE_value, UCNV_CLOSE); + zend_string *const_REASON_CLOSE_name = zend_string_init_interned("REASON_CLOSE", sizeof("REASON_CLOSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REASON_CLOSE_name, &const_REASON_CLOSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REASON_CLOSE_name); + + zval const_REASON_CLONE_value; + ZVAL_LONG(&const_REASON_CLONE_value, UCNV_CLONE); + zend_string *const_REASON_CLONE_name = zend_string_init_interned("REASON_CLONE", sizeof("REASON_CLONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_REASON_CLONE_name, &const_REASON_CLONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_REASON_CLONE_name); + + zval const_UNSUPPORTED_CONVERTER_value; + ZVAL_LONG(&const_UNSUPPORTED_CONVERTER_value, UCNV_UNSUPPORTED_CONVERTER); + zend_string *const_UNSUPPORTED_CONVERTER_name = zend_string_init_interned("UNSUPPORTED_CONVERTER", sizeof("UNSUPPORTED_CONVERTER") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UNSUPPORTED_CONVERTER_name, &const_UNSUPPORTED_CONVERTER_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UNSUPPORTED_CONVERTER_name); + + zval const_SBCS_value; + ZVAL_LONG(&const_SBCS_value, UCNV_SBCS); + zend_string *const_SBCS_name = zend_string_init_interned("SBCS", sizeof("SBCS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SBCS_name, &const_SBCS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SBCS_name); + + zval const_DBCS_value; + ZVAL_LONG(&const_DBCS_value, UCNV_DBCS); + zend_string *const_DBCS_name = zend_string_init_interned("DBCS", sizeof("DBCS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_DBCS_name, &const_DBCS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_DBCS_name); + + zval const_MBCS_value; + ZVAL_LONG(&const_MBCS_value, UCNV_MBCS); + zend_string *const_MBCS_name = zend_string_init_interned("MBCS", sizeof("MBCS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_MBCS_name, &const_MBCS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_MBCS_name); + + zval const_LATIN_1_value; + ZVAL_LONG(&const_LATIN_1_value, UCNV_LATIN_1); + zend_string *const_LATIN_1_name = zend_string_init_interned("LATIN_1", sizeof("LATIN_1") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LATIN_1_name, &const_LATIN_1_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LATIN_1_name); + + zval const_UTF8_value; + ZVAL_LONG(&const_UTF8_value, UCNV_UTF8); + zend_string *const_UTF8_name = zend_string_init_interned("UTF8", sizeof("UTF8") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF8_name, &const_UTF8_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF8_name); + + zval const_UTF16_BigEndian_value; + ZVAL_LONG(&const_UTF16_BigEndian_value, UCNV_UTF16_BigEndian); + zend_string *const_UTF16_BigEndian_name = zend_string_init_interned("UTF16_BigEndian", sizeof("UTF16_BigEndian") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF16_BigEndian_name, &const_UTF16_BigEndian_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF16_BigEndian_name); + + zval const_UTF16_LittleEndian_value; + ZVAL_LONG(&const_UTF16_LittleEndian_value, UCNV_UTF16_LittleEndian); + zend_string *const_UTF16_LittleEndian_name = zend_string_init_interned("UTF16_LittleEndian", sizeof("UTF16_LittleEndian") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF16_LittleEndian_name, &const_UTF16_LittleEndian_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF16_LittleEndian_name); + + zval const_UTF32_BigEndian_value; + ZVAL_LONG(&const_UTF32_BigEndian_value, UCNV_UTF32_BigEndian); + zend_string *const_UTF32_BigEndian_name = zend_string_init_interned("UTF32_BigEndian", sizeof("UTF32_BigEndian") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF32_BigEndian_name, &const_UTF32_BigEndian_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF32_BigEndian_name); + + zval const_UTF32_LittleEndian_value; + ZVAL_LONG(&const_UTF32_LittleEndian_value, UCNV_UTF32_LittleEndian); + zend_string *const_UTF32_LittleEndian_name = zend_string_init_interned("UTF32_LittleEndian", sizeof("UTF32_LittleEndian") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF32_LittleEndian_name, &const_UTF32_LittleEndian_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF32_LittleEndian_name); + + zval const_EBCDIC_STATEFUL_value; + ZVAL_LONG(&const_EBCDIC_STATEFUL_value, UCNV_EBCDIC_STATEFUL); + zend_string *const_EBCDIC_STATEFUL_name = zend_string_init_interned("EBCDIC_STATEFUL", sizeof("EBCDIC_STATEFUL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EBCDIC_STATEFUL_name, &const_EBCDIC_STATEFUL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EBCDIC_STATEFUL_name); + + zval const_ISO_2022_value; + ZVAL_LONG(&const_ISO_2022_value, UCNV_ISO_2022); + zend_string *const_ISO_2022_name = zend_string_init_interned("ISO_2022", sizeof("ISO_2022") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ISO_2022_name, &const_ISO_2022_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ISO_2022_name); + + zval const_LMBCS_1_value; + ZVAL_LONG(&const_LMBCS_1_value, UCNV_LMBCS_1); + zend_string *const_LMBCS_1_name = zend_string_init_interned("LMBCS_1", sizeof("LMBCS_1") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_1_name, &const_LMBCS_1_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_1_name); + + zval const_LMBCS_2_value; + ZVAL_LONG(&const_LMBCS_2_value, UCNV_LMBCS_2); + zend_string *const_LMBCS_2_name = zend_string_init_interned("LMBCS_2", sizeof("LMBCS_2") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_2_name, &const_LMBCS_2_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_2_name); + + zval const_LMBCS_3_value; + ZVAL_LONG(&const_LMBCS_3_value, UCNV_LMBCS_3); + zend_string *const_LMBCS_3_name = zend_string_init_interned("LMBCS_3", sizeof("LMBCS_3") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_3_name, &const_LMBCS_3_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_3_name); + + zval const_LMBCS_4_value; + ZVAL_LONG(&const_LMBCS_4_value, UCNV_LMBCS_4); + zend_string *const_LMBCS_4_name = zend_string_init_interned("LMBCS_4", sizeof("LMBCS_4") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_4_name, &const_LMBCS_4_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_4_name); + + zval const_LMBCS_5_value; + ZVAL_LONG(&const_LMBCS_5_value, UCNV_LMBCS_5); + zend_string *const_LMBCS_5_name = zend_string_init_interned("LMBCS_5", sizeof("LMBCS_5") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_5_name, &const_LMBCS_5_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_5_name); + + zval const_LMBCS_6_value; + ZVAL_LONG(&const_LMBCS_6_value, UCNV_LMBCS_6); + zend_string *const_LMBCS_6_name = zend_string_init_interned("LMBCS_6", sizeof("LMBCS_6") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_6_name, &const_LMBCS_6_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_6_name); + + zval const_LMBCS_8_value; + ZVAL_LONG(&const_LMBCS_8_value, UCNV_LMBCS_8); + zend_string *const_LMBCS_8_name = zend_string_init_interned("LMBCS_8", sizeof("LMBCS_8") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_8_name, &const_LMBCS_8_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_8_name); + + zval const_LMBCS_11_value; + ZVAL_LONG(&const_LMBCS_11_value, UCNV_LMBCS_11); + zend_string *const_LMBCS_11_name = zend_string_init_interned("LMBCS_11", sizeof("LMBCS_11") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_11_name, &const_LMBCS_11_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_11_name); + + zval const_LMBCS_16_value; + ZVAL_LONG(&const_LMBCS_16_value, UCNV_LMBCS_16); + zend_string *const_LMBCS_16_name = zend_string_init_interned("LMBCS_16", sizeof("LMBCS_16") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_16_name, &const_LMBCS_16_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_16_name); + + zval const_LMBCS_17_value; + ZVAL_LONG(&const_LMBCS_17_value, UCNV_LMBCS_17); + zend_string *const_LMBCS_17_name = zend_string_init_interned("LMBCS_17", sizeof("LMBCS_17") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_17_name, &const_LMBCS_17_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_17_name); + + zval const_LMBCS_18_value; + ZVAL_LONG(&const_LMBCS_18_value, UCNV_LMBCS_18); + zend_string *const_LMBCS_18_name = zend_string_init_interned("LMBCS_18", sizeof("LMBCS_18") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_18_name, &const_LMBCS_18_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_18_name); + + zval const_LMBCS_19_value; + ZVAL_LONG(&const_LMBCS_19_value, UCNV_LMBCS_19); + zend_string *const_LMBCS_19_name = zend_string_init_interned("LMBCS_19", sizeof("LMBCS_19") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_19_name, &const_LMBCS_19_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_19_name); + + zval const_LMBCS_LAST_value; + ZVAL_LONG(&const_LMBCS_LAST_value, UCNV_LMBCS_LAST); + zend_string *const_LMBCS_LAST_name = zend_string_init_interned("LMBCS_LAST", sizeof("LMBCS_LAST") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LMBCS_LAST_name, &const_LMBCS_LAST_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LMBCS_LAST_name); + + zval const_HZ_value; + ZVAL_LONG(&const_HZ_value, UCNV_HZ); + zend_string *const_HZ_name = zend_string_init_interned("HZ", sizeof("HZ") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_HZ_name, &const_HZ_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_HZ_name); + + zval const_SCSU_value; + ZVAL_LONG(&const_SCSU_value, UCNV_SCSU); + zend_string *const_SCSU_name = zend_string_init_interned("SCSU", sizeof("SCSU") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_SCSU_name, &const_SCSU_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_SCSU_name); + + zval const_ISCII_value; + ZVAL_LONG(&const_ISCII_value, UCNV_ISCII); + zend_string *const_ISCII_name = zend_string_init_interned("ISCII", sizeof("ISCII") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ISCII_name, &const_ISCII_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ISCII_name); + + zval const_US_ASCII_value; + ZVAL_LONG(&const_US_ASCII_value, UCNV_US_ASCII); + zend_string *const_US_ASCII_name = zend_string_init_interned("US_ASCII", sizeof("US_ASCII") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_US_ASCII_name, &const_US_ASCII_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_US_ASCII_name); + + zval const_UTF7_value; + ZVAL_LONG(&const_UTF7_value, UCNV_UTF7); + zend_string *const_UTF7_name = zend_string_init_interned("UTF7", sizeof("UTF7") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF7_name, &const_UTF7_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF7_name); + + zval const_BOCU1_value; + ZVAL_LONG(&const_BOCU1_value, UCNV_BOCU1); + zend_string *const_BOCU1_name = zend_string_init_interned("BOCU1", sizeof("BOCU1") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_BOCU1_name, &const_BOCU1_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_BOCU1_name); + + zval const_UTF16_value; + ZVAL_LONG(&const_UTF16_value, UCNV_UTF16); + zend_string *const_UTF16_name = zend_string_init_interned("UTF16", sizeof("UTF16") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF16_name, &const_UTF16_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF16_name); + + zval const_UTF32_value; + ZVAL_LONG(&const_UTF32_value, UCNV_UTF32); + zend_string *const_UTF32_name = zend_string_init_interned("UTF32", sizeof("UTF32") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_UTF32_name, &const_UTF32_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_UTF32_name); + + zval const_CESU8_value; + ZVAL_LONG(&const_CESU8_value, UCNV_CESU8); + zend_string *const_CESU8_name = zend_string_init_interned("CESU8", sizeof("CESU8") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CESU8_name, &const_CESU8_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CESU8_name); + + zval const_IMAP_MAILBOX_value; + ZVAL_LONG(&const_IMAP_MAILBOX_value, UCNV_IMAP_MAILBOX); + zend_string *const_IMAP_MAILBOX_name = zend_string_init_interned("IMAP_MAILBOX", sizeof("IMAP_MAILBOX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_IMAP_MAILBOX_name, &const_IMAP_MAILBOX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_IMAP_MAILBOX_name); + return class_entry; } From 3a843f953bb2197b8647953271372f8213ac2c54 Mon Sep 17 00:00:00 2001 From: dixyes Date: Sun, 24 Jul 2022 06:57:18 +0200 Subject: [PATCH 039/229] Windows arm64 zend and standard extension support * Port zend_cpuid for windows arm64 * Fix zend_atomic windows arm64 build * Fix windows arm64 multiply * Enable arm64 neon for windows in standard extension * Enable arm64 neon for windows in zend_hash.c * Workaround for msvc arm64 optimization bug Closes GH-9115. --- Zend/zend_atomic.h | 7 +++++++ Zend/zend_cpuinfo.c | 18 +++++++++--------- Zend/zend_hash.c | 4 ++-- Zend/zend_multiply.h | 13 +++++++++++++ ext/json/json_encoder.c | 9 ++++++++- ext/opcache/ZendAccelerator.c | 2 +- ext/standard/base64.c | 12 ++++++------ ext/standard/string.c | 31 ++++++++++++++++++++++--------- 8 files changed, 68 insertions(+), 28 deletions(-) diff --git a/Zend/zend_atomic.h b/Zend/zend_atomic.h index afc210e6336d5..c10bb97e4f71f 100644 --- a/Zend/zend_atomic.h +++ b/Zend/zend_atomic.h @@ -57,6 +57,13 @@ BEGIN_EXTERN_C() #if ZEND_WIN32 +#ifndef InterlockedExchange8 +#define InterlockedExchange8 _InterlockedExchange8 +#endif +#ifndef InterlockedOr8 +#define InterlockedOr8 _InterlockedOr8 +#endif + #define ZEND_ATOMIC_BOOL_INIT(obj, desired) ((obj)->value = (desired)) static zend_always_inline bool zend_atomic_bool_exchange_ex(zend_atomic_bool *obj, bool desired) { diff --git a/Zend/zend_cpuinfo.c b/Zend/zend_cpuinfo.c index 08843a9401f46..809e379c86056 100644 --- a/Zend/zend_cpuinfo.c +++ b/Zend/zend_cpuinfo.c @@ -28,15 +28,15 @@ typedef struct _zend_cpu_info { static zend_cpu_info cpuinfo = {0}; -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) -# if defined(HAVE_CPUID_H) && defined(HAVE_CPUID_COUNT) -# include +#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) +# if defined(HAVE_CPUID_H) && defined(HAVE_CPUID_COUNT) /* use cpuid.h functions */ +# include static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) { __cpuid_count(func, subfunc, cpuinfo->eax, cpuinfo->ebx, cpuinfo->ecx, cpuinfo->edx); } -# else +# else /* use inline asm */ static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) { -#if defined(__i386__) && (defined(__pic__) || defined(__PIC__)) +# if defined(__i386__) && (defined(__pic__) || defined(__PIC__)) /* PIC on i386 uses %ebx, so preserve it. */ __asm__ __volatile__ ( "pushl %%ebx\n" @@ -46,16 +46,16 @@ static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo : "=a"(cpuinfo->eax), "=r"(cpuinfo->ebx), "=c"(cpuinfo->ecx), "=d"(cpuinfo->edx) : "a"(func), "c"(subfunc) ); -#else +# else __asm__ __volatile__ ( "cpuid" : "=a"(cpuinfo->eax), "=b"(cpuinfo->ebx), "=c"(cpuinfo->ecx), "=d"(cpuinfo->edx) : "a"(func), "c"(subfunc) ); -#endif +# endif } # endif -#elif defined(ZEND_WIN32) && !defined(__clang__) +#elif defined(_MSC_VER) && !defined(__clang__) && (defined(_M_X64) || defined(_M_IX86)) /* use MSVC __cpuidex intrin */ # include static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) { int regs[4]; @@ -67,7 +67,7 @@ static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo cpuinfo->ecx = regs[2]; cpuinfo->edx = regs[3]; } -#else +#else /* fall back to zero */ static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) { cpuinfo->eax = 0; } diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 7b751b1f7c3d4..aa770141cd24d 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -22,7 +22,7 @@ #include "zend_globals.h" #include "zend_variables.h" -#if defined(__aarch64__) +#if defined(__aarch64__) || defined(_M_ARM64) # include #endif @@ -183,7 +183,7 @@ static zend_always_inline void zend_hash_real_init_mixed_ex(HashTable *ht) _mm_storeu_si128((__m128i*)&HT_HASH_EX(data, 8), xmm0); _mm_storeu_si128((__m128i*)&HT_HASH_EX(data, 12), xmm0); } while (0); -#elif defined(__aarch64__) +#elif defined(__aarch64__) || defined(_M_ARM64) do { int32x4_t t = vdupq_n_s32(-1); vst1q_s32((int32_t*)&HT_HASH_EX(data, 0), t); diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h index c6cd472a237b1..a99e858bd7798 100644 --- a/Zend/zend_multiply.h +++ b/Zend/zend_multiply.h @@ -94,6 +94,19 @@ (dval) = (double)(a) * (double)(b); \ } \ } while (0) +# elif defined(_M_ARM64) +# pragma intrinsic(__mulh) +# define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ + __int64 __high = __mulh((a), (b)); \ + __int64 __low = (a) * (b); \ + if ((__low >> 63I64) == __high) { \ + (usedval) = 0; \ + (lval) = __low; \ + } else { \ + (usedval) = 1; \ + (dval) = (double)(a) * (double)(b); \ + } \ +} while (0) # else # define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ zend_long __lres = (a) * (b); \ diff --git a/ext/json/json_encoder.c b/ext/json/json_encoder.c index 13c5ed0aad683..adb53598326bd 100644 --- a/ext/json/json_encoder.c +++ b/ext/json/json_encoder.c @@ -71,7 +71,14 @@ static inline void php_json_pretty_print_indent(smart_str *buf, int options, php /* }}} */ -static inline bool php_json_is_valid_double(double d) /* {{{ */ +static +#if defined(_MSC_VER) && defined(_M_ARM64) +// MSVC bug: https://developercommunity.visualstudio.com/t/corrupt-optimization-on-arm64-with-Ox-/10102551 +zend_never_inline +#else +inline +#endif +bool php_json_is_valid_double(double d) /* {{{ */ { return !zend_isinf(d) && !zend_isnan(d); } diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 0478e8067e314..901caf696ca8d 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -2190,7 +2190,7 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type) ZCSG(hits)++; /* TBFixed: may lose one hit */ persistent_script->dynamic_members.hits++; /* see above */ #else -#ifdef _M_X64 +#if ZEND_ENABLE_ZVAL_LONG64 InterlockedIncrement64(&ZCSG(hits)); #else InterlockedIncrement(&ZCSG(hits)); diff --git a/ext/standard/base64.c b/ext/standard/base64.c index 7a237d09ecc2e..3893438839aee 100644 --- a/ext/standard/base64.c +++ b/ext/standard/base64.c @@ -51,7 +51,7 @@ static const short base64_reverse_table[256] = { }; /* }}} */ -#ifdef __aarch64__ +#if defined(__aarch64__) || defined(_M_ARM64) #include static zend_always_inline uint8x16_t encode_toascii(const uint8x16_t input, const uint8x16x2_t shift_LUT) @@ -118,11 +118,11 @@ static zend_always_inline unsigned char *neon_base64_encode(const unsigned char *left = inl; return out; } -#endif /* __aarch64__ */ +#endif /* defined(__aarch64__) || defined(_M_ARM64) */ static zend_always_inline unsigned char *php_base64_encode_impl(const unsigned char *in, size_t inl, unsigned char *out) /* {{{ */ { -#ifdef __aarch64__ +#if defined(__aarch64__) || defined(_M_ARM64) if (inl >= 16 * 3) { size_t left = 0; out = neon_base64_encode(in, inl, out, &left); @@ -161,7 +161,7 @@ static zend_always_inline unsigned char *php_base64_encode_impl(const unsigned c } /* }}} */ -#ifdef __aarch64__ +#if defined(__aarch64__) || defined(_M_ARM64) static zend_always_inline uint8x16_t decode_fromascii(const uint8x16_t input, uint8x16_t *error, const uint8x16x2_t shiftLUT, const uint8x16x2_t maskLUT, const uint8x16x2_t bitposLUT) { const uint8x16_t higher_nibble = vshrq_n_u8(input, 4); const uint8x16_t lower_nibble = vandq_u8(input, vdupq_n_u8(0x0f)); @@ -241,14 +241,14 @@ static zend_always_inline size_t neon_base64_decode(const unsigned char *in, siz *left = inl; return out - out_orig; } -#endif /* __aarch64__ */ +#endif /* defined(__aarch64__) || defined(_M_ARM64) */ static zend_always_inline int php_base64_decode_impl(const unsigned char *in, size_t inl, unsigned char *out, size_t *outl, bool strict) /* {{{ */ { int ch; size_t i = 0, padding = 0, j = *outl; -#ifdef __aarch64__ +#if defined(__aarch64__) || defined(_M_ARM64) if (inl >= 16 * 4) { size_t left = 0; j += neon_base64_decode(in, inl, out, &left); diff --git a/ext/standard/string.c b/ext/standard/string.c index a0a1194279898..236abfae45b2c 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -3338,7 +3338,7 @@ PHP_FUNCTION(strtr) /* {{{ Reverse a string */ #ifdef ZEND_INTRIN_SSSE3_NATIVE #include -#elif defined(__aarch64__) +#elif defined(__aarch64__) || defined(_M_ARM64) #include #endif PHP_FUNCTION(strrev) @@ -3385,6 +3385,19 @@ PHP_FUNCTION(strrev) e -= 16; } while (e - s > 15); } +#elif defined(_M_ARM64) + if (e - s > 15) { + do { + const __n128 str = vld1q_u8((uint8_t *)(e - 15)); + /* Synthesize rev128 with a rev64 + ext. */ + /* strange force cast limit on windows: you cannot convert anything */ + const __n128 rev = vrev64q_u8(str); + const __n128 ext = vextq_u64(rev, rev, 1); + vst1q_u8((uint8_t *)p, ext); + p += 16; + e -= 16; + } while (e - s > 15); + } #endif while (e >= s) { *p++ = *e--; @@ -3864,7 +3877,7 @@ zend_string *php_addslashes_sse42(zend_string *str) /* }}} */ #endif -#ifdef __aarch64__ +#if defined(__aarch64__) || defined(_M_ARM64) typedef union { uint8_t mem[16]; uint64_t dw[2]; @@ -3899,7 +3912,7 @@ static zend_always_inline char *aarch64_add_slashes(quad_word res, const char *s } return target; } -#endif /* __aarch64__ */ +#endif /* defined(__aarch64__) || defined(_M_ARM64) */ #ifndef ZEND_INTRIN_SSE4_2_NATIVE # ifdef ZEND_INTRIN_SSE4_2_RESOLVER @@ -3921,7 +3934,7 @@ PHPAPI zend_string *php_addslashes(zend_string *str) source = ZSTR_VAL(str); end = source + ZSTR_LEN(str); -# ifdef __aarch64__ +# if defined(__aarch64__) || defined(_M_ARM64) quad_word res = {0}; if (ZSTR_LEN(str) > 15) { do { @@ -3932,7 +3945,7 @@ PHPAPI zend_string *php_addslashes(zend_string *str) } while ((end - source) > 15); } /* Finish the last 15 bytes or less with the scalar loop. */ -# endif /* __aarch64__ */ +# endif /* defined(__aarch64__) || defined(_M_ARM64) */ while (source < end) { switch (*source) { @@ -3955,7 +3968,7 @@ PHPAPI zend_string *php_addslashes(zend_string *str) memcpy(ZSTR_VAL(new_str), ZSTR_VAL(str), offset); target = ZSTR_VAL(new_str) + offset; -# ifdef __aarch64__ +# if defined(__aarch64__) || defined(_M_ARM64) if (res.dw[0] | res.dw[1]) { target = aarch64_add_slashes(res, source, target); source += 16; @@ -3971,7 +3984,7 @@ PHPAPI zend_string *php_addslashes(zend_string *str) } } /* Finish the last 15 bytes or less with the scalar loop. */ -# endif /* __aarch64__ */ +# endif /* defined(__aarch64__) || defined(_M_ARM64) */ while (source < end) { switch (*source) { @@ -4010,7 +4023,7 @@ PHPAPI zend_string *php_addslashes(zend_string *str) * be careful, this edits the string in-place */ static zend_always_inline char *php_stripslashes_impl(const char *str, char *out, size_t len) { -#ifdef __aarch64__ +#if defined(__aarch64__) || defined(_M_ARM64) while (len > 15) { uint8x16_t x = vld1q_u8((uint8_t *)str); quad_word q; @@ -4040,7 +4053,7 @@ static zend_always_inline char *php_stripslashes_impl(const char *str, char *out } } /* Finish the last 15 bytes or less with the scalar loop. */ -#endif /* __aarch64__ */ +#endif /* defined(__aarch64__) || defined(_M_ARM64) */ while (len > 0) { if (*str == '\\') { str++; /* skip the slash */ From 0709578517e4367f8b69d013f0f30c3a21624fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Ols=CC=8Cavsky=CC=81?= Date: Mon, 8 Aug 2022 18:47:21 +0200 Subject: [PATCH 040/229] Fix GH-9266: GC root buffer keeps growing when dtors are present Do not reset cleared count on GC rerun. Closes GH-9265. --- NEWS | 2 ++ Zend/tests/gc_045.phpt | 58 ++++++++++++++++++++++++++++++++++++++++++ Zend/zend_gc.c | 6 +++-- 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 Zend/tests/gc_045.phpt diff --git a/NEWS b/NEWS index d2dcfbce70c2b..d274cbe5e0470 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed --CGI-- support of run-tests.php. (cmb) . Fixed incorrect double to long casting in latest clang. (zeriyoshi) + . Fixed bug GH-9266 (GC root buffer keeps growing when dtors are present). + (Michael Olšavský) - Date: . Fixed bug GH-8730 (DateTime::diff miscalculation is same time zone of diff --git a/Zend/tests/gc_045.phpt b/Zend/tests/gc_045.phpt new file mode 100644 index 0000000000000..865462ecfbc3f --- /dev/null +++ b/Zend/tests/gc_045.phpt @@ -0,0 +1,58 @@ +--TEST-- +GC 045: Total count persisted when GC is rerun due to destructor call +--INI-- +zend.enable_gc=1 +--FILE-- +val = $val; + $this->selfRef = $this; + } +} + +for ($j = 0; $j < 10; $j++) { + for ($i = 0; $i < 3000; $i++) { + new Foo(new Value()); + } +} + +var_dump(gc_status()); +?> +--EXPECT-- +array(4) { + ["runs"]=> + int(10) + ["collected"]=> + int(25000) + ["threshold"]=> + int(10001) + ["roots"]=> + int(10000) +} diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 5c7a73aa2736f..f062747eaeb63 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -1439,12 +1439,13 @@ static void zend_gc_root_tmpvars(void); ZEND_API int zend_gc_collect_cycles(void) { - int count = 0; + int total_count = 0; bool should_rerun_gc = 0; bool did_rerun_gc = 0; rerun_gc: if (GC_G(num_roots)) { + int count; gc_root_buffer *current, *last; zend_refcounted *p; uint32_t gc_flags = 0; @@ -1622,6 +1623,7 @@ ZEND_API int zend_gc_collect_cycles(void) GC_TRACE("Collection finished"); GC_G(collected) += count; + total_count += count; GC_G(gc_active) = 0; } @@ -1638,7 +1640,7 @@ ZEND_API int zend_gc_collect_cycles(void) finish: zend_get_gc_buffer_release(); zend_gc_root_tmpvars(); - return count; + return total_count; } ZEND_API void zend_gc_get_status(zend_gc_status *status) From 279a297172376ef863c7e4809168a10e67618e59 Mon Sep 17 00:00:00 2001 From: dixyes Date: Wed, 20 Jul 2022 17:08:00 +0200 Subject: [PATCH 041/229] Windows arm64 build system support Closes GH-9116. --- .gitignore | 3 + Zend/asm/jump_arm64_aapcs_pe_armasm.asm | 133 ++++++++++++++++++++++++ Zend/asm/make_arm64_aapcs_pe_armasm.asm | 107 +++++++++++++++++++ ext/standard/config.w32 | 2 +- win32/build/Makefile | 4 +- win32/build/Makefile.frag.w32 | 7 -- win32/build/config.w32 | 50 +++++++-- win32/build/config.w32.phpize.in | 6 +- win32/build/confutils.js | 113 +++++++++++++------- 9 files changed, 368 insertions(+), 57 deletions(-) create mode 100644 Zend/asm/jump_arm64_aapcs_pe_armasm.asm create mode 100644 Zend/asm/make_arm64_aapcs_pe_armasm.asm delete mode 100644 win32/build/Makefile.frag.w32 diff --git a/.gitignore b/.gitignore index afa85395322f5..7a4ba0e0222ba 100644 --- a/.gitignore +++ b/.gitignore @@ -202,6 +202,9 @@ php # Generated by x64 compiler, includes Debug, Debug_TS, Release, Release_TS /x64/ +# Generated by arm64 compiler, includes Debug, Debug_TS, Release, Release_TS +/arm64/ + # Miscellaneous files generated by Windows build system /main/config.w32.h /win32/build/deplister.exe diff --git a/Zend/asm/jump_arm64_aapcs_pe_armasm.asm b/Zend/asm/jump_arm64_aapcs_pe_armasm.asm new file mode 100644 index 0000000000000..d2e7d221415a3 --- /dev/null +++ b/Zend/asm/jump_arm64_aapcs_pe_armasm.asm @@ -0,0 +1,133 @@ +; Copyright Edward Nevill + Oliver Kowalke 2015 +; Distributed under the Boost Software License, Version 1.0. +; (See accompanying file LICENSE_1_0.txt or copy at +; http://www.boost.org/LICENSE_1_0.txt) + +;******************************************************* +;* * +;* ------------------------------------------------- * +;* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * +;* ------------------------------------------------- * +;* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| * +;* ------------------------------------------------- * +;* | d8 | d9 | d10 | d11 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * +;* ------------------------------------------------- * +;* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| * +;* ------------------------------------------------- * +;* | d12 | d13 | d14 | d15 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * +;* ------------------------------------------------- * +;* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| * +;* ------------------------------------------------- * +;* | x19 | x20 | x21 | x22 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * +;* ------------------------------------------------- * +;* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| * +;* ------------------------------------------------- * +;* | x23 | x24 | x25 | x26 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * +;* ------------------------------------------------- * +;* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| * +;* ------------------------------------------------- * +;* | x27 | x28 | FP | LR | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | * +;* ------------------------------------------------- * +;* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| * +;* ------------------------------------------------- * +;* | fiber data| base | limit | dealloc | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 48 | 49 | 50 | 51 | | | * +;* ------------------------------------------------- * +;* | 0xc0| 0xc4| 0xc8| 0xcc| | | * +;* ------------------------------------------------- * +;* | PC | align | | | * +;* ------------------------------------------------- * +;* * +;******************************************************* + + AREA |.text|, CODE, READONLY, ALIGN=4, CODEALIGN + EXPORT jump_fcontext + +jump_fcontext proc + ; prepare stack for GP + FPU + sub sp, sp, #0xd0 + + ; save d8 - d15 + stp d8, d9, [sp, #0x00] + stp d10, d11, [sp, #0x10] + stp d12, d13, [sp, #0x20] + stp d14, d15, [sp, #0x30] + + ; save x19-x30 + stp x19, x20, [sp, #0x40] + stp x21, x22, [sp, #0x50] + stp x23, x24, [sp, #0x60] + stp x25, x26, [sp, #0x70] + stp x27, x28, [sp, #0x80] + stp x29, x30, [sp, #0x90] + + ; save LR as PC + str x30, [sp, #0xc0] + + ; save current stack base and limit + ldp x5, x6, [x18, #0x08] ; TeStackBase and TeStackLimit at ksarm64.h + stp x5, x6, [sp, #0xa0] + ; save current fiber data and deallocation stack + ldr x5, [x18, #0x1478] ; TeDeallocationStack at ksarm64.h + ldr x6, [x18, #0x20] ; TeFiberData at ksarm64.h + stp x5, x6, [sp, #0xb0] + + ; store RSP (pointing to context-data) in X0 + mov x4, sp + + ; restore RSP (pointing to context-data) from X1 + mov sp, x0 + + ; restore stack base and limit + ldp x5, x6, [sp, #0xa0] + stp x5, x6, [x18, #0x08] ; TeStackBase and TeStackLimit at ksarm64.h + ; restore fiber data and deallocation stack + ldp x5, x6, [sp, #0xb0] + str x5, [x18, #0x1478] ; TeDeallocationStack at ksarm64.h + str x6, [x18, #0x20] ; TeFiberData at ksarm64.h + + ; load d8 - d15 + ldp d8, d9, [sp, #0x00] + ldp d10, d11, [sp, #0x10] + ldp d12, d13, [sp, #0x20] + ldp d14, d15, [sp, #0x30] + + ; load x19-x30 + ldp x19, x20, [sp, #0x40] + ldp x21, x22, [sp, #0x50] + ldp x23, x24, [sp, #0x60] + ldp x25, x26, [sp, #0x70] + ldp x27, x28, [sp, #0x80] + ldp x29, x30, [sp, #0x90] + + ; return transfer_t from jump + ; pass transfer_t as first arg in context function + ; X0 == FCTX, X1 == DATA + mov x0, x4 + + ; load pc + ldr x4, [sp, #0xc0] + + ; restore stack from GP + FPU + add sp, sp, #0xd0 + + ret x4 + ENDP + END \ No newline at end of file diff --git a/Zend/asm/make_arm64_aapcs_pe_armasm.asm b/Zend/asm/make_arm64_aapcs_pe_armasm.asm new file mode 100644 index 0000000000000..16fcdc7d8f7e8 --- /dev/null +++ b/Zend/asm/make_arm64_aapcs_pe_armasm.asm @@ -0,0 +1,107 @@ +; Copyright Edward Nevill + Oliver Kowalke 2015 +; Distributed under the Boost Software License, Version 1.0. +; (See accompanying file LICENSE_1_0.txt or copy at +; http://www.boost.org/LICENSE_1_0.txt) + +;******************************************************* +;* * +;* ------------------------------------------------- * +;* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * +;* ------------------------------------------------- * +;* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| * +;* ------------------------------------------------- * +;* | d8 | d9 | d10 | d11 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * +;* ------------------------------------------------- * +;* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| * +;* ------------------------------------------------- * +;* | d12 | d13 | d14 | d15 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * +;* ------------------------------------------------- * +;* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| * +;* ------------------------------------------------- * +;* | x19 | x20 | x21 | x22 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * +;* ------------------------------------------------- * +;* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| * +;* ------------------------------------------------- * +;* | x23 | x24 | x25 | x26 | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * +;* ------------------------------------------------- * +;* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| * +;* ------------------------------------------------- * +;* | x27 | x28 | FP | LR | * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | * +;* ------------------------------------------------- * +;* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| * +;* ------------------------------------------------- * +;* | base | limit | dealloc | fiber data| * +;* ------------------------------------------------- * +;* ------------------------------------------------- * +;* | 48 | 49 | 50 | 51 | | | * +;* ------------------------------------------------- * +;* | 0xc0| 0xc4| 0xc8| 0xcc| | | * +;* ------------------------------------------------- * +;* | PC | align | | | * +;* ------------------------------------------------- * +;* * +;******************************************************* + + AREA |.text|, CODE, READONLY, ALIGN=4, CODEALIGN + EXPORT make_fcontext + IMPORT _exit + +make_fcontext proc + ; save stack top address to x3 + mov x3, x0 + + ; shift address in x0 (allocated stack) to lower 16 byte boundary + and x0, x0, ~0xF + + ; reserve space for context-data on context-stack + sub x0, x0, #0xd0 + + ; save top address of context_stack as 'base' + str x3, [x0, #0xa0] + ; save bottom address of context-stack as 'limit' and 'dealloction stack' + sub x3, x3, x1 + stp x3, x3, [x0, #0xa8] + ; save 0 as 'fiber data' + str xzr, [x0, #0xb8] + + ; third arg of make_fcontext() == address of context-function + ; store address as x19 for trampoline + str x2, [x0, #0x40] + ; store trampoline address as pc + adr x2, trampoline + str x2, [x0, #0xc0] + + ; save address of finish as return-address for context-function + ; will be entered after context-function returns (LR register) + adr x1, finish + str x1, [x0, #0x98] + + ret x30 ; return pointer to context-data (x0) + +trampoline + stp fp, lr, [sp, #-0x10]! + mov fp, sp + blr x19 + +finish + ; exit code is zero + mov x0, #0 + ; exit application + bl _exit + ENDP + END diff --git a/ext/standard/config.w32 b/ext/standard/config.w32 index e4c5d65f4acb3..282189c52dade 100644 --- a/ext/standard/config.w32 +++ b/ext/standard/config.w32 @@ -25,7 +25,7 @@ ADD_FLAG("LIBS_STANDARD", "iphlpapi.lib"); EXTENSION("standard", "array.c base64.c basic_functions.c browscap.c \ crc32.c crypt.c crypt_freesec.c crypt_blowfish.c crypt_sha256.c \ - crypt_sha512.c php_crypt_r.c crc32_x86.c \ + crypt_sha512.c php_crypt_r.c " + (TARGET_ARCH != 'arm64'? " crc32_x86.c" : "") + " \ datetime.c dir.c dl.c dns.c dns_win32.c exec.c \ file.c filestat.c formatted_print.c fsock.c head.c html.c image.c \ info.c iptc.c link.c mail.c math.c md5.c metaphone.c microtime.c \ diff --git a/win32/build/Makefile b/win32/build/Makefile index 9d063549113aa..e63a77b121fda 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -130,10 +130,10 @@ $(PHPDLL_RES): win32\build\template.rc /I$(BUILD_DIR) /d MC_INCLUDE="\"$(MCFILE)\"" \ win32\build\template.rc -$(BUILD_DIR)\$(PHPDLL): generated_files $(PHPDEF) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(PHPDLL_RES) $(MCFILE) +$(BUILD_DIR)\$(PHPDLL): generated_files $(PHPDEF) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(PHPDLL_RES) $(ASM_OBJS) $(MCFILE) @copy win32\build\default.manifest $(BUILD_DIR)\$(PHPDLL).manifest >nul # @$(CC) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /link /out:$(BUILD_DIR)\$(PHPDLL) $(PHP8_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS) - @"$(LINK)" $(PHP_GLOBAL_OBJS_RESP) $(STATIC_EXT_OBJS_RESP) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /out:$(BUILD_DIR)\$(PHPDLL) $(PHP8_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS) + @"$(LINK)" $(PHP_GLOBAL_OBJS_RESP) $(STATIC_EXT_OBJS_RESP) $(STATIC_EXT_LIBS) $(LIBS) $(ASM_OBJS) $(PHPDLL_RES) /out:$(BUILD_DIR)\$(PHPDLL) $(PHP8_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS) -@$(_VC_MANIFEST_EMBED_DLL) $(BUILD_DIR)\$(PHPLIB): $(BUILD_DIR)\$(PHPDLL) diff --git a/win32/build/Makefile.frag.w32 b/win32/build/Makefile.frag.w32 deleted file mode 100644 index 6c74619c986a4..0000000000000 --- a/win32/build/Makefile.frag.w32 +++ /dev/null @@ -1,7 +0,0 @@ -$(BUILD_DIR)\Zend\jump_$(FIBER_ASM_ARCH)_ms_pe_masm.obj: Zend\asm\jump_$(FIBER_ASM_ARCH)_ms_pe_masm.asm - $(FIBER_ASSEMBLER) /DBOOST_CONTEXT_EXPORT=EXPORT /nologo /Fo $(BUILD_DIR)\Zend\jump_$(FIBER_ASM_ARCH)_ms_pe_masm.obj /c Zend\asm\jump_$(FIBER_ASM_ARCH)_ms_pe_masm.asm - -$(BUILD_DIR)\Zend\make_$(FIBER_ASM_ARCH)_ms_pe_masm.obj: Zend\asm\make_$(FIBER_ASM_ARCH)_ms_pe_masm.asm - $(FIBER_ASSEMBLER) /DBOOST_CONTEXT_EXPORT=EXPORT /nologo /Fo $(BUILD_DIR)\Zend\make_$(FIBER_ASM_ARCH)_ms_pe_masm.obj /c Zend\asm\make_$(FIBER_ASM_ARCH)_ms_pe_masm.asm - -$(BUILD_DIR)\$(PHPDLL): $(BUILD_DIR)\Zend\jump_$(FIBER_ASM_ARCH)_ms_pe_masm.obj $(BUILD_DIR)\Zend\make_$(FIBER_ASM_ARCH)_ms_pe_masm.obj diff --git a/win32/build/config.w32 b/win32/build/config.w32 index c66f1e39af6a6..0b1736c8ab70d 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -14,8 +14,10 @@ ARG_WITH('cygwin', 'Path to cygwin utilities on your system', '\\cygwin'); toolset_setup_compiler(); -// do we use x64 or 80x86 version of compiler? -X64 = toolset_is_64(); +HOST_ARCH = toolset_host_arch(); +TARGET_ARCH = toolset_target_arch(); +// for compatible only +X64 = TARGET_ARCH != 'x86'; toolset_setup_arch(); toolset_setup_linker(); @@ -212,7 +214,7 @@ if (PHP_ANALYZER == "vs") { pvscfg.WriteLine("exclude-path = " + PROGRAM_FILES + "\\windows kits\\"); } pvscfg.WriteLine("vcinstalldir = " + VCINSTALLDIR); - pvscfg.WriteLine("platform = " + (X64 ? 'x64' : 'Win32')); + pvscfg.WriteLine("platform = " + (TARGET_ARCH == 'x86' ? 'Win32' : 'x64')); pvscfg.WriteLine("preprocessor = visualcpp"); pvscfg.WriteLine("language = C"); pvscfg.WriteLine("skip-cl-exe = no"); @@ -241,16 +243,44 @@ ADD_SOURCES("Zend", "zend_language_parser.c zend_language_scanner.c \ zend_enum.c zend_fibers.c zend_atomic.c"); ADD_SOURCES("Zend\\Optimizer", "zend_optimizer.c pass1.c pass3.c optimize_func_calls.c block_pass.c optimize_temp_vars_5.c nop_removal.c compact_literals.c zend_cfg.c zend_dfg.c dfa_pass.c zend_ssa.c zend_inference.c zend_func_info.c zend_call_graph.c zend_dump.c escape_analysis.c compact_vars.c dce.c sccp.c scdf.c"); -var FIBER_ASSEMBLER = X64 ? PATH_PROG('ML64') : PATH_PROG('ML'); -DEFINE('FIBER_ASSEMBLER', FIBER_ASSEMBLER); +var PHP_ASSEMBLER = PATH_PROG({ + 'x64': 'ML64', + 'x86': 'ML', + 'arm64': 'armasm64' +}[TARGET_ARCH]); +if (!PHP_ASSEMBLER) { + ERROR("No assembler found, fiber cannot be built"); +} +DEFINE('PHP_ASSEMBLER', PHP_ASSEMBLER); +DEFINE('FIBER_ASSEMBLER', PHP_ASSEMBLER);// for compatible + +var FIBER_ASM_ARCH = { + 'x64': 'x86_64', + 'x86': 'i386', + 'arm64': 'arm64' +}[TARGET_ARCH]; +DEFINE('FIBER_ASM_ARCH', FIBER_ASM_ARCH); // for compatible only + +var FIBER_ASM_ABI = { + 'x64': 'x86_64_ms_pe_masm', + 'x86': 'i386_ms_pe_masm', + 'arm64': 'arm64_aapcs_pe_armasm' +}[TARGET_ARCH]; +DEFINE('FIBER_ASM_ABI', FIBER_ASM_ABI); + +if (TARGET_ARCH == 'arm64') { + DEFINE('FIBER_ASM_FLAGS', '-nologo -machine ARM64 -o'); +} else { + DEFINE('FIBER_ASM_FLAGS', '/DBOOST_CONTEXT_EXPORT=EXPORT /nologo /c /Fo'); +} -var FIBER_ASM_ARCH = X64 ? 'x86_64' : 'i386'; -DEFINE('FIBER_ASM_ARCH', FIBER_ASM_ARCH); +ADD_FLAG('ASM_OBJS', '$(BUILD_DIR)\\Zend\\jump_' + FIBER_ASM_ABI + '.obj $(BUILD_DIR)\\Zend\\make_' + FIBER_ASM_ABI + '.obj'); -ADD_FLAG('LDFLAGS', '$(BUILD_DIR)\\Zend\\jump_' + FIBER_ASM_ARCH + '_ms_pe_masm.obj'); -ADD_FLAG('LDFLAGS', '$(BUILD_DIR)\\Zend\\make_' + FIBER_ASM_ARCH + '_ms_pe_masm.obj'); +MFO.WriteLine('$(BUILD_DIR)\\Zend\\jump_' + FIBER_ASM_ABI + '.obj: Zend\\asm\\jump_' + FIBER_ASM_ABI + '.asm'); +MFO.WriteLine('\t$(PHP_ASSEMBLER) $(FIBER_ASM_FLAGS) $(BUILD_DIR)\\Zend\\jump_$(FIBER_ASM_ABI).obj Zend\\asm\\jump_$(FIBER_ASM_ABI).asm'); -ADD_MAKEFILE_FRAGMENT('win32/build/Makefile.frag.w32'); +MFO.WriteLine('$(BUILD_DIR)\\Zend\\make_' + FIBER_ASM_ABI + '.obj: Zend\\asm\\make_' + FIBER_ASM_ABI + '.asm'); +MFO.WriteLine('\t$(PHP_ASSEMBLER) $(FIBER_ASM_FLAGS) $(BUILD_DIR)\\Zend\\make_$(FIBER_ASM_ABI).obj Zend\\asm\\make_$(FIBER_ASM_ABI).asm'); ADD_FLAG("CFLAGS_BD_ZEND", "/D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); if (VS_TOOLSET && VCVERS >= 1914) { diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in index 72205fac34ec0..a82017f4f6579 100644 --- a/win32/build/config.w32.phpize.in +++ b/win32/build/config.w32.phpize.in @@ -14,8 +14,10 @@ var PHP_CYGWIN="notset"; toolset_setup_compiler(); -// do we use x64 or 80x86 version of compiler? -X64 = toolset_is_64(); +HOST_ARCH = toolset_host_arch(); +TARGET_ARCH = toolset_target_arch(); +// for compatible only +X64 = TARGET_ARCH != 'x86'; toolset_setup_arch(); toolset_setup_linker(); diff --git a/win32/build/confutils.js b/win32/build/confutils.js index c7489924554cb..dc6675c6d29d1 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -168,9 +168,13 @@ function probe_binary(EXE, what) } var version = execute(command + '" 2>&1"'); - if (what == "64") { - if (version.match(/x64/)) { - return 1; + if (what == "arch") { + if (version.match(/x86/)) { + return "x86"; + } else if (version.match(/x64/)) { + return "x64"; + } else if (version.match(/ARM64/)) { + return "arm64"; } } else { if (version.match(/(\d+\.\d+(\.\d+)?(\.\d+)?)/)) { @@ -1665,7 +1669,7 @@ function ADD_SOURCES(dir, file_list, target, obj_dir) } if (PHP_ANALYZER == "clang") { - var analyzer_base_args = X64 ? "-m64" : "-m32"; + var analyzer_base_args = TARGET_ARCH == 'x86' ? "-m32" : "-m64"; var analyzer_base_flags = ""; analyzer_base_args += " --analyze"; @@ -1688,10 +1692,14 @@ function ADD_SOURCES(dir, file_list, target, obj_dir) analyzer_base_flags += " -D _MSC_VER=" + probe_binary(PATH_PROG('cl', null)); } - if (X64) { + if (TARGET_ARCH == 'x64') { analyzer_base_flags += " -D _M_X64 -D _WIN64"; - } else { + } else if (TARGET_ARCH == 'ARM64') { + analyzer_base_flags += " -D _M_ARM64 -D _WIN64"; + } else if (TARGET_ARCH == 'x86') { analyzer_base_flags += " -D _M_IX86 "; + } else { + ERROR("analyzer is not supported at arch " + TARGET_ARCH); } analyzer_base_flags += " -D _WIN32 -D WIN32 -D _WINDOWS"; @@ -1703,8 +1711,8 @@ function ADD_SOURCES(dir, file_list, target, obj_dir) analyzer_base_flags += " -I " + "\"" + vc_incs[i] + "\""; } - var cppcheck_platform = X64 ? "win64" : "win32A"; - var cppcheck_lib = "win32\\build\\cppcheck_" + (X64 ? "x64" : "x86") + ".cfg"; + var cppcheck_platform = TARGET_ARCH == 'x86' ? "win32A" : "win64"; + var cppcheck_lib = "win32\\build\\cppcheck_" + (TARGET_ARCH == 'x86' ? "x86" : "x64") + ".cfg"; // use x64 for arm64 yet analyzer_base_args += "--enable=warning,performance,portability,information,missingInclude " + "--platform=" + cppcheck_platform + " " + "--library=windows.cfg --library=microsoft_sal.cfg " + @@ -1955,7 +1963,8 @@ function write_summary() ar[k++] = ['Build type', PHP_DEBUG == "yes" ? "Debug" : "Release"]; ar[k++] = ['Thread Safety', PHP_ZTS == "yes" ? "Yes" : "No"]; ar[k++] = ['Compiler', COMPILER_NAME_LONG]; - ar[k++] = ['Architecture', X64 ? 'x64' : 'x86']; + ar[k++] = ['Target Architecture', TARGET_ARCH]; + ar[k++] = ['Host Architecture', HOST_ARCH]; if (PHP_PGO == "yes") { ar[k++] = ['Optimization', "PGO"]; } else if (PHP_PGI == "yes") { @@ -3128,10 +3137,32 @@ function toolset_get_compiler_name(short) } -function toolset_is_64() +function toolset_host_arch() +{ + var command = 'cmd /c "where cl.exe"'; + var clpath = execute(command).split(/\n/)[0].replace(/\s$/, ''); + + var command = 'cmd /c "dumpbin "' + clpath + '" /nologo /headers"'; + var full = execute(command); + + /* + output is something like + FILE HEADER VALUES + 8664 machine (x64) + */ + var matches = full.match(/FILE HEADER VALUES\s+[A-F0-9]{3,4}\smachine \((x64|x86|ARM64)\)/); + + if(!matches){ + ERROR("Unsupported toolset host"); + } + + return matches[1].toLowerCase(); +} + +function toolset_target_arch() { if (VS_TOOLSET) { - return probe_binary(PHP_CL, 64); + return probe_binary(PHP_CL, 'arch'); } else if (CLANG_TOOLSET) { /*var command = 'cmd /c ""' + PHP_CL + '" -v"'; var full = execute(command + '" 2>&1"'); @@ -3141,26 +3172,22 @@ function toolset_is_64() /* Even executed within an environment setup with vcvars32.bat, clang-cl doesn't recognize the arch toolset. But as it needs the VS environment, checking the arch of cl.exe is correct. */ - return probe_binary(PATH_PROG('cl', null), 64); + return probe_binary(PATH_PROG('cl', null), 'arch'); } else if (ICC_TOOLSET) { - var command = 'cmd /c ""' + PHP_CL + '" -v"'; + var command = 'cmd /c "where cl"'; var full = execute(command + '" 2>&1"'); return null != full.match(/Intel\(R\) 64/); } - ERROR("Unsupported toolset"); + ERROR("Unsupported toolset target"); } function toolset_setup_arch() { - if (X64) { - STDOUT.WriteLine(" Detected 64-bit compiler"); - } else { - STDOUT.WriteLine(" Detected 32-bit compiler"); - } - AC_DEFINE('PHP_BUILD_ARCH', X64 ? 'x64' : 'x86', "Detected compiler architecture"); - DEFINE("PHP_ARCHITECTURE", X64 ? 'x64' : 'x86'); + STDOUT.WriteLine(" Detected " + TARGET_ARCH + " compiler" + (TARGET_ARCH == HOST_ARCH ? "" : " (cross compile from " + HOST_ARCH + ")")); + AC_DEFINE('PHP_BUILD_ARCH', TARGET_ARCH, "Detected compiler architecture"); + DEFINE("PHP_ARCHITECTURE", TARGET_ARCH); } function toolset_setup_codegen_arch() @@ -3174,7 +3201,7 @@ function toolset_setup_codegen_arch() if ("IA32" != arc) { ERROR("Only IA32 arch is supported by --with-codegen-arch, got '" + arc + "'"); - } else if (X64) { + } else if (TARGET_ARCH != 'x86') { ERROR("IA32 arch is only supported with 32-bit build"); } ADD_FLAG("CFLAGS", "/arch:" + arc); @@ -3234,10 +3261,10 @@ function toolset_setup_common_cflags() // fun stuff: MS deprecated ANSI stdio and similar functions // disable annoying warnings. In addition, time_t defaults // to 64-bit. Ask for 32-bit. - if (X64) { - ADD_FLAG('CFLAGS', ' /wd4996 '); - } else { + if (TARGET_ARCH == 'x86') { ADD_FLAG('CFLAGS', ' /wd4996 /D_USE_32BIT_TIME_T=1 '); + } else { + ADD_FLAG('CFLAGS', ' /wd4996 '); } if (PHP_DEBUG == "yes") { @@ -3289,10 +3316,10 @@ function toolset_setup_common_cflags() ADD_FLAG("CFLAGS", "/Zc:wchar_t"); } else if (CLANG_TOOLSET) { - if (X64) { - ADD_FLAG('CFLAGS', '-m64'); - } else { + if (TARGET_ARCH == 'x86') { ADD_FLAG('CFLAGS', '-m32'); + } else { + ADD_FLAG('CFLAGS', '-m64'); } ADD_FLAG("CFLAGS", " /fallback "); ADD_FLAG("CFLAGS", "-Xclang -fmodules"); @@ -3322,6 +3349,14 @@ function toolset_setup_intrinsic_cflags() ERROR("Can't enable intrinsics, --with-codegen-arch passed with an incompatible option. ") } + if (TARGET_ARCH == 'arm64') { + /* arm64 supports neon */ + configure_subst.Add("PHP_SIMD_SCALE", 'NEON'); + /* all offically supported arm64 cpu supports crc32 (TODO: to be confirmed) */ + AC_DEFINE('HAVE_ARCH64_CRC32', 1); + return; + } + if ("no" == PHP_NATIVE_INTRINSICS || "yes" == PHP_NATIVE_INTRINSICS) { PHP_NATIVE_INTRINSICS = default_enabled; } @@ -3349,7 +3384,7 @@ function toolset_setup_intrinsic_cflags() } } } - if (!X64) { + if (TARGET_ARCH == 'x86') { /* SSE2 is currently the default on 32-bit. It could change later, for now no need to pass it. But, if SSE only was chosen, /arch:SSE is required. */ @@ -3420,7 +3455,7 @@ function toolset_setup_build_mode() { if (PHP_DEBUG == "yes") { ADD_FLAG("CFLAGS", "/LDd /MDd /Od /D _DEBUG /D ZEND_DEBUG=1 " + - (X64?"/Zi":"/ZI")); + (TARGET_ARCH == 'x86'?"/ZI":"/Zi")); ADD_FLAG("LDFLAGS", "/debug"); // Avoid problems when linking to release libraries that use the release // version of the libc @@ -3455,11 +3490,16 @@ function object_out_dir_option_handle() } else { PHP_OBJECT_OUT_DIR = FSO.GetAbsolutePathName(".") + '\\'; - if (X64) { + if (TARGET_ARCH == 'x64') { PHP_OBJECT_OUT_DIR += 'x64\\'; if (!FSO.FolderExists(PHP_OBJECT_OUT_DIR)) { FSO.CreateFolder(PHP_OBJECT_OUT_DIR); } + } else if (TARGET_ARCH == 'arm64') { + PHP_OBJECT_OUT_DIR += 'arm64\\'; + if (!FSO.FolderExists(PHP_OBJECT_OUT_DIR)) { + FSO.CreateFolder(PHP_OBJECT_OUT_DIR); + } } } } @@ -3516,7 +3556,7 @@ function php_build_option_handle() if (FSO.FolderExists("..\\php_build")) { PHP_PHP_BUILD = "..\\php_build"; } else { - if (X64) { + if (TARGET_ARCH != 'x86') { if (FSO.FolderExists("..\\win64build")) { PHP_PHP_BUILD = "..\\win64build"; } else if (FSO.FolderExists("..\\php-win64-dev\\php_build")) { @@ -3678,7 +3718,7 @@ function get_clang_lib_dir() ERROR("Failed to determine clang lib path"); } - if (X64) { + if (TARGET_ARCH != 'x86') { ret = PROGRAM_FILES + "\\LLVM\\lib\\clang\\" + ver + "\\lib"; if (!FSO.FolderExists(ret)) { ret = null; @@ -3715,10 +3755,13 @@ function add_asan_opts(cflags_name, libs_name, ldflags_name) ADD_FLAG(cflags_name, "-fsanitize=address,undefined"); } if (!!libs_name) { - if (X64) { + if (TARGET_ARCH == 'x64') { ADD_FLAG(libs_name, "clang_rt.asan_dynamic-x86_64.lib clang_rt.asan_dynamic_runtime_thunk-x86_64.lib"); - } else { + } else if (TARGET_ARCH == 'x86') { ADD_FLAG(libs_name, "clang_rt.asan_dynamic-i386.lib clang_rt.asan_dynamic_runtime_thunk-i386.lib"); + } else { + // TODO: support arm64? + ERROR("Failed to determine clang lib path"); } } From 663b037c7b54c1b829d59ed8f35ceb38d8cc3975 Mon Sep 17 00:00:00 2001 From: jcm Date: Tue, 9 Aug 2022 16:30:14 +0200 Subject: [PATCH 042/229] QA - pcntl - adjust tests set/get priority check env vars and root user --- ext/pcntl/tests/pcntl_getpriority_error.phpt | 3 +++ .../tests/pcntl_getpriority_error_darwin.phpt | 3 +++ ext/pcntl/tests/pcntl_setpriority_error.phpt | 3 +++ .../tests/pcntl_setpriority_error_darwin.phpt | 3 +++ .../tests/pcntl_setpriority_error_linux.phpt | 3 +++ ext/pcntl/tests/pcntl_skipif_user_env_rules.inc | 15 +++++++++++++++ 6 files changed, 30 insertions(+) create mode 100644 ext/pcntl/tests/pcntl_skipif_user_env_rules.inc diff --git a/ext/pcntl/tests/pcntl_getpriority_error.phpt b/ext/pcntl/tests/pcntl_getpriority_error.phpt index 19936f0b59da8..2fa88a76842d0 100644 --- a/ext/pcntl/tests/pcntl_getpriority_error.phpt +++ b/ext/pcntl/tests/pcntl_getpriority_error.phpt @@ -2,9 +2,12 @@ pcntl_getpriority() - Wrong mode passed and also for non existing process id provided --EXTENSIONS-- pcntl +posix --SKIPIF-- From 8aeae636e32d2f15dd3f8ae2a6b281ffc3e98d40 Mon Sep 17 00:00:00 2001 From: Vladislav Senin Date: Wed, 10 Aug 2022 19:06:31 +0300 Subject: [PATCH 043/229] Fixes CI macOs, replacing now disabled tidyp dependency to tidy-html5. --- .github/actions/brew/action.yml | 3 ++- .github/actions/configure-macos/action.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/actions/brew/action.yml b/.github/actions/brew/action.yml index 36b76392048d4..8bdbeec7ab6b8 100644 --- a/.github/actions/brew/action.yml +++ b/.github/actions/brew/action.yml @@ -27,8 +27,9 @@ runs: gd \ libzip \ gmp \ - tidyp \ + tidy-html5 \ libxml2 \ + libjpeg \ libxslt \ postgresql brew link icu4c gettext --force diff --git a/.github/actions/configure-macos/action.yml b/.github/actions/configure-macos/action.yml index 852d8f62b68e1..690e281d24ecd 100644 --- a/.github/actions/configure-macos/action.yml +++ b/.github/actions/configure-macos/action.yml @@ -38,7 +38,7 @@ runs: --enable-soap \ --enable-xmlreader \ --with-xsl \ - --with-tidy=/usr/local/opt/tidyp \ + --with-tidy=/usr/local/opt/tidy-html5 \ --with-libxml \ --enable-sysvsem \ --enable-sysvshm \ From 18183ff9c745290d963dfdae1bf55d2e4b912f17 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 11 Aug 2022 09:30:47 +0300 Subject: [PATCH 044/229] Fix order of checks to throw exception with better message This clarifies the "->cdata" meaning. --- ext/ffi/ffi.c | 59 +++++++++++++++++++++++------------------- ext/ffi/tests/047.phpt | 38 +++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 26 deletions(-) create mode 100644 ext/ffi/tests/047.phpt diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c index 8f05686367aab..686db459eff5b 100644 --- a/ext/ffi/ffi.c +++ b/ext/ffi/ffi.c @@ -1169,20 +1169,10 @@ static zval *zend_ffi_cdata_read_field(zend_object *obj, zend_string *field_name if (cache_slot && *cache_slot == type) { field = *(cache_slot + 1); } else { + if (type->kind == ZEND_FFI_TYPE_POINTER) { + type = ZEND_FFI_TYPE(type->pointer.type); + } if (UNEXPECTED(type->kind != ZEND_FFI_TYPE_STRUCT)) { - if (type->kind == ZEND_FFI_TYPE_POINTER) { - /* transparently dereference the pointer */ - if (UNEXPECTED(!ptr)) { - zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); - return &EG(uninitialized_zval); - } - ptr = (void*)(*(char**)ptr); - if (UNEXPECTED(!ptr)) { - zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); - return &EG(uninitialized_zval); - } - type = ZEND_FFI_TYPE(type->pointer.type); - } if (UNEXPECTED(type->kind != ZEND_FFI_TYPE_STRUCT)) { zend_throw_error(zend_ffi_exception_ce, "Attempt to read field '%s' of non C struct/union", ZSTR_VAL(field_name)); return &EG(uninitialized_zval); @@ -1201,6 +1191,20 @@ static zval *zend_ffi_cdata_read_field(zend_object *obj, zend_string *field_name } } + if (ZEND_FFI_TYPE(cdata->type)->kind == ZEND_FFI_TYPE_POINTER) { + /* transparently dereference the pointer */ + if (UNEXPECTED(!ptr)) { + zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); + return &EG(uninitialized_zval); + } + ptr = (void*)(*(char**)ptr); + if (UNEXPECTED(!ptr)) { + zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); + return &EG(uninitialized_zval); + } + type = ZEND_FFI_TYPE(type->pointer.type); + } + #if 0 if (UNEXPECTED(!ptr)) { zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); @@ -1238,20 +1242,10 @@ static zval *zend_ffi_cdata_write_field(zend_object *obj, zend_string *field_nam if (cache_slot && *cache_slot == type) { field = *(cache_slot + 1); } else { + if (type->kind == ZEND_FFI_TYPE_POINTER) { + type = ZEND_FFI_TYPE(type->pointer.type); + } if (UNEXPECTED(type->kind != ZEND_FFI_TYPE_STRUCT)) { - if (type->kind == ZEND_FFI_TYPE_POINTER) { - /* transparently dereference the pointer */ - if (UNEXPECTED(!ptr)) { - zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); - return value; - } - ptr = (void*)(*(char**)ptr); - if (UNEXPECTED(!ptr)) { - zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); - return value; - } - type = ZEND_FFI_TYPE(type->pointer.type); - } if (UNEXPECTED(type->kind != ZEND_FFI_TYPE_STRUCT)) { zend_throw_error(zend_ffi_exception_ce, "Attempt to assign field '%s' of non C struct/union", ZSTR_VAL(field_name)); return value; @@ -1270,6 +1264,19 @@ static zval *zend_ffi_cdata_write_field(zend_object *obj, zend_string *field_nam } } + if (ZEND_FFI_TYPE(cdata->type)->kind == ZEND_FFI_TYPE_POINTER) { + /* transparently dereference the pointer */ + if (UNEXPECTED(!ptr)) { + zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); + return value; + } + ptr = (void*)(*(char**)ptr); + if (UNEXPECTED(!ptr)) { + zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); + return value; + } + } + #if 0 if (UNEXPECTED(!ptr)) { zend_throw_error(zend_ffi_exception_ce, "NULL pointer dereference"); diff --git a/ext/ffi/tests/047.phpt b/ext/ffi/tests/047.phpt new file mode 100644 index 0000000000000..8bd83320b5066 --- /dev/null +++ b/ext/ffi/tests/047.phpt @@ -0,0 +1,38 @@ +--TEST-- +FFI 047: FFI::CData->cdata meaning +--EXTENSIONS-- +ffi +--INI-- +ffi.enable=1 +--FILE-- +cdata = 42; +var_dump($x); + +$x = FFI::new("int*"); +try { + $x->cdata = 42; + var_dump($x); +} catch (Throwable $e) { + echo $e->getMessage() . "\n"; +} + +$x = FFI::new("struct {int cdata;}"); +try { + $x->cdata = 42; + var_dump($x); +} catch (Throwable $e) { + echo $e->getMessage() . "\n"; +} +?> +--EXPECTF-- +object(FFI\CData:int32_t)#%d (1) { + ["cdata"]=> + int(42) +} +Attempt to assign field 'cdata' of non C struct/union +object(FFI\CData:struct )#%d (1) { + ["cdata"]=> + int(42) +} From c6992121cce9fb5e895e15ceef38fbbbd8a57a37 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 11 Aug 2022 15:54:28 +0100 Subject: [PATCH 045/229] Updated to version 2022.2 (2022b) --- ext/date/lib/timezonedb.h | 12034 +++++++++++++++++------------------- 1 file changed, 5824 insertions(+), 6210 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 60cc4b3ab6cc9..8db0629127043 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -4,606 +4,607 @@ #endif #ifdef TIMELIB_SUPPORT_SLIM_FILE -const timelib_tzdb_index_entry timezonedb_idx_builtin[595] = { - { "Africa/Abidjan" , 0x000000 }, - { "Africa/Accra" , 0x00008E }, - { "Africa/Addis_Ababa" , 0x00011C }, - { "Africa/Algiers" , 0x0001E7 }, - { "Africa/Asmara" , 0x0003C9 }, - { "Africa/Asmera" , 0x000494 }, - { "Africa/Bamako" , 0x00055F }, - { "Africa/Bangui" , 0x0005ED }, - { "Africa/Banjul" , 0x0006AD }, - { "Africa/Bissau" , 0x00073B }, - { "Africa/Blantyre" , 0x0007DC }, - { "Africa/Brazzaville" , 0x00086B }, - { "Africa/Bujumbura" , 0x00092B }, - { "Africa/Cairo" , 0x0009BA }, - { "Africa/Casablanca" , 0x000EC2 }, - { "Africa/Ceuta" , 0x00164D }, - { "Africa/Conakry" , 0x001899 }, - { "Africa/Dakar" , 0x001927 }, - { "Africa/Dar_es_Salaam" , 0x0019B5 }, - { "Africa/Djibouti" , 0x001A80 }, - { "Africa/Douala" , 0x001B4B }, - { "Africa/El_Aaiun" , 0x001C0B }, - { "Africa/Freetown" , 0x00233D }, - { "Africa/Gaborone" , 0x0023CB }, - { "Africa/Harare" , 0x00245A }, - { "Africa/Johannesburg" , 0x0024E9 }, - { "Africa/Juba" , 0x0025B3 }, - { "Africa/Kampala" , 0x002789 }, - { "Africa/Khartoum" , 0x002854 }, - { "Africa/Kigali" , 0x002A2A }, - { "Africa/Kinshasa" , 0x002AB9 }, - { "Africa/Lagos" , 0x002B92 }, - { "Africa/Libreville" , 0x002C52 }, - { "Africa/Lome" , 0x002D12 }, - { "Africa/Luanda" , 0x002DA0 }, - { "Africa/Lubumbashi" , 0x002E60 }, - { "Africa/Lusaka" , 0x002F08 }, - { "Africa/Malabo" , 0x002F97 }, - { "Africa/Maputo" , 0x003057 }, - { "Africa/Maseru" , 0x0030E6 }, - { "Africa/Mbabane" , 0x0031B0 }, - { "Africa/Mogadishu" , 0x00327A }, - { "Africa/Monrovia" , 0x003345 }, - { "Africa/Nairobi" , 0x0033F5 }, - { "Africa/Ndjamena" , 0x0034C0 }, - { "Africa/Niamey" , 0x00356C }, - { "Africa/Nouakchott" , 0x00362C }, - { "Africa/Ouagadougou" , 0x0036BA }, - { "Africa/Porto-Novo" , 0x003748 }, - { "Africa/Sao_Tome" , 0x003808 }, - { "Africa/Timbuktu" , 0x0038C1 }, - { "Africa/Tripoli" , 0x00394F }, - { "Africa/Tunis" , 0x003B0A }, - { "Africa/Windhoek" , 0x003CD7 }, - { "America/Adak" , 0x003F61 }, - { "America/Anchorage" , 0x004346 }, - { "America/Anguilla" , 0x004736 }, - { "America/Antigua" , 0x0047F3 }, - { "America/Araguaina" , 0x0048B0 }, - { "America/Argentina/Buenos_Aires" , 0x004B15 }, - { "America/Argentina/Catamarca" , 0x004DFA }, - { "America/Argentina/ComodRivadavia" , 0x0050E5 }, - { "America/Argentina/Cordoba" , 0x0053B5 }, - { "America/Argentina/Jujuy" , 0x0056BB }, - { "America/Argentina/La_Rioja" , 0x005983 }, - { "America/Argentina/Mendoza" , 0x005C69 }, - { "America/Argentina/Rio_Gallegos" , 0x005F45 }, - { "America/Argentina/Salta" , 0x006224 }, - { "America/Argentina/San_Juan" , 0x0064F8 }, - { "America/Argentina/San_Luis" , 0x0067DE }, - { "America/Argentina/Tucuman" , 0x006AC4 }, - { "America/Argentina/Ushuaia" , 0x006DB2 }, - { "America/Aruba" , 0x007097 }, - { "America/Asuncion" , 0x007154 }, - { "America/Atikokan" , 0x0074D4 }, - { "America/Atka" , 0x007596 }, - { "America/Bahia" , 0x00796B }, - { "America/Bahia_Banderas" , 0x007C26 }, - { "America/Barbados" , 0x007E64 }, - { "America/Belem" , 0x007F86 }, - { "America/Belize" , 0x00812E }, - { "America/Blanc-Sablon" , 0x00854F }, - { "America/Boa_Vista" , 0x008628 }, - { "America/Bogota" , 0x0087E9 }, - { "America/Boise" , 0x0088A8 }, - { "America/Buenos_Aires" , 0x008CBB }, - { "America/Cambridge_Bay" , 0x008F8B }, - { "America/Campo_Grande" , 0x0092AB }, - { "America/Cancun" , 0x009681 }, - { "America/Caracas" , 0x0098C2 }, - { "America/Catamarca" , 0x00998C }, - { "America/Cayenne" , 0x009C5C }, - { "America/Cayman" , 0x009CFF }, - { "America/Chicago" , 0x009DA0 }, - { "America/Chihuahua" , 0x00A49A }, - { "America/Coral_Harbour" , 0x00A620 }, - { "America/Cordoba" , 0x00A6C1 }, - { "America/Costa_Rica" , 0x00A991 }, - { "America/Creston" , 0x00AA85 }, - { "America/Cuiaba" , 0x00AB93 }, - { "America/Curacao" , 0x00AF50 }, - { "America/Danmarkshavn" , 0x00B00D }, - { "America/Dawson" , 0x00B1F2 }, - { "America/Dawson_Creek" , 0x00B615 }, - { "America/Denver" , 0x00B8EC }, - { "America/Detroit" , 0x00BD1F }, - { "America/Dominica" , 0x00C0C7 }, - { "America/Edmonton" , 0x00C184 }, - { "America/Eirunepe" , 0x00C577 }, - { "America/El_Salvador" , 0x00C746 }, - { "America/Ensenada" , 0x00C802 }, - { "America/Fort_Nelson" , 0x00CC0F }, - { "America/Fort_Wayne" , 0x00D1D7 }, - { "America/Fortaleza" , 0x00D3F6 }, - { "America/Glace_Bay" , 0x00D60C }, - { "America/Godthab" , 0x00D9A3 }, - { "America/Goose_Bay" , 0x00DB80 }, - { "America/Grand_Turk" , 0x00E1D8 }, - { "America/Grenada" , 0x00E539 }, - { "America/Guadeloupe" , 0x00E5F6 }, - { "America/Guatemala" , 0x00E6B3 }, - { "America/Guayaquil" , 0x00E793 }, - { "America/Guyana" , 0x00E864 }, - { "America/Halifax" , 0x00E925 }, - { "America/Havana" , 0x00EFD7 }, - { "America/Hermosillo" , 0x00F440 }, - { "America/Indiana/Indianapolis" , 0x00F589 }, - { "America/Indiana/Knox" , 0x00F7C1 }, - { "America/Indiana/Marengo" , 0x00FBDA }, - { "America/Indiana/Petersburg" , 0x00FE34 }, - { "America/Indiana/Tell_City" , 0x0100FE }, - { "America/Indiana/Vevay" , 0x010328 }, - { "America/Indiana/Vincennes" , 0x0104BF }, - { "America/Indiana/Winamac" , 0x010715 }, - { "America/Indianapolis" , 0x01099B }, - { "America/Inuvik" , 0x010BBA }, - { "America/Iqaluit" , 0x010E97 }, - { "America/Jamaica" , 0x0111A5 }, - { "America/Jujuy" , 0x011304 }, - { "America/Juneau" , 0x0115C2 }, - { "America/Kentucky/Louisville" , 0x0119A8 }, - { "America/Kentucky/Monticello" , 0x011EAC }, - { "America/Knox_IN" , 0x012298 }, - { "America/Kralendijk" , 0x01269C }, - { "America/La_Paz" , 0x012759 }, - { "America/Lima" , 0x01280F }, - { "America/Los_Angeles" , 0x012936 }, - { "America/Louisville" , 0x012E57 }, - { "America/Lower_Princes" , 0x01333D }, - { "America/Maceio" , 0x0133FA }, - { "America/Managua" , 0x01360C }, - { "America/Manaus" , 0x01373F }, - { "America/Marigot" , 0x0138F6 }, - { "America/Martinique" , 0x0139B3 }, - { "America/Matamoros" , 0x013A71 }, - { "America/Mazatlan" , 0x013C70 }, - { "America/Mendoza" , 0x013E20 }, - { "America/Menominee" , 0x0140F0 }, - { "America/Merida" , 0x0144B0 }, - { "America/Metlakatla" , 0x01460B }, - { "America/Mexico_City" , 0x014881 }, - { "America/Miquelon" , 0x014A35 }, - { "America/Moncton" , 0x014C67 }, - { "America/Monterrey" , 0x015260 }, - { "America/Montevideo" , 0x0153D6 }, - { "America/Montreal" , 0x0157AB }, - { "America/Montserrat" , 0x015E6C }, - { "America/Nassau" , 0x015F29 }, - { "America/New_York" , 0x0165EA }, - { "America/Nipigon" , 0x016CDA }, - { "America/Nome" , 0x01704A }, - { "America/Noronha" , 0x017432 }, - { "America/North_Dakota/Beulah" , 0x017632 }, - { "America/North_Dakota/Center" , 0x017A66 }, - { "America/North_Dakota/New_Salem" , 0x017E65 }, - { "America/Nuuk" , 0x01826A }, - { "America/Ojinaga" , 0x01845D }, - { "America/Panama" , 0x018675 }, - { "America/Pangnirtung" , 0x018716 }, - { "America/Paramaribo" , 0x018A3D }, - { "America/Phoenix" , 0x018B04 }, - { "America/Port-au-Prince" , 0x018C1D }, - { "America/Port_of_Spain" , 0x018E5E }, - { "America/Porto_Acre" , 0x018F1B }, - { "America/Porto_Velho" , 0x0190C9 }, - { "America/Puerto_Rico" , 0x019267 }, - { "America/Punta_Arenas" , 0x019324 }, - { "America/Rainy_River" , 0x0197FD }, - { "America/Rankin_Inlet" , 0x019B6E }, - { "America/Recife" , 0x019E44 }, - { "America/Regina" , 0x01A03E }, - { "America/Resolute" , 0x01A2DD }, - { "America/Rio_Branco" , 0x01A5B4 }, - { "America/Rosario" , 0x01A766 }, - { "America/Santa_Isabel" , 0x01AA36 }, - { "America/Santarem" , 0x01AE43 }, - { "America/Santiago" , 0x01AFF3 }, - { "America/Santo_Domingo" , 0x01B513 }, - { "America/Sao_Paulo" , 0x01B65C }, - { "America/Scoresbysund" , 0x01BA56 }, - { "America/Shiprock" , 0x01BC5E }, - { "America/Sitka" , 0x01C07C }, - { "America/St_Barthelemy" , 0x01C457 }, - { "America/St_Johns" , 0x01C514 }, - { "America/St_Kitts" , 0x01CC98 }, - { "America/St_Lucia" , 0x01CD55 }, - { "America/St_Thomas" , 0x01CE12 }, - { "America/St_Vincent" , 0x01CECF }, - { "America/Swift_Current" , 0x01CF8C }, - { "America/Tegucigalpa" , 0x01D11A }, - { "America/Thule" , 0x01D1E8 }, - { "America/Thunder_Bay" , 0x01D3C9 }, - { "America/Tijuana" , 0x01D760 }, - { "America/Toronto" , 0x01DB8E }, - { "America/Tortola" , 0x01E26C }, - { "America/Vancouver" , 0x01E329 }, - { "America/Virgin" , 0x01E880 }, - { "America/Whitehorse" , 0x01E93D }, - { "America/Winnipeg" , 0x01ED60 }, - { "America/Yakutat" , 0x01F297 }, - { "America/Yellowknife" , 0x01F665 }, - { "Antarctica/Casey" , 0x01F961 }, - { "Antarctica/Davis" , 0x01FA65 }, - { "Antarctica/DumontDUrville" , 0x01FB3B }, - { "Antarctica/Macquarie" , 0x01FBF1 }, - { "Antarctica/Mawson" , 0x01FFDD }, - { "Antarctica/McMurdo" , 0x020087 }, - { "Antarctica/Palmer" , 0x0204CC }, - { "Antarctica/Rothera" , 0x020855 }, - { "Antarctica/South_Pole" , 0x0208EC }, - { "Antarctica/Syowa" , 0x020D0B }, - { "Antarctica/Troll" , 0x020DA1 }, - { "Antarctica/Vostok" , 0x020E63 }, - { "Arctic/Longyearbyen" , 0x020EFA }, - { "Asia/Aden" , 0x0211AA }, - { "Asia/Almaty" , 0x02123B }, - { "Asia/Amman" , 0x0214BF }, - { "Asia/Anadyr" , 0x021865 }, - { "Asia/Aqtau" , 0x021B6B }, - { "Asia/Aqtobe" , 0x021DEA }, - { "Asia/Ashgabat" , 0x02206A }, - { "Asia/Ashkhabad" , 0x0221ED }, - { "Asia/Atyrau" , 0x022370 }, - { "Asia/Baghdad" , 0x0225F9 }, - { "Asia/Bahrain" , 0x02287B }, - { "Asia/Baku" , 0x02291F }, - { "Asia/Bangkok" , 0x022C13 }, - { "Asia/Barnaul" , 0x022CB7 }, - { "Asia/Beirut" , 0x022FC2 }, - { "Asia/Bishkek" , 0x0232AA }, - { "Asia/Brunei" , 0x023520 }, - { "Asia/Calcutta" , 0x0235C6 }, - { "Asia/Chita" , 0x0236AE }, - { "Asia/Choibalsan" , 0x0239BC }, - { "Asia/Chongqing" , 0x023C45 }, - { "Asia/Chungking" , 0x023DDA }, - { "Asia/Colombo" , 0x023F6F }, - { "Asia/Dacca" , 0x024072 }, - { "Asia/Damascus" , 0x024165 }, - { "Asia/Dhaka" , 0x024588 }, - { "Asia/Dili" , 0x02467B }, - { "Asia/Dubai" , 0x024731 }, - { "Asia/Dushanbe" , 0x0247C2 }, - { "Asia/Famagusta" , 0x02493C }, - { "Asia/Gaza" , 0x024D03 }, - { "Asia/Harbin" , 0x0251F1 }, - { "Asia/Hebron" , 0x025386 }, - { "Asia/Ho_Chi_Minh" , 0x025885 }, - { "Asia/Hong_Kong" , 0x02597D }, - { "Asia/Hovd" , 0x025C90 }, - { "Asia/Irkutsk" , 0x025F19 }, - { "Asia/Istanbul" , 0x026237 }, - { "Asia/Jakarta" , 0x0266F3 }, - { "Asia/Jayapura" , 0x026804 }, - { "Asia/Jerusalem" , 0x0268F1 }, - { "Asia/Kabul" , 0x026D2F }, - { "Asia/Kamchatka" , 0x026DDA }, - { "Asia/Karachi" , 0x0270CF }, - { "Asia/Kashgar" , 0x0271E5 }, - { "Asia/Kathmandu" , 0x027276 }, - { "Asia/Katmandu" , 0x027323 }, - { "Asia/Khandyga" , 0x0273D0 }, - { "Asia/Kolkata" , 0x027701 }, - { "Asia/Krasnoyarsk" , 0x0277E9 }, - { "Asia/Kuala_Lumpur" , 0x027AF3 }, - { "Asia/Kuching" , 0x027C13 }, - { "Asia/Kuwait" , 0x027D6D }, - { "Asia/Macao" , 0x027DFE }, - { "Asia/Macau" , 0x028121 }, - { "Asia/Magadan" , 0x028444 }, - { "Asia/Makassar" , 0x02874F }, - { "Asia/Manila" , 0x028862 }, - { "Asia/Muscat" , 0x02895C }, - { "Asia/Nicosia" , 0x0289ED }, - { "Asia/Novokuznetsk" , 0x028C61 }, - { "Asia/Novosibirsk" , 0x028F54 }, - { "Asia/Omsk" , 0x029265 }, - { "Asia/Oral" , 0x029563 }, - { "Asia/Phnom_Penh" , 0x0297EF }, - { "Asia/Pontianak" , 0x029893 }, - { "Asia/Pyongyang" , 0x0299AC }, - { "Asia/Qatar" , 0x029A6F }, - { "Asia/Qostanay" , 0x029B13 }, - { "Asia/Qyzylorda" , 0x029DA0 }, - { "Asia/Rangoon" , 0x02A039 }, - { "Asia/Riyadh" , 0x02A100 }, - { "Asia/Saigon" , 0x02A191 }, - { "Asia/Sakhalin" , 0x02A289 }, - { "Asia/Samarkand" , 0x02A5A0 }, - { "Asia/Seoul" , 0x02A72B }, - { "Asia/Shanghai" , 0x02A8D6 }, - { "Asia/Singapore" , 0x02AA77 }, - { "Asia/Srednekolymsk" , 0x02AB83 }, - { "Asia/Taipei" , 0x02AE97 }, - { "Asia/Tashkent" , 0x02B0A2 }, - { "Asia/Tbilisi" , 0x02B22D }, - { "Asia/Tehran" , 0x02B4AE }, - { "Asia/Tel_Aviv" , 0x02BC8E }, - { "Asia/Thimbu" , 0x02C0CC }, - { "Asia/Thimphu" , 0x02C172 }, - { "Asia/Tokyo" , 0x02C218 }, - { "Asia/Tomsk" , 0x02C2F9 }, - { "Asia/Ujung_Pandang" , 0x02C604 }, - { "Asia/Ulaanbaatar" , 0x02C6CE }, - { "Asia/Ulan_Bator" , 0x02C941 }, - { "Asia/Urumqi" , 0x02CB9F }, - { "Asia/Ust-Nera" , 0x02CC3D }, - { "Asia/Vientiane" , 0x02CF60 }, - { "Asia/Vladivostok" , 0x02D004 }, - { "Asia/Yakutsk" , 0x02D309 }, - { "Asia/Yangon" , 0x02D60D }, - { "Asia/Yekaterinburg" , 0x02D6D4 }, - { "Asia/Yerevan" , 0x02D9E6 }, - { "Atlantic/Azores" , 0x02DCB6 }, - { "Atlantic/Bermuda" , 0x02E275 }, - { "Atlantic/Canary" , 0x02E681 }, - { "Atlantic/Cape_Verde" , 0x02E879 }, - { "Atlantic/Faeroe" , 0x02E934 }, - { "Atlantic/Faroe" , 0x02EAF9 }, - { "Atlantic/Jan_Mayen" , 0x02ECBE }, - { "Atlantic/Madeira" , 0x02EF6E }, - { "Atlantic/Reykjavik" , 0x02F536 }, - { "Atlantic/South_Georgia" , 0x02F833 }, - { "Atlantic/St_Helena" , 0x02F8C3 }, - { "Atlantic/Stanley" , 0x02F951 }, - { "Australia/ACT" , 0x02FC72 }, - { "Australia/Adelaide" , 0x030006 }, - { "Australia/Brisbane" , 0x0303BA }, - { "Australia/Broken_Hill" , 0x0304FE }, - { "Australia/Canberra" , 0x0308D3 }, - { "Australia/Currie" , 0x030C67 }, - { "Australia/Darwin" , 0x03105E }, - { "Australia/Eucla" , 0x031166 }, - { "Australia/Hobart" , 0x0312C5 }, - { "Australia/LHI" , 0x0316C4 }, - { "Australia/Lindeman" , 0x031984 }, - { "Australia/Lord_Howe" , 0x031AF4 }, - { "Australia/Melbourne" , 0x031DC4 }, - { "Australia/North" , 0x032160 }, - { "Australia/NSW" , 0x032256 }, - { "Australia/Perth" , 0x0325EA }, - { "Australia/Queensland" , 0x032746 }, - { "Australia/South" , 0x032873 }, - { "Australia/Sydney" , 0x032C18 }, - { "Australia/Tasmania" , 0x032FC8 }, - { "Australia/Victoria" , 0x0333BF }, - { "Australia/West" , 0x033753 }, - { "Australia/Yancowinna" , 0x033891 }, - { "Brazil/Acre" , 0x033C4A }, - { "Brazil/DeNoronha" , 0x033DF8 }, - { "Brazil/East" , 0x033FE8 }, - { "Brazil/West" , 0x0343AC }, - { "Canada/Atlantic" , 0x034554 }, - { "Canada/Central" , 0x034BE8 }, - { "Canada/Eastern" , 0x035102 }, - { "Canada/Mountain" , 0x0357C3 }, - { "Canada/Newfoundland" , 0x035B99 }, - { "Canada/Pacific" , 0x0362FB }, - { "Canada/Saskatchewan" , 0x036839 }, - { "Canada/Yukon" , 0x036AC3 }, - { "CET" , 0x036ED4 }, - { "Chile/Continental" , 0x03714D }, - { "Chile/EasterIsland" , 0x03765B }, - { "CST6CDT" , 0x037AB5 }, - { "Cuba" , 0x037E78 }, - { "EET" , 0x0382E1 }, - { "Egypt" , 0x0384DE }, - { "Eire" , 0x0389E6 }, - { "EST" , 0x038FCA }, - { "EST5EDT" , 0x039045 }, - { "Etc/GMT" , 0x039408 }, - { "Etc/GMT+0" , 0x039483 }, - { "Etc/GMT+1" , 0x0394FE }, - { "Etc/GMT+10" , 0x03957B }, - { "Etc/GMT+11" , 0x0395F9 }, - { "Etc/GMT+12" , 0x039677 }, - { "Etc/GMT+2" , 0x0396F5 }, - { "Etc/GMT+3" , 0x039772 }, - { "Etc/GMT+4" , 0x0397EF }, - { "Etc/GMT+5" , 0x03986C }, - { "Etc/GMT+6" , 0x0398E9 }, - { "Etc/GMT+7" , 0x039966 }, - { "Etc/GMT+8" , 0x0399E3 }, - { "Etc/GMT+9" , 0x039A60 }, - { "Etc/GMT-0" , 0x039ADD }, - { "Etc/GMT-1" , 0x039B58 }, - { "Etc/GMT-10" , 0x039BD6 }, - { "Etc/GMT-11" , 0x039C55 }, - { "Etc/GMT-12" , 0x039CD4 }, - { "Etc/GMT-13" , 0x039D53 }, - { "Etc/GMT-14" , 0x039DD2 }, - { "Etc/GMT-2" , 0x039E51 }, - { "Etc/GMT-3" , 0x039ECF }, - { "Etc/GMT-4" , 0x039F4D }, - { "Etc/GMT-5" , 0x039FCB }, - { "Etc/GMT-6" , 0x03A049 }, - { "Etc/GMT-7" , 0x03A0C7 }, - { "Etc/GMT-8" , 0x03A145 }, - { "Etc/GMT-9" , 0x03A1C3 }, - { "Etc/GMT0" , 0x03A241 }, - { "Etc/Greenwich" , 0x03A2BC }, - { "Etc/UCT" , 0x03A337 }, - { "Etc/Universal" , 0x03A3B2 }, - { "Etc/UTC" , 0x03A42D }, - { "Etc/Zulu" , 0x03A4A8 }, - { "Europe/Amsterdam" , 0x03A523 }, - { "Europe/Andorra" , 0x03A95E }, - { "Europe/Astrakhan" , 0x03AAEF }, - { "Europe/Athens" , 0x03ADE3 }, - { "Europe/Belfast" , 0x03B099 }, - { "Europe/Belgrade" , 0x03B6E4 }, - { "Europe/Berlin" , 0x03B8CE }, - { "Europe/Bratislava" , 0x03BBAF }, - { "Europe/Brussels" , 0x03BE8E }, - { "Europe/Bucharest" , 0x03C2E9 }, - { "Europe/Budapest" , 0x03C58A }, - { "Europe/Busingen" , 0x03C894 }, - { "Europe/Chisinau" , 0x03CA99 }, - { "Europe/Copenhagen" , 0x03CD98 }, - { "Europe/Dublin" , 0x03D013 }, - { "Europe/Gibraltar" , 0x03D5F7 }, - { "Europe/Guernsey" , 0x03DAC7 }, - { "Europe/Helsinki" , 0x03E112 }, - { "Europe/Isle_of_Man" , 0x03E2FF }, - { "Europe/Istanbul" , 0x03E94A }, - { "Europe/Jersey" , 0x03EE06 }, - { "Europe/Kaliningrad" , 0x03F451 }, - { "Europe/Kiev" , 0x03F7F9 }, - { "Europe/Kirov" , 0x03FA47 }, - { "Europe/Lisbon" , 0x03FD2E }, - { "Europe/Ljubljana" , 0x0402FB }, - { "Europe/London" , 0x0404E5 }, - { "Europe/Luxembourg" , 0x040B30 }, - { "Europe/Madrid" , 0x040F7B }, - { "Europe/Malta" , 0x041318 }, - { "Europe/Mariehamn" , 0x0416C4 }, - { "Europe/Minsk" , 0x0418B1 }, - { "Europe/Monaco" , 0x041BE5 }, - { "Europe/Moscow" , 0x04204B }, - { "Europe/Nicosia" , 0x0423F7 }, - { "Europe/Oslo" , 0x042658 }, - { "Europe/Paris" , 0x042908 }, - { "Europe/Podgorica" , 0x042D65 }, - { "Europe/Prague" , 0x042F4F }, - { "Europe/Riga" , 0x04322E }, - { "Europe/Rome" , 0x0434F0 }, - { "Europe/Samara" , 0x0438AF }, - { "Europe/San_Marino" , 0x043BB0 }, - { "Europe/Sarajevo" , 0x043F6F }, - { "Europe/Saratov" , 0x044159 }, - { "Europe/Simferopol" , 0x04444B }, - { "Europe/Skopje" , 0x0447BE }, - { "Europe/Sofia" , 0x0449A8 }, - { "Europe/Stockholm" , 0x044C04 }, - { "Europe/Tallinn" , 0x044E01 }, - { "Europe/Tirane" , 0x0450B0 }, - { "Europe/Tiraspol" , 0x045318 }, - { "Europe/Ulyanovsk" , 0x045617 }, - { "Europe/Uzhgorod" , 0x04592D }, - { "Europe/Vaduz" , 0x045B62 }, - { "Europe/Vatican" , 0x045D5F }, - { "Europe/Vienna" , 0x04611E }, - { "Europe/Vilnius" , 0x0463BC }, - { "Europe/Volgograd" , 0x04666C }, - { "Europe/Warsaw" , 0x046969 }, - { "Europe/Zagreb" , 0x046D10 }, - { "Europe/Zaporozhye" , 0x046EFA }, - { "Europe/Zurich" , 0x04715A }, - { "Factory" , 0x047357 }, - { "GB" , 0x0473D4 }, - { "GB-Eire" , 0x047A1F }, - { "GMT" , 0x04806A }, - { "GMT+0" , 0x0480E5 }, - { "GMT-0" , 0x048160 }, - { "GMT0" , 0x0481DB }, - { "Greenwich" , 0x048256 }, - { "Hongkong" , 0x0482D1 }, - { "HST" , 0x0485E4 }, - { "Iceland" , 0x048660 }, - { "Indian/Antananarivo" , 0x04895D }, - { "Indian/Chagos" , 0x048A28 }, - { "Indian/Christmas" , 0x048ACC }, - { "Indian/Cocos" , 0x048B5D }, - { "Indian/Comoro" , 0x048BF5 }, - { "Indian/Kerguelen" , 0x048CC0 }, - { "Indian/Mahe" , 0x048D51 }, - { "Indian/Maldives" , 0x048DE2 }, - { "Indian/Mauritius" , 0x048E86 }, - { "Indian/Mayotte" , 0x048F45 }, - { "Indian/Reunion" , 0x049010 }, - { "Iran" , 0x0490A1 }, - { "Israel" , 0x049881 }, - { "Jamaica" , 0x049CBF }, - { "Japan" , 0x049E1E }, - { "Kwajalein" , 0x049EFF }, - { "Libya" , 0x049FE6 }, - { "MET" , 0x04A1A1 }, - { "Mexico/BajaNorte" , 0x04A41A }, - { "Mexico/BajaSur" , 0x04A827 }, - { "Mexico/General" , 0x04A9A2 }, - { "MST" , 0x04AB4A }, - { "MST7MDT" , 0x04ABC5 }, - { "Navajo" , 0x04AF88 }, - { "NZ" , 0x04B3A6 }, - { "NZ-CHAT" , 0x04B7C5 }, - { "Pacific/Apia" , 0x04BAF9 }, - { "Pacific/Auckland" , 0x04BC9C }, - { "Pacific/Bougainville" , 0x04C0D3 }, - { "Pacific/Chatham" , 0x04C1B4 }, - { "Pacific/Chuuk" , 0x04C4F7 }, - { "Pacific/Easter" , 0x04C5D5 }, - { "Pacific/Efate" , 0x04CA3C }, - { "Pacific/Enderbury" , 0x04CB9E }, - { "Pacific/Fakaofo" , 0x04CC56 }, - { "Pacific/Fiji" , 0x04CCFB }, - { "Pacific/Funafuti" , 0x04CEB3 }, - { "Pacific/Galapagos" , 0x04CF45 }, - { "Pacific/Gambier" , 0x04D011 }, - { "Pacific/Guadalcanal" , 0x04D0B0 }, - { "Pacific/Guam" , 0x04D142 }, - { "Pacific/Honolulu" , 0x04D2AC }, - { "Pacific/Johnston" , 0x04D39B }, - { "Pacific/Kanton" , 0x04D484 }, - { "Pacific/Kiritimati" , 0x04D54B }, - { "Pacific/Kosrae" , 0x04D611 }, - { "Pacific/Kwajalein" , 0x04D715 }, - { "Pacific/Majuro" , 0x04D805 }, - { "Pacific/Marquesas" , 0x04D908 }, - { "Pacific/Midway" , 0x04D9B0 }, - { "Pacific/Nauru" , 0x04DA5C }, - { "Pacific/Niue" , 0x04DB1F }, - { "Pacific/Norfolk" , 0x04DBC5 }, - { "Pacific/Noumea" , 0x04DCC8 }, - { "Pacific/Pago_Pago" , 0x04DD9A }, - { "Pacific/Palau" , 0x04DE38 }, - { "Pacific/Pitcairn" , 0x04DED8 }, - { "Pacific/Pohnpei" , 0x04DF7D }, - { "Pacific/Ponape" , 0x04E06D }, - { "Pacific/Port_Moresby" , 0x04E14F }, - { "Pacific/Rarotonga" , 0x04E212 }, - { "Pacific/Saipan" , 0x04E3B4 }, - { "Pacific/Samoa" , 0x04E51E }, - { "Pacific/Tahiti" , 0x04E5BC }, - { "Pacific/Tarawa" , 0x04E65C }, - { "Pacific/Tongatapu" , 0x04E6FD }, - { "Pacific/Truk" , 0x04E7F6 }, - { "Pacific/Wake" , 0x04E8C5 }, - { "Pacific/Wallis" , 0x04E962 }, - { "Pacific/Yap" , 0x04E9F4 }, - { "Poland" , 0x04EAC3 }, - { "Portugal" , 0x04EE6A }, - { "PRC" , 0x04F424 }, - { "PST8PDT" , 0x04F5B9 }, - { "ROC" , 0x04F97C }, - { "ROK" , 0x04FB87 }, - { "Singapore" , 0x04FD32 }, - { "Turkey" , 0x04FE3E }, - { "UCT" , 0x0502FA }, - { "Universal" , 0x050375 }, - { "US/Alaska" , 0x0503F0 }, - { "US/Aleutian" , 0x0507CD }, - { "US/Arizona" , 0x050BA2 }, - { "US/Central" , 0x050C9E }, - { "US/East-Indiana" , 0x051384 }, - { "US/Eastern" , 0x0515A3 }, - { "US/Hawaii" , 0x051C7F }, - { "US/Indiana-Starke" , 0x051D68 }, - { "US/Michigan" , 0x05216C }, - { "US/Mountain" , 0x0524FB }, - { "US/Pacific" , 0x052919 }, - { "US/Samoa" , 0x052E33 }, - { "UTC" , 0x052ED1 }, - { "W-SU" , 0x052F4C }, - { "WET" , 0x0532E4 }, - { "Zulu" , 0x0534DE }, +const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { + { (char*) "Africa/Abidjan" , 0x000000 }, + { (char*) "Africa/Accra" , 0x00008E }, + { (char*) "Africa/Addis_Ababa" , 0x000356 }, + { (char*) "Africa/Algiers" , 0x0003F9 }, + { (char*) "Africa/Asmara" , 0x0005DB }, + { (char*) "Africa/Asmera" , 0x000691 }, + { (char*) "Africa/Bamako" , 0x000747 }, + { (char*) "Africa/Bangui" , 0x0007F1 }, + { (char*) "Africa/Banjul" , 0x000880 }, + { (char*) "Africa/Bissau" , 0x000934 }, + { (char*) "Africa/Blantyre" , 0x0009D5 }, + { (char*) "Africa/Brazzaville" , 0x000A86 }, + { (char*) "Africa/Bujumbura" , 0x000B15 }, + { (char*) "Africa/Cairo" , 0x000BA4 }, + { (char*) "Africa/Casablanca" , 0x0010AC }, + { (char*) "Africa/Ceuta" , 0x001837 }, + { (char*) "Africa/Conakry" , 0x001A83 }, + { (char*) "Africa/Dakar" , 0x001B2D }, + { (char*) "Africa/Dar_es_Salaam" , 0x001BCE }, + { (char*) "Africa/Djibouti" , 0x001C7B }, + { (char*) "Africa/Douala" , 0x001D0A }, + { (char*) "Africa/El_Aaiun" , 0x001D99 }, + { (char*) "Africa/Freetown" , 0x0024CB }, + { (char*) "Africa/Gaborone" , 0x002638 }, + { (char*) "Africa/Harare" , 0x0026F8 }, + { (char*) "Africa/Johannesburg" , 0x002787 }, + { (char*) "Africa/Juba" , 0x002851 }, + { (char*) "Africa/Kampala" , 0x002A27 }, + { (char*) "Africa/Khartoum" , 0x002AE9 }, + { (char*) "Africa/Kigali" , 0x002CBF }, + { (char*) "Africa/Kinshasa" , 0x002D4E }, + { (char*) "Africa/Lagos" , 0x002DF6 }, + { (char*) "Africa/Libreville" , 0x002EB6 }, + { (char*) "Africa/Lome" , 0x002F45 }, + { (char*) "Africa/Luanda" , 0x002FD3 }, + { (char*) "Africa/Lubumbashi" , 0x003071 }, + { (char*) "Africa/Lusaka" , 0x00312C }, + { (char*) "Africa/Malabo" , 0x0031BB }, + { (char*) "Africa/Maputo" , 0x00325D }, + { (char*) "Africa/Maseru" , 0x0032EC }, + { (char*) "Africa/Mbabane" , 0x003395 }, + { (char*) "Africa/Mogadishu" , 0x003426 }, + { (char*) "Africa/Monrovia" , 0x0034D3 }, + { (char*) "Africa/Nairobi" , 0x003583 }, + { (char*) "Africa/Ndjamena" , 0x00364E }, + { (char*) "Africa/Niamey" , 0x0036FA }, + { (char*) "Africa/Nouakchott" , 0x0037AF }, + { (char*) "Africa/Ouagadougou" , 0x003859 }, + { (char*) "Africa/Porto-Novo" , 0x0038E7 }, + { (char*) "Africa/Sao_Tome" , 0x003989 }, + { (char*) "Africa/Timbuktu" , 0x003A42 }, + { (char*) "Africa/Tripoli" , 0x003AEC }, + { (char*) "Africa/Tunis" , 0x003CA7 }, + { (char*) "Africa/Windhoek" , 0x003E74 }, + { (char*) "America/Adak" , 0x0040FE }, + { (char*) "America/Anchorage" , 0x0044E3 }, + { (char*) "America/Anguilla" , 0x0048D3 }, + { (char*) "America/Antigua" , 0x004961 }, + { (char*) "America/Araguaina" , 0x004A02 }, + { (char*) "America/Argentina/Buenos_Aires" , 0x004C67 }, + { (char*) "America/Argentina/Catamarca" , 0x004F4C }, + { (char*) "America/Argentina/ComodRivadavia" , 0x005237 }, + { (char*) "America/Argentina/Cordoba" , 0x005507 }, + { (char*) "America/Argentina/Jujuy" , 0x00580D }, + { (char*) "America/Argentina/La_Rioja" , 0x005AD5 }, + { (char*) "America/Argentina/Mendoza" , 0x005DBB }, + { (char*) "America/Argentina/Rio_Gallegos" , 0x006097 }, + { (char*) "America/Argentina/Salta" , 0x006376 }, + { (char*) "America/Argentina/San_Juan" , 0x00664A }, + { (char*) "America/Argentina/San_Luis" , 0x006930 }, + { (char*) "America/Argentina/Tucuman" , 0x006C16 }, + { (char*) "America/Argentina/Ushuaia" , 0x006F04 }, + { (char*) "America/Aruba" , 0x0071E9 }, + { (char*) "America/Asuncion" , 0x00728C }, + { (char*) "America/Atikokan" , 0x00760C }, + { (char*) "America/Atka" , 0x007719 }, + { (char*) "America/Bahia" , 0x007AEE }, + { (char*) "America/Bahia_Banderas" , 0x007DA9 }, + { (char*) "America/Barbados" , 0x007FE7 }, + { (char*) "America/Belem" , 0x008109 }, + { (char*) "America/Belize" , 0x0082B1 }, + { (char*) "America/Blanc-Sablon" , 0x0086D2 }, + { (char*) "America/Boa_Vista" , 0x0087C7 }, + { (char*) "America/Bogota" , 0x008988 }, + { (char*) "America/Boise" , 0x008A47 }, + { (char*) "America/Buenos_Aires" , 0x008E5A }, + { (char*) "America/Cambridge_Bay" , 0x00912A }, + { (char*) "America/Campo_Grande" , 0x00944A }, + { (char*) "America/Cancun" , 0x009820 }, + { (char*) "America/Caracas" , 0x009A61 }, + { (char*) "America/Catamarca" , 0x009B2B }, + { (char*) "America/Cayenne" , 0x009DFB }, + { (char*) "America/Cayman" , 0x009E9E }, + { (char*) "America/Chicago" , 0x009F3F }, + { (char*) "America/Chihuahua" , 0x00A639 }, + { (char*) "America/Coral_Harbour" , 0x00A7BF }, + { (char*) "America/Cordoba" , 0x00A8AB }, + { (char*) "America/Costa_Rica" , 0x00AB7B }, + { (char*) "America/Creston" , 0x00AC6F }, + { (char*) "America/Cuiaba" , 0x00AD2B }, + { (char*) "America/Curacao" , 0x00B0E8 }, + { (char*) "America/Danmarkshavn" , 0x00B18B }, + { (char*) "America/Dawson" , 0x00B370 }, + { (char*) "America/Dawson_Creek" , 0x00B793 }, + { (char*) "America/Denver" , 0x00BA6A }, + { (char*) "America/Detroit" , 0x00BE9D }, + { (char*) "America/Dominica" , 0x00C245 }, + { (char*) "America/Edmonton" , 0x00C2D3 }, + { (char*) "America/Eirunepe" , 0x00C6C6 }, + { (char*) "America/El_Salvador" , 0x00C895 }, + { (char*) "America/Ensenada" , 0x00C951 }, + { (char*) "America/Fort_Nelson" , 0x00CD5E }, + { (char*) "America/Fort_Wayne" , 0x00D326 }, + { (char*) "America/Fortaleza" , 0x00D545 }, + { (char*) "America/Glace_Bay" , 0x00D75B }, + { (char*) "America/Godthab" , 0x00DAF2 }, + { (char*) "America/Goose_Bay" , 0x00DCCF }, + { (char*) "America/Grand_Turk" , 0x00E327 }, + { (char*) "America/Grenada" , 0x00E688 }, + { (char*) "America/Guadeloupe" , 0x00E716 }, + { (char*) "America/Guatemala" , 0x00E7A4 }, + { (char*) "America/Guayaquil" , 0x00E884 }, + { (char*) "America/Guyana" , 0x00E955 }, + { (char*) "America/Halifax" , 0x00EA16 }, + { (char*) "America/Havana" , 0x00F0C8 }, + { (char*) "America/Hermosillo" , 0x00F531 }, + { (char*) "America/Indiana/Indianapolis" , 0x00F67A }, + { (char*) "America/Indiana/Knox" , 0x00F8B2 }, + { (char*) "America/Indiana/Marengo" , 0x00FCCB }, + { (char*) "America/Indiana/Petersburg" , 0x00FF25 }, + { (char*) "America/Indiana/Tell_City" , 0x0101EF }, + { (char*) "America/Indiana/Vevay" , 0x010419 }, + { (char*) "America/Indiana/Vincennes" , 0x0105B0 }, + { (char*) "America/Indiana/Winamac" , 0x010806 }, + { (char*) "America/Indianapolis" , 0x010A8C }, + { (char*) "America/Inuvik" , 0x010CAB }, + { (char*) "America/Iqaluit" , 0x010F88 }, + { (char*) "America/Jamaica" , 0x011296 }, + { (char*) "America/Jujuy" , 0x0113F5 }, + { (char*) "America/Juneau" , 0x0116B3 }, + { (char*) "America/Kentucky/Louisville" , 0x011A99 }, + { (char*) "America/Kentucky/Monticello" , 0x011F9D }, + { (char*) "America/Knox_IN" , 0x012389 }, + { (char*) "America/Kralendijk" , 0x01278D }, + { (char*) "America/La_Paz" , 0x012830 }, + { (char*) "America/Lima" , 0x0128E6 }, + { (char*) "America/Los_Angeles" , 0x012A0D }, + { (char*) "America/Louisville" , 0x012F2E }, + { (char*) "America/Lower_Princes" , 0x013414 }, + { (char*) "America/Maceio" , 0x0134B7 }, + { (char*) "America/Managua" , 0x0136C9 }, + { (char*) "America/Manaus" , 0x0137FC }, + { (char*) "America/Marigot" , 0x0139B3 }, + { (char*) "America/Martinique" , 0x013A41 }, + { (char*) "America/Matamoros" , 0x013AFF }, + { (char*) "America/Mazatlan" , 0x013CFE }, + { (char*) "America/Mendoza" , 0x013EAE }, + { (char*) "America/Menominee" , 0x01417E }, + { (char*) "America/Merida" , 0x01453E }, + { (char*) "America/Metlakatla" , 0x014699 }, + { (char*) "America/Mexico_City" , 0x01490F }, + { (char*) "America/Miquelon" , 0x014AC3 }, + { (char*) "America/Moncton" , 0x014CF5 }, + { (char*) "America/Monterrey" , 0x0152EE }, + { (char*) "America/Montevideo" , 0x015464 }, + { (char*) "America/Montreal" , 0x015839 }, + { (char*) "America/Montserrat" , 0x015EFA }, + { (char*) "America/Nassau" , 0x015F88 }, + { (char*) "America/New_York" , 0x016382 }, + { (char*) "America/Nipigon" , 0x016A72 }, + { (char*) "America/Nome" , 0x016DE2 }, + { (char*) "America/Noronha" , 0x0171CA }, + { (char*) "America/North_Dakota/Beulah" , 0x0173CA }, + { (char*) "America/North_Dakota/Center" , 0x0177FE }, + { (char*) "America/North_Dakota/New_Salem" , 0x017BFD }, + { (char*) "America/Nuuk" , 0x018002 }, + { (char*) "America/Ojinaga" , 0x0181F5 }, + { (char*) "America/Panama" , 0x01840D }, + { (char*) "America/Pangnirtung" , 0x0184AE }, + { (char*) "America/Paramaribo" , 0x0187D5 }, + { (char*) "America/Phoenix" , 0x01889C }, + { (char*) "America/Port-au-Prince" , 0x0189B5 }, + { (char*) "America/Port_of_Spain" , 0x018BF6 }, + { (char*) "America/Porto_Acre" , 0x018C84 }, + { (char*) "America/Porto_Velho" , 0x018E32 }, + { (char*) "America/Puerto_Rico" , 0x018FD0 }, + { (char*) "America/Punta_Arenas" , 0x01908D }, + { (char*) "America/Rainy_River" , 0x01956F }, + { (char*) "America/Rankin_Inlet" , 0x0198E0 }, + { (char*) "America/Recife" , 0x019BB6 }, + { (char*) "America/Regina" , 0x019DB0 }, + { (char*) "America/Resolute" , 0x01A04F }, + { (char*) "America/Rio_Branco" , 0x01A326 }, + { (char*) "America/Rosario" , 0x01A4D8 }, + { (char*) "America/Santa_Isabel" , 0x01A7A8 }, + { (char*) "America/Santarem" , 0x01ABB5 }, + { (char*) "America/Santiago" , 0x01AD65 }, + { (char*) "America/Santo_Domingo" , 0x01B2CD }, + { (char*) "America/Sao_Paulo" , 0x01B416 }, + { (char*) "America/Scoresbysund" , 0x01B810 }, + { (char*) "America/Shiprock" , 0x01BA18 }, + { (char*) "America/Sitka" , 0x01BE36 }, + { (char*) "America/St_Barthelemy" , 0x01C211 }, + { (char*) "America/St_Johns" , 0x01C29F }, + { (char*) "America/St_Kitts" , 0x01CA23 }, + { (char*) "America/St_Lucia" , 0x01CAB1 }, + { (char*) "America/St_Thomas" , 0x01CB52 }, + { (char*) "America/St_Vincent" , 0x01CBE0 }, + { (char*) "America/Swift_Current" , 0x01CC81 }, + { (char*) "America/Tegucigalpa" , 0x01CE0F }, + { (char*) "America/Thule" , 0x01CEDD }, + { (char*) "America/Thunder_Bay" , 0x01D0BE }, + { (char*) "America/Tijuana" , 0x01D455 }, + { (char*) "America/Toronto" , 0x01D883 }, + { (char*) "America/Tortola" , 0x01DF61 }, + { (char*) "America/Vancouver" , 0x01DFEF }, + { (char*) "America/Virgin" , 0x01E546 }, + { (char*) "America/Whitehorse" , 0x01E5D4 }, + { (char*) "America/Winnipeg" , 0x01E9F7 }, + { (char*) "America/Yakutat" , 0x01EF2E }, + { (char*) "America/Yellowknife" , 0x01F2FC }, + { (char*) "Antarctica/Casey" , 0x01F5F8 }, + { (char*) "Antarctica/Davis" , 0x01F6FC }, + { (char*) "Antarctica/DumontDUrville" , 0x01F7D2 }, + { (char*) "Antarctica/Macquarie" , 0x01F886 }, + { (char*) "Antarctica/Mawson" , 0x01FC72 }, + { (char*) "Antarctica/McMurdo" , 0x01FD1C }, + { (char*) "Antarctica/Palmer" , 0x02004E }, + { (char*) "Antarctica/Rothera" , 0x0203D7 }, + { (char*) "Antarctica/South_Pole" , 0x02046E }, + { (char*) "Antarctica/Syowa" , 0x02077A }, + { (char*) "Antarctica/Troll" , 0x020810 }, + { (char*) "Antarctica/Vostok" , 0x0208D2 }, + { (char*) "Arctic/Longyearbyen" , 0x020969 }, + { (char*) "Asia/Aden" , 0x020C19 }, + { (char*) "Asia/Almaty" , 0x020CAA }, + { (char*) "Asia/Amman" , 0x020F2E }, + { (char*) "Asia/Anadyr" , 0x0212D4 }, + { (char*) "Asia/Aqtau" , 0x0215DA }, + { (char*) "Asia/Aqtobe" , 0x021859 }, + { (char*) "Asia/Ashgabat" , 0x021AD9 }, + { (char*) "Asia/Ashkhabad" , 0x021C5C }, + { (char*) "Asia/Atyrau" , 0x021DDF }, + { (char*) "Asia/Baghdad" , 0x022068 }, + { (char*) "Asia/Bahrain" , 0x0222EA }, + { (char*) "Asia/Baku" , 0x0223A3 }, + { (char*) "Asia/Bangkok" , 0x022697 }, + { (char*) "Asia/Barnaul" , 0x02273B }, + { (char*) "Asia/Beirut" , 0x022A46 }, + { (char*) "Asia/Bishkek" , 0x022D2E }, + { (char*) "Asia/Brunei" , 0x022FA4 }, + { (char*) "Asia/Calcutta" , 0x02304A }, + { (char*) "Asia/Chita" , 0x023132 }, + { (char*) "Asia/Choibalsan" , 0x023440 }, + { (char*) "Asia/Chongqing" , 0x0236C9 }, + { (char*) "Asia/Chungking" , 0x02385E }, + { (char*) "Asia/Colombo" , 0x0239F3 }, + { (char*) "Asia/Dacca" , 0x023AF6 }, + { (char*) "Asia/Damascus" , 0x023BE9 }, + { (char*) "Asia/Dhaka" , 0x02400C }, + { (char*) "Asia/Dili" , 0x0240FF }, + { (char*) "Asia/Dubai" , 0x0241B5 }, + { (char*) "Asia/Dushanbe" , 0x024246 }, + { (char*) "Asia/Famagusta" , 0x0243C0 }, + { (char*) "Asia/Gaza" , 0x024787 }, + { (char*) "Asia/Harbin" , 0x024C75 }, + { (char*) "Asia/Hebron" , 0x024E0A }, + { (char*) "Asia/Ho_Chi_Minh" , 0x025309 }, + { (char*) "Asia/Hong_Kong" , 0x025401 }, + { (char*) "Asia/Hovd" , 0x025714 }, + { (char*) "Asia/Irkutsk" , 0x02599D }, + { (char*) "Asia/Istanbul" , 0x025CBB }, + { (char*) "Asia/Jakarta" , 0x026177 }, + { (char*) "Asia/Jayapura" , 0x026288 }, + { (char*) "Asia/Jerusalem" , 0x026375 }, + { (char*) "Asia/Kabul" , 0x0267B3 }, + { (char*) "Asia/Kamchatka" , 0x02685E }, + { (char*) "Asia/Karachi" , 0x026B53 }, + { (char*) "Asia/Kashgar" , 0x026C69 }, + { (char*) "Asia/Kathmandu" , 0x026CFA }, + { (char*) "Asia/Katmandu" , 0x026DA7 }, + { (char*) "Asia/Khandyga" , 0x026E54 }, + { (char*) "Asia/Kolkata" , 0x027185 }, + { (char*) "Asia/Krasnoyarsk" , 0x02726D }, + { (char*) "Asia/Kuala_Lumpur" , 0x027577 }, + { (char*) "Asia/Kuching" , 0x027697 }, + { (char*) "Asia/Kuwait" , 0x0277F1 }, + { (char*) "Asia/Macao" , 0x027882 }, + { (char*) "Asia/Macau" , 0x027BA5 }, + { (char*) "Asia/Magadan" , 0x027EC8 }, + { (char*) "Asia/Makassar" , 0x0281D3 }, + { (char*) "Asia/Manila" , 0x0282E6 }, + { (char*) "Asia/Muscat" , 0x0283E0 }, + { (char*) "Asia/Nicosia" , 0x028471 }, + { (char*) "Asia/Novokuznetsk" , 0x0286E5 }, + { (char*) "Asia/Novosibirsk" , 0x0289D8 }, + { (char*) "Asia/Omsk" , 0x028CE9 }, + { (char*) "Asia/Oral" , 0x028FE7 }, + { (char*) "Asia/Phnom_Penh" , 0x029273 }, + { (char*) "Asia/Pontianak" , 0x029347 }, + { (char*) "Asia/Pyongyang" , 0x029460 }, + { (char*) "Asia/Qatar" , 0x029523 }, + { (char*) "Asia/Qostanay" , 0x0295C7 }, + { (char*) "Asia/Qyzylorda" , 0x029854 }, + { (char*) "Asia/Rangoon" , 0x029AED }, + { (char*) "Asia/Riyadh" , 0x029BB4 }, + { (char*) "Asia/Saigon" , 0x029C45 }, + { (char*) "Asia/Sakhalin" , 0x029D3D }, + { (char*) "Asia/Samarkand" , 0x02A054 }, + { (char*) "Asia/Seoul" , 0x02A1DF }, + { (char*) "Asia/Shanghai" , 0x02A38A }, + { (char*) "Asia/Singapore" , 0x02A52B }, + { (char*) "Asia/Srednekolymsk" , 0x02A637 }, + { (char*) "Asia/Taipei" , 0x02A94B }, + { (char*) "Asia/Tashkent" , 0x02AB56 }, + { (char*) "Asia/Tbilisi" , 0x02ACE1 }, + { (char*) "Asia/Tehran" , 0x02AF62 }, + { (char*) "Asia/Tel_Aviv" , 0x02B29A }, + { (char*) "Asia/Thimbu" , 0x02B6D8 }, + { (char*) "Asia/Thimphu" , 0x02B77E }, + { (char*) "Asia/Tokyo" , 0x02B824 }, + { (char*) "Asia/Tomsk" , 0x02B905 }, + { (char*) "Asia/Ujung_Pandang" , 0x02BC10 }, + { (char*) "Asia/Ulaanbaatar" , 0x02BCDA }, + { (char*) "Asia/Ulan_Bator" , 0x02BF4D }, + { (char*) "Asia/Urumqi" , 0x02C1AB }, + { (char*) "Asia/Ust-Nera" , 0x02C249 }, + { (char*) "Asia/Vientiane" , 0x02C56C }, + { (char*) "Asia/Vladivostok" , 0x02C652 }, + { (char*) "Asia/Yakutsk" , 0x02C957 }, + { (char*) "Asia/Yangon" , 0x02CC5B }, + { (char*) "Asia/Yekaterinburg" , 0x02CD22 }, + { (char*) "Asia/Yerevan" , 0x02D034 }, + { (char*) "Atlantic/Azores" , 0x02D304 }, + { (char*) "Atlantic/Bermuda" , 0x02D8C3 }, + { (char*) "Atlantic/Canary" , 0x02DCCF }, + { (char*) "Atlantic/Cape_Verde" , 0x02DEC7 }, + { (char*) "Atlantic/Faeroe" , 0x02DF82 }, + { (char*) "Atlantic/Faroe" , 0x02E147 }, + { (char*) "Atlantic/Jan_Mayen" , 0x02E30C }, + { (char*) "Atlantic/Madeira" , 0x02E5BC }, + { (char*) "Atlantic/Reykjavik" , 0x02EB84 }, + { (char*) "Atlantic/South_Georgia" , 0x02EE81 }, + { (char*) "Atlantic/St_Helena" , 0x02EF11 }, + { (char*) "Atlantic/Stanley" , 0x02EFB2 }, + { (char*) "Australia/ACT" , 0x02F2D3 }, + { (char*) "Australia/Adelaide" , 0x02F667 }, + { (char*) "Australia/Brisbane" , 0x02FA1B }, + { (char*) "Australia/Broken_Hill" , 0x02FB5F }, + { (char*) "Australia/Canberra" , 0x02FF34 }, + { (char*) "Australia/Currie" , 0x0302C8 }, + { (char*) "Australia/Darwin" , 0x0306BF }, + { (char*) "Australia/Eucla" , 0x0307C7 }, + { (char*) "Australia/Hobart" , 0x030926 }, + { (char*) "Australia/LHI" , 0x030D25 }, + { (char*) "Australia/Lindeman" , 0x030FE5 }, + { (char*) "Australia/Lord_Howe" , 0x031155 }, + { (char*) "Australia/Melbourne" , 0x031425 }, + { (char*) "Australia/North" , 0x0317C1 }, + { (char*) "Australia/NSW" , 0x0318B7 }, + { (char*) "Australia/Perth" , 0x031C4B }, + { (char*) "Australia/Queensland" , 0x031DA7 }, + { (char*) "Australia/South" , 0x031ED4 }, + { (char*) "Australia/Sydney" , 0x032279 }, + { (char*) "Australia/Tasmania" , 0x032629 }, + { (char*) "Australia/Victoria" , 0x032A20 }, + { (char*) "Australia/West" , 0x032DB4 }, + { (char*) "Australia/Yancowinna" , 0x032EF2 }, + { (char*) "Brazil/Acre" , 0x0332AB }, + { (char*) "Brazil/DeNoronha" , 0x033459 }, + { (char*) "Brazil/East" , 0x033649 }, + { (char*) "Brazil/West" , 0x033A0D }, + { (char*) "Canada/Atlantic" , 0x033BB5 }, + { (char*) "Canada/Central" , 0x034249 }, + { (char*) "Canada/Eastern" , 0x034763 }, + { (char*) "Canada/Mountain" , 0x034E24 }, + { (char*) "Canada/Newfoundland" , 0x0351FA }, + { (char*) "Canada/Pacific" , 0x03595C }, + { (char*) "Canada/Saskatchewan" , 0x035E9A }, + { (char*) "Canada/Yukon" , 0x036124 }, + { (char*) "CET" , 0x036535 }, + { (char*) "Chile/Continental" , 0x0367AE }, + { (char*) "Chile/EasterIsland" , 0x036D04 }, + { (char*) "CST6CDT" , 0x0371A6 }, + { (char*) "Cuba" , 0x037569 }, + { (char*) "EET" , 0x0379D2 }, + { (char*) "Egypt" , 0x037BCF }, + { (char*) "Eire" , 0x0380D7 }, + { (char*) "EST" , 0x0386BB }, + { (char*) "EST5EDT" , 0x038736 }, + { (char*) "Etc/GMT" , 0x038AF9 }, + { (char*) "Etc/GMT+0" , 0x038B74 }, + { (char*) "Etc/GMT+1" , 0x038BEF }, + { (char*) "Etc/GMT+10" , 0x038C6C }, + { (char*) "Etc/GMT+11" , 0x038CEA }, + { (char*) "Etc/GMT+12" , 0x038D68 }, + { (char*) "Etc/GMT+2" , 0x038DE6 }, + { (char*) "Etc/GMT+3" , 0x038E63 }, + { (char*) "Etc/GMT+4" , 0x038EE0 }, + { (char*) "Etc/GMT+5" , 0x038F5D }, + { (char*) "Etc/GMT+6" , 0x038FDA }, + { (char*) "Etc/GMT+7" , 0x039057 }, + { (char*) "Etc/GMT+8" , 0x0390D4 }, + { (char*) "Etc/GMT+9" , 0x039151 }, + { (char*) "Etc/GMT-0" , 0x0391CE }, + { (char*) "Etc/GMT-1" , 0x039249 }, + { (char*) "Etc/GMT-10" , 0x0392C7 }, + { (char*) "Etc/GMT-11" , 0x039346 }, + { (char*) "Etc/GMT-12" , 0x0393C5 }, + { (char*) "Etc/GMT-13" , 0x039444 }, + { (char*) "Etc/GMT-14" , 0x0394C3 }, + { (char*) "Etc/GMT-2" , 0x039542 }, + { (char*) "Etc/GMT-3" , 0x0395C0 }, + { (char*) "Etc/GMT-4" , 0x03963E }, + { (char*) "Etc/GMT-5" , 0x0396BC }, + { (char*) "Etc/GMT-6" , 0x03973A }, + { (char*) "Etc/GMT-7" , 0x0397B8 }, + { (char*) "Etc/GMT-8" , 0x039836 }, + { (char*) "Etc/GMT-9" , 0x0398B4 }, + { (char*) "Etc/GMT0" , 0x039932 }, + { (char*) "Etc/Greenwich" , 0x0399AD }, + { (char*) "Etc/UCT" , 0x039A28 }, + { (char*) "Etc/Universal" , 0x039AA3 }, + { (char*) "Etc/UTC" , 0x039B1E }, + { (char*) "Etc/Zulu" , 0x039B99 }, + { (char*) "Europe/Amsterdam" , 0x039C14 }, + { (char*) "Europe/Andorra" , 0x03A04F }, + { (char*) "Europe/Astrakhan" , 0x03A1E0 }, + { (char*) "Europe/Athens" , 0x03A4D4 }, + { (char*) "Europe/Belfast" , 0x03A78A }, + { (char*) "Europe/Belgrade" , 0x03ADD5 }, + { (char*) "Europe/Berlin" , 0x03AFBF }, + { (char*) "Europe/Bratislava" , 0x03B2A0 }, + { (char*) "Europe/Brussels" , 0x03B57F }, + { (char*) "Europe/Bucharest" , 0x03B9DA }, + { (char*) "Europe/Budapest" , 0x03BC7B }, + { (char*) "Europe/Busingen" , 0x03BF85 }, + { (char*) "Europe/Chisinau" , 0x03C18A }, + { (char*) "Europe/Copenhagen" , 0x03C489 }, + { (char*) "Europe/Dublin" , 0x03C704 }, + { (char*) "Europe/Gibraltar" , 0x03CCE8 }, + { (char*) "Europe/Guernsey" , 0x03D1B8 }, + { (char*) "Europe/Helsinki" , 0x03D80F }, + { (char*) "Europe/Isle_of_Man" , 0x03D9FC }, + { (char*) "Europe/Istanbul" , 0x03E047 }, + { (char*) "Europe/Jersey" , 0x03E503 }, + { (char*) "Europe/Kaliningrad" , 0x03EB5A }, + { (char*) "Europe/Kiev" , 0x03EF02 }, + { (char*) "Europe/Kirov" , 0x03F13C }, + { (char*) "Europe/Kyiv" , 0x03F423 }, + { (char*) "Europe/Lisbon" , 0x03F671 }, + { (char*) "Europe/Ljubljana" , 0x03FC3E }, + { (char*) "Europe/London" , 0x03FE28 }, + { (char*) "Europe/Luxembourg" , 0x040473 }, + { (char*) "Europe/Madrid" , 0x0408BE }, + { (char*) "Europe/Malta" , 0x040C5B }, + { (char*) "Europe/Mariehamn" , 0x041007 }, + { (char*) "Europe/Minsk" , 0x0411F4 }, + { (char*) "Europe/Monaco" , 0x041528 }, + { (char*) "Europe/Moscow" , 0x04198E }, + { (char*) "Europe/Nicosia" , 0x041D3A }, + { (char*) "Europe/Oslo" , 0x041F9B }, + { (char*) "Europe/Paris" , 0x04224B }, + { (char*) "Europe/Podgorica" , 0x0426A8 }, + { (char*) "Europe/Prague" , 0x042892 }, + { (char*) "Europe/Riga" , 0x042B71 }, + { (char*) "Europe/Rome" , 0x042E33 }, + { (char*) "Europe/Samara" , 0x0431F2 }, + { (char*) "Europe/San_Marino" , 0x0434F3 }, + { (char*) "Europe/Sarajevo" , 0x0438B2 }, + { (char*) "Europe/Saratov" , 0x043A9C }, + { (char*) "Europe/Simferopol" , 0x043D8E }, + { (char*) "Europe/Skopje" , 0x044101 }, + { (char*) "Europe/Sofia" , 0x0442EB }, + { (char*) "Europe/Stockholm" , 0x044547 }, + { (char*) "Europe/Tallinn" , 0x044744 }, + { (char*) "Europe/Tirane" , 0x0449F3 }, + { (char*) "Europe/Tiraspol" , 0x044C5B }, + { (char*) "Europe/Ulyanovsk" , 0x044F5A }, + { (char*) "Europe/Uzhgorod" , 0x045270 }, + { (char*) "Europe/Vaduz" , 0x0454A5 }, + { (char*) "Europe/Vatican" , 0x04568F }, + { (char*) "Europe/Vienna" , 0x045A4E }, + { (char*) "Europe/Vilnius" , 0x045CEC }, + { (char*) "Europe/Volgograd" , 0x045F9C }, + { (char*) "Europe/Warsaw" , 0x046299 }, + { (char*) "Europe/Zagreb" , 0x046640 }, + { (char*) "Europe/Zaporozhye" , 0x04682A }, + { (char*) "Europe/Zurich" , 0x046A8A }, + { (char*) "Factory" , 0x046C87 }, + { (char*) "GB" , 0x046D04 }, + { (char*) "GB-Eire" , 0x04734F }, + { (char*) "GMT" , 0x04799A }, + { (char*) "GMT+0" , 0x047A15 }, + { (char*) "GMT-0" , 0x047A90 }, + { (char*) "GMT0" , 0x047B0B }, + { (char*) "Greenwich" , 0x047B86 }, + { (char*) "Hongkong" , 0x047C01 }, + { (char*) "HST" , 0x047F14 }, + { (char*) "Iceland" , 0x047F90 }, + { (char*) "Indian/Antananarivo" , 0x04828D }, + { (char*) "Indian/Chagos" , 0x048339 }, + { (char*) "Indian/Christmas" , 0x0483DD }, + { (char*) "Indian/Cocos" , 0x04846E }, + { (char*) "Indian/Comoro" , 0x048506 }, + { (char*) "Indian/Kerguelen" , 0x048595 }, + { (char*) "Indian/Mahe" , 0x048626 }, + { (char*) "Indian/Maldives" , 0x0486B7 }, + { (char*) "Indian/Mauritius" , 0x04875B }, + { (char*) "Indian/Mayotte" , 0x04881A }, + { (char*) "Indian/Reunion" , 0x0488A9 }, + { (char*) "Iran" , 0x04893A }, + { (char*) "Israel" , 0x048C72 }, + { (char*) "Jamaica" , 0x0490B0 }, + { (char*) "Japan" , 0x04920F }, + { (char*) "Kwajalein" , 0x0492F0 }, + { (char*) "Libya" , 0x0493D7 }, + { (char*) "MET" , 0x049592 }, + { (char*) "Mexico/BajaNorte" , 0x04980B }, + { (char*) "Mexico/BajaSur" , 0x049C18 }, + { (char*) "Mexico/General" , 0x049D93 }, + { (char*) "MST" , 0x049F3B }, + { (char*) "MST7MDT" , 0x049FB6 }, + { (char*) "Navajo" , 0x04A379 }, + { (char*) "NZ" , 0x04A797 }, + { (char*) "NZ-CHAT" , 0x04ABB6 }, + { (char*) "Pacific/Apia" , 0x04AEEA }, + { (char*) "Pacific/Auckland" , 0x04B08D }, + { (char*) "Pacific/Bougainville" , 0x04B4C4 }, + { (char*) "Pacific/Chatham" , 0x04B5A5 }, + { (char*) "Pacific/Chuuk" , 0x04B8E8 }, + { (char*) "Pacific/Easter" , 0x04B9C6 }, + { (char*) "Pacific/Efate" , 0x04BE75 }, + { (char*) "Pacific/Enderbury" , 0x04BFD7 }, + { (char*) "Pacific/Fakaofo" , 0x04C08F }, + { (char*) "Pacific/Fiji" , 0x04C134 }, + { (char*) "Pacific/Funafuti" , 0x04C2EC }, + { (char*) "Pacific/Galapagos" , 0x04C37E }, + { (char*) "Pacific/Gambier" , 0x04C44A }, + { (char*) "Pacific/Guadalcanal" , 0x04C4E9 }, + { (char*) "Pacific/Guam" , 0x04C57B }, + { (char*) "Pacific/Honolulu" , 0x04C6E5 }, + { (char*) "Pacific/Johnston" , 0x04C7D4 }, + { (char*) "Pacific/Kanton" , 0x04C8BD }, + { (char*) "Pacific/Kiritimati" , 0x04C984 }, + { (char*) "Pacific/Kosrae" , 0x04CA4A }, + { (char*) "Pacific/Kwajalein" , 0x04CB4E }, + { (char*) "Pacific/Majuro" , 0x04CC3E }, + { (char*) "Pacific/Marquesas" , 0x04CD41 }, + { (char*) "Pacific/Midway" , 0x04CDE9 }, + { (char*) "Pacific/Nauru" , 0x04CEA4 }, + { (char*) "Pacific/Niue" , 0x04CF67 }, + { (char*) "Pacific/Norfolk" , 0x04D00D }, + { (char*) "Pacific/Noumea" , 0x04D110 }, + { (char*) "Pacific/Pago_Pago" , 0x04D1E2 }, + { (char*) "Pacific/Palau" , 0x04D280 }, + { (char*) "Pacific/Pitcairn" , 0x04D320 }, + { (char*) "Pacific/Pohnpei" , 0x04D3C5 }, + { (char*) "Pacific/Ponape" , 0x04D4B5 }, + { (char*) "Pacific/Port_Moresby" , 0x04D597 }, + { (char*) "Pacific/Rarotonga" , 0x04D65A }, + { (char*) "Pacific/Saipan" , 0x04D7FC }, + { (char*) "Pacific/Samoa" , 0x04D8C3 }, + { (char*) "Pacific/Tahiti" , 0x04D961 }, + { (char*) "Pacific/Tarawa" , 0x04DA01 }, + { (char*) "Pacific/Tongatapu" , 0x04DAA2 }, + { (char*) "Pacific/Truk" , 0x04DB9B }, + { (char*) "Pacific/Wake" , 0x04DC6A }, + { (char*) "Pacific/Wallis" , 0x04DD07 }, + { (char*) "Pacific/Yap" , 0x04DD99 }, + { (char*) "Poland" , 0x04DE68 }, + { (char*) "Portugal" , 0x04E20F }, + { (char*) "PRC" , 0x04E7C9 }, + { (char*) "PST8PDT" , 0x04E95E }, + { (char*) "ROC" , 0x04ED21 }, + { (char*) "ROK" , 0x04EF2C }, + { (char*) "Singapore" , 0x04F0D7 }, + { (char*) "Turkey" , 0x04F1E3 }, + { (char*) "UCT" , 0x04F69F }, + { (char*) "Universal" , 0x04F71A }, + { (char*) "US/Alaska" , 0x04F795 }, + { (char*) "US/Aleutian" , 0x04FB72 }, + { (char*) "US/Arizona" , 0x04FF47 }, + { (char*) "US/Central" , 0x050043 }, + { (char*) "US/East-Indiana" , 0x050729 }, + { (char*) "US/Eastern" , 0x050948 }, + { (char*) "US/Hawaii" , 0x051024 }, + { (char*) "US/Indiana-Starke" , 0x05110D }, + { (char*) "US/Michigan" , 0x051511 }, + { (char*) "US/Mountain" , 0x0518A0 }, + { (char*) "US/Pacific" , 0x051CBE }, + { (char*) "US/Samoa" , 0x0521D8 }, + { (char*) "UTC" , 0x052276 }, + { (char*) "W-SU" , 0x0522F1 }, + { (char*) "WET" , 0x052689 }, + { (char*) "Zulu" , 0x052883 }, }; -const unsigned char timelib_timezone_db_data_builtin[341337] = { +const unsigned char timelib_timezone_db_data_builtin[338174] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -622,10 +623,46 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, 0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x1D, 0x94, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC0, 0xB4, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x97, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x69, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x15, 0xCB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0x9D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xF6, 0xFE, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0x97, 0xD0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xD8, 0x32, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA9, 0x79, 0x04, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xBA, 0xB7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0x5B, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0x9B, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0x3C, 0xBC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x7D, 0x1E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0x1D, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x51, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0x23, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x40, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB2, 0xE1, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x0A, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0xDC, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x3D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0xA4, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x85, 0x43, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC6, 0xF6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0xC8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0x48, 0xFB, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x5D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x0B, 0x62, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x15, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xE7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x49, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC3, 0xCF, 0x1B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x7C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC5, 0xB0, 0x4E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xB0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0x91, 0x82, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x31, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC9, 0x74, 0x07, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x12, 0x40, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x55, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x87, 0x3C, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0xE1, 0xD3, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xA1, 0xDB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xAB, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x83, 0x0E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0x23, 0xDE, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x93, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x63, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x46, 0xC7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0xE7, 0x97, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x27, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0xC8, 0xCA, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x09, 0x2E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xFE, 0x18, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x08, +0x01, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, +0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, /* Africa/Addis_Ababa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -633,14 +670,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, +0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, +0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, +0x00, 0x00, 0x00, /* Africa/Algiers */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -681,14 +716,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0xA0, 0xB9, 0xD5, 0x01, 0x4D, 0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, +0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, 0x01, 0x4D, +0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, /* Africa/Asmera */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -696,14 +730,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, +0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Bamako */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -711,10 +744,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, +0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, /* Africa/Bangui */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -722,14 +757,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x7D, 0x14, 0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Africa/Banjul */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -737,10 +768,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x67, 0x9C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x00, +0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, +0x00, 0x00, 0x00, 0x00, /* Africa/Bissau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -761,10 +795,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0x12, 0x2C, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x97, 0x73, 0xEA, 0xFF, +0xFF, 0xFF, 0xFF, 0xAC, 0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, +0x00, 0x00, 0x21, 0x16, 0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, +0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, +0x00, /* Africa/Brazzaville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -772,14 +809,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x2C, 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, /* Africa/Bujumbura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -788,7 +821,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xBF, 0xF8, 0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 0x00, 0x00, 0x00, 0x00, @@ -1043,10 +1076,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9B, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x97, +0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, /* Africa/Dakar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1054,10 +1089,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3B, 0x10, 0x90, 0x01, +0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, +0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, +0x00, /* Africa/Dar_es_Salaam */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1065,14 +1102,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xD3, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x7F, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, +0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, /* Africa/Djibouti */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1080,14 +1115,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD2, 0x0C, 0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, /* Africa/Douala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1095,14 +1126,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0x68, 0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, /* Africa/El_Aaiun */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1228,10 +1255,24 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0xFF, +0xFF, 0xFF, 0xFF, 0x5A, 0x7A, 0xA8, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xB7, 0xBF, 0x6C, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0x3E, 0xE0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x61, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x1B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xBF, 0x94, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x4F, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xA0, 0xC8, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x82, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x83, 0x4D, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x07, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x64, 0x80, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x3B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x45, 0xB4, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x6E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x77, 0x53, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF5, 0xE3, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x34, 0x3C, 0x10, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, +0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, 0xFF, 0xFF, 0xF6, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, +0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, +0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x2B, 0x30, 0x31, 0x00, 0x0A, 0x58, +0x58, 0x58, 0x2D, 0x30, 0x3A, 0x34, 0x30, 0x3C, 0x2B, 0x30, 0x31, 0x3E, 0x2D, 0x30, 0x3A, 0x32, +0x30, 0x2C, 0x30, 0x2F, 0x30, 0x2C, 0x4A, 0x33, 0x36, 0x35, 0x2F, 0x32, 0x33, 0x3A, 0x34, 0x30, +0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, /* Africa/Gaborone */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1239,10 +1280,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, +0xFF, 0xFF, 0xFF, 0x60, 0x1F, 0x70, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, +0x02, 0x03, 0x02, 0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, +0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x41, +0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, + /* Africa/Harare */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1251,7 +1296,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x64, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 0x68, 0x00, 0x00, 0x00, 0x00, @@ -1308,14 +1353,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0x9A, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x86, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x47, 0x54, 0x01, +0x02, 0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, +0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, +0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, +0x00, 0x00, /* Africa/Khartoum */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1356,7 +1401,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xBE, 0xF1, 0x0E, 0x50, 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 0x4A, 0x00, 0x00, 0x00, 0x00, @@ -1366,15 +1411,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, -0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, -0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x2C, 0xA8, 0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, 0x44, +0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, +0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* Africa/Lagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1397,14 +1439,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0xA4, 0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, /* Africa/Lome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1413,7 +1451,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x6F, 0x2B, 0xC6, 0x5C, 0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2, 0x00, 0x00, 0x00, 0x00, @@ -1423,14 +1461,11 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x6D, 0x49, 0x36, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x70, 0x01, +0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, +0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Africa/Lubumbashi */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1438,12 +1473,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, 0x00, 0x19, 0x44, -0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, -0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x21, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x8A, 0x5B, 0xF0, 0x01, +0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, +0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, +0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, +0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, /* Africa/Lusaka */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1452,7 +1488,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC9, 0xFC, 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 0xAD, 0x00, 0x00, 0x00, 0x00, @@ -1462,14 +1498,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x86, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x9F, 0xBE, 0x80, 0x01, +0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, +0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, 0x00, +0x00, 0x00, /* Africa/Maputo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1488,14 +1522,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, -0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, -0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, -0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xFF, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCA, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, 0x00, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, +0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, 0x5D, +0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Mbabane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1503,14 +1535,11 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, -0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, -0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, -0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xFF, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x58, 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, +0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, 0x00, +0x00, /* Africa/Mogadishu */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1518,14 +1547,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x70, 0xBC, 0x64, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xCE, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, +0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, 0x00, /* Africa/Monrovia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1575,14 +1602,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, 0x52, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xC6, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, +0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, +0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, +0x52, 0x00, 0x00, 0x00, 0x00, /* Africa/Nouakchott */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1590,10 +1616,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9D, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0xA4, +0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, /* Africa/Ouagadougou */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1602,7 +1630,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8F, 0xEC, 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 0x0D, 0x00, 0x00, 0x00, 0x00, @@ -1612,14 +1640,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0x01, +0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, +0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, 0x00, +0x00, 0x00, /* Africa/Sao_Tome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1641,10 +1667,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Tripoli */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1887,13 +1915,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x35, 0x20, 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, /* America/Antigua */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1901,13 +1926,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xDC, 0x50, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, +0x00, /* America/Araguaina */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2589,13 +2613,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2F, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, +0x00, 0x00, 0x00, /* America/Asuncion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2662,14 +2685,18 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, -0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, -0x21, 0x45, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, -0x6B, 0x61, 0x6E, 0x29, 0x3B, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, -0x48, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0xA1, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, 0xFF, +0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, +0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, 0x21, 0x45, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, +0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, 0x48, 0x29, /* America/Atka */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2944,15 +2971,17 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, -0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, -0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, 0x65, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x39, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x85, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xDD, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xE2, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x02, +0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, +0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, +0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, +0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, +0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, +0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, +0x68, 0x6F, 0x72, 0x65, 0x29, /* America/Boa_Vista */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3354,9 +3383,9 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x27, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x0F, 0xB4, 0xFE, 0x01, +0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 0x22, 0x00, 0x00, 0x00, 0x00, @@ -3507,12 +3536,16 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, -0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0xA1, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, 0xFF, +0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, +0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Cordoba */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3586,18 +3619,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x04, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x3A, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBB, 0x07, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x1C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xE9, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x8F, 0xE5, 0xAC, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x81, 0x1A, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x75, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x58, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, -0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, -0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, -0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, -0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, -0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x70, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x4B, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, 0x00, +0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xD4, +0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, +0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, /* America/Cuiaba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3667,13 +3695,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, +0x00, 0x00, 0x00, /* America/Danmarkshavn */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3820,7 +3847,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, -0x00, 0x4D, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xE4, 0x86, 0x9A, 0x00, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xDE, 0x6C, 0x1A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x43, 0x72, 0x2C, 0x20, 0x46, 0x74, 0x20, 0x53, 0x74, 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x29, @@ -3962,13 +3989,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x4C, 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, /* America/Edmonton */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4574,13 +4598,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x64, 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, /* America/Guadeloupe */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4588,13 +4609,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xD5, 0xE1, 0xB0, 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, /* America/Guatemala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5682,13 +5700,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, +0x00, 0x00, 0x00, /* America/La_Paz */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5897,13 +5914,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, +0x00, 0x00, 0x00, /* America/Maceio */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5999,13 +6015,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, /* America/Martinique */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6635,13 +6648,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x35, 0x10, 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, /* America/Nassau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6649,236 +6659,191 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x78, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x87, 0x2E, 0xC8, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xB1, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x94, 0x06, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0x55, 0xA9, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x86, 0x5D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA5, 0x28, 0x78, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x66, 0x3F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA7, 0x0C, 0x4E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x46, 0x21, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA8, 0xEC, 0x30, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x1C, 0xC9, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x4D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFC, 0xAB, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAC, 0xB5, 0x2F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xDC, 0x8D, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAE, 0x95, 0x11, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xBC, 0x6F, 0x70, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x42, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF4, 0xEF, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0xFA, 0x47, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x23, 0x34, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x78, 0x9A, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, +0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, +0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, +0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0xFF, 0xFF, 0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, +0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, +0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, 0x00, + +/* America/New_York */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x25, 0x13, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBB, 0xCF, 0xEE, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, +0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, +0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, +0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, +0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, +0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, +0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, +0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + + +/* America/Nipigon */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x81, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x49, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x29, 0x0A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x12, 0x26, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, -0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, -0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, -0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, -0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xB5, 0x94, 0x00, -0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, -0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, -0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, -0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, -0x00, - -/* America/New_York */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, -0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, -0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, -0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, -0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, -0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, -0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, -0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, - - -/* America/Nipigon */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x81, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x49, 0x50, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, @@ -7445,13 +7410,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, /* America/Porto_Acre */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7530,7 +7492,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -7540,69 +7502,70 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, -0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, -0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, -0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x48, 0x94, 0x30, 0x00, -0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x28, 0x76, 0x30, 0x00, -0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, -0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, -0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, -0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, -0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, -0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, -0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, -0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, -0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, -0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, -0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, -0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, -0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x43, 0x86, 0xB0, 0x01, -0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x06, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, -0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, 0x00, 0xA6, 0x72, -0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x4D, -0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, +0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xE3, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, +0x00, 0x00, 0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x48, 0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x28, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, +0x00, 0x00, 0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, +0x00, 0x00, 0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, +0x00, 0x00, 0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, +0x00, 0x00, 0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, +0x00, 0x00, 0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, +0x00, 0x00, 0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, +0x00, 0x00, 0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, +0x00, 0x00, 0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, +0x00, 0x00, 0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, +0x00, 0x00, 0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, +0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x43, 0x86, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x06, 0xFF, 0xFF, 0xBD, 0x84, +0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, +0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, +0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, 0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, +0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, +0x65, 0x73, /* America/Rainy_River */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8017,7 +7980,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -8027,7 +7990,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -8078,23 +8041,27 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x05, 0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0x05, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, -0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, -0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, -0x34, 0x0A, 0x00, 0x56, 0x49, 0xD8, 0x00, 0xA6, 0xD4, 0x55, 0x00, 0x00, 0x00, 0x12, 0x43, 0x68, -0x69, 0x6C, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, - +0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, +0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, +0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x56, 0x49, 0xD8, 0x00, 0xA6, +0xD4, 0x55, 0x00, 0x00, 0x00, 0x12, 0x43, 0x68, 0x69, 0x6C, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, +0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Santo_Domingo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8358,13 +8325,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, /* America/St_Johns */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8495,13 +8459,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x34, 0xCC, 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, /* America/St_Lucia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8509,13 +8470,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xB0, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, +0x00, /* America/St_Thomas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8523,13 +8483,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, /* America/St_Vincent */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8537,13 +8494,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xE8, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, +0x00, /* America/Swift_Current */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8867,13 +8823,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x14, 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, /* America/Vancouver */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8969,13 +8922,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Whitehorse */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9286,13 +9236,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x5A, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xED, 0xA4, 0x90, 0x01, -0x02, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x8C, -0xA0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, -0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, -0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0xBC, 0x76, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x34, 0x60, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x3C, 0x02, 0x80, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x0A, 0x3C, +0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, +0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, +0x69, 0x6C, 0x6C, 0x65, /* Antarctica/Macquarie */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9378,22 +9328,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0xFF, -0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, @@ -9427,21 +9363,18 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, -0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, -0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, -0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, -0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, -0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, -0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, -0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, -0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, -0x20, 0x50, 0x6F, 0x6C, 0x65, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, +0x53, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, +0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x65, 0x77, 0x20, +0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, +0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x50, 0x6F, +0x6C, 0x65, /* Antarctica/Palmer */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9520,22 +9453,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0xFF, -0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, @@ -9569,18 +9488,15 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, -0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, -0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, -0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, -0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, -0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, -0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, +0x53, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, +0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Antarctica/Syowa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9589,8 +9505,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, -0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, +0xFF, 0xFF, 0xFF, 0xE7, 0xB1, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 0x11, 0x58, 0x00, 0x00, 0x00, 0x05, 0x53, 0x79, 0x6F, 0x77, 0x61, @@ -9674,7 +9590,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x38, 0x56, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x9C, 0xC8, 0xB8, 0x01, 0x57, 0xA0, 0xC0, 0x00, 0x00, 0x00, 0x00, @@ -10065,12 +9981,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x9D, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x01, -0x02, 0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, -0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, 0x3D, 0x01, 0x5F, 0xD7, 0x9D, -0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x7B, 0x6C, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0x59, 0x48, 0x00, +0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, +0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Asia/Baku */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -10894,12 +10811,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x99, 0xBB, 0x78, @@ -11532,7 +11449,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x35, 0x84, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB6, 0x16, 0x95, 0x01, 0x5B, 0xDF, 0xFD, 0x00, 0x00, 0x00, 0x00, @@ -11739,7 +11656,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x99, 0xA8, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x96, 0x90, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x34, 0x3E, 0x2D, 0x34, 0x0A, 0x00, 0xAD, 0x57, 0x00, 0x01, 0x6C, 0x0C, 0x9D, 0x00, 0x00, 0x00, 0x00, @@ -11987,10 +11904,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x01, -0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, -0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x45, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x62, 0x5C, +0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, +0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, +0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x9A, 0xF3, 0xF8, 0x01, 0xB2, 0xBF, 0x92, 0x00, 0x00, 0x00, 0x00, @@ -12163,12 +12083,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x00, 0x00, 0x00, @@ -12493,128 +12413,53 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, 0x12, 0xC8, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, 0x2D, 0x40, 0x00, -0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, -0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, -0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, -0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x00, -0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, 0x99, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, 0xCD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, 0x52, 0x38, 0x00, -0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, 0x85, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, 0xB9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, 0xEC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, 0x20, 0x38, 0x00, -0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0xA5, 0x38, 0x00, -0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, 0xD8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, 0x0C, 0x38, 0x00, -0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, 0x3F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, 0xC4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, 0xF8, 0x38, 0x00, -0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, 0x2B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, 0x5F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, 0xE4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, 0x17, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, 0x4B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, 0x7E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, 0x03, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, 0x37, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x6A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, 0x9E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, 0x23, 0x38, 0x00, -0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, 0x56, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, 0x8A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, 0xBD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, 0x42, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, 0x76, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, 0xA9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, 0xDD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, 0x62, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, 0x95, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, 0xC9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, 0x81, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, 0xB5, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, 0xE8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, 0x1C, 0x38, 0x00, -0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, 0x4F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, 0xD4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, 0x08, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, 0x3B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, 0x6F, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, 0xF4, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, 0x27, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, 0x5B, 0x38, 0x00, -0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, 0x8E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, 0x13, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, 0x47, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x7A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, 0xAE, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, 0x33, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, 0x66, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, 0x9A, 0x38, 0x00, -0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, 0xCD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, 0x52, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, 0x86, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, 0xB9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, 0xED, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, 0x72, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, 0xA5, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, 0xD9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, 0x0C, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, 0x91, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, 0x2B, 0x30, -0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, 0x36, 0x33, -0x2F, 0x32, 0x34, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, +0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, +0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, +0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, +0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, +0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, +0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, +0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x01, 0x03, 0x02, 0x05, 0x04, 0x05, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, +0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, +0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, +0x00, 0x18, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, +0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, /* Asia/Tel_Aviv */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12948,12 +12793,16 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x01, -0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, -0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, -0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, -0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x47, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x51, 0x61, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x00, 0x00, +0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, +0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, +0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, +0x36, 0xA0, 0x00, 0x00, 0x00, 0x00, /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -13652,10 +13501,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xE0, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0x9B, 0x58, 0x01, +0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, +0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, +0x00, /* Atlantic/Stanley */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -15679,7 +15530,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -15689,7 +15540,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -15740,21 +15591,26 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x05, 0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0x05, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, -0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, -0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, -0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, +0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, +0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Chile/EasterIsland */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -15762,7 +15618,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x42, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x40, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -15813,20 +15669,25 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, -0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, -0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, -0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, -0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, +0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, +0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, +0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, +0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, +0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, /* CST6CDT */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -16088,7 +15949,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, +0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -16169,7 +16030,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x05, 0x04, 0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, @@ -17330,7 +17191,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, +0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17411,7 +17272,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x05, 0x04, 0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, @@ -17506,8 +17367,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, +0xFF, 0xFF, 0xFF, 0x95, 0xA6, 0x91, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17532,76 +17393,77 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, -0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, -0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, -0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, -0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, +0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x06, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFD, +0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, +0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, +0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0xCA, 0x80, 0x01, +0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, /* Europe/Helsinki */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -17643,7 +17505,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5C, 0xCF, 0xD8, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17732,7 +17594,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFB, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, @@ -17823,8 +17685,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, +0xFF, 0xFF, 0xFF, 0x79, 0x68, 0x3D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17849,76 +17711,77 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, -0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, -0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, -0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, -0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, +0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x06, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFE, +0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, +0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, +0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0x60, 0x99, 0x01, +0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -17982,7 +17845,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18016,9 +17879,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, -0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, -0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, 0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, -0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Europe/Kirov */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18069,6 +17931,45 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xE0, 0x01, 0x5E, 0x6B, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x53, 0x4B, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x72, 0x6F, 0x76, +/* Europe/Kyiv */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x22, 0xFF, +0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0xC7, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0xA7, 0x64, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0xA4, 0x19, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0x2E, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCD, 0xA8, 0x70, 0x00, +0x00, 0x00, 0x00, 0x15, 0x27, 0xA7, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xDC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x17, 0x08, 0xDB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x0F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xEA, 0x0E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x43, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xCC, 0x93, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xA0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0x91, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x82, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x8D, 0x20, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xBD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xAE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x9F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xCB, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x01, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x03, 0x06, +0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, +0x03, 0x06, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x00, 0x00, +0x1C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x4C, 0x4D, +0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, +0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, +0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, +0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, 0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, +0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + /* Europe/Lisbon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18171,10 +18072,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF5, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -18191,7 +18092,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCF, @@ -19182,10 +19083,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF2, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19202,7 +19103,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCC, @@ -19282,8 +19183,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xC2, 0xC6, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, @@ -19323,10 +19224,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xEF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19343,7 +19244,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC9, @@ -19655,33 +19556,32 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x24, 0xF0, 0xEA, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x06, 0x86, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x08, 0x00, -0x00, 0x00, 0x00, 0x00, 0x06, 0xFA, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, -0x00, 0x43, 0x45, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, -0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, -0x0A, 0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x04, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, +0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, +0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xD1, +0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, /* Europe/Vatican */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -19953,10 +19853,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF4, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19973,7 +19873,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCF, @@ -20438,14 +20338,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xCD, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x33, 0xC0, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2C, 0x8C, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, +0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, /* Indian/Chagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20490,14 +20388,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD1, 0xF0, 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, 0x00, /* Indian/Kerguelen */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20556,14 +20450,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD0, 0x18, 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Indian/Reunion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20583,128 +20473,53 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, 0x12, 0xC8, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, 0x2D, 0x40, 0x00, -0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, -0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, -0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, -0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x00, -0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, 0x99, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, 0xCD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, 0x52, 0x38, 0x00, -0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, 0x85, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, 0xB9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, 0xEC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, 0x20, 0x38, 0x00, -0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0xA5, 0x38, 0x00, -0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, 0xD8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, 0x0C, 0x38, 0x00, -0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, 0x3F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, 0xC4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, 0xF8, 0x38, 0x00, -0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, 0x2B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, 0x5F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, 0xE4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, 0x17, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, 0x4B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, 0x7E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, 0x03, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, 0x37, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x6A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, 0x9E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, 0x23, 0x38, 0x00, -0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, 0x56, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, 0x8A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, 0xBD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, 0x42, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, 0x76, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, 0xA9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, 0xDD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, 0x62, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, 0x95, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, 0xC9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, 0x81, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, 0xB5, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, 0xE8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, 0x1C, 0x38, 0x00, -0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, 0x4F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, 0xD4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, 0x08, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, 0x3B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, 0x6F, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, 0xF4, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, 0x27, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, 0x5B, 0x38, 0x00, -0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, 0x8E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, 0x13, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, 0x47, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x7A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, 0xAE, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, 0x33, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, 0x66, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, 0x9A, 0x38, 0x00, -0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, 0xCD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, 0x52, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, 0x86, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, 0xB9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, 0xED, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, 0x72, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, 0xA5, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, 0xD9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, 0x0C, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, 0x91, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, 0x2B, 0x30, -0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, 0x36, 0x33, -0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, +0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, +0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, +0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, +0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, +0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, +0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, +0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x01, 0x03, 0x02, 0x05, 0x04, 0x05, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, +0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, +0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, +0x00, 0x18, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Israel */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -21484,7 +21299,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x42, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x40, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -21535,21 +21350,25 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, -0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, -0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, -0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, -0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x5F, -0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, 0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, -0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, +0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, +0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, +0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, +0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, +0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x5F, 0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, +0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, /* Pacific/Efate */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -21848,12 +21667,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x6E, 0x3D, 0xC8, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x05, 0xFB, 0x08, 0x01, -0x02, 0x00, 0x00, 0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x65, -0x50, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x53, 0x54, 0x31, -0x31, 0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, -0x64, 0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x7E, 0x37, 0x5B, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x75, 0x8A, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0xED, 0x75, 0x20, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x59, 0xB8, 0x00, 0x00, +0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2D, 0x31, 0x31, 0x3E, 0x31, 0x31, +0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, +0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, /* Pacific/Nauru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -22041,24 +21861,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC5, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2D, 0x4C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x37, 0x95, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2E, 0x89, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0x37, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x36, 0xF8, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x9B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x58, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0x75, 0x70, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x57, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x70, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x0C, 0x08, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7C, 0x87, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xBF, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x65, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x05, 0xFF, 0xFF, 0x36, 0x34, -0x00, 0x00, 0x00, 0x00, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, -0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, -0x43, 0x68, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, -0x85, 0xC0, 0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC4, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2C, 0x5C, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, +0x02, 0x03, 0x04, 0xFF, 0xFF, 0x37, 0x24, 0x00, 0x00, 0x00, 0x00, 0x88, 0xA4, 0x00, 0x00, 0x00, +0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, 0xA0, 0x00, +0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, 0x68, 0x53, +0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x85, 0xC0, 0x01, +0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, /* Pacific/Samoa */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -23426,606 +23236,607 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #else -const timelib_tzdb_index_entry timezonedb_idx_builtin[595] = { - { "Africa/Abidjan" , 0x000000 }, - { "Africa/Accra" , 0x0000A0 }, - { "Africa/Addis_Ababa" , 0x000140 }, - { "Africa/Algiers" , 0x000255 }, - { "Africa/Asmara" , 0x000540 }, - { "Africa/Asmera" , 0x000655 }, - { "Africa/Bamako" , 0x00076A }, - { "Africa/Bangui" , 0x00080A }, - { "Africa/Banjul" , 0x000901 }, - { "Africa/Bissau" , 0x0009A1 }, - { "Africa/Blantyre" , 0x000A6F }, - { "Africa/Brazzaville" , 0x000B10 }, - { "Africa/Bujumbura" , 0x000C07 }, - { "Africa/Cairo" , 0x000CA8 }, - { "Africa/Casablanca" , 0x001457 }, - { "Africa/Ceuta" , 0x001DE0 }, - { "Africa/Conakry" , 0x0025EE }, - { "Africa/Dakar" , 0x00268E }, - { "Africa/Dar_es_Salaam" , 0x00272E }, - { "Africa/Djibouti" , 0x002843 }, - { "Africa/Douala" , 0x002958 }, - { "Africa/El_Aaiun" , 0x002A4F }, - { "Africa/Freetown" , 0x003352 }, - { "Africa/Gaborone" , 0x0033F2 }, - { "Africa/Harare" , 0x003493 }, - { "Africa/Johannesburg" , 0x003534 }, - { "Africa/Juba" , 0x003636 }, - { "Africa/Kampala" , 0x0038E9 }, - { "Africa/Khartoum" , 0x0039FE }, - { "Africa/Kigali" , 0x003CB1 }, - { "Africa/Kinshasa" , 0x003D52 }, - { "Africa/Lagos" , 0x003E62 }, - { "Africa/Libreville" , 0x003F59 }, - { "Africa/Lome" , 0x004050 }, - { "Africa/Luanda" , 0x0040F0 }, - { "Africa/Lubumbashi" , 0x0041E7 }, - { "Africa/Lusaka" , 0x0042A1 }, - { "Africa/Malabo" , 0x004342 }, - { "Africa/Maputo" , 0x004439 }, - { "Africa/Maseru" , 0x0044DA }, - { "Africa/Mbabane" , 0x0045DC }, - { "Africa/Mogadishu" , 0x0046DE }, - { "Africa/Monrovia" , 0x0047F3 }, - { "Africa/Nairobi" , 0x0048CF }, - { "Africa/Ndjamena" , 0x0049E4 }, - { "Africa/Niamey" , 0x004AB7 }, - { "Africa/Nouakchott" , 0x004BAE }, - { "Africa/Ouagadougou" , 0x004C4E }, - { "Africa/Porto-Novo" , 0x004CEE }, - { "Africa/Sao_Tome" , 0x004DE5 }, - { "Africa/Timbuktu" , 0x004EEF }, - { "Africa/Tripoli" , 0x004F8F }, - { "Africa/Tunis" , 0x00520C }, - { "Africa/Windhoek" , 0x0054C9 }, - { "America/Adak" , 0x005890 }, - { "America/Anchorage" , 0x0061E0 }, - { "America/Anguilla" , 0x006B42 }, - { "America/Antigua" , 0x006C44 }, - { "America/Araguaina" , 0x006D46 }, - { "America/Argentina/Buenos_Aires" , 0x0070CF }, - { "America/Argentina/Catamarca" , 0x007524 }, - { "America/Argentina/ComodRivadavia" , 0x00797F }, - { "America/Argentina/Cordoba" , 0x007DBF }, - { "America/Argentina/Jujuy" , 0x008235 }, - { "America/Argentina/La_Rioja" , 0x008663 }, - { "America/Argentina/Mendoza" , 0x008ABE }, - { "America/Argentina/Rio_Gallegos" , 0x008F0A }, - { "America/Argentina/Salta" , 0x009359 }, - { "America/Argentina/San_Juan" , 0x009793 }, - { "America/Argentina/San_Luis" , 0x009BEE }, - { "America/Argentina/Tucuman" , 0x00A055 }, - { "America/Argentina/Ushuaia" , 0x00A4BD }, - { "America/Aruba" , 0x00A912 }, - { "America/Asuncion" , 0x00AA14 }, - { "America/Atikokan" , 0x00B21C }, - { "America/Atka" , 0x00B2FF }, - { "America/Bahia" , 0x00BC3F }, - { "America/Bahia_Banderas" , 0x00C050 }, - { "America/Barbados" , 0x00C686 }, - { "America/Belem" , 0x00C846 }, - { "America/Belize" , 0x00CAA4 }, - { "America/Blanc-Sablon" , 0x00D0FE }, - { "America/Boa_Vista" , 0x00D21C }, - { "America/Bogota" , 0x00D4A7 }, - { "America/Boise" , 0x00D5A9 }, - { "America/Buenos_Aires" , 0x00DF2F }, - { "America/Cambridge_Bay" , 0x00E36F }, - { "America/Campo_Grande" , 0x00EBB3 }, - { "America/Cancun" , 0x00F175 }, - { "America/Caracas" , 0x00F4B3 }, - { "America/Catamarca" , 0x00F5C7 }, - { "America/Cayenne" , 0x00FA07 }, - { "America/Cayman" , 0x00FAD9 }, - { "America/Chicago" , 0x00FB9B }, - { "America/Chihuahua" , 0x0109B3 }, - { "America/Coral_Harbour" , 0x010FB1 }, - { "America/Cordoba" , 0x011073 }, - { "America/Costa_Rica" , 0x0114B3 }, - { "America/Creston" , 0x0115FB }, - { "America/Cuiaba" , 0x011761 }, - { "America/Curacao" , 0x011D00 }, - { "America/Danmarkshavn" , 0x011E02 }, - { "America/Dawson" , 0x0120E2 }, - { "America/Dawson_Creek" , 0x01274E }, - { "America/Denver" , 0x012B94 }, - { "America/Detroit" , 0x013541 }, - { "America/Dominica" , 0x013E1C }, - { "America/Edmonton" , 0x013F1E }, - { "America/Eirunepe" , 0x014863 }, - { "America/El_Salvador" , 0x014B0E }, - { "America/Ensenada" , 0x014BFA }, - { "America/Fort_Nelson" , 0x01552C }, - { "America/Fort_Wayne" , 0x015E0C }, - { "America/Fortaleza" , 0x01649A }, - { "America/Glace_Bay" , 0x016798 }, - { "America/Godthab" , 0x01704F }, - { "America/Goose_Bay" , 0x0177B1 }, - { "America/Grand_Turk" , 0x018467 }, - { "America/Grenada" , 0x018B9D }, - { "America/Guadeloupe" , 0x018C9F }, - { "America/Guatemala" , 0x018DA1 }, - { "America/Guayaquil" , 0x018EC5 }, - { "America/Guyana" , 0x018FD9 }, - { "America/Halifax" , 0x0190EB }, - { "America/Havana" , 0x019E75 }, - { "America/Hermosillo" , 0x01A7F1 }, - { "America/Indiana/Indianapolis" , 0x01A9BC }, - { "America/Indiana/Knox" , 0x01B063 }, - { "America/Indiana/Marengo" , 0x01BA00 }, - { "America/Indiana/Petersburg" , 0x01C0DD }, - { "America/Indiana/Tell_City" , 0x01C86C }, - { "America/Indiana/Vevay" , 0x01CF20 }, - { "America/Indiana/Vincennes" , 0x01D4CC }, - { "America/Indiana/Winamac" , 0x01DB92 }, - { "America/Indianapolis" , 0x01E2A6 }, - { "America/Inuvik" , 0x01E934 }, - { "America/Iqaluit" , 0x01F0BA }, - { "America/Jamaica" , 0x01F8D4 }, - { "America/Jujuy" , 0x01FAC2 }, - { "America/Juneau" , 0x01FEE6 }, - { "America/Kentucky/Louisville" , 0x020837 }, - { "America/Kentucky/Monticello" , 0x021335 }, - { "America/Knox_IN" , 0x021C85 }, - { "America/Kralendijk" , 0x02260D }, - { "America/La_Paz" , 0x02270F }, - { "America/Lima" , 0x022803 }, - { "America/Los_Angeles" , 0x0229A5 }, - { "America/Louisville" , 0x0234CC }, - { "America/Lower_Princes" , 0x023FAC }, - { "America/Maceio" , 0x0240AE }, - { "America/Managua" , 0x0243B2 }, - { "America/Manaus" , 0x02456C }, - { "America/Marigot" , 0x0247E3 }, - { "America/Martinique" , 0x0248E5 }, - { "America/Matamoros" , 0x0249D9 }, - { "America/Mazatlan" , 0x024F91 }, - { "America/Mendoza" , 0x0255C8 }, - { "America/Menominee" , 0x025A08 }, - { "America/Merida" , 0x026315 }, - { "America/Metlakatla" , 0x0268CF }, - { "America/Mexico_City" , 0x026E81 }, - { "America/Miquelon" , 0x0274C9 }, - { "America/Moncton" , 0x027B57 }, - { "America/Monterrey" , 0x0287CD }, - { "America/Montevideo" , 0x028D8C }, - { "America/Montreal" , 0x02937E }, - { "America/Montserrat" , 0x02A130 }, - { "America/Nassau" , 0x02A232 }, - { "America/New_York" , 0x02AFE4 }, - { "America/Nipigon" , 0x02BDD4 }, - { "America/Nome" , 0x02C64B }, - { "America/Noronha" , 0x02CFA3 }, - { "America/North_Dakota/Beulah" , 0x02D28B }, - { "America/North_Dakota/Center" , 0x02DBF8 }, - { "America/North_Dakota/New_Salem" , 0x02E565 }, - { "America/Nuuk" , 0x02EED8 }, - { "America/Ojinaga" , 0x02F650 }, - { "America/Panama" , 0x02FC50 }, - { "America/Pangnirtung" , 0x02FD12 }, - { "America/Paramaribo" , 0x030566 }, - { "America/Phoenix" , 0x030678 }, - { "America/Port-au-Prince" , 0x0307E9 }, - { "America/Port_of_Spain" , 0x030D8F }, - { "America/Porto_Acre" , 0x030E91 }, - { "America/Porto_Velho" , 0x031111 }, - { "America/Puerto_Rico" , 0x031365 }, - { "America/Punta_Arenas" , 0x031467 }, - { "America/Rainy_River" , 0x031BF5 }, - { "America/Rankin_Inlet" , 0x03246D }, - { "America/Recife" , 0x032BF3 }, - { "America/Regina" , 0x032ED5 }, - { "America/Resolute" , 0x0332CA }, - { "America/Rio_Branco" , 0x033A51 }, - { "America/Rosario" , 0x033CD5 }, - { "America/Santa_Isabel" , 0x034115 }, - { "America/Santarem" , 0x034A47 }, - { "America/Santiago" , 0x034CB8 }, - { "America/Santo_Domingo" , 0x0356B7 }, - { "America/Sao_Paulo" , 0x03588D }, - { "America/Scoresbysund" , 0x035E73 }, - { "America/Shiprock" , 0x036618 }, - { "America/Sitka" , 0x036FB0 }, - { "America/St_Barthelemy" , 0x0378E8 }, - { "America/St_Johns" , 0x0379EA }, - { "America/St_Kitts" , 0x03885F }, - { "America/St_Lucia" , 0x038961 }, - { "America/St_Thomas" , 0x038A63 }, - { "America/St_Vincent" , 0x038B65 }, - { "America/Swift_Current" , 0x038C67 }, - { "America/Tegucigalpa" , 0x038EB5 }, - { "America/Thule" , 0x038FBD }, - { "America/Thunder_Bay" , 0x0395B5 }, - { "America/Tijuana" , 0x039E75 }, - { "America/Toronto" , 0x03A7C8 }, - { "America/Tortola" , 0x03B597 }, - { "America/Vancouver" , 0x03B699 }, - { "America/Virgin" , 0x03C20A }, - { "America/Whitehorse" , 0x03C30C }, - { "America/Winnipeg" , 0x03C978 }, - { "America/Yakutat" , 0x03D4D5 }, - { "America/Yellowknife" , 0x03DDF2 }, - { "Antarctica/Casey" , 0x03E5C3 }, - { "Antarctica/Davis" , 0x03E754 }, - { "Antarctica/DumontDUrville" , 0x03E88E }, - { "Antarctica/Macquarie" , 0x03E964 }, - { "Antarctica/Mawson" , 0x03F254 }, - { "Antarctica/McMurdo" , 0x03F32D }, - { "Antarctica/Palmer" , 0x03FCE4 }, - { "Antarctica/Rothera" , 0x040280 }, - { "Antarctica/South_Pole" , 0x040337 }, - { "Antarctica/Syowa" , 0x040CC8 }, - { "Antarctica/Troll" , 0x040D7E }, - { "Antarctica/Vostok" , 0x041219 }, - { "Arctic/Longyearbyen" , 0x0412D0 }, - { "Asia/Aden" , 0x041B90 }, - { "Asia/Almaty" , 0x041C41 }, - { "Asia/Amman" , 0x042049 }, - { "Asia/Anadyr" , 0x042792 }, - { "Asia/Aqtau" , 0x042C55 }, - { "Asia/Aqtobe" , 0x04304D }, - { "Asia/Ashgabat" , 0x043459 }, - { "Asia/Ashkhabad" , 0x0436D0 }, - { "Asia/Atyrau" , 0x043947 }, - { "Asia/Baghdad" , 0x043D47 }, - { "Asia/Bahrain" , 0x04412A }, - { "Asia/Baku" , 0x0441FD }, - { "Asia/Bangkok" , 0x0446D4 }, - { "Asia/Barnaul" , 0x0447A7 }, - { "Asia/Beirut" , 0x044C86 }, - { "Asia/Bishkek" , 0x0454FC }, - { "Asia/Brunei" , 0x0458DF }, - { "Asia/Calcutta" , 0x0459B6 }, - { "Asia/Chita" , 0x045ADF }, - { "Asia/Choibalsan" , 0x045FC4 }, - { "Asia/Chongqing" , 0x046397 }, - { "Asia/Chungking" , 0x0465D4 }, - { "Asia/Colombo" , 0x046811 }, - { "Asia/Dacca" , 0x046991 }, - { "Asia/Damascus" , 0x046AEE }, - { "Asia/Dhaka" , 0x0473F0 }, - { "Asia/Dili" , 0x04754D }, - { "Asia/Dubai" , 0x04763C }, - { "Asia/Dushanbe" , 0x0476ED }, - { "Asia/Famagusta" , 0x047948 }, - { "Asia/Gaza" , 0x04814F }, - { "Asia/Harbin" , 0x048ADB }, - { "Asia/Hebron" , 0x048D18 }, - { "Asia/Ho_Chi_Minh" , 0x0496BF }, - { "Asia/Hong_Kong" , 0x04982A }, - { "Asia/Hovd" , 0x049CE9 }, - { "Asia/Irkutsk" , 0x04A09B }, - { "Asia/Istanbul" , 0x04A59C }, - { "Asia/Jakarta" , 0x04AD43 }, - { "Asia/Jayapura" , 0x04AEBF }, - { "Asia/Jerusalem" , 0x04AFDE }, - { "Asia/Kabul" , 0x04B93E }, - { "Asia/Kamchatka" , 0x04BA1A }, - { "Asia/Karachi" , 0x04BEC6 }, - { "Asia/Kashgar" , 0x04C04D }, - { "Asia/Kathmandu" , 0x04C0FE }, - { "Asia/Katmandu" , 0x04C1DE }, - { "Asia/Khandyga" , 0x04C2BE }, - { "Asia/Kolkata" , 0x04C7DF }, - { "Asia/Krasnoyarsk" , 0x04C908 }, - { "Asia/Kuala_Lumpur" , 0x04CDE4 }, - { "Asia/Kuching" , 0x04CF83 }, - { "Asia/Kuwait" , 0x04D180 }, - { "Asia/Macao" , 0x04D231 }, - { "Asia/Macau" , 0x04D708 }, - { "Asia/Magadan" , 0x04DBDF }, - { "Asia/Makassar" , 0x04E0C1 }, - { "Asia/Manila" , 0x04E214 }, - { "Asia/Muscat" , 0x04E368 }, - { "Asia/Nicosia" , 0x04E419 }, - { "Asia/Novokuznetsk" , 0x04EC0A }, - { "Asia/Novosibirsk" , 0x04F0B4 }, - { "Asia/Omsk" , 0x04F599 }, - { "Asia/Oral" , 0x04FA69 }, - { "Asia/Phnom_Penh" , 0x04FE71 }, - { "Asia/Pontianak" , 0x04FF44 }, - { "Asia/Pyongyang" , 0x0500C7 }, - { "Asia/Qatar" , 0x0501C0 }, - { "Asia/Qostanay" , 0x050293 }, - { "Asia/Qyzylorda" , 0x0506AC }, - { "Asia/Rangoon" , 0x050AD6 }, - { "Asia/Riyadh" , 0x050BEE }, - { "Asia/Saigon" , 0x050C9F }, - { "Asia/Sakhalin" , 0x050E0A }, - { "Asia/Samarkand" , 0x0512E0 }, - { "Asia/Seoul" , 0x05153E }, - { "Asia/Shanghai" , 0x0517B3 }, - { "Asia/Singapore" , 0x0519FC }, - { "Asia/Srednekolymsk" , 0x051B87 }, - { "Asia/Taipei" , 0x05206D }, - { "Asia/Tashkent" , 0x052372 }, - { "Asia/Tbilisi" , 0x0525DE }, - { "Asia/Tehran" , 0x0529F5 }, - { "Asia/Tel_Aviv" , 0x053417 }, - { "Asia/Thimbu" , 0x053D77 }, - { "Asia/Thimphu" , 0x053E4E }, - { "Asia/Tokyo" , 0x053F25 }, - { "Asia/Tomsk" , 0x054066 }, - { "Asia/Ujung_Pandang" , 0x054545 }, - { "Asia/Ulaanbaatar" , 0x05464F }, - { "Asia/Ulan_Bator" , 0x0549EB }, - { "Asia/Urumqi" , 0x054D72 }, - { "Asia/Ust-Nera" , 0x054E30 }, - { "Asia/Vientiane" , 0x055334 }, - { "Asia/Vladivostok" , 0x055407 }, - { "Asia/Yakutsk" , 0x0558DE }, - { "Asia/Yangon" , 0x055DB4 }, - { "Asia/Yekaterinburg" , 0x055ECC }, - { "Asia/Yerevan" , 0x0563C1 }, - { "Atlantic/Azores" , 0x05684C }, - { "Atlantic/Bermuda" , 0x057616 }, - { "Atlantic/Canary" , 0x057F7E }, - { "Atlantic/Cape_Verde" , 0x058701 }, - { "Atlantic/Faeroe" , 0x05881B }, - { "Atlantic/Faroe" , 0x058F3E }, - { "Atlantic/Jan_Mayen" , 0x059661 }, - { "Atlantic/Madeira" , 0x059F21 }, - { "Atlantic/Reykjavik" , 0x05ACEB }, - { "Atlantic/South_Georgia" , 0x05B181 }, - { "Atlantic/St_Helena" , 0x05B231 }, - { "Atlantic/Stanley" , 0x05B2D1 }, - { "Australia/ACT" , 0x05B79B }, - { "Australia/Adelaide" , 0x05C035 }, - { "Australia/Brisbane" , 0x05C8F0 }, - { "Australia/Broken_Hill" , 0x05CAB6 }, - { "Australia/Canberra" , 0x05D393 }, - { "Australia/Currie" , 0x05DC2D }, - { "Australia/Darwin" , 0x05E56F }, - { "Australia/Eucla" , 0x05E6D2 }, - { "Australia/Hobart" , 0x05E8CD }, - { "Australia/LHI" , 0x05F217 }, - { "Australia/Lindeman" , 0x05F967 }, - { "Australia/Lord_Howe" , 0x05FB6D }, - { "Australia/Melbourne" , 0x0602CD }, - { "Australia/North" , 0x060B6F }, - { "Australia/NSW" , 0x060CC0 }, - { "Australia/Perth" , 0x06155A }, - { "Australia/Queensland" , 0x061742 }, - { "Australia/South" , 0x0618F1 }, - { "Australia/Sydney" , 0x06219D }, - { "Australia/Tasmania" , 0x062A53 }, - { "Australia/Victoria" , 0x063395 }, - { "Australia/West" , 0x063C2F }, - { "Australia/Yancowinna" , 0x063DF9 }, - { "Brazil/Acre" , 0x0646BA }, - { "Brazil/DeNoronha" , 0x06493A }, - { "Brazil/East" , 0x064C12 }, - { "Brazil/West" , 0x0651C2 }, - { "Canada/Atlantic" , 0x06542A }, - { "Canada/Central" , 0x066196 }, - { "Canada/Eastern" , 0x066CD6 }, - { "Canada/Mountain" , 0x067A88 }, - { "Canada/Newfoundland" , 0x0683B0 }, - { "Canada/Pacific" , 0x069203 }, - { "Canada/Saskatchewan" , 0x069D5B }, - { "Canada/Yukon" , 0x06A13B }, - { "CET" , 0x06A795 }, - { "Chile/Continental" , 0x06AFCF }, - { "Chile/EasterIsland" , 0x06B9BC }, - { "CST6CDT" , 0x06C281 }, - { "Cuba" , 0x06CB93 }, - { "EET" , 0x06D50F }, - { "Egypt" , 0x06DC8F }, - { "Eire" , 0x06E43E }, - { "EST" , 0x06F1EE }, - { "EST5EDT" , 0x06F26C }, - { "Etc/GMT" , 0x06FB7E }, - { "Etc/GMT+0" , 0x06FBFC }, - { "Etc/GMT+1" , 0x06FC7A }, - { "Etc/GMT+10" , 0x06FCFA }, - { "Etc/GMT+11" , 0x06FD7B }, - { "Etc/GMT+12" , 0x06FDFC }, - { "Etc/GMT+2" , 0x06FE7D }, - { "Etc/GMT+3" , 0x06FEFD }, - { "Etc/GMT+4" , 0x06FF7D }, - { "Etc/GMT+5" , 0x06FFFD }, - { "Etc/GMT+6" , 0x07007D }, - { "Etc/GMT+7" , 0x0700FD }, - { "Etc/GMT+8" , 0x07017D }, - { "Etc/GMT+9" , 0x0701FD }, - { "Etc/GMT-0" , 0x07027D }, - { "Etc/GMT-1" , 0x0702FB }, - { "Etc/GMT-10" , 0x07037C }, - { "Etc/GMT-11" , 0x0703FE }, - { "Etc/GMT-12" , 0x070480 }, - { "Etc/GMT-13" , 0x070502 }, - { "Etc/GMT-14" , 0x070584 }, - { "Etc/GMT-2" , 0x070606 }, - { "Etc/GMT-3" , 0x070687 }, - { "Etc/GMT-4" , 0x070708 }, - { "Etc/GMT-5" , 0x070789 }, - { "Etc/GMT-6" , 0x07080A }, - { "Etc/GMT-7" , 0x07088B }, - { "Etc/GMT-8" , 0x07090C }, - { "Etc/GMT-9" , 0x07098D }, - { "Etc/GMT0" , 0x070A0E }, - { "Etc/Greenwich" , 0x070A8C }, - { "Etc/UCT" , 0x070B0A }, - { "Etc/Universal" , 0x070B88 }, - { "Etc/UTC" , 0x070C06 }, - { "Etc/Zulu" , 0x070C84 }, - { "Europe/Amsterdam" , 0x070D02 }, - { "Europe/Andorra" , 0x07186C }, - { "Europe/Astrakhan" , 0x071F46 }, - { "Europe/Athens" , 0x0723F1 }, - { "Europe/Belfast" , 0x072CD3 }, - { "Europe/Belgrade" , 0x073B1F }, - { "Europe/Berlin" , 0x0742AB }, - { "Europe/Bratislava" , 0x074BC5 }, - { "Europe/Brussels" , 0x0754CE }, - { "Europe/Bucharest" , 0x07604F }, - { "Europe/Budapest" , 0x0768E3 }, - { "Europe/Busingen" , 0x07722F }, - { "Europe/Chisinau" , 0x0779B8 }, - { "Europe/Copenhagen" , 0x07831A }, - { "Europe/Dublin" , 0x078B7F }, - { "Europe/Gibraltar" , 0x07992F }, - { "Europe/Guernsey" , 0x07A527 }, - { "Europe/Helsinki" , 0x07B373 }, - { "Europe/Isle_of_Man" , 0x07BAEB }, - { "Europe/Istanbul" , 0x07C937 }, - { "Europe/Jersey" , 0x07D0DE }, - { "Europe/Kaliningrad" , 0x07DF2A }, - { "Europe/Kiev" , 0x07E51F }, - { "Europe/Kirov" , 0x07ED87 }, - { "Europe/Lisbon" , 0x07F222 }, - { "Europe/Ljubljana" , 0x07FFEA }, - { "Europe/London" , 0x080776 }, - { "Europe/Luxembourg" , 0x0815C2 }, - { "Europe/Madrid" , 0x082150 }, - { "Europe/Malta" , 0x082BA2 }, - { "Europe/Mariehamn" , 0x0835EA }, - { "Europe/Minsk" , 0x083D62 }, - { "Europe/Monaco" , 0x084297 }, - { "Europe/Moscow" , 0x084E23 }, - { "Europe/Nicosia" , 0x085442 }, - { "Europe/Oslo" , 0x085C20 }, - { "Europe/Paris" , 0x0864E0 }, - { "Europe/Podgorica" , 0x08707E }, - { "Europe/Prague" , 0x08780A }, - { "Europe/Riga" , 0x088113 }, - { "Europe/Rome" , 0x0889B5 }, - { "Europe/Samara" , 0x089412 }, - { "Europe/San_Marino" , 0x0898F6 }, - { "Europe/Sarajevo" , 0x08A353 }, - { "Europe/Saratov" , 0x08AADF }, - { "Europe/Simferopol" , 0x08AF9A }, - { "Europe/Skopje" , 0x08B569 }, - { "Europe/Sofia" , 0x08BCF5 }, - { "Europe/Stockholm" , 0x08C51E }, - { "Europe/Tallinn" , 0x08CC9F }, - { "Europe/Tirane" , 0x08D50F }, - { "Europe/Tiraspol" , 0x08DD3F }, - { "Europe/Ulyanovsk" , 0x08E6A1 }, - { "Europe/Uzhgorod" , 0x08EBB2 }, - { "Europe/Vaduz" , 0x08F3DE }, - { "Europe/Vatican" , 0x08FB5F }, - { "Europe/Vienna" , 0x0905BC }, - { "Europe/Vilnius" , 0x090E60 }, - { "Europe/Volgograd" , 0x0916DE }, - { "Europe/Warsaw" , 0x091B89 }, - { "Europe/Zagreb" , 0x0925F3 }, - { "Europe/Zaporozhye" , 0x092D7F }, - { "Europe/Zurich" , 0x093600 }, - { "Factory" , 0x093D81 }, - { "GB" , 0x093E01 }, - { "GB-Eire" , 0x094C4D }, - { "GMT" , 0x095A99 }, - { "GMT+0" , 0x095B17 }, - { "GMT-0" , 0x095B95 }, - { "GMT0" , 0x095C13 }, - { "Greenwich" , 0x095C91 }, - { "Hongkong" , 0x095D0F }, - { "HST" , 0x0961CE }, - { "Iceland" , 0x09624D }, - { "Indian/Antananarivo" , 0x0966E3 }, - { "Indian/Chagos" , 0x0967F8 }, - { "Indian/Christmas" , 0x0968CB }, - { "Indian/Cocos" , 0x09697C }, - { "Indian/Comoro" , 0x096A36 }, - { "Indian/Kerguelen" , 0x096B4B }, - { "Indian/Mahe" , 0x096BFC }, - { "Indian/Maldives" , 0x096CAD }, - { "Indian/Mauritius" , 0x096D80 }, - { "Indian/Mayotte" , 0x096E7D }, - { "Indian/Reunion" , 0x096F92 }, - { "Iran" , 0x097043 }, - { "Israel" , 0x097A65 }, - { "Jamaica" , 0x0983C5 }, - { "Japan" , 0x0985B3 }, - { "Kwajalein" , 0x0986F4 }, - { "Libya" , 0x09883C }, - { "MET" , 0x098AB9 }, - { "Mexico/BajaNorte" , 0x0992F3 }, - { "Mexico/BajaSur" , 0x099C25 }, - { "Mexico/General" , 0x09A227 }, - { "MST" , 0x09A863 }, - { "MST7MDT" , 0x09A8E1 }, - { "Navajo" , 0x09B1F3 }, - { "NZ" , 0x09BB8B }, - { "NZ-CHAT" , 0x09C51C }, - { "Pacific/Apia" , 0x09CD3C }, - { "Pacific/Auckland" , 0x09CFAC }, - { "Pacific/Bougainville" , 0x09D955 }, - { "Pacific/Chatham" , 0x09DA79 }, - { "Pacific/Chuuk" , 0x09E2A8 }, - { "Pacific/Easter" , 0x09E3D0 }, - { "Pacific/Efate" , 0x09ECA2 }, - { "Pacific/Enderbury" , 0x09EEC8 }, - { "Pacific/Fakaofo" , 0x09EFBE }, - { "Pacific/Fiji" , 0x09F092 }, - { "Pacific/Funafuti" , 0x09F4B7 }, - { "Pacific/Galapagos" , 0x09F569 }, - { "Pacific/Gambier" , 0x09F674 }, - { "Pacific/Guadalcanal" , 0x09F733 }, - { "Pacific/Guam" , 0x09F7E5 }, - { "Pacific/Honolulu" , 0x09F9DF }, - { "Pacific/Johnston" , 0x09FB3A }, - { "Pacific/Kanton" , 0x09FC8F }, - { "Pacific/Kiritimati" , 0x09FD94 }, - { "Pacific/Kosrae" , 0x09FE9A }, - { "Pacific/Kwajalein" , 0x0A000B }, - { "Pacific/Majuro" , 0x0A015C }, - { "Pacific/Marquesas" , 0x0A02BB }, - { "Pacific/Midway" , 0x0A0385 }, - { "Pacific/Nauru" , 0x0A044E }, - { "Pacific/Niue" , 0x0A0556 }, - { "Pacific/Norfolk" , 0x0A062D }, - { "Pacific/Noumea" , 0x0A09A9 }, - { "Pacific/Pago_Pago" , 0x0A0AE5 }, - { "Pacific/Palau" , 0x0A0BA0 }, - { "Pacific/Pitcairn" , 0x0A0C60 }, - { "Pacific/Pohnpei" , 0x0A0D36 }, - { "Pacific/Ponape" , 0x0A0E7F }, - { "Pacific/Port_Moresby" , 0x0A0FBA }, - { "Pacific/Rarotonga" , 0x0A109D }, - { "Pacific/Saipan" , 0x0A1304 }, - { "Pacific/Samoa" , 0x0A14FE }, - { "Pacific/Tahiti" , 0x0A15B9 }, - { "Pacific/Tarawa" , 0x0A1679 }, - { "Pacific/Tongatapu" , 0x0A173A }, - { "Pacific/Truk" , 0x0A18BA }, - { "Pacific/Wake" , 0x0A19D3 }, - { "Pacific/Wallis" , 0x0A1A90 }, - { "Pacific/Yap" , 0x0A1B42 }, - { "Poland" , 0x0A1C5B }, - { "Portugal" , 0x0A26C5 }, - { "PRC" , 0x0A347A }, - { "PST8PDT" , 0x0A36B7 }, - { "ROC" , 0x0A3FC9 }, - { "ROK" , 0x0A42CE }, - { "Singapore" , 0x0A4543 }, - { "Turkey" , 0x0A46CE }, - { "UCT" , 0x0A4E75 }, - { "Universal" , 0x0A4EF3 }, - { "US/Alaska" , 0x0A4F71 }, - { "US/Aleutian" , 0x0A58C0 }, - { "US/Arizona" , 0x0A6200 }, - { "US/Central" , 0x0A6354 }, - { "US/East-Indiana" , 0x0A7158 }, - { "US/Eastern" , 0x0A77E6 }, - { "US/Hawaii" , 0x0A85C2 }, - { "US/Indiana-Starke" , 0x0A8717 }, - { "US/Michigan" , 0x0A909F }, - { "US/Mountain" , 0x0A9961 }, - { "US/Pacific" , 0x0AA2F9 }, - { "US/Samoa" , 0x0AAE19 }, - { "UTC" , 0x0AAED4 }, - { "W-SU" , 0x0AAF52 }, - { "WET" , 0x0AB55D }, - { "Zulu" , 0x0ABCDA }, +const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { + { (char*) "Africa/Abidjan" , 0x000000 }, + { (char*) "Africa/Accra" , 0x0000A0 }, + { (char*) "Africa/Addis_Ababa" , 0x0004D0 }, + { (char*) "Africa/Algiers" , 0x000595 }, + { (char*) "Africa/Asmara" , 0x000880 }, + { (char*) "Africa/Asmera" , 0x000958 }, + { (char*) "Africa/Bamako" , 0x000A30 }, + { (char*) "Africa/Bangui" , 0x000B0C }, + { (char*) "Africa/Banjul" , 0x000BAD }, + { (char*) "Africa/Bissau" , 0x000C91 }, + { (char*) "Africa/Blantyre" , 0x000D5F }, + { (char*) "Africa/Brazzaville" , 0x000E3C }, + { (char*) "Africa/Bujumbura" , 0x000EDD }, + { (char*) "Africa/Cairo" , 0x000F7E }, + { (char*) "Africa/Casablanca" , 0x00172D }, + { (char*) "Africa/Ceuta" , 0x0020B6 }, + { (char*) "Africa/Conakry" , 0x0028C4 }, + { (char*) "Africa/Dakar" , 0x0029A0 }, + { (char*) "Africa/Dar_es_Salaam" , 0x002A62 }, + { (char*) "Africa/Djibouti" , 0x002B43 }, + { (char*) "Africa/Douala" , 0x002BE4 }, + { (char*) "Africa/El_Aaiun" , 0x002C85 }, + { (char*) "Africa/Freetown" , 0x003588 }, + { (char*) "Africa/Gaborone" , 0x00378F }, + { (char*) "Africa/Harare" , 0x003886 }, + { (char*) "Africa/Johannesburg" , 0x003927 }, + { (char*) "Africa/Juba" , 0x003A29 }, + { (char*) "Africa/Kampala" , 0x003CDC }, + { (char*) "Africa/Khartoum" , 0x003DE3 }, + { (char*) "Africa/Kigali" , 0x004096 }, + { (char*) "Africa/Kinshasa" , 0x004137 }, + { (char*) "Africa/Lagos" , 0x0041F1 }, + { (char*) "Africa/Libreville" , 0x0042E8 }, + { (char*) "Africa/Lome" , 0x004389 }, + { (char*) "Africa/Luanda" , 0x004429 }, + { (char*) "Africa/Lubumbashi" , 0x0044F0 }, + { (char*) "Africa/Lusaka" , 0x0045CC }, + { (char*) "Africa/Malabo" , 0x00466D }, + { (char*) "Africa/Maputo" , 0x004730 }, + { (char*) "Africa/Maseru" , 0x0047D1 }, + { (char*) "Africa/Mbabane" , 0x00489D }, + { (char*) "Africa/Mogadishu" , 0x004941 }, + { (char*) "Africa/Monrovia" , 0x004A22 }, + { (char*) "Africa/Nairobi" , 0x004AFE }, + { (char*) "Africa/Ndjamena" , 0x004C13 }, + { (char*) "Africa/Niamey" , 0x004CE6 }, + { (char*) "Africa/Nouakchott" , 0x004DCB }, + { (char*) "Africa/Ouagadougou" , 0x004EA7 }, + { (char*) "Africa/Porto-Novo" , 0x004F47 }, + { (char*) "Africa/Sao_Tome" , 0x00500A }, + { (char*) "Africa/Timbuktu" , 0x005114 }, + { (char*) "Africa/Tripoli" , 0x0051F0 }, + { (char*) "Africa/Tunis" , 0x00546D }, + { (char*) "Africa/Windhoek" , 0x00572A }, + { (char*) "America/Adak" , 0x005AF1 }, + { (char*) "America/Anchorage" , 0x006441 }, + { (char*) "America/Anguilla" , 0x006DA3 }, + { (char*) "America/Antigua" , 0x006E43 }, + { (char*) "America/Araguaina" , 0x006F05 }, + { (char*) "America/Argentina/Buenos_Aires" , 0x00728E }, + { (char*) "America/Argentina/Catamarca" , 0x0076E3 }, + { (char*) "America/Argentina/ComodRivadavia" , 0x007B3E }, + { (char*) "America/Argentina/Cordoba" , 0x007F7E }, + { (char*) "America/Argentina/Jujuy" , 0x0083F4 }, + { (char*) "America/Argentina/La_Rioja" , 0x008822 }, + { (char*) "America/Argentina/Mendoza" , 0x008C7D }, + { (char*) "America/Argentina/Rio_Gallegos" , 0x0090C9 }, + { (char*) "America/Argentina/Salta" , 0x009518 }, + { (char*) "America/Argentina/San_Juan" , 0x009952 }, + { (char*) "America/Argentina/San_Luis" , 0x009DAD }, + { (char*) "America/Argentina/Tucuman" , 0x00A214 }, + { (char*) "America/Argentina/Ushuaia" , 0x00A67C }, + { (char*) "America/Aruba" , 0x00AAD1 }, + { (char*) "America/Asuncion" , 0x00AB97 }, + { (char*) "America/Atikokan" , 0x00B39F }, + { (char*) "America/Atka" , 0x00B51C }, + { (char*) "America/Bahia" , 0x00BE5C }, + { (char*) "America/Bahia_Banderas" , 0x00C26D }, + { (char*) "America/Barbados" , 0x00C8A3 }, + { (char*) "America/Belem" , 0x00CA63 }, + { (char*) "America/Belize" , 0x00CCC1 }, + { (char*) "America/Blanc-Sablon" , 0x00D31B }, + { (char*) "America/Boa_Vista" , 0x00D46D }, + { (char*) "America/Bogota" , 0x00D6F8 }, + { (char*) "America/Boise" , 0x00D7FA }, + { (char*) "America/Buenos_Aires" , 0x00E180 }, + { (char*) "America/Cambridge_Bay" , 0x00E5C0 }, + { (char*) "America/Campo_Grande" , 0x00EE04 }, + { (char*) "America/Cancun" , 0x00F3C6 }, + { (char*) "America/Caracas" , 0x00F704 }, + { (char*) "America/Catamarca" , 0x00F818 }, + { (char*) "America/Cayenne" , 0x00FC58 }, + { (char*) "America/Cayman" , 0x00FD2A }, + { (char*) "America/Chicago" , 0x00FDEC }, + { (char*) "America/Chihuahua" , 0x010C04 }, + { (char*) "America/Coral_Harbour" , 0x011202 }, + { (char*) "America/Cordoba" , 0x01135E }, + { (char*) "America/Costa_Rica" , 0x01179E }, + { (char*) "America/Creston" , 0x0118E6 }, + { (char*) "America/Cuiaba" , 0x0119D4 }, + { (char*) "America/Curacao" , 0x011F73 }, + { (char*) "America/Danmarkshavn" , 0x012039 }, + { (char*) "America/Dawson" , 0x012319 }, + { (char*) "America/Dawson_Creek" , 0x012985 }, + { (char*) "America/Denver" , 0x012DCB }, + { (char*) "America/Detroit" , 0x013778 }, + { (char*) "America/Dominica" , 0x014053 }, + { (char*) "America/Edmonton" , 0x0140F3 }, + { (char*) "America/Eirunepe" , 0x014A38 }, + { (char*) "America/El_Salvador" , 0x014CE3 }, + { (char*) "America/Ensenada" , 0x014DCF }, + { (char*) "America/Fort_Nelson" , 0x015701 }, + { (char*) "America/Fort_Wayne" , 0x015FE1 }, + { (char*) "America/Fortaleza" , 0x01666F }, + { (char*) "America/Glace_Bay" , 0x01696D }, + { (char*) "America/Godthab" , 0x017224 }, + { (char*) "America/Goose_Bay" , 0x017986 }, + { (char*) "America/Grand_Turk" , 0x01863C }, + { (char*) "America/Grenada" , 0x018D72 }, + { (char*) "America/Guadeloupe" , 0x018E12 }, + { (char*) "America/Guatemala" , 0x018EB2 }, + { (char*) "America/Guayaquil" , 0x018FD6 }, + { (char*) "America/Guyana" , 0x0190EA }, + { (char*) "America/Halifax" , 0x0191FC }, + { (char*) "America/Havana" , 0x019F86 }, + { (char*) "America/Hermosillo" , 0x01A902 }, + { (char*) "America/Indiana/Indianapolis" , 0x01AACD }, + { (char*) "America/Indiana/Knox" , 0x01B174 }, + { (char*) "America/Indiana/Marengo" , 0x01BB11 }, + { (char*) "America/Indiana/Petersburg" , 0x01C1EE }, + { (char*) "America/Indiana/Tell_City" , 0x01C97D }, + { (char*) "America/Indiana/Vevay" , 0x01D031 }, + { (char*) "America/Indiana/Vincennes" , 0x01D5DD }, + { (char*) "America/Indiana/Winamac" , 0x01DCA3 }, + { (char*) "America/Indianapolis" , 0x01E3B7 }, + { (char*) "America/Inuvik" , 0x01EA45 }, + { (char*) "America/Iqaluit" , 0x01F1CB }, + { (char*) "America/Jamaica" , 0x01F9E5 }, + { (char*) "America/Jujuy" , 0x01FBD3 }, + { (char*) "America/Juneau" , 0x01FFF7 }, + { (char*) "America/Kentucky/Louisville" , 0x020948 }, + { (char*) "America/Kentucky/Monticello" , 0x021446 }, + { (char*) "America/Knox_IN" , 0x021D96 }, + { (char*) "America/Kralendijk" , 0x02271E }, + { (char*) "America/La_Paz" , 0x0227E4 }, + { (char*) "America/Lima" , 0x0228D8 }, + { (char*) "America/Los_Angeles" , 0x022A7A }, + { (char*) "America/Louisville" , 0x0235A1 }, + { (char*) "America/Lower_Princes" , 0x024081 }, + { (char*) "America/Maceio" , 0x024147 }, + { (char*) "America/Managua" , 0x02444B }, + { (char*) "America/Manaus" , 0x024605 }, + { (char*) "America/Marigot" , 0x02487C }, + { (char*) "America/Martinique" , 0x02491C }, + { (char*) "America/Matamoros" , 0x024A10 }, + { (char*) "America/Mazatlan" , 0x024FC8 }, + { (char*) "America/Mendoza" , 0x0255FF }, + { (char*) "America/Menominee" , 0x025A3F }, + { (char*) "America/Merida" , 0x02634C }, + { (char*) "America/Metlakatla" , 0x026906 }, + { (char*) "America/Mexico_City" , 0x026EB8 }, + { (char*) "America/Miquelon" , 0x027500 }, + { (char*) "America/Moncton" , 0x027B8E }, + { (char*) "America/Monterrey" , 0x028804 }, + { (char*) "America/Montevideo" , 0x028DC3 }, + { (char*) "America/Montreal" , 0x0293B5 }, + { (char*) "America/Montserrat" , 0x02A167 }, + { (char*) "America/Nassau" , 0x02A207 }, + { (char*) "America/New_York" , 0x02AB67 }, + { (char*) "America/Nipigon" , 0x02B967 }, + { (char*) "America/Nome" , 0x02C1DE }, + { (char*) "America/Noronha" , 0x02CB36 }, + { (char*) "America/North_Dakota/Beulah" , 0x02CE1E }, + { (char*) "America/North_Dakota/Center" , 0x02D78B }, + { (char*) "America/North_Dakota/New_Salem" , 0x02E0F8 }, + { (char*) "America/Nuuk" , 0x02EA6B }, + { (char*) "America/Ojinaga" , 0x02F1E3 }, + { (char*) "America/Panama" , 0x02F7E3 }, + { (char*) "America/Pangnirtung" , 0x02F8A5 }, + { (char*) "America/Paramaribo" , 0x0300F9 }, + { (char*) "America/Phoenix" , 0x03020B }, + { (char*) "America/Port-au-Prince" , 0x03037C }, + { (char*) "America/Port_of_Spain" , 0x030922 }, + { (char*) "America/Porto_Acre" , 0x0309C2 }, + { (char*) "America/Porto_Velho" , 0x030C42 }, + { (char*) "America/Puerto_Rico" , 0x030E96 }, + { (char*) "America/Punta_Arenas" , 0x030F98 }, + { (char*) "America/Rainy_River" , 0x031734 }, + { (char*) "America/Rankin_Inlet" , 0x031FAC }, + { (char*) "America/Recife" , 0x032732 }, + { (char*) "America/Regina" , 0x032A14 }, + { (char*) "America/Resolute" , 0x032E09 }, + { (char*) "America/Rio_Branco" , 0x033590 }, + { (char*) "America/Rosario" , 0x033814 }, + { (char*) "America/Santa_Isabel" , 0x033C54 }, + { (char*) "America/Santarem" , 0x034586 }, + { (char*) "America/Santiago" , 0x0347F7 }, + { (char*) "America/Santo_Domingo" , 0x0351F6 }, + { (char*) "America/Sao_Paulo" , 0x0353CC }, + { (char*) "America/Scoresbysund" , 0x0359B2 }, + { (char*) "America/Shiprock" , 0x036157 }, + { (char*) "America/Sitka" , 0x036AEF }, + { (char*) "America/St_Barthelemy" , 0x037427 }, + { (char*) "America/St_Johns" , 0x0374C7 }, + { (char*) "America/St_Kitts" , 0x03833C }, + { (char*) "America/St_Lucia" , 0x0383DC }, + { (char*) "America/St_Thomas" , 0x03849E }, + { (char*) "America/St_Vincent" , 0x03853E }, + { (char*) "America/Swift_Current" , 0x038600 }, + { (char*) "America/Tegucigalpa" , 0x03884E }, + { (char*) "America/Thule" , 0x038956 }, + { (char*) "America/Thunder_Bay" , 0x038F4E }, + { (char*) "America/Tijuana" , 0x03980E }, + { (char*) "America/Toronto" , 0x03A161 }, + { (char*) "America/Tortola" , 0x03AF30 }, + { (char*) "America/Vancouver" , 0x03AFD0 }, + { (char*) "America/Virgin" , 0x03BB41 }, + { (char*) "America/Whitehorse" , 0x03BBE1 }, + { (char*) "America/Winnipeg" , 0x03C24D }, + { (char*) "America/Yakutat" , 0x03CDAA }, + { (char*) "America/Yellowknife" , 0x03D6C7 }, + { (char*) "Antarctica/Casey" , 0x03DE98 }, + { (char*) "Antarctica/Davis" , 0x03E029 }, + { (char*) "Antarctica/DumontDUrville" , 0x03E163 }, + { (char*) "Antarctica/Macquarie" , 0x03E241 }, + { (char*) "Antarctica/Mawson" , 0x03EB31 }, + { (char*) "Antarctica/McMurdo" , 0x03EC0A }, + { (char*) "Antarctica/Palmer" , 0x03F405 }, + { (char*) "Antarctica/Rothera" , 0x03F9A1 }, + { (char*) "Antarctica/South_Pole" , 0x03FA58 }, + { (char*) "Antarctica/Syowa" , 0x04022D }, + { (char*) "Antarctica/Troll" , 0x0402E3 }, + { (char*) "Antarctica/Vostok" , 0x04077E }, + { (char*) "Arctic/Longyearbyen" , 0x040835 }, + { (char*) "Asia/Aden" , 0x0410F5 }, + { (char*) "Asia/Almaty" , 0x0411A6 }, + { (char*) "Asia/Amman" , 0x0415AE }, + { (char*) "Asia/Anadyr" , 0x041CF7 }, + { (char*) "Asia/Aqtau" , 0x0421BA }, + { (char*) "Asia/Aqtobe" , 0x0425B2 }, + { (char*) "Asia/Ashgabat" , 0x0429BE }, + { (char*) "Asia/Ashkhabad" , 0x042C35 }, + { (char*) "Asia/Atyrau" , 0x042EAC }, + { (char*) "Asia/Baghdad" , 0x0432AC }, + { (char*) "Asia/Bahrain" , 0x04368F }, + { (char*) "Asia/Baku" , 0x043788 }, + { (char*) "Asia/Bangkok" , 0x043C5F }, + { (char*) "Asia/Barnaul" , 0x043D32 }, + { (char*) "Asia/Beirut" , 0x044211 }, + { (char*) "Asia/Bishkek" , 0x044A87 }, + { (char*) "Asia/Brunei" , 0x044E6A }, + { (char*) "Asia/Calcutta" , 0x044F41 }, + { (char*) "Asia/Chita" , 0x04506A }, + { (char*) "Asia/Choibalsan" , 0x04554F }, + { (char*) "Asia/Chongqing" , 0x045922 }, + { (char*) "Asia/Chungking" , 0x045B5F }, + { (char*) "Asia/Colombo" , 0x045D9C }, + { (char*) "Asia/Dacca" , 0x045F1C }, + { (char*) "Asia/Damascus" , 0x046079 }, + { (char*) "Asia/Dhaka" , 0x04697B }, + { (char*) "Asia/Dili" , 0x046AD8 }, + { (char*) "Asia/Dubai" , 0x046BC7 }, + { (char*) "Asia/Dushanbe" , 0x046C78 }, + { (char*) "Asia/Famagusta" , 0x046ED3 }, + { (char*) "Asia/Gaza" , 0x0476DA }, + { (char*) "Asia/Harbin" , 0x048066 }, + { (char*) "Asia/Hebron" , 0x0482A3 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x048C4A }, + { (char*) "Asia/Hong_Kong" , 0x048DB5 }, + { (char*) "Asia/Hovd" , 0x049292 }, + { (char*) "Asia/Irkutsk" , 0x049644 }, + { (char*) "Asia/Istanbul" , 0x049B45 }, + { (char*) "Asia/Jakarta" , 0x04A2EC }, + { (char*) "Asia/Jayapura" , 0x04A484 }, + { (char*) "Asia/Jerusalem" , 0x04A5A3 }, + { (char*) "Asia/Kabul" , 0x04AF03 }, + { (char*) "Asia/Kamchatka" , 0x04AFDF }, + { (char*) "Asia/Karachi" , 0x04B48B }, + { (char*) "Asia/Kashgar" , 0x04B612 }, + { (char*) "Asia/Kathmandu" , 0x04B6C3 }, + { (char*) "Asia/Katmandu" , 0x04B7A3 }, + { (char*) "Asia/Khandyga" , 0x04B883 }, + { (char*) "Asia/Kolkata" , 0x04BDA4 }, + { (char*) "Asia/Krasnoyarsk" , 0x04BECD }, + { (char*) "Asia/Kuala_Lumpur" , 0x04C3A9 }, + { (char*) "Asia/Kuching" , 0x04C548 }, + { (char*) "Asia/Kuwait" , 0x04C745 }, + { (char*) "Asia/Macao" , 0x04C7F6 }, + { (char*) "Asia/Macau" , 0x04CCCD }, + { (char*) "Asia/Magadan" , 0x04D1A4 }, + { (char*) "Asia/Makassar" , 0x04D686 }, + { (char*) "Asia/Manila" , 0x04D7D9 }, + { (char*) "Asia/Muscat" , 0x04D92D }, + { (char*) "Asia/Nicosia" , 0x04D9DE }, + { (char*) "Asia/Novokuznetsk" , 0x04E1CF }, + { (char*) "Asia/Novosibirsk" , 0x04E679 }, + { (char*) "Asia/Omsk" , 0x04EB5E }, + { (char*) "Asia/Oral" , 0x04F02E }, + { (char*) "Asia/Phnom_Penh" , 0x04F436 }, + { (char*) "Asia/Pontianak" , 0x04F569 }, + { (char*) "Asia/Pyongyang" , 0x04F6EC }, + { (char*) "Asia/Qatar" , 0x04F7E5 }, + { (char*) "Asia/Qostanay" , 0x04F8B8 }, + { (char*) "Asia/Qyzylorda" , 0x04FCD1 }, + { (char*) "Asia/Rangoon" , 0x0500FB }, + { (char*) "Asia/Riyadh" , 0x050213 }, + { (char*) "Asia/Saigon" , 0x0502C4 }, + { (char*) "Asia/Sakhalin" , 0x05042F }, + { (char*) "Asia/Samarkand" , 0x050905 }, + { (char*) "Asia/Seoul" , 0x050B63 }, + { (char*) "Asia/Shanghai" , 0x050DD8 }, + { (char*) "Asia/Singapore" , 0x051021 }, + { (char*) "Asia/Srednekolymsk" , 0x0511AC }, + { (char*) "Asia/Taipei" , 0x051692 }, + { (char*) "Asia/Tashkent" , 0x051997 }, + { (char*) "Asia/Tbilisi" , 0x051C03 }, + { (char*) "Asia/Tehran" , 0x05201A }, + { (char*) "Asia/Tel_Aviv" , 0x052514 }, + { (char*) "Asia/Thimbu" , 0x052E74 }, + { (char*) "Asia/Thimphu" , 0x052F4B }, + { (char*) "Asia/Tokyo" , 0x053022 }, + { (char*) "Asia/Tomsk" , 0x053163 }, + { (char*) "Asia/Ujung_Pandang" , 0x053642 }, + { (char*) "Asia/Ulaanbaatar" , 0x05374C }, + { (char*) "Asia/Ulan_Bator" , 0x053AE8 }, + { (char*) "Asia/Urumqi" , 0x053E6F }, + { (char*) "Asia/Ust-Nera" , 0x053F2D }, + { (char*) "Asia/Vientiane" , 0x054431 }, + { (char*) "Asia/Vladivostok" , 0x054580 }, + { (char*) "Asia/Yakutsk" , 0x054A57 }, + { (char*) "Asia/Yangon" , 0x054F2D }, + { (char*) "Asia/Yekaterinburg" , 0x055045 }, + { (char*) "Asia/Yerevan" , 0x05553A }, + { (char*) "Atlantic/Azores" , 0x0559C5 }, + { (char*) "Atlantic/Bermuda" , 0x05678F }, + { (char*) "Atlantic/Canary" , 0x0570F7 }, + { (char*) "Atlantic/Cape_Verde" , 0x05787A }, + { (char*) "Atlantic/Faeroe" , 0x057994 }, + { (char*) "Atlantic/Faroe" , 0x0580B7 }, + { (char*) "Atlantic/Jan_Mayen" , 0x0587DA }, + { (char*) "Atlantic/Madeira" , 0x05909A }, + { (char*) "Atlantic/Reykjavik" , 0x059E64 }, + { (char*) "Atlantic/South_Georgia" , 0x05A2FA }, + { (char*) "Atlantic/St_Helena" , 0x05A3AA }, + { (char*) "Atlantic/Stanley" , 0x05A46C }, + { (char*) "Australia/ACT" , 0x05A936 }, + { (char*) "Australia/Adelaide" , 0x05B1D0 }, + { (char*) "Australia/Brisbane" , 0x05BA8B }, + { (char*) "Australia/Broken_Hill" , 0x05BC51 }, + { (char*) "Australia/Canberra" , 0x05C52E }, + { (char*) "Australia/Currie" , 0x05CDC8 }, + { (char*) "Australia/Darwin" , 0x05D70A }, + { (char*) "Australia/Eucla" , 0x05D86D }, + { (char*) "Australia/Hobart" , 0x05DA68 }, + { (char*) "Australia/LHI" , 0x05E3B2 }, + { (char*) "Australia/Lindeman" , 0x05EB02 }, + { (char*) "Australia/Lord_Howe" , 0x05ED08 }, + { (char*) "Australia/Melbourne" , 0x05F468 }, + { (char*) "Australia/North" , 0x05FD0A }, + { (char*) "Australia/NSW" , 0x05FE5B }, + { (char*) "Australia/Perth" , 0x0606F5 }, + { (char*) "Australia/Queensland" , 0x0608DD }, + { (char*) "Australia/South" , 0x060A8C }, + { (char*) "Australia/Sydney" , 0x061338 }, + { (char*) "Australia/Tasmania" , 0x061BEE }, + { (char*) "Australia/Victoria" , 0x062530 }, + { (char*) "Australia/West" , 0x062DCA }, + { (char*) "Australia/Yancowinna" , 0x062F94 }, + { (char*) "Brazil/Acre" , 0x063855 }, + { (char*) "Brazil/DeNoronha" , 0x063AD5 }, + { (char*) "Brazil/East" , 0x063DAD }, + { (char*) "Brazil/West" , 0x06435D }, + { (char*) "Canada/Atlantic" , 0x0645C5 }, + { (char*) "Canada/Central" , 0x065331 }, + { (char*) "Canada/Eastern" , 0x065E71 }, + { (char*) "Canada/Mountain" , 0x066C23 }, + { (char*) "Canada/Newfoundland" , 0x06754B }, + { (char*) "Canada/Pacific" , 0x06839E }, + { (char*) "Canada/Saskatchewan" , 0x068EF6 }, + { (char*) "Canada/Yukon" , 0x0692D6 }, + { (char*) "CET" , 0x069930 }, + { (char*) "Chile/Continental" , 0x06A16A }, + { (char*) "Chile/EasterIsland" , 0x06AB57 }, + { (char*) "CST6CDT" , 0x06B41C }, + { (char*) "Cuba" , 0x06BD2E }, + { (char*) "EET" , 0x06C6AA }, + { (char*) "Egypt" , 0x06CE2A }, + { (char*) "Eire" , 0x06D5D9 }, + { (char*) "EST" , 0x06E389 }, + { (char*) "EST5EDT" , 0x06E407 }, + { (char*) "Etc/GMT" , 0x06ED19 }, + { (char*) "Etc/GMT+0" , 0x06ED97 }, + { (char*) "Etc/GMT+1" , 0x06EE15 }, + { (char*) "Etc/GMT+10" , 0x06EE95 }, + { (char*) "Etc/GMT+11" , 0x06EF16 }, + { (char*) "Etc/GMT+12" , 0x06EF97 }, + { (char*) "Etc/GMT+2" , 0x06F018 }, + { (char*) "Etc/GMT+3" , 0x06F098 }, + { (char*) "Etc/GMT+4" , 0x06F118 }, + { (char*) "Etc/GMT+5" , 0x06F198 }, + { (char*) "Etc/GMT+6" , 0x06F218 }, + { (char*) "Etc/GMT+7" , 0x06F298 }, + { (char*) "Etc/GMT+8" , 0x06F318 }, + { (char*) "Etc/GMT+9" , 0x06F398 }, + { (char*) "Etc/GMT-0" , 0x06F418 }, + { (char*) "Etc/GMT-1" , 0x06F496 }, + { (char*) "Etc/GMT-10" , 0x06F517 }, + { (char*) "Etc/GMT-11" , 0x06F599 }, + { (char*) "Etc/GMT-12" , 0x06F61B }, + { (char*) "Etc/GMT-13" , 0x06F69D }, + { (char*) "Etc/GMT-14" , 0x06F71F }, + { (char*) "Etc/GMT-2" , 0x06F7A1 }, + { (char*) "Etc/GMT-3" , 0x06F822 }, + { (char*) "Etc/GMT-4" , 0x06F8A3 }, + { (char*) "Etc/GMT-5" , 0x06F924 }, + { (char*) "Etc/GMT-6" , 0x06F9A5 }, + { (char*) "Etc/GMT-7" , 0x06FA26 }, + { (char*) "Etc/GMT-8" , 0x06FAA7 }, + { (char*) "Etc/GMT-9" , 0x06FB28 }, + { (char*) "Etc/GMT0" , 0x06FBA9 }, + { (char*) "Etc/Greenwich" , 0x06FC27 }, + { (char*) "Etc/UCT" , 0x06FCA5 }, + { (char*) "Etc/Universal" , 0x06FD23 }, + { (char*) "Etc/UTC" , 0x06FDA1 }, + { (char*) "Etc/Zulu" , 0x06FE1F }, + { (char*) "Europe/Amsterdam" , 0x06FE9D }, + { (char*) "Europe/Andorra" , 0x070A07 }, + { (char*) "Europe/Astrakhan" , 0x0710E1 }, + { (char*) "Europe/Athens" , 0x07158C }, + { (char*) "Europe/Belfast" , 0x071E6E }, + { (char*) "Europe/Belgrade" , 0x072CCA }, + { (char*) "Europe/Berlin" , 0x073456 }, + { (char*) "Europe/Bratislava" , 0x073D70 }, + { (char*) "Europe/Brussels" , 0x074679 }, + { (char*) "Europe/Bucharest" , 0x0751FA }, + { (char*) "Europe/Budapest" , 0x075A8E }, + { (char*) "Europe/Busingen" , 0x0763DA }, + { (char*) "Europe/Chisinau" , 0x076B63 }, + { (char*) "Europe/Copenhagen" , 0x0774C5 }, + { (char*) "Europe/Dublin" , 0x077D2A }, + { (char*) "Europe/Gibraltar" , 0x078ADA }, + { (char*) "Europe/Guernsey" , 0x0796E2 }, + { (char*) "Europe/Helsinki" , 0x07A582 }, + { (char*) "Europe/Isle_of_Man" , 0x07ACFA }, + { (char*) "Europe/Istanbul" , 0x07BB46 }, + { (char*) "Europe/Jersey" , 0x07C2ED }, + { (char*) "Europe/Kaliningrad" , 0x07D18D }, + { (char*) "Europe/Kiev" , 0x07D782 }, + { (char*) "Europe/Kirov" , 0x07DFD6 }, + { (char*) "Europe/Kyiv" , 0x07E471 }, + { (char*) "Europe/Lisbon" , 0x07ECD9 }, + { (char*) "Europe/Ljubljana" , 0x07FAA1 }, + { (char*) "Europe/London" , 0x08022D }, + { (char*) "Europe/Luxembourg" , 0x081089 }, + { (char*) "Europe/Madrid" , 0x081C17 }, + { (char*) "Europe/Malta" , 0x082669 }, + { (char*) "Europe/Mariehamn" , 0x0830B1 }, + { (char*) "Europe/Minsk" , 0x083829 }, + { (char*) "Europe/Monaco" , 0x083D5E }, + { (char*) "Europe/Moscow" , 0x0848EA }, + { (char*) "Europe/Nicosia" , 0x084F09 }, + { (char*) "Europe/Oslo" , 0x0856E7 }, + { (char*) "Europe/Paris" , 0x085FA7 }, + { (char*) "Europe/Podgorica" , 0x086B45 }, + { (char*) "Europe/Prague" , 0x0872D1 }, + { (char*) "Europe/Riga" , 0x087BDA }, + { (char*) "Europe/Rome" , 0x08847C }, + { (char*) "Europe/Samara" , 0x088ED9 }, + { (char*) "Europe/San_Marino" , 0x0893BD }, + { (char*) "Europe/Sarajevo" , 0x089E1A }, + { (char*) "Europe/Saratov" , 0x08A5A6 }, + { (char*) "Europe/Simferopol" , 0x08AA61 }, + { (char*) "Europe/Skopje" , 0x08B030 }, + { (char*) "Europe/Sofia" , 0x08B7BC }, + { (char*) "Europe/Stockholm" , 0x08BFE5 }, + { (char*) "Europe/Tallinn" , 0x08C766 }, + { (char*) "Europe/Tirane" , 0x08CFD6 }, + { (char*) "Europe/Tiraspol" , 0x08D806 }, + { (char*) "Europe/Ulyanovsk" , 0x08E168 }, + { (char*) "Europe/Uzhgorod" , 0x08E679 }, + { (char*) "Europe/Vaduz" , 0x08EEA5 }, + { (char*) "Europe/Vatican" , 0x08F611 }, + { (char*) "Europe/Vienna" , 0x09006E }, + { (char*) "Europe/Vilnius" , 0x090912 }, + { (char*) "Europe/Volgograd" , 0x091190 }, + { (char*) "Europe/Warsaw" , 0x09163B }, + { (char*) "Europe/Zagreb" , 0x0920A5 }, + { (char*) "Europe/Zaporozhye" , 0x092831 }, + { (char*) "Europe/Zurich" , 0x0930B2 }, + { (char*) "Factory" , 0x093833 }, + { (char*) "GB" , 0x0938B3 }, + { (char*) "GB-Eire" , 0x09470F }, + { (char*) "GMT" , 0x09556B }, + { (char*) "GMT+0" , 0x0955E9 }, + { (char*) "GMT-0" , 0x095667 }, + { (char*) "GMT0" , 0x0956E5 }, + { (char*) "Greenwich" , 0x095763 }, + { (char*) "Hongkong" , 0x0957E1 }, + { (char*) "HST" , 0x095CBE }, + { (char*) "Iceland" , 0x095D3D }, + { (char*) "Indian/Antananarivo" , 0x0961D3 }, + { (char*) "Indian/Chagos" , 0x0962BA }, + { (char*) "Indian/Christmas" , 0x09638D }, + { (char*) "Indian/Cocos" , 0x09643E }, + { (char*) "Indian/Comoro" , 0x0964F8 }, + { (char*) "Indian/Kerguelen" , 0x096599 }, + { (char*) "Indian/Mahe" , 0x09664A }, + { (char*) "Indian/Maldives" , 0x0966FB }, + { (char*) "Indian/Mauritius" , 0x0967CE }, + { (char*) "Indian/Mayotte" , 0x0968CB }, + { (char*) "Indian/Reunion" , 0x09696C }, + { (char*) "Iran" , 0x096A1D }, + { (char*) "Israel" , 0x096F17 }, + { (char*) "Jamaica" , 0x097877 }, + { (char*) "Japan" , 0x097A65 }, + { (char*) "Kwajalein" , 0x097BA6 }, + { (char*) "Libya" , 0x097CEE }, + { (char*) "MET" , 0x097F6B }, + { (char*) "Mexico/BajaNorte" , 0x0987A5 }, + { (char*) "Mexico/BajaSur" , 0x0990D7 }, + { (char*) "Mexico/General" , 0x0996D9 }, + { (char*) "MST" , 0x099D15 }, + { (char*) "MST7MDT" , 0x099D93 }, + { (char*) "Navajo" , 0x09A6A5 }, + { (char*) "NZ" , 0x09B03D }, + { (char*) "NZ-CHAT" , 0x09B9CE }, + { (char*) "Pacific/Apia" , 0x09C1EE }, + { (char*) "Pacific/Auckland" , 0x09C45E }, + { (char*) "Pacific/Bougainville" , 0x09CE07 }, + { (char*) "Pacific/Chatham" , 0x09CF2B }, + { (char*) "Pacific/Chuuk" , 0x09D75A }, + { (char*) "Pacific/Easter" , 0x09D882 }, + { (char*) "Pacific/Efate" , 0x09E154 }, + { (char*) "Pacific/Enderbury" , 0x09E37A }, + { (char*) "Pacific/Fakaofo" , 0x09E470 }, + { (char*) "Pacific/Fiji" , 0x09E544 }, + { (char*) "Pacific/Funafuti" , 0x09E969 }, + { (char*) "Pacific/Galapagos" , 0x09EA1B }, + { (char*) "Pacific/Gambier" , 0x09EB26 }, + { (char*) "Pacific/Guadalcanal" , 0x09EBE5 }, + { (char*) "Pacific/Guam" , 0x09EC97 }, + { (char*) "Pacific/Honolulu" , 0x09EE91 }, + { (char*) "Pacific/Johnston" , 0x09EFEC }, + { (char*) "Pacific/Kanton" , 0x09F141 }, + { (char*) "Pacific/Kiritimati" , 0x09F246 }, + { (char*) "Pacific/Kosrae" , 0x09F34C }, + { (char*) "Pacific/Kwajalein" , 0x09F4BD }, + { (char*) "Pacific/Majuro" , 0x09F60E }, + { (char*) "Pacific/Marquesas" , 0x09F76D }, + { (char*) "Pacific/Midway" , 0x09F837 }, + { (char*) "Pacific/Nauru" , 0x09F926 }, + { (char*) "Pacific/Niue" , 0x09FA2E }, + { (char*) "Pacific/Norfolk" , 0x09FB05 }, + { (char*) "Pacific/Noumea" , 0x09FE81 }, + { (char*) "Pacific/Pago_Pago" , 0x09FFBD }, + { (char*) "Pacific/Palau" , 0x0A0078 }, + { (char*) "Pacific/Pitcairn" , 0x0A0138 }, + { (char*) "Pacific/Pohnpei" , 0x0A020E }, + { (char*) "Pacific/Ponape" , 0x0A0357 }, + { (char*) "Pacific/Port_Moresby" , 0x0A0492 }, + { (char*) "Pacific/Rarotonga" , 0x0A0575 }, + { (char*) "Pacific/Saipan" , 0x0A07DC }, + { (char*) "Pacific/Samoa" , 0x0A08D4 }, + { (char*) "Pacific/Tahiti" , 0x0A098F }, + { (char*) "Pacific/Tarawa" , 0x0A0A4F }, + { (char*) "Pacific/Tongatapu" , 0x0A0B10 }, + { (char*) "Pacific/Truk" , 0x0A0C90 }, + { (char*) "Pacific/Wake" , 0x0A0DA9 }, + { (char*) "Pacific/Wallis" , 0x0A0E66 }, + { (char*) "Pacific/Yap" , 0x0A0F18 }, + { (char*) "Poland" , 0x0A1031 }, + { (char*) "Portugal" , 0x0A1A9B }, + { (char*) "PRC" , 0x0A2850 }, + { (char*) "PST8PDT" , 0x0A2A8D }, + { (char*) "ROC" , 0x0A339F }, + { (char*) "ROK" , 0x0A36A4 }, + { (char*) "Singapore" , 0x0A3919 }, + { (char*) "Turkey" , 0x0A3AA4 }, + { (char*) "UCT" , 0x0A424B }, + { (char*) "Universal" , 0x0A42C9 }, + { (char*) "US/Alaska" , 0x0A4347 }, + { (char*) "US/Aleutian" , 0x0A4C96 }, + { (char*) "US/Arizona" , 0x0A55D6 }, + { (char*) "US/Central" , 0x0A572A }, + { (char*) "US/East-Indiana" , 0x0A652E }, + { (char*) "US/Eastern" , 0x0A6BBC }, + { (char*) "US/Hawaii" , 0x0A79A8 }, + { (char*) "US/Indiana-Starke" , 0x0A7AFD }, + { (char*) "US/Michigan" , 0x0A8485 }, + { (char*) "US/Mountain" , 0x0A8D47 }, + { (char*) "US/Pacific" , 0x0A96DF }, + { (char*) "US/Samoa" , 0x0AA1FF }, + { (char*) "UTC" , 0x0AA2BA }, + { (char*) "W-SU" , 0x0AA338 }, + { (char*) "WET" , 0x0AA943 }, + { (char*) "Zulu" , 0x0AB0C0 }, }; -const unsigned char timelib_timezone_db_data_builtin[703832] = { +const unsigned char timelib_timezone_db_data_builtin[700734] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24043,34 +23854,86 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Accra */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, +0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x9A, 0x1D, 0x94, 0x34, +0xA1, 0xC0, 0xB4, 0x80, 0xA1, 0xF2, 0xE4, 0xF0, 0xA3, 0x34, 0x97, 0xA0, 0xA3, 0xD5, 0x69, 0xF0, +0xA5, 0x15, 0xCB, 0x20, 0xA5, 0xB6, 0x9D, 0x70, 0xA6, 0xF6, 0xFE, 0xA0, 0xA7, 0x97, 0xD0, 0xF0, +0xA8, 0xD8, 0x32, 0x20, 0xA9, 0x79, 0x04, 0x70, 0xAA, 0xBA, 0xB7, 0x20, 0xAB, 0x5B, 0x89, 0x70, +0xAC, 0x9B, 0xEA, 0xA0, 0xAD, 0x3C, 0xBC, 0xF0, 0xAE, 0x7D, 0x1E, 0x20, 0xAF, 0x1D, 0xF0, 0x70, +0xB0, 0x5E, 0x51, 0xA0, 0xB0, 0xFF, 0x23, 0xF0, 0xB2, 0x40, 0xD6, 0xA0, 0xB2, 0xE1, 0xA8, 0xF0, +0xB4, 0x22, 0x0A, 0x20, 0xB4, 0xC2, 0xDC, 0x70, 0xB6, 0x03, 0x3D, 0xA0, 0xB6, 0xA4, 0x0F, 0xF0, +0xB7, 0xE4, 0x71, 0x20, 0xB8, 0x85, 0x43, 0x70, 0xB9, 0xC6, 0xF6, 0x20, 0xBA, 0x67, 0xC8, 0x70, +0xBB, 0xA8, 0x29, 0xA0, 0xBC, 0x48, 0xFB, 0xF0, 0xBD, 0x89, 0x5D, 0x20, 0xBE, 0x2A, 0x2F, 0x70, +0xBF, 0x6A, 0x90, 0xA0, 0xC0, 0x0B, 0x62, 0xF0, 0xC1, 0x4D, 0x15, 0xA0, 0xC1, 0xED, 0xE7, 0xF0, +0xC3, 0x2E, 0x49, 0x20, 0xC3, 0xCF, 0x1B, 0x70, 0xC5, 0x0F, 0x7C, 0xA0, 0xC5, 0xB0, 0x4E, 0xF0, +0xC6, 0xF0, 0xB0, 0x20, 0xC7, 0x91, 0x82, 0x70, 0xC8, 0x31, 0x0C, 0xA0, 0xC9, 0x74, 0x07, 0x70, +0xCA, 0x12, 0x40, 0x20, 0xCB, 0x55, 0x3A, 0xF0, 0xCB, 0x87, 0x3C, 0x80, 0xD2, 0xE1, 0xD3, 0x78, +0xDB, 0xA1, 0xDB, 0x20, 0xDC, 0x42, 0xAB, 0x18, 0xDD, 0x83, 0x0E, 0xA0, 0xDE, 0x23, 0xDE, 0x98, +0xDF, 0x65, 0x93, 0xA0, 0xE0, 0x06, 0x63, 0x98, 0xE1, 0x46, 0xC7, 0x20, 0xE1, 0xE7, 0x97, 0x18, +0xE3, 0x27, 0xFA, 0xA0, 0xE3, 0xC8, 0xCA, 0x98, 0xE5, 0x09, 0x2E, 0x20, 0xE5, 0xA9, 0xFE, 0x18, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, +0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, +0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x08, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, +0x30, 0x30, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, +0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x1D, 0x94, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC0, 0xB4, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x97, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x69, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x15, 0xCB, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0x9D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xF6, 0xFE, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x97, 0xD0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xD8, 0x32, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x79, 0x04, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xBA, 0xB7, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x5B, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0x9B, 0xEA, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0x3C, 0xBC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x7D, 0x1E, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x1D, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x51, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0x23, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x40, 0xD6, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xE1, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x0A, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0xDC, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x3D, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA4, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x71, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x85, 0x43, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC6, 0xF6, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0xC8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x29, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x48, 0xFB, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x5D, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x90, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0B, 0x62, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x15, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xE7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x49, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xCF, 0x1B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x7C, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0xB0, 0x4E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xB0, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x91, 0x82, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x31, 0x0C, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x74, 0x07, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x12, 0x40, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x55, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x87, 0x3C, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xE1, 0xD3, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xA1, 0xDB, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xAB, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x83, 0x0E, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x23, 0xDE, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x93, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x63, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x46, 0xC7, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xE7, 0x97, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x27, 0xFA, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xC8, 0xCA, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x09, 0x2E, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xFE, 0x18, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, +0x07, 0x08, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, +0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, 0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, /* Africa/Addis_Ababa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, +0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, 0x00, 0x04, 0x00, +0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, 0x41, +0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Algiers */ @@ -24125,86 +23988,80 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Asmara */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, 0x01, 0x4D, 0xFD, -0x4D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, +0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, +0x00, 0x00, 0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, +0x01, 0x4D, 0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, /* Africa/Asmera */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, +0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, +0x00, 0x00, 0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Bamako */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, /* Africa/Bangui */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x7D, 0x14, +0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, -0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x7D, 0x14, 0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, +0x00, /* Africa/Banjul */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x9E, 0x1C, +0xBA, 0xDE, 0x67, 0x9C, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, +0x00, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x67, 0x9C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x00, +0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, +0x00, 0x00, 0x00, 0x00, /* Africa/Bissau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24224,43 +24081,41 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Blantyre */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0x12, 0x2C, 0x30, +0x97, 0x97, 0x73, 0xEA, 0xAC, 0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x16, 0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0x12, 0x2C, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x97, 0x73, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, +0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x16, +0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, +0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, +0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, /* Africa/Brazzaville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x80, 0x2C, +0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, -0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x2C, 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, +0x00, /* Africa/Bujumbura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xBF, 0xF8, 0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 0x00, 0x00, 0x00, 0x00, @@ -24679,86 +24534,76 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Conakry */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9B, 0x5C, +0xBC, 0x92, 0xB8, 0x80, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x9B, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, /* Africa/Dakar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9E, 0xD8, +0xCA, 0x3B, 0x10, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3B, 0x10, 0x90, +0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, +0x00, 0x00, /* Africa/Dar_es_Salaam */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xB6, 0xA3, 0xD3, 0xAC, +0xD6, 0x9D, 0x7F, 0xD0, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, -0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, +0xFF, 0xB6, 0xA3, 0xD3, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, +0x00, /* Africa/Djibouti */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD2, 0x0C, +0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, -0xF8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD2, 0x0C, 0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, +0x00, /* Africa/Douala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x85, 0x68, +0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, -0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0x68, 0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, +0x00, /* Africa/El_Aaiun */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24910,38 +24755,65 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Freetown */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x80, 0x00, 0x00, 0x00, +0x95, 0xB7, 0xBF, 0x6C, 0xBA, 0x3E, 0xE0, 0x90, 0xBA, 0xDE, 0x61, 0x60, 0xBB, 0xA8, 0x1B, 0x90, +0xBC, 0xBF, 0x94, 0xE0, 0xBD, 0x89, 0x4F, 0x10, 0xBE, 0xA0, 0xC8, 0x60, 0xBF, 0x6A, 0x82, 0x90, +0xC0, 0x83, 0x4D, 0x60, 0xC1, 0x4D, 0x07, 0x90, 0xC2, 0x64, 0x80, 0xE0, 0xC3, 0x2E, 0x3B, 0x10, +0xC4, 0x45, 0xB4, 0x60, 0xC5, 0x0F, 0x6E, 0x90, 0xC6, 0x77, 0x53, 0x60, 0xC6, 0xF0, 0xA2, 0x10, +0xC6, 0xF5, 0xE3, 0x60, 0xCB, 0x34, 0x3C, 0x10, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x04, +0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, 0xFF, 0xFF, 0xF6, 0xA0, +0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x12, 0x4C, 0x4D, +0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, 0x2D, 0x30, 0x31, 0x00, +0x2B, 0x30, 0x31, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, +0xFF, 0xFF, 0xFF, 0xFF, 0x5A, 0x7A, 0xA8, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xB7, 0xBF, 0x6C, +0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x3E, 0xE0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x61, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x1B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xBF, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x4F, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xA0, 0xC8, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x82, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x83, 0x4D, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x07, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x64, 0x80, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x3B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x45, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x6E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x77, 0x53, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF5, 0xE3, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x34, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, +0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x04, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, +0xFF, 0xFF, 0xF6, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, +0x01, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, +0x2D, 0x30, 0x31, 0x00, 0x2B, 0x30, 0x31, 0x00, 0x0A, 0x58, 0x58, 0x58, 0x2D, 0x30, 0x3A, 0x34, +0x30, 0x3C, 0x2B, 0x30, 0x31, 0x3E, 0x2D, 0x30, 0x3A, 0x32, 0x30, 0x2C, 0x30, 0x2F, 0x30, 0x2C, +0x4A, 0x33, 0x36, 0x35, 0x2F, 0x32, 0x33, 0x3A, 0x34, 0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, +0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, /* Africa/Gaborone */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x80, 0x00, 0x00, 0x00, +0x82, 0x46, 0xCF, 0x68, 0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x03, 0x02, +0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, +0x00, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x1F, 0x70, 0x34, 0xFF, 0xFF, +0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x03, 0x02, 0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, +0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x43, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, +0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, /* Africa/Harare */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC7, 0x64, +0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x64, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 0x68, 0x00, 0x00, 0x00, 0x00, @@ -25014,22 +24886,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kampala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, -0x42, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xB1, 0xEE, 0xDF, 0x1C, +0xB4, 0xC2, 0x9A, 0xD0, 0xD6, 0x9D, 0x86, 0xD8, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, 0x03, 0x01, +0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, +0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x32, 0x34, +0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, +0xFF, 0xFF, 0xB1, 0xEE, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0x9A, 0xD0, 0xFF, 0xFF, +0xFF, 0xFF, 0xD6, 0x9D, 0x86, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, +0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, +0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, +0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, +0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, /* Africa/Khartoum */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25080,12 +24951,12 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kigali */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xBE, 0xF1, 0x0E, 0x50, +0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF1, 0x0E, 0x50, 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 0x4A, 0x00, 0x00, 0x00, 0x00, @@ -25093,22 +24964,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kinshasa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, -0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, -0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x2C, 0xA8, 0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, +0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, +0x6E, 0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* Africa/Lagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25131,75 +24996,69 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Libreville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x85, 0xA4, +0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, -0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0xA4, 0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, +0x00, /* Africa/Lome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x2B, 0xC6, 0x5C, 0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2, 0x00, 0x00, 0x00, 0x00, /* Africa/Luanda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0x80, 0x70, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, +0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x49, 0x36, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, +0x80, 0x70, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x01, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Africa/Lubumbashi */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xA2, 0x8A, 0x5B, 0xF0, 0x01, 0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, 0x00, -0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, -0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x21, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x8A, 0x5B, 0xF0, +0x01, 0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, +0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, +0x00, 0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, +0x43, 0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, /* Africa/Lusaka */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC9, 0xFC, +0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC9, 0xFC, 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 0xAD, 0x00, 0x00, 0x00, 0x00, @@ -25207,20 +25066,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Malabo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x86, 0x44, +0xF4, 0x9F, 0xBE, 0x80, 0x01, 0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, -0x20, 0x0F, 0x7D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x86, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x9F, 0xBE, 0x80, +0x01, 0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, +0x00, 0x00, 0x00, /* Africa/Maputo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25238,60 +25094,47 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Maseru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, -0x82, 0x46, 0xCF, 0x68, 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, -0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, -0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xCA, 0xB8, +0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, -0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, -0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, 0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCA, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, +0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, +0xC8, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, +0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, +0x00, 0x5C, 0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Mbabane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, -0x82, 0x46, 0xCF, 0x68, 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, -0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, -0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xC7, 0x58, +0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, -0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, -0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, +0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x58, 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, +0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, /* Africa/Mogadishu */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x80, 0x00, 0x00, 0x00, +0xB6, 0xA3, 0xCE, 0x50, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, -0xDA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, +0xFF, 0x70, 0xBC, 0x64, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xCE, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, +0x00, /* Africa/Monrovia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25348,43 +25191,45 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Niamey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x8C, 0x84, +0xBC, 0x92, 0xC6, 0x90, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, +0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, +0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, -0x15, 0xE3, 0x52, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xC6, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, +0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, +0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, +0x52, 0x00, 0x00, 0x00, 0x00, /* Africa/Nouakchott */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9D, 0x74, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x9D, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, /* Africa/Ouagadougou */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x8F, 0xEC, +0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8F, 0xEC, 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 0x0D, 0x00, 0x00, 0x00, 0x00, @@ -25392,20 +25237,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Porto-Novo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x8C, 0x0C, +0xBC, 0x92, 0xB8, 0x80, 0x01, 0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, -0x16, 0xA6, 0xA2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, +0x01, 0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, +0x00, 0x00, 0x00, /* Africa/Sao_Tome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25429,15 +25271,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Timbuktu */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Tripoli */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25897,39 +25742,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Anguilla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x35, 0x20, +0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x35, 0x20, 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, + /* America/Antigua */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x93, 0x37, 0x33, 0xF0, +0xDC, 0x42, 0xDC, 0x50, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xDC, 0x50, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, @@ -26926,22 +26761,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Aruba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2F, 0x38, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2F, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, +0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, /* America/Asuncion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27076,20 +26907,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Atikokan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, -0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, -0x00, 0x21, 0x45, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, -0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, -0x20, 0x48, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0xA1, 0x80, 0x9F, 0xBA, 0xF9, 0x70, 0xC8, 0xF8, 0x57, 0x60, 0xCB, 0x88, 0xFE, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, +0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, +0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xB8, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, +0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, +0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, +0x04, 0x05, 0xFF, 0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, +0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, 0x21, 0x45, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, +0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, 0x48, 0x29, /* America/Atka */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27589,23 +27429,27 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Blanc-Sablon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, -0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, -0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, 0x65, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0x85, 0x60, 0x9F, 0xBA, 0xDD, 0x50, 0xCB, 0x88, 0xE2, 0x60, 0xD2, 0x23, 0xF4, 0x70, +0xD2, 0x60, 0xED, 0xD0, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, +0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, +0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, +0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x39, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, +0x85, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xDD, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, +0xE2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, +0xED, 0xD0, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, 0xFF, 0xFF, +0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, +0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, +0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, +0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, +0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, +0x65, 0x29, /* America/Boa_Vista */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28290,14 +28134,14 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, +0x93, 0x0F, 0xB4, 0xFE, 0x01, 0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, +0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x27, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x0F, 0xB4, 0xFE, +0x01, 0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, 0x00, 0x04, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 0x22, 0x00, 0x00, 0x00, 0x00, @@ -28629,18 +28473,27 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, -0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0xA1, 0x80, 0x9F, 0xBA, 0xF9, 0x70, 0xC8, 0xF8, 0x57, 0x60, 0xCB, 0x88, 0xFE, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, +0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, +0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xB8, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, +0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, +0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, +0x04, 0x05, 0xFF, 0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, +0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Cordoba */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28739,27 +28592,19 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Creston */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0x9E, 0xA6, 0x3A, 0x90, 0x9F, 0xBB, 0x07, 0x80, 0xA0, 0x86, 0x1C, 0x90, 0xA1, 0x9A, 0xE9, 0x80, -0xCB, 0x89, 0x0C, 0x90, 0xCF, 0x17, 0xDF, 0x1C, 0xCF, 0x8F, 0xE5, 0xAC, 0xD0, 0x81, 0x1A, 0x1C, -0xFA, 0xF8, 0x75, 0x10, 0xFB, 0xE8, 0x58, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, -0x02, 0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, -0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x9B, 0xD6, 0x4B, 0x70, 0x9E, 0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, +0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, +0x90, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x04, 0x0C, 0xB0, 0xFF, -0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x3A, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBB, 0x07, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x1C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xE9, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0xDF, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x8F, 0xE5, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x81, 0x1A, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x75, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x58, 0x00, 0x02, -0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, -0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, -0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, -0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, -0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, +0x3D, 0x70, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x4B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, +0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, +0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, /* America/Cuiaba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28855,22 +28700,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Curacao */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, +0x5F, 0x60, 0x00, 0x00, 0x00, 0x00, /* America/Danmarkshavn */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -29092,7 +28933,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xE4, 0x86, 0x9A, 0x00, 0x5B, +0x00, 0x00, 0x01, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xDE, 0x6C, 0x1A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x43, 0x72, 0x2C, 0x20, 0x46, 0x74, 0x20, 0x53, 0x74, 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x29, @@ -29400,22 +29241,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Dominica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x4C, +0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x4C, 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, + /* America/Edmonton */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30671,41 +30506,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Grenada */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x64, +0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x64, 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, + /* America/Guadeloupe */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xD5, 0xE1, 0xB0, +0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xD5, 0xE1, 0xB0, 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, + /* America/Guatemala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33205,22 +33028,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Kralendijk */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, +0x79, 0xED, 0x00, 0x00, 0x00, 0x00, /* America/La_Paz */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33629,22 +33448,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Lower_Princes */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, +0x74, 0xAD, 0x00, 0x00, 0x00, 0x00, /* America/Maceio */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33771,22 +33586,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Marigot */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, + /* America/Martinique */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -35236,249 +35045,174 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Montserrat */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x35, 0x10, +0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x35, 0x10, 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, + /* America/Nassau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, -0x9E, 0xB8, 0x93, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x87, 0x2E, 0xC8, 0xA1, 0x9A, 0xB1, 0x40, -0xA2, 0x94, 0x06, 0xF0, 0xA3, 0x55, 0xA9, 0x40, 0xA4, 0x86, 0x5D, 0xF0, 0xA5, 0x28, 0x78, 0x60, -0xA6, 0x66, 0x3F, 0xF0, 0xA7, 0x0C, 0x4E, 0xE0, 0xA8, 0x46, 0x21, 0xF0, 0xA8, 0xEC, 0x30, 0xE0, -0xAA, 0x1C, 0xC9, 0x70, 0xAA, 0xD5, 0x4D, 0x60, 0xAB, 0xFC, 0xAB, 0x70, 0xAC, 0xB5, 0x2F, 0x60, -0xAD, 0xDC, 0x8D, 0x70, 0xAE, 0x95, 0x11, 0x60, 0xAF, 0xBC, 0x6F, 0x70, 0xB0, 0x7E, 0x2D, 0xE0, -0xB1, 0x9C, 0x51, 0x70, 0xB2, 0x67, 0x4A, 0x60, 0xB3, 0x7C, 0x33, 0x70, 0xB4, 0x47, 0x2C, 0x60, -0xB5, 0x5C, 0x15, 0x70, 0xB6, 0x27, 0x0E, 0x60, 0xB7, 0x3B, 0xF7, 0x70, 0xB8, 0x06, 0xF0, 0x60, -0xB9, 0x25, 0x13, 0xF0, 0xB9, 0xE6, 0xD2, 0x60, 0xBB, 0x04, 0xF5, 0xF0, 0xBB, 0xCF, 0xEE, 0xE0, -0xBC, 0xE4, 0xD7, 0xF0, 0xBD, 0xAF, 0xD0, 0xE0, 0xBE, 0xC4, 0xB9, 0xF0, 0xBF, 0x8F, 0xB2, 0xE0, -0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, -0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, -0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, -0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, -0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, -0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, -0xE6, 0x47, 0x2D, 0xF0, 0xE7, 0x12, 0x26, 0xE0, 0xE8, 0x27, 0x0F, 0xF0, 0xE9, 0x16, 0xF2, 0xE0, -0xEA, 0x06, 0xF1, 0xF0, 0xEA, 0xF6, 0xD4, 0xE0, 0xEB, 0xE6, 0xD3, 0xF0, 0xEC, 0xD6, 0xB6, 0xE0, -0xED, 0xC6, 0xB5, 0xF0, 0xEE, 0xBF, 0xD3, 0x60, 0xEF, 0xAF, 0xD2, 0x70, 0xF0, 0x9F, 0xB5, 0x60, -0xF1, 0x8F, 0xB4, 0x70, 0xF2, 0x7F, 0x97, 0x60, 0xF3, 0x6F, 0x96, 0x70, 0xF4, 0x5F, 0x79, 0x60, -0xF5, 0x4F, 0x78, 0x70, 0xF6, 0x3F, 0x5B, 0x60, 0xF7, 0x2F, 0x5A, 0x70, 0xF8, 0x28, 0x77, 0xE0, -0xF9, 0x0F, 0x3C, 0x70, 0xFA, 0x08, 0x59, 0xE0, 0xFA, 0xF8, 0x58, 0xF0, 0xFB, 0xE8, 0x3B, 0xE0, -0xFC, 0xD8, 0x3A, 0xF0, 0xFD, 0xC8, 0x1D, 0xE0, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x97, 0xFE, 0xF0, 0x01, 0x87, 0xE1, 0xE0, 0x02, 0x77, 0xE0, 0xF0, 0x03, 0x70, 0xFE, 0x60, -0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, 0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, -0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, 0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, -0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, 0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, -0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, 0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, -0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, -0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, -0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, -0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, -0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, -0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, -0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, -0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, -0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, -0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, -0x38, 0xE6, 0xEF, 0xF0, 0x39, 0xFB, 0xBC, 0xE0, 0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, -0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, -0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, -0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, -0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, -0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, -0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, -0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, -0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, -0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, -0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, -0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, -0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, -0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, -0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, -0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, -0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, -0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, -0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x94, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, -0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x78, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x87, 0x2E, -0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xB1, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x94, 0x06, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x55, 0xA9, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x86, 0x5D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x28, 0x78, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x66, 0x3F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x0C, 0x4E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x46, 0x21, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEC, 0x30, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x1C, 0xC9, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x4D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFC, 0xAB, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xB5, 0x2F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xDC, 0x8D, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x95, 0x11, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xBC, 0x6F, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x25, 0x13, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xCF, 0xEE, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x29, 0x0A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x12, 0x26, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, -0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, -0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, -0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, -0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, -0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, -0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, -0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, -0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, -0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, -0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, -0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, -0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, -0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, -0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, -0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, -0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, -0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, -0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, -0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, -0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, -0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, -0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, -0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, -0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, -0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x93, 0x37, 0x42, 0x8A, +0xCB, 0xF4, 0xEF, 0x50, 0xD0, 0xFA, 0x47, 0xC0, 0xD1, 0x23, 0x34, 0x50, 0xD2, 0x23, 0xF4, 0x70, +0xD2, 0x78, 0x9A, 0xC0, 0xF5, 0x4F, 0x78, 0x70, 0xF6, 0x3F, 0x5B, 0x60, 0xF7, 0x2F, 0x5A, 0x70, +0xF8, 0x28, 0x77, 0xE0, 0xF9, 0x0F, 0x3C, 0x70, 0xFA, 0x08, 0x59, 0xE0, 0xFA, 0xF8, 0x58, 0xF0, +0xFB, 0xE8, 0x3B, 0xE0, 0xFC, 0xD8, 0x3A, 0xF0, 0xFD, 0xC8, 0x1D, 0xE0, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x97, 0xFE, 0xF0, 0x01, 0x87, 0xE1, 0xE0, 0x02, 0x77, 0xE0, 0xF0, +0x03, 0x70, 0xFE, 0x60, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, 0x06, 0x40, 0xDF, 0x70, +0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, 0x0A, 0x00, 0xA3, 0x70, +0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, 0x0D, 0xC0, 0x67, 0x70, +0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, 0x11, 0x89, 0x65, 0xF0, +0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, +0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, +0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, +0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, +0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, +0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, +0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, +0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, +0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, +0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, +0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xEF, 0xF0, 0x39, 0xFB, 0xBC, 0xE0, 0x3A, 0xC6, 0xD1, 0xF0, +0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, +0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, +0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, +0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, +0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, +0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, +0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, +0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, +0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, +0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, +0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, +0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, +0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, +0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, +0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, +0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, +0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, +0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, +0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, +0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x42, 0x8A, 0xFF, 0xFF, +0xFF, 0xFF, 0xCB, 0xF4, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xFA, 0x47, 0xC0, 0xFF, 0xFF, +0xFF, 0xFF, 0xD1, 0x23, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xD2, 0x78, 0x9A, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, +0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, +0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, +0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, +0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, +0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, +0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, +0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, +0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, +0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, +0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, +0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, +0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, +0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, +0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, +0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, +0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, +0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, +0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, +0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, +0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, +0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, +0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0xFF, 0xFF, 0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, +0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, +0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, +0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, +0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, 0x00, + /* America/New_York */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x1E, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x86, 0x00, 0x70, 0xA1, 0x9A, 0xCD, 0x60, 0xA2, 0x65, 0xE2, 0x70, 0xA3, 0x83, 0xE9, 0xE0, 0xA4, 0x6A, 0xAE, 0x70, 0xA5, 0x35, 0xA7, 0x60, 0xA6, 0x53, 0xCA, 0xF0, 0xA7, 0x15, 0x89, 0x60, 0xA8, 0x33, 0xAC, 0xF0, 0xA8, 0xFE, 0xA5, 0xE0, @@ -35537,10 +35271,10 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, -0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, +0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, @@ -35553,149 +35287,150 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, -0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, -0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, -0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, -0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, -0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, -0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, -0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, -0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, -0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, -0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, -0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, -0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, -0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, +0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, +0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, +0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, +0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, +0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, +0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, +0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, +0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, +0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, +0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, +0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, @@ -37013,22 +36748,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Port_of_Spain */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, + /* America/Porto_Acre */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37135,125 +36864,126 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Punta_Arenas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x8F, 0x30, 0x47, 0x45, 0x9B, 0x5C, 0xE5, 0x50, 0x9F, 0x7C, 0xE2, 0xC5, 0xA1, 0x00, 0x71, 0xC0, 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, -0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, -0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, -0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, 0x07, 0xDF, 0xEF, 0xB0, 0x08, 0xFE, 0x13, 0x40, -0x09, 0xBF, 0xD1, 0xB0, 0x0A, 0xDD, 0xF5, 0x40, 0x0B, 0xA8, 0xEE, 0x30, 0x0C, 0xBD, 0xD7, 0x40, -0x0D, 0x88, 0xD0, 0x30, 0x0E, 0x9D, 0xB9, 0x40, 0x0F, 0x68, 0xB2, 0x30, 0x10, 0x86, 0xD5, 0xC0, -0x11, 0x48, 0x94, 0x30, 0x12, 0x66, 0xB7, 0xC0, 0x13, 0x28, 0x76, 0x30, 0x14, 0x46, 0x99, 0xC0, -0x15, 0x11, 0x92, 0xB0, 0x16, 0x26, 0x7B, 0xC0, 0x16, 0xF1, 0x74, 0xB0, 0x18, 0x06, 0x5D, 0xC0, -0x18, 0xD1, 0x56, 0xB0, 0x19, 0xE6, 0x3F, 0xC0, 0x1A, 0xB1, 0x38, 0xB0, 0x1B, 0xCF, 0x5C, 0x40, -0x1C, 0x91, 0x1A, 0xB0, 0x1D, 0xAF, 0x3E, 0x40, 0x1E, 0x70, 0xFC, 0xB0, 0x1F, 0x8F, 0x20, 0x40, -0x20, 0x7F, 0x03, 0x30, 0x21, 0x6F, 0x02, 0x40, 0x22, 0x39, 0xFB, 0x30, 0x23, 0x4E, 0xE4, 0x40, -0x24, 0x19, 0xDD, 0x30, 0x25, 0x38, 0x00, 0xC0, 0x25, 0xF9, 0xBF, 0x30, 0x26, 0xF2, 0xF8, 0xC0, -0x27, 0xD9, 0xA1, 0x30, 0x28, 0xF7, 0xC4, 0xC0, 0x29, 0xC2, 0xBD, 0xB0, 0x2A, 0xD7, 0xA6, 0xC0, -0x2B, 0xA2, 0x9F, 0xB0, 0x2C, 0xB7, 0x88, 0xC0, 0x2D, 0x82, 0x81, 0xB0, 0x2E, 0x97, 0x6A, 0xC0, -0x2F, 0x62, 0x63, 0xB0, 0x30, 0x80, 0x87, 0x40, 0x31, 0x42, 0x45, 0xB0, 0x32, 0x60, 0x69, 0x40, -0x33, 0x3D, 0xD7, 0x30, 0x34, 0x40, 0x4B, 0x40, 0x35, 0x0B, 0x44, 0x30, 0x36, 0x0D, 0xB8, 0x40, -0x37, 0x06, 0xD5, 0xB0, 0x38, 0x00, 0x0F, 0x40, 0x38, 0xCB, 0x08, 0x30, 0x39, 0xE9, 0x2B, 0xC0, -0x3A, 0xAA, 0xEA, 0x30, 0x3B, 0xC9, 0x0D, 0xC0, 0x3C, 0x8A, 0xCC, 0x30, 0x3D, 0xA8, 0xEF, 0xC0, -0x3E, 0x6A, 0xAE, 0x30, 0x3F, 0x88, 0xD1, 0xC0, 0x40, 0x53, 0xCA, 0xB0, 0x41, 0x68, 0xB3, 0xC0, -0x42, 0x33, 0xAC, 0xB0, 0x43, 0x48, 0x95, 0xC0, 0x44, 0x13, 0x8E, 0xB0, 0x45, 0x31, 0xB2, 0x40, -0x45, 0xF3, 0x70, 0xB0, 0x47, 0x11, 0x94, 0x40, 0x47, 0xEF, 0x02, 0x30, 0x48, 0xF1, 0x76, 0x40, -0x49, 0xBC, 0x6F, 0x30, 0x4A, 0xD1, 0x58, 0x40, 0x4B, 0xB8, 0x00, 0xB0, 0x4C, 0xB1, 0x3A, 0x40, -0x4D, 0xC6, 0x07, 0x30, 0x4E, 0x50, 0x82, 0xC0, 0x4F, 0x9C, 0xAE, 0xB0, 0x50, 0x42, 0xD9, 0xC0, -0x51, 0x7C, 0x90, 0xB0, 0x52, 0x2B, 0xF6, 0x40, 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, -0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x58, 0x43, 0x86, 0xB0, 0x7F, 0xFF, 0xFF, 0xFF, -0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, -0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, -0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, -0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xFC, 0xFF, 0xFF, 0xFF, -0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x77, 0x3D, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xB2, 0x41, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x70, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB4, 0x22, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x39, 0xA4, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xB6, 0x03, 0x67, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, -0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, -0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, -0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x11, 0x48, 0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x13, 0x28, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, -0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, -0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, -0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, -0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, -0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, -0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, -0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, -0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, -0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, -0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, -0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, -0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, -0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x58, 0x43, 0x86, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, -0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0xCC, 0x6C, 0xE7, 0xD0, 0xD4, 0x17, 0xE3, 0x40, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, +0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, +0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, +0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, 0x07, 0xDF, 0xEF, 0xB0, +0x08, 0xFE, 0x13, 0x40, 0x09, 0xBF, 0xD1, 0xB0, 0x0A, 0xDD, 0xF5, 0x40, 0x0B, 0xA8, 0xEE, 0x30, +0x0C, 0xBD, 0xD7, 0x40, 0x0D, 0x88, 0xD0, 0x30, 0x0E, 0x9D, 0xB9, 0x40, 0x0F, 0x68, 0xB2, 0x30, +0x10, 0x86, 0xD5, 0xC0, 0x11, 0x48, 0x94, 0x30, 0x12, 0x66, 0xB7, 0xC0, 0x13, 0x28, 0x76, 0x30, +0x14, 0x46, 0x99, 0xC0, 0x15, 0x11, 0x92, 0xB0, 0x16, 0x26, 0x7B, 0xC0, 0x16, 0xF1, 0x74, 0xB0, +0x18, 0x06, 0x5D, 0xC0, 0x18, 0xD1, 0x56, 0xB0, 0x19, 0xE6, 0x3F, 0xC0, 0x1A, 0xB1, 0x38, 0xB0, +0x1B, 0xCF, 0x5C, 0x40, 0x1C, 0x91, 0x1A, 0xB0, 0x1D, 0xAF, 0x3E, 0x40, 0x1E, 0x70, 0xFC, 0xB0, +0x1F, 0x8F, 0x20, 0x40, 0x20, 0x7F, 0x03, 0x30, 0x21, 0x6F, 0x02, 0x40, 0x22, 0x39, 0xFB, 0x30, +0x23, 0x4E, 0xE4, 0x40, 0x24, 0x19, 0xDD, 0x30, 0x25, 0x38, 0x00, 0xC0, 0x25, 0xF9, 0xBF, 0x30, +0x26, 0xF2, 0xF8, 0xC0, 0x27, 0xD9, 0xA1, 0x30, 0x28, 0xF7, 0xC4, 0xC0, 0x29, 0xC2, 0xBD, 0xB0, +0x2A, 0xD7, 0xA6, 0xC0, 0x2B, 0xA2, 0x9F, 0xB0, 0x2C, 0xB7, 0x88, 0xC0, 0x2D, 0x82, 0x81, 0xB0, +0x2E, 0x97, 0x6A, 0xC0, 0x2F, 0x62, 0x63, 0xB0, 0x30, 0x80, 0x87, 0x40, 0x31, 0x42, 0x45, 0xB0, +0x32, 0x60, 0x69, 0x40, 0x33, 0x3D, 0xD7, 0x30, 0x34, 0x40, 0x4B, 0x40, 0x35, 0x0B, 0x44, 0x30, +0x36, 0x0D, 0xB8, 0x40, 0x37, 0x06, 0xD5, 0xB0, 0x38, 0x00, 0x0F, 0x40, 0x38, 0xCB, 0x08, 0x30, +0x39, 0xE9, 0x2B, 0xC0, 0x3A, 0xAA, 0xEA, 0x30, 0x3B, 0xC9, 0x0D, 0xC0, 0x3C, 0x8A, 0xCC, 0x30, +0x3D, 0xA8, 0xEF, 0xC0, 0x3E, 0x6A, 0xAE, 0x30, 0x3F, 0x88, 0xD1, 0xC0, 0x40, 0x53, 0xCA, 0xB0, +0x41, 0x68, 0xB3, 0xC0, 0x42, 0x33, 0xAC, 0xB0, 0x43, 0x48, 0x95, 0xC0, 0x44, 0x13, 0x8E, 0xB0, +0x45, 0x31, 0xB2, 0x40, 0x45, 0xF3, 0x70, 0xB0, 0x47, 0x11, 0x94, 0x40, 0x47, 0xEF, 0x02, 0x30, +0x48, 0xF1, 0x76, 0x40, 0x49, 0xBC, 0x6F, 0x30, 0x4A, 0xD1, 0x58, 0x40, 0x4B, 0xB8, 0x00, 0xB0, +0x4C, 0xB1, 0x3A, 0x40, 0x4D, 0xC6, 0x07, 0x30, 0x4E, 0x50, 0x82, 0xC0, 0x4F, 0x9C, 0xAE, 0xB0, +0x50, 0x42, 0xD9, 0xC0, 0x51, 0x7C, 0x90, 0xB0, 0x52, 0x2B, 0xF6, 0x40, 0x53, 0x5C, 0x72, 0xB0, +0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x58, 0x43, 0x86, 0xB0, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, +0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, +0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, +0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x76, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, +0x1D, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, +0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, +0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x77, +0x3D, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x41, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, +0x70, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x39, +0xA4, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x67, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, +0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, +0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, +0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, +0xE3, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, +0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, +0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, +0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, +0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, +0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDF, +0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0xBF, +0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA8, +0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x88, +0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x68, +0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x48, +0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x28, +0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x11, +0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF1, +0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xD1, +0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xB1, +0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x91, +0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x70, +0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7F, +0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x39, +0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x19, +0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, +0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xD9, +0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, +0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xA2, +0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x82, +0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x62, +0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x42, +0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, +0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0B, +0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x37, 0x06, +0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xCB, +0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xAA, +0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x8A, +0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x6A, +0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x53, +0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x33, +0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x13, +0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, +0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEF, +0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBC, +0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB8, +0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xC6, +0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x9C, +0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x7C, +0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x53, 0x5C, +0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, +0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x43, +0x86, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, -0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, -0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, -0x3A, 0x88, 0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, -0x20, 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x07, +0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, +0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, +0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, +0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, +0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, /* America/Rainy_River */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -38068,7 +37798,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x1B, 0xC9, 0xB0, 0xD5, 0x33, 0x55, 0xC0, +0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x17, 0xD5, 0x30, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, @@ -38095,7 +37825,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -38104,7 +37834,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x76, 0xFA, 0x38, 0xB0, 0x77, 0xC5, 0x4D, 0xC0, 0x78, 0xDA, 0x1A, 0xB0, 0x79, 0xA5, 0x2F, 0xC0, 0x7A, 0xC3, 0x37, 0x30, 0x7B, 0x85, 0x11, 0xC0, 0x7C, 0xA3, 0x19, 0x30, 0x7D, 0x6E, 0x2E, 0x40, 0x7E, 0x82, 0xFB, 0x30, 0x7F, 0x4E, 0x10, 0x40, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -38131,7 +37861,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, +0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, @@ -38186,7 +37916,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, @@ -38202,7 +37932,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x7B, 0x85, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA3, 0x19, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x6E, 0x2E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x4E, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -38784,22 +38514,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/St_Barthelemy */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, + /* America/St_Johns */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39037,77 +38761,57 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/St_Kitts */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x34, 0xCC, +0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x34, 0xCC, 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, + /* America/St_Lucia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0xC7, 0xB0, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xB0, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, /* America/St_Thomas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, +0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, + /* America/St_Vincent */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0xC7, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xE8, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, 0x00, @@ -39787,22 +39491,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Tortola */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x14, +0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x14, 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, + /* America/Vancouver */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39992,22 +39690,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Virgin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, +0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* America/Whitehorse */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40627,18 +40319,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/DumontDUrville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD4, 0xBC, 0x76, 0x80, +0xDE, 0x34, 0x60, 0x60, 0xE7, 0x3C, 0x02, 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, +0x2B, 0x31, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, -0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x5A, 0x08, 0xFF, 0xFF, -0xFF, 0xFF, 0x72, 0xED, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, -0x02, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x8C, -0xA0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, -0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, -0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0xBC, 0x76, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x34, 0x60, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3C, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, +0x2D, 0x30, 0x30, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, +0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, +0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, /* Antarctica/Macquarie */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40804,15 +40496,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/McMurdo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, -0xB0, 0xB4, 0xB2, 0xE8, 0xB1, 0x51, 0x87, 0x58, 0xB2, 0x78, 0xE5, 0x68, 0xB3, 0x43, 0xE5, 0x60, -0xB4, 0x58, 0xC7, 0x68, 0xB5, 0x23, 0xC7, 0x60, 0xB6, 0x38, 0xA9, 0x68, 0xB7, 0x03, 0xA9, 0x60, -0xB8, 0x18, 0x8B, 0x68, 0xB8, 0xEC, 0xC5, 0xE0, 0xB9, 0xF8, 0x6D, 0x68, 0xBA, 0xCC, 0xA7, 0xE0, -0xBB, 0xD8, 0x4F, 0x68, 0xBC, 0xE3, 0xE8, 0xE0, 0xBD, 0xAE, 0xF6, 0xE8, 0xBE, 0xC3, 0xCA, 0xE0, -0xBF, 0x8E, 0xD8, 0xE8, 0xC0, 0xA3, 0xAC, 0xE0, 0xC1, 0x6E, 0xBA, 0xE8, 0xC2, 0x83, 0x8E, 0xE0, -0xC3, 0x4E, 0x9C, 0xE8, 0xC4, 0x63, 0x70, 0xE0, 0xC5, 0x2E, 0x7E, 0xE8, 0xC6, 0x4C, 0x8D, 0x60, -0xC7, 0x0E, 0x60, 0xE8, 0xC8, 0x2C, 0x6F, 0x60, 0xC8, 0xF7, 0x7D, 0x68, 0xD2, 0xDA, 0x9A, 0x40, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xE5, 0xA9, 0xE9, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0, 0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0, 0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0, @@ -40844,121 +40529,100 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x40, 0x92, 0x60, 0x73, 0x39, 0xBD, 0xE0, 0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0, 0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0, 0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, -0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, -0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, -0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, -0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x12, 0x78, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, -0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x23, 0x69, 0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, 0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, 0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, 0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, -0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, -0x00, 0x00, 0x00, 0x00, 0x32, 0x56, 0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x34, 0x36, 0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x36, 0x16, 0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, 0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, 0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, 0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, -0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, 0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x50, 0x66, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x52, 0x46, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0x26, 0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, 0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, 0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, 0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, 0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, 0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, -0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, -0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, 0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, 0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, 0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, 0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, 0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, -0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, -0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, -0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x44, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, -0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, -0x26, 0x4E, 0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, -0x65, 0x20, 0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, -0x74, 0x68, 0x20, 0x50, 0x6F, 0x6C, 0x65, +0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, +0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, +0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, +0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, +0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, +0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x78, +0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, +0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, +0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, +0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, +0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, +0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, +0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, +0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, +0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x69, +0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, +0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, +0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, +0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, +0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, +0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, +0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, +0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, 0x00, 0x00, 0x00, 0x00, 0x32, 0x56, +0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x34, 0x36, +0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x36, 0x16, +0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, +0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, +0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, +0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, +0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, +0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, +0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, +0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, +0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, +0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, +0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, +0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, +0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, +0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x52, 0x46, +0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0x26, +0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, +0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, +0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, +0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, +0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, +0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, +0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, +0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, +0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, +0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, +0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, +0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, +0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, +0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, +0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, +0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, +0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, +0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, +0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, +0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, +0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, +0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, +0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, +0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, +0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, +0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, +0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, +0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, +0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x50, 0x6F, 0x6C, 0x65, /* Antarctica/Palmer */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -41068,15 +40732,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/South_Pole */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, -0xB0, 0xB4, 0xB2, 0xE8, 0xB1, 0x51, 0x87, 0x58, 0xB2, 0x78, 0xE5, 0x68, 0xB3, 0x43, 0xE5, 0x60, -0xB4, 0x58, 0xC7, 0x68, 0xB5, 0x23, 0xC7, 0x60, 0xB6, 0x38, 0xA9, 0x68, 0xB7, 0x03, 0xA9, 0x60, -0xB8, 0x18, 0x8B, 0x68, 0xB8, 0xEC, 0xC5, 0xE0, 0xB9, 0xF8, 0x6D, 0x68, 0xBA, 0xCC, 0xA7, 0xE0, -0xBB, 0xD8, 0x4F, 0x68, 0xBC, 0xE3, 0xE8, 0xE0, 0xBD, 0xAE, 0xF6, 0xE8, 0xBE, 0xC3, 0xCA, 0xE0, -0xBF, 0x8E, 0xD8, 0xE8, 0xC0, 0xA3, 0xAC, 0xE0, 0xC1, 0x6E, 0xBA, 0xE8, 0xC2, 0x83, 0x8E, 0xE0, -0xC3, 0x4E, 0x9C, 0xE8, 0xC4, 0x63, 0x70, 0xE0, 0xC5, 0x2E, 0x7E, 0xE8, 0xC6, 0x4C, 0x8D, 0x60, -0xC7, 0x0E, 0x60, 0xE8, 0xC8, 0x2C, 0x6F, 0x60, 0xC8, 0xF7, 0x7D, 0x68, 0xD2, 0xDA, 0x9A, 0x40, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xE5, 0xA9, 0xE9, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0, 0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0, 0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0, @@ -41108,131 +40765,110 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x40, 0x92, 0x60, 0x73, 0x39, 0xBD, 0xE0, 0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0, 0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0, 0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, -0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, -0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, -0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, -0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x12, 0x78, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, -0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x23, 0x69, 0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, 0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, 0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, 0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, -0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, -0x00, 0x00, 0x00, 0x00, 0x32, 0x56, 0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x34, 0x36, 0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x36, 0x16, 0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, 0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, 0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, 0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, -0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, 0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x50, 0x66, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x52, 0x46, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0x26, 0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, 0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, 0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, 0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, 0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, 0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, -0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, -0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, 0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, 0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, 0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, 0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, 0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, -0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, -0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, -0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x44, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, -0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, +0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, +0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, +0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, +0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, +0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, +0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x78, +0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, +0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, +0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, +0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, +0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, +0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, +0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, +0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, +0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x69, +0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, +0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, +0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, +0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, +0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, +0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, +0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, +0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, 0x00, 0x00, 0x00, 0x00, 0x32, 0x56, +0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x34, 0x36, +0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x36, 0x16, +0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, +0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, +0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, +0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, +0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, +0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, +0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, +0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, +0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, +0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, +0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, +0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, +0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, +0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x52, 0x46, +0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0x26, +0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, +0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, +0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, +0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, +0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, +0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, +0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, +0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, +0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, +0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, +0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, +0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, +0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, +0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, +0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, +0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, +0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, +0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, +0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, +0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, +0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, +0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, +0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, +0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, +0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, +0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, /* Antarctica/Syowa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xE7, 0xB1, 0x58, 0x00, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, -0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xB1, 0x58, 0x00, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 0x11, 0x58, 0x00, 0x00, 0x00, 0x05, 0x53, 0x79, 0x6F, 0x77, 0x61, @@ -41472,13 +41108,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Aden */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x38, 0x56, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x38, 0x56, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x9C, 0xC8, 0xB8, 0x01, 0x57, 0xA0, 0xC0, 0x00, 0x00, 0x00, 0x00, @@ -42100,18 +41736,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Bahrain */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xA1, 0xF2, 0x9D, 0x30, -0x04, 0x8A, 0x92, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x30, 0x50, 0x00, -0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xCA, 0x7B, 0x6C, 0x94, +0xCF, 0x17, 0x59, 0x48, 0x04, 0x8A, 0x92, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x03, +0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, +0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x9D, 0x30, 0x00, 0x00, 0x00, -0x00, 0x04, 0x8A, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, 0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, -0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x7B, 0x6C, 0x94, 0xFF, 0xFF, +0xFF, 0xFF, 0xCF, 0x17, 0x59, 0x48, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x03, 0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, +0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Asia/Baku */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -43527,23 +43165,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x80, +0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, 0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, +0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, -0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x64, -0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, +0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x63, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, @@ -43551,8 +43189,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Hong_Kong */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x48, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, 0xCA, 0x4D, 0x31, 0x30, 0xCA, 0xDB, 0x93, 0x30, 0xCB, 0x4B, 0x71, 0x78, 0xD2, 0xA0, 0xDE, 0x90, 0xD3, 0x6B, 0xD7, 0x80, 0xD4, 0x93, 0x58, 0xB8, 0xD5, 0x42, 0xB0, 0x38, 0xD6, 0x73, 0x3A, 0xB8, 0xD7, 0x3E, 0x41, 0xB8, 0xD8, 0x2E, 0x32, 0xB8, 0xD8, 0xF9, 0x39, 0xB8, 0xDA, 0x0E, 0x14, 0xB8, @@ -43570,62 +43208,64 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x4D, 0xE6, 0xB8, 0x05, 0x47, 0x04, 0x28, 0x06, 0x37, 0x03, 0x38, 0x07, 0x26, 0xE6, 0x28, 0x07, 0x83, 0x3D, 0x38, 0x09, 0x06, 0xC8, 0x28, 0x09, 0xF6, 0xC7, 0x38, 0x0A, 0xE6, 0xAA, 0x28, 0x0B, 0xD6, 0xA9, 0x38, 0x0C, 0xC6, 0x8C, 0x28, 0x11, 0x9B, 0x39, 0x38, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, -0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, -0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, -0x00, 0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, -0x00, 0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x48, 0x4B, 0x54, -0x2D, 0x38, 0x0A, 0x00, 0xAB, 0x54, 0xAD, 0x01, 0xC0, 0xD6, 0x57, 0x00, 0x00, 0x00, 0x00, +0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, +0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, +0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, 0x00, +0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, 0x00, +0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, 0x00, +0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, 0x00, +0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, 0x01, +0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, +0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, +0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, +0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, +0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x48, 0x4B, 0x54, 0x2D, 0x38, +0x0A, 0x00, 0xAB, 0x54, 0xAD, 0x01, 0xC0, 0xD6, 0x57, 0x00, 0x00, 0x00, 0x00, /* Asia/Hovd */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -43899,7 +43539,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Jakarta */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0xA9, 0x78, 0x85, 0xE0, 0xBA, 0x16, 0xDE, 0x60, 0xCB, 0xBF, 0x83, 0x88, 0xD2, 0x56, 0xEE, 0x70, 0xD7, 0x3C, 0xC6, 0x08, 0xDA, 0xFF, 0x26, 0x00, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, @@ -43907,21 +43547,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x67, 0x20, 0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, 0x00, 0x00, 0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x54, 0x5A, -0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x66, -0x49, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x78, 0x85, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x16, -0xDE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBF, 0x83, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x56, -0xEE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3C, 0xC6, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, -0x26, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, -0x03, 0x06, 0x00, 0x00, 0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x64, 0x20, 0x00, 0x04, 0x00, 0x00, -0x67, 0x20, 0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, -0x00, 0x00, 0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, -0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x0A, 0x57, 0x49, 0x42, -0x2D, 0x37, 0x0A, 0x00, 0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x4A, -0x61, 0x76, 0x61, 0x2C, 0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, +0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x66, 0x49, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x78, 0x85, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x16, 0xDE, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBF, 0x83, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x56, 0xEE, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3C, 0xC6, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, 0x26, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x06, +0x00, 0x00, 0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x64, 0x20, 0x00, 0x04, 0x00, 0x00, 0x67, 0x20, +0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, 0x00, 0x00, +0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, +0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, +0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x49, 0x42, 0x2D, 0x37, 0x0A, 0x00, +0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x4A, 0x61, 0x76, 0x61, 0x2C, +0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, /* Asia/Jayapura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44515,13 +44157,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Kuwait */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x35, 0x84, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x35, 0x84, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB6, 0x16, 0x95, 0x01, 0x5B, 0xDF, 0xFD, 0x00, 0x00, 0x00, 0x00, @@ -44818,13 +44460,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Muscat */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4F, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xA1, 0xF2, 0x99, 0xA8, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xA1, 0xF2, 0x96, 0x90, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x99, 0xA8, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x96, 0x90, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x34, 0x3E, 0x2D, 0x34, 0x0A, 0x00, 0xAD, 0x57, 0x00, 0x01, 0x6C, 0x0C, 0x9D, 0x00, 0x00, 0x00, 0x00, @@ -45267,16 +44909,22 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Phnom_Penh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0xA2, 0x6A, 0x67, 0xC4, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x45, 0x24, +0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x02, 0x00, 0x00, 0x62, 0x5C, 0x00, 0x00, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, +0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, +0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, +0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, 0x3C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x45, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, +0x02, 0x03, 0x04, 0x02, 0x02, 0x00, 0x00, 0x62, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, +0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, +0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, +0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x9A, 0xF3, 0xF8, 0x01, 0xB2, 0xBF, 0x92, 0x00, 0x00, 0x00, 0x00, @@ -45515,23 +45163,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Saigon */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x80, +0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, 0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, +0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, -0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x64, -0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, +0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x63, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, @@ -46009,167 +45657,84 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Tehran */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, -0xD2, 0xDB, 0x12, 0xC8, 0x0E, 0xBB, 0xA2, 0x48, 0x0F, 0x74, 0x2D, 0x40, 0x10, 0x8E, 0x40, 0x30, -0x10, 0xED, 0x3A, 0x40, 0x11, 0x55, 0x67, 0xC8, 0x12, 0x45, 0x4A, 0xB8, 0x13, 0x37, 0xEC, 0xC8, -0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, 0x29, 0xCB, 0x9C, 0xC8, -0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, 0x2D, 0x8E, 0x03, 0xC8, -0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, 0x31, 0x50, 0x6A, 0xC8, -0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, 0x35, 0x14, 0x23, 0x48, -0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, 0x38, 0xD6, 0x8A, 0x48, -0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, 0x3C, 0x9A, 0x42, 0xC8, -0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, 0x40, 0x5C, 0xA9, 0xC8, -0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, 0x47, 0xE2, 0xC9, 0x48, -0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, 0x4B, 0xA6, 0x81, 0xC8, -0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, 0x4F, 0x68, 0xE8, 0xC8, -0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, 0x53, 0x2C, 0xA1, 0x48, -0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, 0x56, 0xEF, 0x08, 0x48, -0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, 0x5A, 0xB2, 0xC0, 0xC8, -0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, 0x5E, 0x75, 0x27, 0xC8, -0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, 0x62, 0x38, 0xE0, 0x48, -0x63, 0x2B, 0x66, 0x38, 0x64, 0x1A, 0x13, 0xC8, 0x65, 0x0C, 0x99, 0xB8, 0x65, 0xFB, 0x47, 0x48, -0x66, 0xED, 0xCD, 0x38, 0x67, 0xDD, 0xCC, 0x48, 0x68, 0xD0, 0x52, 0x38, 0x69, 0xBE, 0xFF, 0xC8, -0x6A, 0xB1, 0x85, 0xB8, 0x6B, 0xA0, 0x33, 0x48, 0x6C, 0x92, 0xB9, 0x38, 0x6D, 0x81, 0x66, 0xC8, -0x6E, 0x73, 0xEC, 0xB8, 0x6F, 0x62, 0x9A, 0x48, 0x70, 0x55, 0x20, 0x38, 0x71, 0x45, 0x1F, 0x48, -0x72, 0x37, 0xA5, 0x38, 0x73, 0x26, 0x52, 0xC8, 0x74, 0x18, 0xD8, 0xB8, 0x75, 0x07, 0x86, 0x48, -0x75, 0xFA, 0x0C, 0x38, 0x76, 0xE8, 0xB9, 0xC8, 0x77, 0xDB, 0x3F, 0xB8, 0x78, 0xCB, 0x3E, 0xC8, -0x79, 0xBD, 0xC4, 0xB8, 0x7A, 0xAC, 0x72, 0x48, 0x7B, 0x9E, 0xF8, 0x38, 0x7C, 0x8D, 0xA5, 0xC8, -0x7D, 0x80, 0x2B, 0xB8, 0x7E, 0x6E, 0xD9, 0x48, 0x7F, 0x61, 0x5F, 0x38, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, -0x12, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, -0x2D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, -0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, -0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, -0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, -0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, -0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, -0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, -0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, -0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, -0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, -0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, -0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, -0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, -0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, -0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, -0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, -0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, -0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, -0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, -0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, -0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, -0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, -0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, -0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, -0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, -0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, -0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, -0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, -0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, -0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, -0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, -0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, -0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, -0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, -0x99, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, -0xCD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, -0x52, 0x38, 0x00, 0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, -0x85, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, -0xB9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, -0xEC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, -0x20, 0x38, 0x00, 0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, -0xA5, 0x38, 0x00, 0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, -0xD8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, -0x0C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, -0x3F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, -0xC4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, -0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, -0x2B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, -0x5F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, -0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, -0x17, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, -0x4B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, -0x7E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, -0x03, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, -0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, -0x6A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, -0x9E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, -0x23, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, -0x56, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, -0x8A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, -0xBD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, -0x42, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, -0x76, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, -0xA9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, -0xDD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, -0x62, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, -0x95, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, -0xC9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, -0xFC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, -0x81, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, -0xB5, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, -0xE8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, -0x1C, 0x38, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, -0x4F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, -0xD4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, -0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, -0x3B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, -0x6F, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, -0xF4, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, -0x27, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, -0x5B, 0x38, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, -0x8E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, -0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, -0x47, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, -0x7A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, -0xAE, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, -0x33, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, -0x66, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, -0x9A, 0x38, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, -0xCD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, -0x52, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, -0x86, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, -0xB9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, -0xED, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, -0x72, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, -0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, -0xD9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, -0x0C, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, -0x91, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x4F, -0xC5, 0x38, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x00, 0x00, 0x30, 0x38, -0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x00, 0x00, -0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x16, -0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, -0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, -0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, -0x36, 0x33, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, +0xBF, 0x00, 0xCC, 0x48, 0x0D, 0x94, 0x44, 0x38, 0x0E, 0xAD, 0x13, 0xB8, 0x0F, 0x79, 0x73, 0x40, +0x10, 0x28, 0xCA, 0xC0, 0x10, 0xED, 0x3A, 0x40, 0x11, 0xAD, 0xBC, 0x48, 0x12, 0x45, 0x4A, 0xB8, +0x13, 0x37, 0xEC, 0xC8, 0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, +0x29, 0xCB, 0x9C, 0xC8, 0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, +0x2D, 0x8E, 0x03, 0xC8, 0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, +0x31, 0x50, 0x6A, 0xC8, 0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, +0x35, 0x14, 0x23, 0x48, 0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, +0x38, 0xD6, 0x8A, 0x48, 0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, +0x3C, 0x9A, 0x42, 0xC8, 0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, +0x40, 0x5C, 0xA9, 0xC8, 0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, +0x47, 0xE2, 0xC9, 0x48, 0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, +0x4B, 0xA6, 0x81, 0xC8, 0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, +0x4F, 0x68, 0xE8, 0xC8, 0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, +0x53, 0x2C, 0xA1, 0x48, 0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, +0x56, 0xEF, 0x08, 0x48, 0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, +0x5A, 0xB2, 0xC0, 0xC8, 0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, +0x5E, 0x75, 0x27, 0xC8, 0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, +0x62, 0x38, 0xE0, 0x48, 0x63, 0x2B, 0x66, 0x38, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, +0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, +0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, +0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, +0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, +0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, +0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, +0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, +0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x63, 0x2B, 0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0xBF, +0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, /* Asia/Tel_Aviv */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -46697,18 +46262,25 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Vientiane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0xA2, 0x6A, 0x67, 0xC4, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x47, 0x50, +0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0x51, 0x61, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, +0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, +0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, +0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, +0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, 0x00, -0x00, 0x00, 0x00, +0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x47, +0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x51, 0x61, +0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, +0x02, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, +0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, +0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, +0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, +0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, 0x00, 0x00, 0x00, 0x00, /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -48259,15 +47831,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Atlantic/St_Helena */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xDC, 0x42, 0x9B, 0x58, 0x01, 0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xE0, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0x9B, 0x58, +0x01, 0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x04, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, +0x00, 0x00, /* Atlantic/Stanley */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -52421,7 +51995,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x1B, 0xC9, 0xB0, 0xD5, 0x33, 0x55, 0xC0, +0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x17, 0xD5, 0x30, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, @@ -52448,7 +52022,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -52457,7 +52031,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x76, 0xFA, 0x38, 0xB0, 0x77, 0xC5, 0x4D, 0xC0, 0x78, 0xDA, 0x1A, 0xB0, 0x79, 0xA5, 0x2F, 0xC0, 0x7A, 0xC3, 0x37, 0x30, 0x7B, 0x85, 0x11, 0xC0, 0x7C, 0xA3, 0x19, 0x30, 0x7D, 0x6E, 0x2E, 0x40, 0x7E, 0x82, 0xFB, 0x30, 0x7F, 0x4E, 0x10, 0x40, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -52484,7 +52058,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, +0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, @@ -52539,7 +52113,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, @@ -52555,7 +52129,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x7B, 0x85, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA3, 0x19, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x6E, 0x2E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x4E, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -52604,7 +52178,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -52683,7 +52257,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, +0x00, 0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, @@ -53342,7 +52916,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, +0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, @@ -53350,7 +52924,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, +0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, @@ -53478,7 +53052,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x24, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, @@ -54544,8 +54118,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/Belfast */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -54606,169 +54180,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -56157,7 +55732,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, +0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, @@ -56165,7 +55740,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, +0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, @@ -56293,7 +55868,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x24, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, @@ -56306,8 +55881,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/Gibraltar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -56357,151 +55932,152 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, -0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x01, -0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0x04, -0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, -0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, -0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, -0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, -0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, -0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, -0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, -0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, -0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, -0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, -0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, -0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, -0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, -0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, -0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, -0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, -0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, -0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, -0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, -0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, -0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, -0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, -0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, -0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, +0x45, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1A, +0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, +0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, +0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, +0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, +0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, +0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, +0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, +0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, +0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, +0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, +0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, +0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, +0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, +0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, +0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, +0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, +0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, +0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, +0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, +0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, +0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, +0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, +0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, +0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, +0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, +0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, +0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, +0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, +0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, +0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, +0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, +0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, +0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, +0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, +0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, +0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, +0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, +0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, +0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, +0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, +0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, -0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, -0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, -0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, -0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, +0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, +0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC0, 0x76, 0xD5, 0x01, 0x0A, 0x7E, 0xA8, 0x00, 0x00, 0x00, 0x00, /* Europe/Guernsey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x95, 0xA6, 0x91, 0xE1, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -56514,220 +56090,226 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, 0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, 0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, -0xC7, 0xDA, 0x09, 0xA0, 0xCA, 0x16, 0x26, 0x90, 0xCA, 0x97, 0x59, 0x90, 0xCB, 0xD1, 0x1E, 0x90, -0xCC, 0x77, 0x3B, 0x90, 0xCD, 0xB1, 0x00, 0x90, 0xCE, 0x60, 0x58, 0x10, 0xCF, 0x90, 0xE2, 0x90, -0xD0, 0x6E, 0x5E, 0x90, 0xD1, 0x72, 0x16, 0x10, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, -0xD3, 0x63, 0x29, 0xA0, 0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, -0xD5, 0xDF, 0xE0, 0x10, 0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, -0xD8, 0xF9, 0x95, 0x20, 0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, -0xDC, 0xCB, 0xCE, 0x20, 0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, -0xE0, 0x94, 0xCC, 0xA0, 0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, -0xE4, 0x54, 0x90, 0xA0, 0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, -0xE8, 0x14, 0x54, 0xA0, 0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, -0xEB, 0xDD, 0x53, 0x20, 0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, -0xEF, 0x81, 0x67, 0xA0, 0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, -0xF3, 0x4A, 0x66, 0x20, 0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, -0xF7, 0x00, 0xEF, 0xA0, 0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, -0xFA, 0xC0, 0xB3, 0xA0, 0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, -0x03, 0x70, 0xC6, 0x20, 0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, -0x07, 0x30, 0x8A, 0x20, 0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, -0x0A, 0xF0, 0x4E, 0x20, 0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, -0x0E, 0xB0, 0x12, 0x20, 0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, -0x12, 0x79, 0x10, 0xA0, 0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, -0x16, 0x38, 0xC6, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, -0x19, 0xF8, 0x8A, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, -0x1D, 0xC1, 0x89, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, -0x21, 0x81, 0x4D, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, -0x25, 0x4A, 0x4B, 0x90, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, -0x29, 0x0A, 0x0F, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, -0x2C, 0xC9, 0xD3, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, -0x30, 0x89, 0x97, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, -0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, -0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, -0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, -0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, -0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, -0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, -0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, -0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, -0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, -0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, -0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, -0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, -0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, -0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, -0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, -0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, -0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, -0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, -0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, -0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0xC7, 0xDA, 0x09, 0xA0, 0xC8, 0x82, 0x9F, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, +0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, +0xD1, 0xA1, 0x61, 0xE0, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, 0xD3, 0x63, 0x29, 0xA0, +0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, 0xD5, 0xDF, 0xE0, 0x10, +0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, 0xD8, 0xF9, 0x95, 0x20, +0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, 0xDC, 0xCB, 0xCE, 0x20, +0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, 0xE0, 0x94, 0xCC, 0xA0, +0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, 0xE4, 0x54, 0x90, 0xA0, +0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, 0xE8, 0x14, 0x54, 0xA0, +0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, 0xEB, 0xDD, 0x53, 0x20, +0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, 0xEF, 0x81, 0x67, 0xA0, +0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, 0xF3, 0x4A, 0x66, 0x20, +0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, 0xF7, 0x00, 0xEF, 0xA0, +0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, 0xFA, 0xC0, 0xB3, 0xA0, +0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, 0x03, 0x70, 0xC6, 0x20, +0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, 0x07, 0x30, 0x8A, 0x20, +0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, 0x0A, 0xF0, 0x4E, 0x20, +0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, 0x0E, 0xB0, 0x12, 0x20, +0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, 0x12, 0x79, 0x10, 0xA0, +0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x38, 0xC6, 0x90, +0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xF8, 0x8A, 0x90, +0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0xC1, 0x89, 0x10, +0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x81, 0x4D, 0x10, +0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x4A, 0x4B, 0x90, +0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x29, 0x0A, 0x0F, 0x90, +0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xC9, 0xD3, 0x90, +0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x89, 0x97, 0x90, +0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, +0x02, 0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x0B, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0xFF, 0xFF, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, +0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, +0x00, 0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, +0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xA6, 0x91, 0xE1, 0xFF, +0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, +0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, +0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, +0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, +0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, +0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, +0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, +0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, +0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, +0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, +0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, +0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, +0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, +0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x03, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x0B, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0xFF, 0xFF, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, +0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, + /* Europe/Helsinki */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -56930,371 +56512,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xDB, 0xF4, 0x98, 0x01, 0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, - -/* Europe/Istanbul */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, -0x90, 0x8B, 0xF5, 0x98, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xBE, 0xD0, 0xA2, 0x65, 0x63, 0xE0, -0xA3, 0x7B, 0x82, 0x50, 0xA4, 0x4E, 0x80, 0x60, 0xA5, 0x3F, 0xB4, 0xD0, 0xA6, 0x25, 0x27, 0xE0, -0xA7, 0x27, 0x7F, 0xD0, 0xAA, 0x28, 0x28, 0x60, 0xAA, 0xE1, 0xFD, 0xD0, 0xAB, 0xF9, 0x89, 0xE0, -0xAC, 0xC3, 0x31, 0x50, 0xC8, 0x81, 0x3F, 0xE0, 0xC9, 0x01, 0x13, 0x50, 0xC9, 0x4A, 0xF5, 0x60, -0xCA, 0xCE, 0x80, 0x50, 0xCB, 0xCB, 0xAE, 0x60, 0xD2, 0x6B, 0x09, 0x50, 0xD3, 0xA2, 0x39, 0x60, -0xD4, 0x43, 0x02, 0x50, 0xD5, 0x4C, 0x0D, 0xE0, 0xD6, 0x29, 0x7B, 0xD0, 0xD7, 0x2B, 0xEF, 0xE0, -0xD8, 0x09, 0x5D, 0xD0, 0xD9, 0x02, 0x97, 0x60, 0xD9, 0xE9, 0x3F, 0xD0, 0xDA, 0xEB, 0xB3, 0xE0, -0xDB, 0xD2, 0x5C, 0x50, 0xDC, 0xD4, 0xD0, 0x60, 0xDD, 0xB2, 0x3E, 0x50, 0xF1, 0xF4, 0xB9, 0x60, -0xF4, 0x62, 0xEF, 0x50, 0xF5, 0x68, 0x06, 0x60, 0xF6, 0x1F, 0x38, 0xD0, 0x06, 0x6E, 0x93, 0x70, -0x07, 0x39, 0x9A, 0x70, 0x07, 0xFB, 0x75, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x09, 0xD0, 0xCB, 0x00, -0x0A, 0xF9, 0x5E, 0x70, 0x0B, 0xB1, 0xFE, 0x80, 0x0C, 0xD9, 0x40, 0x70, 0x0D, 0xA4, 0x55, 0x80, -0x0E, 0xA6, 0xAD, 0x70, 0x0F, 0x84, 0x37, 0x80, 0x0F, 0xF8, 0x11, 0x50, 0x19, 0x89, 0xB0, 0x70, -0x19, 0xDC, 0xB0, 0xE0, 0x1B, 0xE6, 0xD0, 0xF0, 0x1C, 0xC6, 0xEF, 0xF0, 0x1D, 0x9B, 0x31, 0x70, -0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, -0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, -0x26, 0x0B, 0xFB, 0xF0, 0x27, 0x05, 0x27, 0x70, 0x27, 0xF5, 0x18, 0x70, 0x28, 0xE5, 0x09, 0x70, -0x29, 0xD4, 0xFA, 0x70, 0x2A, 0xC4, 0xEB, 0x70, 0x2B, 0xB4, 0xDC, 0x70, 0x2C, 0xA4, 0xCD, 0x70, -0x2D, 0x8B, 0x83, 0xF0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, -0x31, 0x5D, 0xBC, 0xF0, 0x32, 0x72, 0x97, 0xF0, 0x33, 0x3D, 0x9E, 0xF0, 0x34, 0x52, 0x79, 0xF0, -0x35, 0x1D, 0x80, 0xF0, 0x36, 0x32, 0x5B, 0xF0, 0x36, 0xFD, 0x62, 0xF0, 0x38, 0x1B, 0x78, 0x70, -0x38, 0xDD, 0x44, 0xF0, 0x39, 0xFB, 0x5A, 0x70, 0x3A, 0xBD, 0x26, 0xF0, 0x3B, 0xDB, 0x3C, 0x70, -0x3C, 0xA6, 0x43, 0x70, 0x3D, 0xBB, 0x1E, 0x70, 0x3E, 0x86, 0x25, 0x70, 0x3F, 0x9B, 0x00, 0x70, -0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0, -0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, -0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, -0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8F, 0xDD, 0x90, 0x4E, 0xAC, 0xA1, 0x90, -0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, -0x53, 0x38, 0xBE, 0x10, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x3E, 0x9E, 0x90, -0x56, 0xF7, 0x30, 0x90, 0x57, 0xCF, 0x2E, 0x50, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, -0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, 0x04, -0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, 0x00, -0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, -0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, -0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, -0xFF, 0x56, 0xB6, 0xC8, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x8B, 0xF5, 0x98, 0xFF, 0xFF, 0xFF, -0xFF, 0x9B, 0x0C, 0x17, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD5, 0xBE, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x65, 0x63, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0x82, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xA4, 0x4E, 0x80, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xB4, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xA6, 0x25, 0x27, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xAA, 0x28, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xE1, 0xFD, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xAB, 0xF9, 0x89, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC3, 0x31, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xC8, 0x81, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x01, 0x13, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xC9, 0x4A, 0xF5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCE, 0x80, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xCB, 0xCB, 0xAE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x6B, 0x09, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xD3, 0xA2, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x43, 0x02, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xD5, 0x4C, 0x0D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x29, 0x7B, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD7, 0x2B, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x09, 0x5D, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD9, 0x02, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE9, 0x3F, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xDA, 0xEB, 0xB3, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xD2, 0x5C, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xDC, 0xD4, 0xD0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xB2, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xF1, 0xF4, 0xB9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x62, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xF5, 0x68, 0x06, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x1F, 0x38, 0xD0, 0x00, 0x00, 0x00, -0x00, 0x06, 0x6E, 0x93, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x39, 0x9A, 0x70, 0x00, 0x00, 0x00, -0x00, 0x07, 0xFB, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x00, 0x00, 0x00, -0x00, 0x09, 0xD0, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF9, 0x5E, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xB1, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0x40, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0D, 0xA4, 0x55, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA6, 0xAD, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0F, 0x84, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x11, 0x50, 0x00, 0x00, 0x00, -0x00, 0x19, 0x89, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDC, 0xB0, 0xE0, 0x00, 0x00, 0x00, -0x00, 0x1B, 0xE6, 0xD0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC6, 0xEF, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x1D, 0x9B, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x27, 0x05, 0x27, 0x70, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x18, 0x70, 0x00, 0x00, 0x00, -0x00, 0x28, 0xE5, 0x09, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xFA, 0x70, 0x00, 0x00, 0x00, -0x00, 0x2A, 0xC4, 0xEB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xDC, 0x70, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xA4, 0xCD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x83, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, 0x00, 0x00, -0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xBC, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x32, 0x72, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x9E, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x34, 0x52, 0x79, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x80, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x36, 0x32, 0x5B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x62, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x38, 0x1B, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x44, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x39, 0xFB, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x26, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x3B, 0xDB, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x43, 0x70, 0x00, 0x00, 0x00, -0x00, 0x3D, 0xBB, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x25, 0x70, 0x00, 0x00, 0x00, -0x00, 0x3F, 0x9B, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x07, 0x70, 0x00, 0x00, 0x00, -0x00, 0x41, 0x84, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x45, 0xE9, 0x70, 0x00, 0x00, 0x00, -0x00, 0x43, 0x63, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xCB, 0x70, 0x00, 0x00, 0x00, -0x00, 0x45, 0x43, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8F, 0xDD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, -0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x38, 0xBE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0x3E, 0x9E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, -0x00, 0x57, 0xCF, 0x2E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, -0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, -0x04, 0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, -0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, -0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, -0x0D, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, -0x45, 0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xC7, 0xEA, 0x62, 0x01, -0x3E, 0xDB, 0x9A, 0x00, 0x00, 0x00, 0x00, - -/* Europe/Jersey */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, -0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, -0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, -0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, -0xA6, 0x25, 0x60, 0x20, 0xA7, 0x27, 0xC6, 0x20, 0xA8, 0x2A, 0x2C, 0x20, 0xA8, 0xEB, 0xF8, 0xA0, -0xAA, 0x00, 0xD3, 0xA0, 0xAA, 0xD5, 0x15, 0x20, 0xAB, 0xE9, 0xF0, 0x20, 0xAC, 0xC7, 0x6C, 0x20, -0xAD, 0xC9, 0xD2, 0x20, 0xAE, 0xA7, 0x4E, 0x20, 0xAF, 0xA0, 0x79, 0xA0, 0xB0, 0x87, 0x30, 0x20, -0xB1, 0x92, 0xD0, 0xA0, 0xB2, 0x70, 0x4C, 0xA0, 0xB3, 0x72, 0xB2, 0xA0, 0xB4, 0x50, 0x2E, 0xA0, -0xB5, 0x49, 0x5A, 0x20, 0xB6, 0x30, 0x10, 0xA0, 0xB7, 0x32, 0x76, 0xA0, 0xB8, 0x0F, 0xF2, 0xA0, -0xB9, 0x12, 0x58, 0xA0, 0xB9, 0xEF, 0xD4, 0xA0, 0xBA, 0xE9, 0x00, 0x20, 0xBB, 0xD8, 0xF1, 0x20, -0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, -0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, -0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, -0xC7, 0xDA, 0x09, 0xA0, 0xCA, 0x16, 0x26, 0x90, 0xCA, 0x97, 0x59, 0x90, 0xCB, 0xD1, 0x1E, 0x90, -0xCC, 0x77, 0x3B, 0x90, 0xCD, 0xB1, 0x00, 0x90, 0xCE, 0x60, 0x58, 0x10, 0xCF, 0x90, 0xE2, 0x90, -0xD0, 0x6E, 0x5E, 0x90, 0xD1, 0x72, 0x16, 0x10, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, -0xD3, 0x63, 0x29, 0xA0, 0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, -0xD5, 0xDF, 0xE0, 0x10, 0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, -0xD8, 0xF9, 0x95, 0x20, 0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, -0xDC, 0xCB, 0xCE, 0x20, 0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, -0xE0, 0x94, 0xCC, 0xA0, 0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, -0xE4, 0x54, 0x90, 0xA0, 0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, -0xE8, 0x14, 0x54, 0xA0, 0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, -0xEB, 0xDD, 0x53, 0x20, 0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, -0xEF, 0x81, 0x67, 0xA0, 0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, -0xF3, 0x4A, 0x66, 0x20, 0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, -0xF7, 0x00, 0xEF, 0xA0, 0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, -0xFA, 0xC0, 0xB3, 0xA0, 0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, -0x03, 0x70, 0xC6, 0x20, 0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, -0x07, 0x30, 0x8A, 0x20, 0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, -0x0A, 0xF0, 0x4E, 0x20, 0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, -0x0E, 0xB0, 0x12, 0x20, 0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, -0x12, 0x79, 0x10, 0xA0, 0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, -0x16, 0x38, 0xC6, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, -0x19, 0xF8, 0x8A, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, -0x1D, 0xC1, 0x89, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, -0x21, 0x81, 0x4D, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, -0x25, 0x4A, 0x4B, 0x90, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, -0x29, 0x0A, 0x0F, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, -0x2C, 0xC9, 0xD3, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, -0x30, 0x89, 0x97, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, -0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, -0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, -0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, -0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, -0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, -0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, -0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, -0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, -0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, -0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, -0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, -0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, -0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, -0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, -0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, -0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, -0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, -0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, -0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, -0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFB, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, +0xCF, 0xD8, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, @@ -57429,14 +56655,376 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFB, +0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, +0x00, 0xDB, 0xF4, 0x98, 0x01, 0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, + +/* Europe/Istanbul */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, +0x90, 0x8B, 0xF5, 0x98, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xBE, 0xD0, 0xA2, 0x65, 0x63, 0xE0, +0xA3, 0x7B, 0x82, 0x50, 0xA4, 0x4E, 0x80, 0x60, 0xA5, 0x3F, 0xB4, 0xD0, 0xA6, 0x25, 0x27, 0xE0, +0xA7, 0x27, 0x7F, 0xD0, 0xAA, 0x28, 0x28, 0x60, 0xAA, 0xE1, 0xFD, 0xD0, 0xAB, 0xF9, 0x89, 0xE0, +0xAC, 0xC3, 0x31, 0x50, 0xC8, 0x81, 0x3F, 0xE0, 0xC9, 0x01, 0x13, 0x50, 0xC9, 0x4A, 0xF5, 0x60, +0xCA, 0xCE, 0x80, 0x50, 0xCB, 0xCB, 0xAE, 0x60, 0xD2, 0x6B, 0x09, 0x50, 0xD3, 0xA2, 0x39, 0x60, +0xD4, 0x43, 0x02, 0x50, 0xD5, 0x4C, 0x0D, 0xE0, 0xD6, 0x29, 0x7B, 0xD0, 0xD7, 0x2B, 0xEF, 0xE0, +0xD8, 0x09, 0x5D, 0xD0, 0xD9, 0x02, 0x97, 0x60, 0xD9, 0xE9, 0x3F, 0xD0, 0xDA, 0xEB, 0xB3, 0xE0, +0xDB, 0xD2, 0x5C, 0x50, 0xDC, 0xD4, 0xD0, 0x60, 0xDD, 0xB2, 0x3E, 0x50, 0xF1, 0xF4, 0xB9, 0x60, +0xF4, 0x62, 0xEF, 0x50, 0xF5, 0x68, 0x06, 0x60, 0xF6, 0x1F, 0x38, 0xD0, 0x06, 0x6E, 0x93, 0x70, +0x07, 0x39, 0x9A, 0x70, 0x07, 0xFB, 0x75, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x09, 0xD0, 0xCB, 0x00, +0x0A, 0xF9, 0x5E, 0x70, 0x0B, 0xB1, 0xFE, 0x80, 0x0C, 0xD9, 0x40, 0x70, 0x0D, 0xA4, 0x55, 0x80, +0x0E, 0xA6, 0xAD, 0x70, 0x0F, 0x84, 0x37, 0x80, 0x0F, 0xF8, 0x11, 0x50, 0x19, 0x89, 0xB0, 0x70, +0x19, 0xDC, 0xB0, 0xE0, 0x1B, 0xE6, 0xD0, 0xF0, 0x1C, 0xC6, 0xEF, 0xF0, 0x1D, 0x9B, 0x31, 0x70, +0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, +0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, +0x26, 0x0B, 0xFB, 0xF0, 0x27, 0x05, 0x27, 0x70, 0x27, 0xF5, 0x18, 0x70, 0x28, 0xE5, 0x09, 0x70, +0x29, 0xD4, 0xFA, 0x70, 0x2A, 0xC4, 0xEB, 0x70, 0x2B, 0xB4, 0xDC, 0x70, 0x2C, 0xA4, 0xCD, 0x70, +0x2D, 0x8B, 0x83, 0xF0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, +0x31, 0x5D, 0xBC, 0xF0, 0x32, 0x72, 0x97, 0xF0, 0x33, 0x3D, 0x9E, 0xF0, 0x34, 0x52, 0x79, 0xF0, +0x35, 0x1D, 0x80, 0xF0, 0x36, 0x32, 0x5B, 0xF0, 0x36, 0xFD, 0x62, 0xF0, 0x38, 0x1B, 0x78, 0x70, +0x38, 0xDD, 0x44, 0xF0, 0x39, 0xFB, 0x5A, 0x70, 0x3A, 0xBD, 0x26, 0xF0, 0x3B, 0xDB, 0x3C, 0x70, +0x3C, 0xA6, 0x43, 0x70, 0x3D, 0xBB, 0x1E, 0x70, 0x3E, 0x86, 0x25, 0x70, 0x3F, 0x9B, 0x00, 0x70, +0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0, +0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8F, 0xDD, 0x90, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x38, 0xBE, 0x10, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x3E, 0x9E, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x57, 0xCF, 0x2E, 0x50, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, +0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, 0x04, +0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, 0x00, +0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, +0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, +0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, +0xFF, 0x56, 0xB6, 0xC8, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x8B, 0xF5, 0x98, 0xFF, 0xFF, 0xFF, +0xFF, 0x9B, 0x0C, 0x17, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD5, 0xBE, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xA2, 0x65, 0x63, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0x82, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xA4, 0x4E, 0x80, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xB4, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xA6, 0x25, 0x27, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xAA, 0x28, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xE1, 0xFD, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xAB, 0xF9, 0x89, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC3, 0x31, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xC8, 0x81, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x01, 0x13, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xC9, 0x4A, 0xF5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCE, 0x80, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xCB, 0xCB, 0xAE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x6B, 0x09, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xD3, 0xA2, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x43, 0x02, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xD5, 0x4C, 0x0D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x29, 0x7B, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xD7, 0x2B, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x09, 0x5D, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xD9, 0x02, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE9, 0x3F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xDA, 0xEB, 0xB3, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xD2, 0x5C, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xDC, 0xD4, 0xD0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xB2, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xF1, 0xF4, 0xB9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x62, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xF5, 0x68, 0x06, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x1F, 0x38, 0xD0, 0x00, 0x00, 0x00, +0x00, 0x06, 0x6E, 0x93, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x39, 0x9A, 0x70, 0x00, 0x00, 0x00, +0x00, 0x07, 0xFB, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x00, 0x00, 0x00, +0x00, 0x09, 0xD0, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF9, 0x5E, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0B, 0xB1, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0x40, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0D, 0xA4, 0x55, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA6, 0xAD, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0F, 0x84, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x11, 0x50, 0x00, 0x00, 0x00, +0x00, 0x19, 0x89, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDC, 0xB0, 0xE0, 0x00, 0x00, 0x00, +0x00, 0x1B, 0xE6, 0xD0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC6, 0xEF, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x1D, 0x9B, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x27, 0x05, 0x27, 0x70, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x18, 0x70, 0x00, 0x00, 0x00, +0x00, 0x28, 0xE5, 0x09, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xFA, 0x70, 0x00, 0x00, 0x00, +0x00, 0x2A, 0xC4, 0xEB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xDC, 0x70, 0x00, 0x00, 0x00, +0x00, 0x2C, 0xA4, 0xCD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x83, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, 0x00, 0x00, +0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xBC, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x32, 0x72, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x9E, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x34, 0x52, 0x79, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x80, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x36, 0x32, 0x5B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x62, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x38, 0x1B, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x44, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x39, 0xFB, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x26, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x3B, 0xDB, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x43, 0x70, 0x00, 0x00, 0x00, +0x00, 0x3D, 0xBB, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x25, 0x70, 0x00, 0x00, 0x00, +0x00, 0x3F, 0x9B, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x07, 0x70, 0x00, 0x00, 0x00, +0x00, 0x41, 0x84, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x45, 0xE9, 0x70, 0x00, 0x00, 0x00, +0x00, 0x43, 0x63, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xCB, 0x70, 0x00, 0x00, 0x00, +0x00, 0x45, 0x43, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, +0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, +0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, +0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, +0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8F, 0xDD, 0x90, 0x00, 0x00, 0x00, +0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, +0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, +0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x38, 0xBE, 0x10, 0x00, 0x00, 0x00, +0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, +0x00, 0x56, 0x3E, 0x9E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, +0x00, 0x57, 0xCF, 0x2E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, +0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, +0x04, 0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, +0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x0D, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x45, 0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xC7, 0xEA, 0x62, 0x01, +0x3E, 0xDB, 0x9A, 0x00, 0x00, 0x00, 0x00, + +/* Europe/Jersey */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, +0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, +0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, +0xA6, 0x25, 0x60, 0x20, 0xA7, 0x27, 0xC6, 0x20, 0xA8, 0x2A, 0x2C, 0x20, 0xA8, 0xEB, 0xF8, 0xA0, +0xAA, 0x00, 0xD3, 0xA0, 0xAA, 0xD5, 0x15, 0x20, 0xAB, 0xE9, 0xF0, 0x20, 0xAC, 0xC7, 0x6C, 0x20, +0xAD, 0xC9, 0xD2, 0x20, 0xAE, 0xA7, 0x4E, 0x20, 0xAF, 0xA0, 0x79, 0xA0, 0xB0, 0x87, 0x30, 0x20, +0xB1, 0x92, 0xD0, 0xA0, 0xB2, 0x70, 0x4C, 0xA0, 0xB3, 0x72, 0xB2, 0xA0, 0xB4, 0x50, 0x2E, 0xA0, +0xB5, 0x49, 0x5A, 0x20, 0xB6, 0x30, 0x10, 0xA0, 0xB7, 0x32, 0x76, 0xA0, 0xB8, 0x0F, 0xF2, 0xA0, +0xB9, 0x12, 0x58, 0xA0, 0xB9, 0xEF, 0xD4, 0xA0, 0xBA, 0xE9, 0x00, 0x20, 0xBB, 0xD8, 0xF1, 0x20, +0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, +0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, +0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, +0xC7, 0xDA, 0x09, 0xA0, 0xC8, 0x82, 0x9F, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, +0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, +0xD1, 0xA1, 0x61, 0xE0, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, 0xD3, 0x63, 0x29, 0xA0, +0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, 0xD5, 0xDF, 0xE0, 0x10, +0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, 0xD8, 0xF9, 0x95, 0x20, +0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, 0xDC, 0xCB, 0xCE, 0x20, +0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, 0xE0, 0x94, 0xCC, 0xA0, +0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, 0xE4, 0x54, 0x90, 0xA0, +0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, 0xE8, 0x14, 0x54, 0xA0, +0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, 0xEB, 0xDD, 0x53, 0x20, +0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, 0xEF, 0x81, 0x67, 0xA0, +0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, 0xF3, 0x4A, 0x66, 0x20, +0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, 0xF7, 0x00, 0xEF, 0xA0, +0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, 0xFA, 0xC0, 0xB3, 0xA0, +0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, 0x03, 0x70, 0xC6, 0x20, +0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, 0x07, 0x30, 0x8A, 0x20, +0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, 0x0A, 0xF0, 0x4E, 0x20, +0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, 0x0E, 0xB0, 0x12, 0x20, +0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, 0x12, 0x79, 0x10, 0xA0, +0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x38, 0xC6, 0x90, +0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xF8, 0x8A, 0x90, +0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0xC1, 0x89, 0x10, +0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x81, 0x4D, 0x10, +0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x4A, 0x4B, 0x90, +0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x29, 0x0A, 0x0F, 0x90, +0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xC9, 0xD3, 0x90, +0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x89, 0x97, 0x90, +0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0xFF, 0xFF, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, +0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, +0x00, 0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, +0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0x68, 0x3D, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, +0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, +0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, +0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, +0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, +0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, +0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, +0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, +0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, +0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, +0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, +0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, +0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, +0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x03, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x03, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0xFF, 0xFF, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, +0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, + /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -57537,7 +57125,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, 0xAA, 0x19, 0xA7, 0x64, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0xCD, 0x2E, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, @@ -57669,9 +57257,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, -0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, 0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, -0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, -0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, /* Europe/Kirov */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -57749,6 +57336,143 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x0A, 0x00, 0xE2, 0xBE, 0xE0, 0x01, 0x5E, 0x6B, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x53, 0x4B, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x72, 0x6F, 0x76, +/* Europe/Kyiv */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, +0xAA, 0x19, 0xA7, 0x64, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0xCD, 0x2E, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, +0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, 0xCE, 0xCD, 0xA8, 0x70, 0x15, 0x27, 0xA7, 0xD0, +0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50, 0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0, +0x19, 0xDB, 0x43, 0x40, 0x1A, 0xCC, 0x93, 0xD0, 0x1B, 0xBC, 0xA0, 0xF0, 0x1C, 0xAC, 0x91, 0xF0, +0x1D, 0x9C, 0x82, 0xF0, 0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, +0x21, 0x5C, 0x46, 0xF0, 0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, +0x25, 0x1C, 0x0A, 0xF0, 0x26, 0x0B, 0xFB, 0xF0, 0x26, 0x8D, 0x20, 0xE0, 0x28, 0xE5, 0x17, 0x80, +0x29, 0xD5, 0x08, 0x80, 0x2A, 0xC4, 0xF9, 0x80, 0x2B, 0xB4, 0xEA, 0x80, 0x2C, 0xA4, 0xDB, 0x80, +0x2D, 0x94, 0xCC, 0x80, 0x2E, 0x84, 0xBD, 0x80, 0x2F, 0x74, 0xAE, 0x80, 0x30, 0x64, 0x9F, 0x80, +0x31, 0x5D, 0xCB, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, +0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, +0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x00, 0x00, +0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, +0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, +0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x1D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, +0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, +0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0xFF, +0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0xC7, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0xA7, 0x64, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0xA4, 0x19, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0x2E, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCD, 0xA8, 0x70, 0x00, +0x00, 0x00, 0x00, 0x15, 0x27, 0xA7, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xDC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x17, 0x08, 0xDB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x0F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xEA, 0x0E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x43, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xCC, 0x93, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xA0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0x91, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x82, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x8D, 0x20, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xBD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xAE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x9F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xCB, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, +0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, +0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, +0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x03, 0x07, +0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, +0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x00, 0x00, 0x1C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, +0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, +0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, +0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, +0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, 0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, +0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, +0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + /* Europe/Lisbon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, @@ -57977,7 +57701,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -58013,17 +57737,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF5, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -58087,7 +57811,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -58097,8 +57821,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/London */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -58159,169 +57883,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD7, 0xEC, 0xB1, 0x01, 0x12, 0x77, 0x90, 0x00, 0x00, 0x00, 0x00, @@ -58573,8 +58298,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, -0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0xB5, 0x00, 0xFF, 0xFF, 0xFF, @@ -58674,8 +58399,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, -0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, +0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC6, 0xF9, 0x80, 0x01, 0x0D, 0x09, 0xB2, 0x00, 0x00, 0x00, 0x10, 0x53, 0x70, 0x61, 0x69, 0x6E, 0x20, 0x28, 0x6D, 0x61, 0x69, 0x6E, 0x6C, 0x61, 0x6E, @@ -58727,7 +58452,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, @@ -58829,7 +58554,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, -0x7F, 0x90, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, +0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, @@ -60259,20 +59984,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -60361,21 +60086,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -60508,20 +60233,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -60610,21 +60335,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -60635,7 +60360,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -60671,17 +60396,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF2, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -60745,7 +60470,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -60843,7 +60568,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, 0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, 0x26, 0x8D, 0x2E, 0xF0, 0x29, 0xD5, 0x08, 0x80, 0x2A, 0xC4, 0xF9, 0x80, 0x2B, 0xB4, 0xEA, 0x80, 0x2C, 0xA4, 0xDB, 0x80, 0x2D, 0x94, 0xCC, 0x80, -0x2D, 0xC2, 0xC6, 0xD0, 0x2E, 0x84, 0x85, 0x40, 0x2F, 0x74, 0x84, 0x50, 0x30, 0x64, 0x67, 0x40, +0x2D, 0xC2, 0xC6, 0xD0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, 0x31, 0x5D, 0xA0, 0xD0, 0x32, 0x72, 0xA6, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, @@ -60855,7 +60580,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x5E, 0x80, 0x54, 0x4C, 0x1D, 0x60, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, -0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x03, 0x07, 0x03, 0x09, 0x08, 0x0C, +0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x08, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x04, 0x00, @@ -60888,8 +60613,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xC2, 0xC6, -0xD0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, -0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, +0xD0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, +0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, @@ -60910,7 +60635,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x1D, 0x60, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, -0x09, 0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x03, 0x07, 0x03, 0x09, 0x08, +0x09, 0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x08, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x04, @@ -60931,7 +60656,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -60967,17 +60692,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xEF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -61041,7 +60766,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -61988,87 +61713,85 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, -0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, -0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0xF0, 0xEA, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x06, 0x86, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, -0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, -0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, -0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, -0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, -0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, -0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, -0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, -0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, -0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, -0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, -0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, -0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, -0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, -0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, -0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, -0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, -0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, -0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, -0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, -0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, -0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, -0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, -0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, -0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, -0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, -0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, -0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, -0x06, 0xFA, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, -0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, -0x42, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, -0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, +0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x04, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, +0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, +0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, +0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, +0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, +0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, +0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, +0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, +0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, +0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, +0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, +0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, +0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, +0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, +0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, +0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, +0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, +0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, +0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, +0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, +0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, +0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, +0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, +0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, +0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, +0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, +0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, +0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, +0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, +0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, /* Europe/Vatican */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -62116,20 +61839,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -62218,21 +61941,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -62768,7 +62491,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -62804,17 +62527,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF4, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -62878,7 +62601,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -63161,8 +62884,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* GB */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -63223,177 +62946,178 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* GB-Eire */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -63454,169 +63178,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63673,8 +63398,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Hongkong */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, 0xCA, 0x4D, 0x31, 0x30, 0xCA, 0xDB, 0x93, 0x30, 0xCB, 0x4B, 0x71, 0x78, 0xD2, 0xA0, 0xDE, 0x90, 0xD3, 0x6B, 0xD7, 0x80, 0xD4, 0x93, 0x58, 0xB8, 0xD5, 0x42, 0xB0, 0x38, 0xD6, 0x73, 0x3A, 0xB8, 0xD7, 0x3E, 0x41, 0xB8, 0xD8, 0x2E, 0x32, 0xB8, 0xD8, 0xF9, 0x39, 0xB8, 0xDA, 0x0E, 0x14, 0xB8, @@ -63692,62 +63417,64 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x4D, 0xE6, 0xB8, 0x05, 0x47, 0x04, 0x28, 0x06, 0x37, 0x03, 0x38, 0x07, 0x26, 0xE6, 0x28, 0x07, 0x83, 0x3D, 0x38, 0x09, 0x06, 0xC8, 0x28, 0x09, 0xF6, 0xC7, 0x38, 0x0A, 0xE6, 0xAA, 0x28, 0x0B, 0xD6, 0xA9, 0x38, 0x0C, 0xC6, 0x8C, 0x28, 0x11, 0x9B, 0x39, 0x38, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, -0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, -0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, -0x00, 0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, -0x00, 0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x48, 0x4B, 0x54, -0x2D, 0x38, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, +0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, +0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, 0x00, +0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, 0x00, +0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, 0x00, +0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, 0x00, +0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, 0x01, +0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, +0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, +0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, +0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, +0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x48, 0x4B, 0x54, 0x2D, 0x38, +0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* HST */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63837,23 +63564,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Antananarivo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, -0xB2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xF3, 0xCD, 0xF4, +0xE2, 0x33, 0xC0, 0xC0, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, +0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, +0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xCD, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x33, 0xC0, 0xC0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, +0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x6C, 0x76, 0xED, 0x01, +0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, /* Indian/Chagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63902,22 +63626,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Comoro */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD1, 0xF0, +0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, -0x8A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD1, 0xF0, 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, +0x00, /* Indian/Kerguelen */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63984,22 +63701,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Mayotte */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x59, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD0, 0x18, +0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, -0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD0, 0x18, 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, +0x00, /* Indian/Reunion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -64018,167 +63728,84 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Iran */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, -0xD2, 0xDB, 0x12, 0xC8, 0x0E, 0xBB, 0xA2, 0x48, 0x0F, 0x74, 0x2D, 0x40, 0x10, 0x8E, 0x40, 0x30, -0x10, 0xED, 0x3A, 0x40, 0x11, 0x55, 0x67, 0xC8, 0x12, 0x45, 0x4A, 0xB8, 0x13, 0x37, 0xEC, 0xC8, -0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, 0x29, 0xCB, 0x9C, 0xC8, -0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, 0x2D, 0x8E, 0x03, 0xC8, -0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, 0x31, 0x50, 0x6A, 0xC8, -0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, 0x35, 0x14, 0x23, 0x48, -0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, 0x38, 0xD6, 0x8A, 0x48, -0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, 0x3C, 0x9A, 0x42, 0xC8, -0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, 0x40, 0x5C, 0xA9, 0xC8, -0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, 0x47, 0xE2, 0xC9, 0x48, -0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, 0x4B, 0xA6, 0x81, 0xC8, -0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, 0x4F, 0x68, 0xE8, 0xC8, -0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, 0x53, 0x2C, 0xA1, 0x48, -0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, 0x56, 0xEF, 0x08, 0x48, -0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, 0x5A, 0xB2, 0xC0, 0xC8, -0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, 0x5E, 0x75, 0x27, 0xC8, -0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, 0x62, 0x38, 0xE0, 0x48, -0x63, 0x2B, 0x66, 0x38, 0x64, 0x1A, 0x13, 0xC8, 0x65, 0x0C, 0x99, 0xB8, 0x65, 0xFB, 0x47, 0x48, -0x66, 0xED, 0xCD, 0x38, 0x67, 0xDD, 0xCC, 0x48, 0x68, 0xD0, 0x52, 0x38, 0x69, 0xBE, 0xFF, 0xC8, -0x6A, 0xB1, 0x85, 0xB8, 0x6B, 0xA0, 0x33, 0x48, 0x6C, 0x92, 0xB9, 0x38, 0x6D, 0x81, 0x66, 0xC8, -0x6E, 0x73, 0xEC, 0xB8, 0x6F, 0x62, 0x9A, 0x48, 0x70, 0x55, 0x20, 0x38, 0x71, 0x45, 0x1F, 0x48, -0x72, 0x37, 0xA5, 0x38, 0x73, 0x26, 0x52, 0xC8, 0x74, 0x18, 0xD8, 0xB8, 0x75, 0x07, 0x86, 0x48, -0x75, 0xFA, 0x0C, 0x38, 0x76, 0xE8, 0xB9, 0xC8, 0x77, 0xDB, 0x3F, 0xB8, 0x78, 0xCB, 0x3E, 0xC8, -0x79, 0xBD, 0xC4, 0xB8, 0x7A, 0xAC, 0x72, 0x48, 0x7B, 0x9E, 0xF8, 0x38, 0x7C, 0x8D, 0xA5, 0xC8, -0x7D, 0x80, 0x2B, 0xB8, 0x7E, 0x6E, 0xD9, 0x48, 0x7F, 0x61, 0x5F, 0x38, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, -0x12, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, -0x2D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, -0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, -0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, -0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, -0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, -0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, -0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, -0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, -0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, -0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, -0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, -0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, -0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, -0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, -0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, -0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, -0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, -0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, -0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, -0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, -0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, -0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, -0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, -0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, -0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, -0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, -0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, -0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, -0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, -0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, -0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, -0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, -0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, -0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, -0x99, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, -0xCD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, -0x52, 0x38, 0x00, 0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, -0x85, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, -0xB9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, -0xEC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, -0x20, 0x38, 0x00, 0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, -0xA5, 0x38, 0x00, 0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, -0xD8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, -0x0C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, -0x3F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, -0xC4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, -0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, -0x2B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, -0x5F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, -0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, -0x17, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, -0x4B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, -0x7E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, -0x03, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, -0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, -0x6A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, -0x9E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, -0x23, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, -0x56, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, -0x8A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, -0xBD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, -0x42, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, -0x76, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, -0xA9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, -0xDD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, -0x62, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, -0x95, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, -0xC9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, -0xFC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, -0x81, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, -0xB5, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, -0xE8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, -0x1C, 0x38, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, -0x4F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, -0xD4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, -0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, -0x3B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, -0x6F, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, -0xF4, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, -0x27, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, -0x5B, 0x38, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, -0x8E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, -0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, -0x47, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, -0x7A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, -0xAE, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, -0x33, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, -0x66, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, -0x9A, 0x38, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, -0xCD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, -0x52, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, -0x86, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, -0xB9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, -0xED, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, -0x72, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, -0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, -0xD9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, -0x0C, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, -0x91, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x4F, -0xC5, 0x38, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x00, 0x00, 0x30, 0x38, -0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x00, 0x00, -0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x16, -0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, -0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, -0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, -0x36, 0x33, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, +0xBF, 0x00, 0xCC, 0x48, 0x0D, 0x94, 0x44, 0x38, 0x0E, 0xAD, 0x13, 0xB8, 0x0F, 0x79, 0x73, 0x40, +0x10, 0x28, 0xCA, 0xC0, 0x10, 0xED, 0x3A, 0x40, 0x11, 0xAD, 0xBC, 0x48, 0x12, 0x45, 0x4A, 0xB8, +0x13, 0x37, 0xEC, 0xC8, 0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, +0x29, 0xCB, 0x9C, 0xC8, 0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, +0x2D, 0x8E, 0x03, 0xC8, 0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, +0x31, 0x50, 0x6A, 0xC8, 0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, +0x35, 0x14, 0x23, 0x48, 0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, +0x38, 0xD6, 0x8A, 0x48, 0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, +0x3C, 0x9A, 0x42, 0xC8, 0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, +0x40, 0x5C, 0xA9, 0xC8, 0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, +0x47, 0xE2, 0xC9, 0x48, 0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, +0x4B, 0xA6, 0x81, 0xC8, 0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, +0x4F, 0x68, 0xE8, 0xC8, 0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, +0x53, 0x2C, 0xA1, 0x48, 0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, +0x56, 0xEF, 0x08, 0x48, 0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, +0x5A, 0xB2, 0xC0, 0xC8, 0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, +0x5E, 0x75, 0x27, 0xC8, 0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, +0x62, 0x38, 0xE0, 0x48, 0x63, 0x2B, 0x66, 0x38, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, +0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, +0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, +0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, +0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, +0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, +0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, +0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, +0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x63, 0x2B, 0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Israel */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -65946,7 +65573,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -66025,7 +65652,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, +0x00, 0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, @@ -66473,17 +66100,19 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Pacific/Midway */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, -0x91, 0x05, 0xFB, 0x08, 0x01, 0x02, 0x00, 0x00, 0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, -0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xE6, 0x75, 0x8A, 0xB0, 0xE6, 0xED, 0x75, 0x20, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x01, +0xFF, 0xFF, 0x59, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, +0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x54, 0x5A, +0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, -0x6E, 0x3D, 0xC8, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x05, 0xFB, 0x08, 0x01, 0x02, 0x00, 0x00, -0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, -0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x53, 0x54, 0x31, 0x31, 0x0A, 0x00, -0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, 0x77, 0x61, -0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, +0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x37, +0x5B, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x75, 0x8A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0xED, +0x75, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x01, 0xFF, 0xFF, +0x59, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x08, +0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2D, 0x31, +0x31, 0x3E, 0x31, 0x31, 0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, +0x0E, 0x4D, 0x69, 0x64, 0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, /* Pacific/Nauru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -66751,36 +66380,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Pacific/Saipan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x80, 0x00, 0x00, 0x00, -0xCB, 0x37, 0x95, 0xE0, 0xD0, 0x2E, 0x89, 0xF0, 0xEC, 0x37, 0xBE, 0x00, 0xEF, 0x36, 0xF8, 0xF0, -0xFB, 0x9B, 0x00, 0x00, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0x5D, 0x58, 0xF0, -0x00, 0x97, 0x2C, 0x00, 0x01, 0x46, 0x75, 0x70, 0x02, 0x77, 0x0E, 0x00, 0x03, 0x26, 0x57, 0x70, -0x07, 0x70, 0x97, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x0C, 0x08, 0x91, 0x00, 0x0C, 0x7C, 0x87, 0x2C, -0x0D, 0xBF, 0x94, 0x80, 0x0E, 0x65, 0xA3, 0x70, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, -0xFF, 0xFF, 0x36, 0x34, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, -0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, 0x4C, 0x4D, -0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, 0x43, 0x68, -0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC5, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2D, 0x4C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x37, 0x95, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2E, 0x89, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0x37, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x36, 0xF8, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x9B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x58, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0x75, 0x70, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x57, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x70, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x0C, 0x08, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7C, 0x87, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xBF, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x65, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x05, 0xFF, 0xFF, 0x36, 0x34, -0x00, 0x00, 0x00, 0x00, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, -0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, -0x43, 0x68, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, -0x85, 0xC0, 0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0xFF, 0x86, 0x37, 0x70, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0x37, 0x24, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, +0xA0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, +0x68, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, +0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC4, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2C, 0x5C, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, +0x01, 0x02, 0x03, 0x04, 0xFF, 0xFF, 0x37, 0x24, 0x00, 0x00, 0x00, 0x00, 0x88, 0xA4, 0x00, 0x00, +0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, 0xA0, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, 0x68, +0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x85, 0xC0, +0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, /* Pacific/Samoa */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -68425,8 +68038,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* US/Eastern */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x1E, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x86, 0x00, 0x70, 0xA1, 0x9A, 0xCD, 0x60, 0xA2, 0x65, 0xE2, 0x70, 0xA3, 0x83, 0xE9, 0xE0, 0xA4, 0x6A, 0xAE, 0x70, 0xA5, 0x35, 0xA7, 0x60, 0xA6, 0x53, 0xCA, 0xF0, 0xA7, 0x15, 0x89, 0x60, 0xA8, 0x33, 0xAC, 0xF0, 0xA8, 0xFE, 0xA5, 0xE0, @@ -68485,10 +68098,10 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, -0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, +0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, @@ -68501,149 +68114,150 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, -0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, -0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, -0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, -0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, -0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, -0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, -0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, -0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, -0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, -0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, -0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, -0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, -0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, +0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, +0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, +0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, +0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, +0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, +0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, +0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, +0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, +0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, +0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, +0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -69563,4 +69177,4 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2022.1", 595, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2022.2", 596, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From 455c40da50208c3aab81615b6103d7c7cfb093da Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 11 Aug 2022 15:54:30 +0100 Subject: [PATCH 046/229] Updated to version 2022.2 (2022b) --- ext/date/lib/timezonedb.h | 12034 +++++++++++++++++------------------- 1 file changed, 5824 insertions(+), 6210 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 60cc4b3ab6cc9..8db0629127043 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -4,606 +4,607 @@ #endif #ifdef TIMELIB_SUPPORT_SLIM_FILE -const timelib_tzdb_index_entry timezonedb_idx_builtin[595] = { - { "Africa/Abidjan" , 0x000000 }, - { "Africa/Accra" , 0x00008E }, - { "Africa/Addis_Ababa" , 0x00011C }, - { "Africa/Algiers" , 0x0001E7 }, - { "Africa/Asmara" , 0x0003C9 }, - { "Africa/Asmera" , 0x000494 }, - { "Africa/Bamako" , 0x00055F }, - { "Africa/Bangui" , 0x0005ED }, - { "Africa/Banjul" , 0x0006AD }, - { "Africa/Bissau" , 0x00073B }, - { "Africa/Blantyre" , 0x0007DC }, - { "Africa/Brazzaville" , 0x00086B }, - { "Africa/Bujumbura" , 0x00092B }, - { "Africa/Cairo" , 0x0009BA }, - { "Africa/Casablanca" , 0x000EC2 }, - { "Africa/Ceuta" , 0x00164D }, - { "Africa/Conakry" , 0x001899 }, - { "Africa/Dakar" , 0x001927 }, - { "Africa/Dar_es_Salaam" , 0x0019B5 }, - { "Africa/Djibouti" , 0x001A80 }, - { "Africa/Douala" , 0x001B4B }, - { "Africa/El_Aaiun" , 0x001C0B }, - { "Africa/Freetown" , 0x00233D }, - { "Africa/Gaborone" , 0x0023CB }, - { "Africa/Harare" , 0x00245A }, - { "Africa/Johannesburg" , 0x0024E9 }, - { "Africa/Juba" , 0x0025B3 }, - { "Africa/Kampala" , 0x002789 }, - { "Africa/Khartoum" , 0x002854 }, - { "Africa/Kigali" , 0x002A2A }, - { "Africa/Kinshasa" , 0x002AB9 }, - { "Africa/Lagos" , 0x002B92 }, - { "Africa/Libreville" , 0x002C52 }, - { "Africa/Lome" , 0x002D12 }, - { "Africa/Luanda" , 0x002DA0 }, - { "Africa/Lubumbashi" , 0x002E60 }, - { "Africa/Lusaka" , 0x002F08 }, - { "Africa/Malabo" , 0x002F97 }, - { "Africa/Maputo" , 0x003057 }, - { "Africa/Maseru" , 0x0030E6 }, - { "Africa/Mbabane" , 0x0031B0 }, - { "Africa/Mogadishu" , 0x00327A }, - { "Africa/Monrovia" , 0x003345 }, - { "Africa/Nairobi" , 0x0033F5 }, - { "Africa/Ndjamena" , 0x0034C0 }, - { "Africa/Niamey" , 0x00356C }, - { "Africa/Nouakchott" , 0x00362C }, - { "Africa/Ouagadougou" , 0x0036BA }, - { "Africa/Porto-Novo" , 0x003748 }, - { "Africa/Sao_Tome" , 0x003808 }, - { "Africa/Timbuktu" , 0x0038C1 }, - { "Africa/Tripoli" , 0x00394F }, - { "Africa/Tunis" , 0x003B0A }, - { "Africa/Windhoek" , 0x003CD7 }, - { "America/Adak" , 0x003F61 }, - { "America/Anchorage" , 0x004346 }, - { "America/Anguilla" , 0x004736 }, - { "America/Antigua" , 0x0047F3 }, - { "America/Araguaina" , 0x0048B0 }, - { "America/Argentina/Buenos_Aires" , 0x004B15 }, - { "America/Argentina/Catamarca" , 0x004DFA }, - { "America/Argentina/ComodRivadavia" , 0x0050E5 }, - { "America/Argentina/Cordoba" , 0x0053B5 }, - { "America/Argentina/Jujuy" , 0x0056BB }, - { "America/Argentina/La_Rioja" , 0x005983 }, - { "America/Argentina/Mendoza" , 0x005C69 }, - { "America/Argentina/Rio_Gallegos" , 0x005F45 }, - { "America/Argentina/Salta" , 0x006224 }, - { "America/Argentina/San_Juan" , 0x0064F8 }, - { "America/Argentina/San_Luis" , 0x0067DE }, - { "America/Argentina/Tucuman" , 0x006AC4 }, - { "America/Argentina/Ushuaia" , 0x006DB2 }, - { "America/Aruba" , 0x007097 }, - { "America/Asuncion" , 0x007154 }, - { "America/Atikokan" , 0x0074D4 }, - { "America/Atka" , 0x007596 }, - { "America/Bahia" , 0x00796B }, - { "America/Bahia_Banderas" , 0x007C26 }, - { "America/Barbados" , 0x007E64 }, - { "America/Belem" , 0x007F86 }, - { "America/Belize" , 0x00812E }, - { "America/Blanc-Sablon" , 0x00854F }, - { "America/Boa_Vista" , 0x008628 }, - { "America/Bogota" , 0x0087E9 }, - { "America/Boise" , 0x0088A8 }, - { "America/Buenos_Aires" , 0x008CBB }, - { "America/Cambridge_Bay" , 0x008F8B }, - { "America/Campo_Grande" , 0x0092AB }, - { "America/Cancun" , 0x009681 }, - { "America/Caracas" , 0x0098C2 }, - { "America/Catamarca" , 0x00998C }, - { "America/Cayenne" , 0x009C5C }, - { "America/Cayman" , 0x009CFF }, - { "America/Chicago" , 0x009DA0 }, - { "America/Chihuahua" , 0x00A49A }, - { "America/Coral_Harbour" , 0x00A620 }, - { "America/Cordoba" , 0x00A6C1 }, - { "America/Costa_Rica" , 0x00A991 }, - { "America/Creston" , 0x00AA85 }, - { "America/Cuiaba" , 0x00AB93 }, - { "America/Curacao" , 0x00AF50 }, - { "America/Danmarkshavn" , 0x00B00D }, - { "America/Dawson" , 0x00B1F2 }, - { "America/Dawson_Creek" , 0x00B615 }, - { "America/Denver" , 0x00B8EC }, - { "America/Detroit" , 0x00BD1F }, - { "America/Dominica" , 0x00C0C7 }, - { "America/Edmonton" , 0x00C184 }, - { "America/Eirunepe" , 0x00C577 }, - { "America/El_Salvador" , 0x00C746 }, - { "America/Ensenada" , 0x00C802 }, - { "America/Fort_Nelson" , 0x00CC0F }, - { "America/Fort_Wayne" , 0x00D1D7 }, - { "America/Fortaleza" , 0x00D3F6 }, - { "America/Glace_Bay" , 0x00D60C }, - { "America/Godthab" , 0x00D9A3 }, - { "America/Goose_Bay" , 0x00DB80 }, - { "America/Grand_Turk" , 0x00E1D8 }, - { "America/Grenada" , 0x00E539 }, - { "America/Guadeloupe" , 0x00E5F6 }, - { "America/Guatemala" , 0x00E6B3 }, - { "America/Guayaquil" , 0x00E793 }, - { "America/Guyana" , 0x00E864 }, - { "America/Halifax" , 0x00E925 }, - { "America/Havana" , 0x00EFD7 }, - { "America/Hermosillo" , 0x00F440 }, - { "America/Indiana/Indianapolis" , 0x00F589 }, - { "America/Indiana/Knox" , 0x00F7C1 }, - { "America/Indiana/Marengo" , 0x00FBDA }, - { "America/Indiana/Petersburg" , 0x00FE34 }, - { "America/Indiana/Tell_City" , 0x0100FE }, - { "America/Indiana/Vevay" , 0x010328 }, - { "America/Indiana/Vincennes" , 0x0104BF }, - { "America/Indiana/Winamac" , 0x010715 }, - { "America/Indianapolis" , 0x01099B }, - { "America/Inuvik" , 0x010BBA }, - { "America/Iqaluit" , 0x010E97 }, - { "America/Jamaica" , 0x0111A5 }, - { "America/Jujuy" , 0x011304 }, - { "America/Juneau" , 0x0115C2 }, - { "America/Kentucky/Louisville" , 0x0119A8 }, - { "America/Kentucky/Monticello" , 0x011EAC }, - { "America/Knox_IN" , 0x012298 }, - { "America/Kralendijk" , 0x01269C }, - { "America/La_Paz" , 0x012759 }, - { "America/Lima" , 0x01280F }, - { "America/Los_Angeles" , 0x012936 }, - { "America/Louisville" , 0x012E57 }, - { "America/Lower_Princes" , 0x01333D }, - { "America/Maceio" , 0x0133FA }, - { "America/Managua" , 0x01360C }, - { "America/Manaus" , 0x01373F }, - { "America/Marigot" , 0x0138F6 }, - { "America/Martinique" , 0x0139B3 }, - { "America/Matamoros" , 0x013A71 }, - { "America/Mazatlan" , 0x013C70 }, - { "America/Mendoza" , 0x013E20 }, - { "America/Menominee" , 0x0140F0 }, - { "America/Merida" , 0x0144B0 }, - { "America/Metlakatla" , 0x01460B }, - { "America/Mexico_City" , 0x014881 }, - { "America/Miquelon" , 0x014A35 }, - { "America/Moncton" , 0x014C67 }, - { "America/Monterrey" , 0x015260 }, - { "America/Montevideo" , 0x0153D6 }, - { "America/Montreal" , 0x0157AB }, - { "America/Montserrat" , 0x015E6C }, - { "America/Nassau" , 0x015F29 }, - { "America/New_York" , 0x0165EA }, - { "America/Nipigon" , 0x016CDA }, - { "America/Nome" , 0x01704A }, - { "America/Noronha" , 0x017432 }, - { "America/North_Dakota/Beulah" , 0x017632 }, - { "America/North_Dakota/Center" , 0x017A66 }, - { "America/North_Dakota/New_Salem" , 0x017E65 }, - { "America/Nuuk" , 0x01826A }, - { "America/Ojinaga" , 0x01845D }, - { "America/Panama" , 0x018675 }, - { "America/Pangnirtung" , 0x018716 }, - { "America/Paramaribo" , 0x018A3D }, - { "America/Phoenix" , 0x018B04 }, - { "America/Port-au-Prince" , 0x018C1D }, - { "America/Port_of_Spain" , 0x018E5E }, - { "America/Porto_Acre" , 0x018F1B }, - { "America/Porto_Velho" , 0x0190C9 }, - { "America/Puerto_Rico" , 0x019267 }, - { "America/Punta_Arenas" , 0x019324 }, - { "America/Rainy_River" , 0x0197FD }, - { "America/Rankin_Inlet" , 0x019B6E }, - { "America/Recife" , 0x019E44 }, - { "America/Regina" , 0x01A03E }, - { "America/Resolute" , 0x01A2DD }, - { "America/Rio_Branco" , 0x01A5B4 }, - { "America/Rosario" , 0x01A766 }, - { "America/Santa_Isabel" , 0x01AA36 }, - { "America/Santarem" , 0x01AE43 }, - { "America/Santiago" , 0x01AFF3 }, - { "America/Santo_Domingo" , 0x01B513 }, - { "America/Sao_Paulo" , 0x01B65C }, - { "America/Scoresbysund" , 0x01BA56 }, - { "America/Shiprock" , 0x01BC5E }, - { "America/Sitka" , 0x01C07C }, - { "America/St_Barthelemy" , 0x01C457 }, - { "America/St_Johns" , 0x01C514 }, - { "America/St_Kitts" , 0x01CC98 }, - { "America/St_Lucia" , 0x01CD55 }, - { "America/St_Thomas" , 0x01CE12 }, - { "America/St_Vincent" , 0x01CECF }, - { "America/Swift_Current" , 0x01CF8C }, - { "America/Tegucigalpa" , 0x01D11A }, - { "America/Thule" , 0x01D1E8 }, - { "America/Thunder_Bay" , 0x01D3C9 }, - { "America/Tijuana" , 0x01D760 }, - { "America/Toronto" , 0x01DB8E }, - { "America/Tortola" , 0x01E26C }, - { "America/Vancouver" , 0x01E329 }, - { "America/Virgin" , 0x01E880 }, - { "America/Whitehorse" , 0x01E93D }, - { "America/Winnipeg" , 0x01ED60 }, - { "America/Yakutat" , 0x01F297 }, - { "America/Yellowknife" , 0x01F665 }, - { "Antarctica/Casey" , 0x01F961 }, - { "Antarctica/Davis" , 0x01FA65 }, - { "Antarctica/DumontDUrville" , 0x01FB3B }, - { "Antarctica/Macquarie" , 0x01FBF1 }, - { "Antarctica/Mawson" , 0x01FFDD }, - { "Antarctica/McMurdo" , 0x020087 }, - { "Antarctica/Palmer" , 0x0204CC }, - { "Antarctica/Rothera" , 0x020855 }, - { "Antarctica/South_Pole" , 0x0208EC }, - { "Antarctica/Syowa" , 0x020D0B }, - { "Antarctica/Troll" , 0x020DA1 }, - { "Antarctica/Vostok" , 0x020E63 }, - { "Arctic/Longyearbyen" , 0x020EFA }, - { "Asia/Aden" , 0x0211AA }, - { "Asia/Almaty" , 0x02123B }, - { "Asia/Amman" , 0x0214BF }, - { "Asia/Anadyr" , 0x021865 }, - { "Asia/Aqtau" , 0x021B6B }, - { "Asia/Aqtobe" , 0x021DEA }, - { "Asia/Ashgabat" , 0x02206A }, - { "Asia/Ashkhabad" , 0x0221ED }, - { "Asia/Atyrau" , 0x022370 }, - { "Asia/Baghdad" , 0x0225F9 }, - { "Asia/Bahrain" , 0x02287B }, - { "Asia/Baku" , 0x02291F }, - { "Asia/Bangkok" , 0x022C13 }, - { "Asia/Barnaul" , 0x022CB7 }, - { "Asia/Beirut" , 0x022FC2 }, - { "Asia/Bishkek" , 0x0232AA }, - { "Asia/Brunei" , 0x023520 }, - { "Asia/Calcutta" , 0x0235C6 }, - { "Asia/Chita" , 0x0236AE }, - { "Asia/Choibalsan" , 0x0239BC }, - { "Asia/Chongqing" , 0x023C45 }, - { "Asia/Chungking" , 0x023DDA }, - { "Asia/Colombo" , 0x023F6F }, - { "Asia/Dacca" , 0x024072 }, - { "Asia/Damascus" , 0x024165 }, - { "Asia/Dhaka" , 0x024588 }, - { "Asia/Dili" , 0x02467B }, - { "Asia/Dubai" , 0x024731 }, - { "Asia/Dushanbe" , 0x0247C2 }, - { "Asia/Famagusta" , 0x02493C }, - { "Asia/Gaza" , 0x024D03 }, - { "Asia/Harbin" , 0x0251F1 }, - { "Asia/Hebron" , 0x025386 }, - { "Asia/Ho_Chi_Minh" , 0x025885 }, - { "Asia/Hong_Kong" , 0x02597D }, - { "Asia/Hovd" , 0x025C90 }, - { "Asia/Irkutsk" , 0x025F19 }, - { "Asia/Istanbul" , 0x026237 }, - { "Asia/Jakarta" , 0x0266F3 }, - { "Asia/Jayapura" , 0x026804 }, - { "Asia/Jerusalem" , 0x0268F1 }, - { "Asia/Kabul" , 0x026D2F }, - { "Asia/Kamchatka" , 0x026DDA }, - { "Asia/Karachi" , 0x0270CF }, - { "Asia/Kashgar" , 0x0271E5 }, - { "Asia/Kathmandu" , 0x027276 }, - { "Asia/Katmandu" , 0x027323 }, - { "Asia/Khandyga" , 0x0273D0 }, - { "Asia/Kolkata" , 0x027701 }, - { "Asia/Krasnoyarsk" , 0x0277E9 }, - { "Asia/Kuala_Lumpur" , 0x027AF3 }, - { "Asia/Kuching" , 0x027C13 }, - { "Asia/Kuwait" , 0x027D6D }, - { "Asia/Macao" , 0x027DFE }, - { "Asia/Macau" , 0x028121 }, - { "Asia/Magadan" , 0x028444 }, - { "Asia/Makassar" , 0x02874F }, - { "Asia/Manila" , 0x028862 }, - { "Asia/Muscat" , 0x02895C }, - { "Asia/Nicosia" , 0x0289ED }, - { "Asia/Novokuznetsk" , 0x028C61 }, - { "Asia/Novosibirsk" , 0x028F54 }, - { "Asia/Omsk" , 0x029265 }, - { "Asia/Oral" , 0x029563 }, - { "Asia/Phnom_Penh" , 0x0297EF }, - { "Asia/Pontianak" , 0x029893 }, - { "Asia/Pyongyang" , 0x0299AC }, - { "Asia/Qatar" , 0x029A6F }, - { "Asia/Qostanay" , 0x029B13 }, - { "Asia/Qyzylorda" , 0x029DA0 }, - { "Asia/Rangoon" , 0x02A039 }, - { "Asia/Riyadh" , 0x02A100 }, - { "Asia/Saigon" , 0x02A191 }, - { "Asia/Sakhalin" , 0x02A289 }, - { "Asia/Samarkand" , 0x02A5A0 }, - { "Asia/Seoul" , 0x02A72B }, - { "Asia/Shanghai" , 0x02A8D6 }, - { "Asia/Singapore" , 0x02AA77 }, - { "Asia/Srednekolymsk" , 0x02AB83 }, - { "Asia/Taipei" , 0x02AE97 }, - { "Asia/Tashkent" , 0x02B0A2 }, - { "Asia/Tbilisi" , 0x02B22D }, - { "Asia/Tehran" , 0x02B4AE }, - { "Asia/Tel_Aviv" , 0x02BC8E }, - { "Asia/Thimbu" , 0x02C0CC }, - { "Asia/Thimphu" , 0x02C172 }, - { "Asia/Tokyo" , 0x02C218 }, - { "Asia/Tomsk" , 0x02C2F9 }, - { "Asia/Ujung_Pandang" , 0x02C604 }, - { "Asia/Ulaanbaatar" , 0x02C6CE }, - { "Asia/Ulan_Bator" , 0x02C941 }, - { "Asia/Urumqi" , 0x02CB9F }, - { "Asia/Ust-Nera" , 0x02CC3D }, - { "Asia/Vientiane" , 0x02CF60 }, - { "Asia/Vladivostok" , 0x02D004 }, - { "Asia/Yakutsk" , 0x02D309 }, - { "Asia/Yangon" , 0x02D60D }, - { "Asia/Yekaterinburg" , 0x02D6D4 }, - { "Asia/Yerevan" , 0x02D9E6 }, - { "Atlantic/Azores" , 0x02DCB6 }, - { "Atlantic/Bermuda" , 0x02E275 }, - { "Atlantic/Canary" , 0x02E681 }, - { "Atlantic/Cape_Verde" , 0x02E879 }, - { "Atlantic/Faeroe" , 0x02E934 }, - { "Atlantic/Faroe" , 0x02EAF9 }, - { "Atlantic/Jan_Mayen" , 0x02ECBE }, - { "Atlantic/Madeira" , 0x02EF6E }, - { "Atlantic/Reykjavik" , 0x02F536 }, - { "Atlantic/South_Georgia" , 0x02F833 }, - { "Atlantic/St_Helena" , 0x02F8C3 }, - { "Atlantic/Stanley" , 0x02F951 }, - { "Australia/ACT" , 0x02FC72 }, - { "Australia/Adelaide" , 0x030006 }, - { "Australia/Brisbane" , 0x0303BA }, - { "Australia/Broken_Hill" , 0x0304FE }, - { "Australia/Canberra" , 0x0308D3 }, - { "Australia/Currie" , 0x030C67 }, - { "Australia/Darwin" , 0x03105E }, - { "Australia/Eucla" , 0x031166 }, - { "Australia/Hobart" , 0x0312C5 }, - { "Australia/LHI" , 0x0316C4 }, - { "Australia/Lindeman" , 0x031984 }, - { "Australia/Lord_Howe" , 0x031AF4 }, - { "Australia/Melbourne" , 0x031DC4 }, - { "Australia/North" , 0x032160 }, - { "Australia/NSW" , 0x032256 }, - { "Australia/Perth" , 0x0325EA }, - { "Australia/Queensland" , 0x032746 }, - { "Australia/South" , 0x032873 }, - { "Australia/Sydney" , 0x032C18 }, - { "Australia/Tasmania" , 0x032FC8 }, - { "Australia/Victoria" , 0x0333BF }, - { "Australia/West" , 0x033753 }, - { "Australia/Yancowinna" , 0x033891 }, - { "Brazil/Acre" , 0x033C4A }, - { "Brazil/DeNoronha" , 0x033DF8 }, - { "Brazil/East" , 0x033FE8 }, - { "Brazil/West" , 0x0343AC }, - { "Canada/Atlantic" , 0x034554 }, - { "Canada/Central" , 0x034BE8 }, - { "Canada/Eastern" , 0x035102 }, - { "Canada/Mountain" , 0x0357C3 }, - { "Canada/Newfoundland" , 0x035B99 }, - { "Canada/Pacific" , 0x0362FB }, - { "Canada/Saskatchewan" , 0x036839 }, - { "Canada/Yukon" , 0x036AC3 }, - { "CET" , 0x036ED4 }, - { "Chile/Continental" , 0x03714D }, - { "Chile/EasterIsland" , 0x03765B }, - { "CST6CDT" , 0x037AB5 }, - { "Cuba" , 0x037E78 }, - { "EET" , 0x0382E1 }, - { "Egypt" , 0x0384DE }, - { "Eire" , 0x0389E6 }, - { "EST" , 0x038FCA }, - { "EST5EDT" , 0x039045 }, - { "Etc/GMT" , 0x039408 }, - { "Etc/GMT+0" , 0x039483 }, - { "Etc/GMT+1" , 0x0394FE }, - { "Etc/GMT+10" , 0x03957B }, - { "Etc/GMT+11" , 0x0395F9 }, - { "Etc/GMT+12" , 0x039677 }, - { "Etc/GMT+2" , 0x0396F5 }, - { "Etc/GMT+3" , 0x039772 }, - { "Etc/GMT+4" , 0x0397EF }, - { "Etc/GMT+5" , 0x03986C }, - { "Etc/GMT+6" , 0x0398E9 }, - { "Etc/GMT+7" , 0x039966 }, - { "Etc/GMT+8" , 0x0399E3 }, - { "Etc/GMT+9" , 0x039A60 }, - { "Etc/GMT-0" , 0x039ADD }, - { "Etc/GMT-1" , 0x039B58 }, - { "Etc/GMT-10" , 0x039BD6 }, - { "Etc/GMT-11" , 0x039C55 }, - { "Etc/GMT-12" , 0x039CD4 }, - { "Etc/GMT-13" , 0x039D53 }, - { "Etc/GMT-14" , 0x039DD2 }, - { "Etc/GMT-2" , 0x039E51 }, - { "Etc/GMT-3" , 0x039ECF }, - { "Etc/GMT-4" , 0x039F4D }, - { "Etc/GMT-5" , 0x039FCB }, - { "Etc/GMT-6" , 0x03A049 }, - { "Etc/GMT-7" , 0x03A0C7 }, - { "Etc/GMT-8" , 0x03A145 }, - { "Etc/GMT-9" , 0x03A1C3 }, - { "Etc/GMT0" , 0x03A241 }, - { "Etc/Greenwich" , 0x03A2BC }, - { "Etc/UCT" , 0x03A337 }, - { "Etc/Universal" , 0x03A3B2 }, - { "Etc/UTC" , 0x03A42D }, - { "Etc/Zulu" , 0x03A4A8 }, - { "Europe/Amsterdam" , 0x03A523 }, - { "Europe/Andorra" , 0x03A95E }, - { "Europe/Astrakhan" , 0x03AAEF }, - { "Europe/Athens" , 0x03ADE3 }, - { "Europe/Belfast" , 0x03B099 }, - { "Europe/Belgrade" , 0x03B6E4 }, - { "Europe/Berlin" , 0x03B8CE }, - { "Europe/Bratislava" , 0x03BBAF }, - { "Europe/Brussels" , 0x03BE8E }, - { "Europe/Bucharest" , 0x03C2E9 }, - { "Europe/Budapest" , 0x03C58A }, - { "Europe/Busingen" , 0x03C894 }, - { "Europe/Chisinau" , 0x03CA99 }, - { "Europe/Copenhagen" , 0x03CD98 }, - { "Europe/Dublin" , 0x03D013 }, - { "Europe/Gibraltar" , 0x03D5F7 }, - { "Europe/Guernsey" , 0x03DAC7 }, - { "Europe/Helsinki" , 0x03E112 }, - { "Europe/Isle_of_Man" , 0x03E2FF }, - { "Europe/Istanbul" , 0x03E94A }, - { "Europe/Jersey" , 0x03EE06 }, - { "Europe/Kaliningrad" , 0x03F451 }, - { "Europe/Kiev" , 0x03F7F9 }, - { "Europe/Kirov" , 0x03FA47 }, - { "Europe/Lisbon" , 0x03FD2E }, - { "Europe/Ljubljana" , 0x0402FB }, - { "Europe/London" , 0x0404E5 }, - { "Europe/Luxembourg" , 0x040B30 }, - { "Europe/Madrid" , 0x040F7B }, - { "Europe/Malta" , 0x041318 }, - { "Europe/Mariehamn" , 0x0416C4 }, - { "Europe/Minsk" , 0x0418B1 }, - { "Europe/Monaco" , 0x041BE5 }, - { "Europe/Moscow" , 0x04204B }, - { "Europe/Nicosia" , 0x0423F7 }, - { "Europe/Oslo" , 0x042658 }, - { "Europe/Paris" , 0x042908 }, - { "Europe/Podgorica" , 0x042D65 }, - { "Europe/Prague" , 0x042F4F }, - { "Europe/Riga" , 0x04322E }, - { "Europe/Rome" , 0x0434F0 }, - { "Europe/Samara" , 0x0438AF }, - { "Europe/San_Marino" , 0x043BB0 }, - { "Europe/Sarajevo" , 0x043F6F }, - { "Europe/Saratov" , 0x044159 }, - { "Europe/Simferopol" , 0x04444B }, - { "Europe/Skopje" , 0x0447BE }, - { "Europe/Sofia" , 0x0449A8 }, - { "Europe/Stockholm" , 0x044C04 }, - { "Europe/Tallinn" , 0x044E01 }, - { "Europe/Tirane" , 0x0450B0 }, - { "Europe/Tiraspol" , 0x045318 }, - { "Europe/Ulyanovsk" , 0x045617 }, - { "Europe/Uzhgorod" , 0x04592D }, - { "Europe/Vaduz" , 0x045B62 }, - { "Europe/Vatican" , 0x045D5F }, - { "Europe/Vienna" , 0x04611E }, - { "Europe/Vilnius" , 0x0463BC }, - { "Europe/Volgograd" , 0x04666C }, - { "Europe/Warsaw" , 0x046969 }, - { "Europe/Zagreb" , 0x046D10 }, - { "Europe/Zaporozhye" , 0x046EFA }, - { "Europe/Zurich" , 0x04715A }, - { "Factory" , 0x047357 }, - { "GB" , 0x0473D4 }, - { "GB-Eire" , 0x047A1F }, - { "GMT" , 0x04806A }, - { "GMT+0" , 0x0480E5 }, - { "GMT-0" , 0x048160 }, - { "GMT0" , 0x0481DB }, - { "Greenwich" , 0x048256 }, - { "Hongkong" , 0x0482D1 }, - { "HST" , 0x0485E4 }, - { "Iceland" , 0x048660 }, - { "Indian/Antananarivo" , 0x04895D }, - { "Indian/Chagos" , 0x048A28 }, - { "Indian/Christmas" , 0x048ACC }, - { "Indian/Cocos" , 0x048B5D }, - { "Indian/Comoro" , 0x048BF5 }, - { "Indian/Kerguelen" , 0x048CC0 }, - { "Indian/Mahe" , 0x048D51 }, - { "Indian/Maldives" , 0x048DE2 }, - { "Indian/Mauritius" , 0x048E86 }, - { "Indian/Mayotte" , 0x048F45 }, - { "Indian/Reunion" , 0x049010 }, - { "Iran" , 0x0490A1 }, - { "Israel" , 0x049881 }, - { "Jamaica" , 0x049CBF }, - { "Japan" , 0x049E1E }, - { "Kwajalein" , 0x049EFF }, - { "Libya" , 0x049FE6 }, - { "MET" , 0x04A1A1 }, - { "Mexico/BajaNorte" , 0x04A41A }, - { "Mexico/BajaSur" , 0x04A827 }, - { "Mexico/General" , 0x04A9A2 }, - { "MST" , 0x04AB4A }, - { "MST7MDT" , 0x04ABC5 }, - { "Navajo" , 0x04AF88 }, - { "NZ" , 0x04B3A6 }, - { "NZ-CHAT" , 0x04B7C5 }, - { "Pacific/Apia" , 0x04BAF9 }, - { "Pacific/Auckland" , 0x04BC9C }, - { "Pacific/Bougainville" , 0x04C0D3 }, - { "Pacific/Chatham" , 0x04C1B4 }, - { "Pacific/Chuuk" , 0x04C4F7 }, - { "Pacific/Easter" , 0x04C5D5 }, - { "Pacific/Efate" , 0x04CA3C }, - { "Pacific/Enderbury" , 0x04CB9E }, - { "Pacific/Fakaofo" , 0x04CC56 }, - { "Pacific/Fiji" , 0x04CCFB }, - { "Pacific/Funafuti" , 0x04CEB3 }, - { "Pacific/Galapagos" , 0x04CF45 }, - { "Pacific/Gambier" , 0x04D011 }, - { "Pacific/Guadalcanal" , 0x04D0B0 }, - { "Pacific/Guam" , 0x04D142 }, - { "Pacific/Honolulu" , 0x04D2AC }, - { "Pacific/Johnston" , 0x04D39B }, - { "Pacific/Kanton" , 0x04D484 }, - { "Pacific/Kiritimati" , 0x04D54B }, - { "Pacific/Kosrae" , 0x04D611 }, - { "Pacific/Kwajalein" , 0x04D715 }, - { "Pacific/Majuro" , 0x04D805 }, - { "Pacific/Marquesas" , 0x04D908 }, - { "Pacific/Midway" , 0x04D9B0 }, - { "Pacific/Nauru" , 0x04DA5C }, - { "Pacific/Niue" , 0x04DB1F }, - { "Pacific/Norfolk" , 0x04DBC5 }, - { "Pacific/Noumea" , 0x04DCC8 }, - { "Pacific/Pago_Pago" , 0x04DD9A }, - { "Pacific/Palau" , 0x04DE38 }, - { "Pacific/Pitcairn" , 0x04DED8 }, - { "Pacific/Pohnpei" , 0x04DF7D }, - { "Pacific/Ponape" , 0x04E06D }, - { "Pacific/Port_Moresby" , 0x04E14F }, - { "Pacific/Rarotonga" , 0x04E212 }, - { "Pacific/Saipan" , 0x04E3B4 }, - { "Pacific/Samoa" , 0x04E51E }, - { "Pacific/Tahiti" , 0x04E5BC }, - { "Pacific/Tarawa" , 0x04E65C }, - { "Pacific/Tongatapu" , 0x04E6FD }, - { "Pacific/Truk" , 0x04E7F6 }, - { "Pacific/Wake" , 0x04E8C5 }, - { "Pacific/Wallis" , 0x04E962 }, - { "Pacific/Yap" , 0x04E9F4 }, - { "Poland" , 0x04EAC3 }, - { "Portugal" , 0x04EE6A }, - { "PRC" , 0x04F424 }, - { "PST8PDT" , 0x04F5B9 }, - { "ROC" , 0x04F97C }, - { "ROK" , 0x04FB87 }, - { "Singapore" , 0x04FD32 }, - { "Turkey" , 0x04FE3E }, - { "UCT" , 0x0502FA }, - { "Universal" , 0x050375 }, - { "US/Alaska" , 0x0503F0 }, - { "US/Aleutian" , 0x0507CD }, - { "US/Arizona" , 0x050BA2 }, - { "US/Central" , 0x050C9E }, - { "US/East-Indiana" , 0x051384 }, - { "US/Eastern" , 0x0515A3 }, - { "US/Hawaii" , 0x051C7F }, - { "US/Indiana-Starke" , 0x051D68 }, - { "US/Michigan" , 0x05216C }, - { "US/Mountain" , 0x0524FB }, - { "US/Pacific" , 0x052919 }, - { "US/Samoa" , 0x052E33 }, - { "UTC" , 0x052ED1 }, - { "W-SU" , 0x052F4C }, - { "WET" , 0x0532E4 }, - { "Zulu" , 0x0534DE }, +const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { + { (char*) "Africa/Abidjan" , 0x000000 }, + { (char*) "Africa/Accra" , 0x00008E }, + { (char*) "Africa/Addis_Ababa" , 0x000356 }, + { (char*) "Africa/Algiers" , 0x0003F9 }, + { (char*) "Africa/Asmara" , 0x0005DB }, + { (char*) "Africa/Asmera" , 0x000691 }, + { (char*) "Africa/Bamako" , 0x000747 }, + { (char*) "Africa/Bangui" , 0x0007F1 }, + { (char*) "Africa/Banjul" , 0x000880 }, + { (char*) "Africa/Bissau" , 0x000934 }, + { (char*) "Africa/Blantyre" , 0x0009D5 }, + { (char*) "Africa/Brazzaville" , 0x000A86 }, + { (char*) "Africa/Bujumbura" , 0x000B15 }, + { (char*) "Africa/Cairo" , 0x000BA4 }, + { (char*) "Africa/Casablanca" , 0x0010AC }, + { (char*) "Africa/Ceuta" , 0x001837 }, + { (char*) "Africa/Conakry" , 0x001A83 }, + { (char*) "Africa/Dakar" , 0x001B2D }, + { (char*) "Africa/Dar_es_Salaam" , 0x001BCE }, + { (char*) "Africa/Djibouti" , 0x001C7B }, + { (char*) "Africa/Douala" , 0x001D0A }, + { (char*) "Africa/El_Aaiun" , 0x001D99 }, + { (char*) "Africa/Freetown" , 0x0024CB }, + { (char*) "Africa/Gaborone" , 0x002638 }, + { (char*) "Africa/Harare" , 0x0026F8 }, + { (char*) "Africa/Johannesburg" , 0x002787 }, + { (char*) "Africa/Juba" , 0x002851 }, + { (char*) "Africa/Kampala" , 0x002A27 }, + { (char*) "Africa/Khartoum" , 0x002AE9 }, + { (char*) "Africa/Kigali" , 0x002CBF }, + { (char*) "Africa/Kinshasa" , 0x002D4E }, + { (char*) "Africa/Lagos" , 0x002DF6 }, + { (char*) "Africa/Libreville" , 0x002EB6 }, + { (char*) "Africa/Lome" , 0x002F45 }, + { (char*) "Africa/Luanda" , 0x002FD3 }, + { (char*) "Africa/Lubumbashi" , 0x003071 }, + { (char*) "Africa/Lusaka" , 0x00312C }, + { (char*) "Africa/Malabo" , 0x0031BB }, + { (char*) "Africa/Maputo" , 0x00325D }, + { (char*) "Africa/Maseru" , 0x0032EC }, + { (char*) "Africa/Mbabane" , 0x003395 }, + { (char*) "Africa/Mogadishu" , 0x003426 }, + { (char*) "Africa/Monrovia" , 0x0034D3 }, + { (char*) "Africa/Nairobi" , 0x003583 }, + { (char*) "Africa/Ndjamena" , 0x00364E }, + { (char*) "Africa/Niamey" , 0x0036FA }, + { (char*) "Africa/Nouakchott" , 0x0037AF }, + { (char*) "Africa/Ouagadougou" , 0x003859 }, + { (char*) "Africa/Porto-Novo" , 0x0038E7 }, + { (char*) "Africa/Sao_Tome" , 0x003989 }, + { (char*) "Africa/Timbuktu" , 0x003A42 }, + { (char*) "Africa/Tripoli" , 0x003AEC }, + { (char*) "Africa/Tunis" , 0x003CA7 }, + { (char*) "Africa/Windhoek" , 0x003E74 }, + { (char*) "America/Adak" , 0x0040FE }, + { (char*) "America/Anchorage" , 0x0044E3 }, + { (char*) "America/Anguilla" , 0x0048D3 }, + { (char*) "America/Antigua" , 0x004961 }, + { (char*) "America/Araguaina" , 0x004A02 }, + { (char*) "America/Argentina/Buenos_Aires" , 0x004C67 }, + { (char*) "America/Argentina/Catamarca" , 0x004F4C }, + { (char*) "America/Argentina/ComodRivadavia" , 0x005237 }, + { (char*) "America/Argentina/Cordoba" , 0x005507 }, + { (char*) "America/Argentina/Jujuy" , 0x00580D }, + { (char*) "America/Argentina/La_Rioja" , 0x005AD5 }, + { (char*) "America/Argentina/Mendoza" , 0x005DBB }, + { (char*) "America/Argentina/Rio_Gallegos" , 0x006097 }, + { (char*) "America/Argentina/Salta" , 0x006376 }, + { (char*) "America/Argentina/San_Juan" , 0x00664A }, + { (char*) "America/Argentina/San_Luis" , 0x006930 }, + { (char*) "America/Argentina/Tucuman" , 0x006C16 }, + { (char*) "America/Argentina/Ushuaia" , 0x006F04 }, + { (char*) "America/Aruba" , 0x0071E9 }, + { (char*) "America/Asuncion" , 0x00728C }, + { (char*) "America/Atikokan" , 0x00760C }, + { (char*) "America/Atka" , 0x007719 }, + { (char*) "America/Bahia" , 0x007AEE }, + { (char*) "America/Bahia_Banderas" , 0x007DA9 }, + { (char*) "America/Barbados" , 0x007FE7 }, + { (char*) "America/Belem" , 0x008109 }, + { (char*) "America/Belize" , 0x0082B1 }, + { (char*) "America/Blanc-Sablon" , 0x0086D2 }, + { (char*) "America/Boa_Vista" , 0x0087C7 }, + { (char*) "America/Bogota" , 0x008988 }, + { (char*) "America/Boise" , 0x008A47 }, + { (char*) "America/Buenos_Aires" , 0x008E5A }, + { (char*) "America/Cambridge_Bay" , 0x00912A }, + { (char*) "America/Campo_Grande" , 0x00944A }, + { (char*) "America/Cancun" , 0x009820 }, + { (char*) "America/Caracas" , 0x009A61 }, + { (char*) "America/Catamarca" , 0x009B2B }, + { (char*) "America/Cayenne" , 0x009DFB }, + { (char*) "America/Cayman" , 0x009E9E }, + { (char*) "America/Chicago" , 0x009F3F }, + { (char*) "America/Chihuahua" , 0x00A639 }, + { (char*) "America/Coral_Harbour" , 0x00A7BF }, + { (char*) "America/Cordoba" , 0x00A8AB }, + { (char*) "America/Costa_Rica" , 0x00AB7B }, + { (char*) "America/Creston" , 0x00AC6F }, + { (char*) "America/Cuiaba" , 0x00AD2B }, + { (char*) "America/Curacao" , 0x00B0E8 }, + { (char*) "America/Danmarkshavn" , 0x00B18B }, + { (char*) "America/Dawson" , 0x00B370 }, + { (char*) "America/Dawson_Creek" , 0x00B793 }, + { (char*) "America/Denver" , 0x00BA6A }, + { (char*) "America/Detroit" , 0x00BE9D }, + { (char*) "America/Dominica" , 0x00C245 }, + { (char*) "America/Edmonton" , 0x00C2D3 }, + { (char*) "America/Eirunepe" , 0x00C6C6 }, + { (char*) "America/El_Salvador" , 0x00C895 }, + { (char*) "America/Ensenada" , 0x00C951 }, + { (char*) "America/Fort_Nelson" , 0x00CD5E }, + { (char*) "America/Fort_Wayne" , 0x00D326 }, + { (char*) "America/Fortaleza" , 0x00D545 }, + { (char*) "America/Glace_Bay" , 0x00D75B }, + { (char*) "America/Godthab" , 0x00DAF2 }, + { (char*) "America/Goose_Bay" , 0x00DCCF }, + { (char*) "America/Grand_Turk" , 0x00E327 }, + { (char*) "America/Grenada" , 0x00E688 }, + { (char*) "America/Guadeloupe" , 0x00E716 }, + { (char*) "America/Guatemala" , 0x00E7A4 }, + { (char*) "America/Guayaquil" , 0x00E884 }, + { (char*) "America/Guyana" , 0x00E955 }, + { (char*) "America/Halifax" , 0x00EA16 }, + { (char*) "America/Havana" , 0x00F0C8 }, + { (char*) "America/Hermosillo" , 0x00F531 }, + { (char*) "America/Indiana/Indianapolis" , 0x00F67A }, + { (char*) "America/Indiana/Knox" , 0x00F8B2 }, + { (char*) "America/Indiana/Marengo" , 0x00FCCB }, + { (char*) "America/Indiana/Petersburg" , 0x00FF25 }, + { (char*) "America/Indiana/Tell_City" , 0x0101EF }, + { (char*) "America/Indiana/Vevay" , 0x010419 }, + { (char*) "America/Indiana/Vincennes" , 0x0105B0 }, + { (char*) "America/Indiana/Winamac" , 0x010806 }, + { (char*) "America/Indianapolis" , 0x010A8C }, + { (char*) "America/Inuvik" , 0x010CAB }, + { (char*) "America/Iqaluit" , 0x010F88 }, + { (char*) "America/Jamaica" , 0x011296 }, + { (char*) "America/Jujuy" , 0x0113F5 }, + { (char*) "America/Juneau" , 0x0116B3 }, + { (char*) "America/Kentucky/Louisville" , 0x011A99 }, + { (char*) "America/Kentucky/Monticello" , 0x011F9D }, + { (char*) "America/Knox_IN" , 0x012389 }, + { (char*) "America/Kralendijk" , 0x01278D }, + { (char*) "America/La_Paz" , 0x012830 }, + { (char*) "America/Lima" , 0x0128E6 }, + { (char*) "America/Los_Angeles" , 0x012A0D }, + { (char*) "America/Louisville" , 0x012F2E }, + { (char*) "America/Lower_Princes" , 0x013414 }, + { (char*) "America/Maceio" , 0x0134B7 }, + { (char*) "America/Managua" , 0x0136C9 }, + { (char*) "America/Manaus" , 0x0137FC }, + { (char*) "America/Marigot" , 0x0139B3 }, + { (char*) "America/Martinique" , 0x013A41 }, + { (char*) "America/Matamoros" , 0x013AFF }, + { (char*) "America/Mazatlan" , 0x013CFE }, + { (char*) "America/Mendoza" , 0x013EAE }, + { (char*) "America/Menominee" , 0x01417E }, + { (char*) "America/Merida" , 0x01453E }, + { (char*) "America/Metlakatla" , 0x014699 }, + { (char*) "America/Mexico_City" , 0x01490F }, + { (char*) "America/Miquelon" , 0x014AC3 }, + { (char*) "America/Moncton" , 0x014CF5 }, + { (char*) "America/Monterrey" , 0x0152EE }, + { (char*) "America/Montevideo" , 0x015464 }, + { (char*) "America/Montreal" , 0x015839 }, + { (char*) "America/Montserrat" , 0x015EFA }, + { (char*) "America/Nassau" , 0x015F88 }, + { (char*) "America/New_York" , 0x016382 }, + { (char*) "America/Nipigon" , 0x016A72 }, + { (char*) "America/Nome" , 0x016DE2 }, + { (char*) "America/Noronha" , 0x0171CA }, + { (char*) "America/North_Dakota/Beulah" , 0x0173CA }, + { (char*) "America/North_Dakota/Center" , 0x0177FE }, + { (char*) "America/North_Dakota/New_Salem" , 0x017BFD }, + { (char*) "America/Nuuk" , 0x018002 }, + { (char*) "America/Ojinaga" , 0x0181F5 }, + { (char*) "America/Panama" , 0x01840D }, + { (char*) "America/Pangnirtung" , 0x0184AE }, + { (char*) "America/Paramaribo" , 0x0187D5 }, + { (char*) "America/Phoenix" , 0x01889C }, + { (char*) "America/Port-au-Prince" , 0x0189B5 }, + { (char*) "America/Port_of_Spain" , 0x018BF6 }, + { (char*) "America/Porto_Acre" , 0x018C84 }, + { (char*) "America/Porto_Velho" , 0x018E32 }, + { (char*) "America/Puerto_Rico" , 0x018FD0 }, + { (char*) "America/Punta_Arenas" , 0x01908D }, + { (char*) "America/Rainy_River" , 0x01956F }, + { (char*) "America/Rankin_Inlet" , 0x0198E0 }, + { (char*) "America/Recife" , 0x019BB6 }, + { (char*) "America/Regina" , 0x019DB0 }, + { (char*) "America/Resolute" , 0x01A04F }, + { (char*) "America/Rio_Branco" , 0x01A326 }, + { (char*) "America/Rosario" , 0x01A4D8 }, + { (char*) "America/Santa_Isabel" , 0x01A7A8 }, + { (char*) "America/Santarem" , 0x01ABB5 }, + { (char*) "America/Santiago" , 0x01AD65 }, + { (char*) "America/Santo_Domingo" , 0x01B2CD }, + { (char*) "America/Sao_Paulo" , 0x01B416 }, + { (char*) "America/Scoresbysund" , 0x01B810 }, + { (char*) "America/Shiprock" , 0x01BA18 }, + { (char*) "America/Sitka" , 0x01BE36 }, + { (char*) "America/St_Barthelemy" , 0x01C211 }, + { (char*) "America/St_Johns" , 0x01C29F }, + { (char*) "America/St_Kitts" , 0x01CA23 }, + { (char*) "America/St_Lucia" , 0x01CAB1 }, + { (char*) "America/St_Thomas" , 0x01CB52 }, + { (char*) "America/St_Vincent" , 0x01CBE0 }, + { (char*) "America/Swift_Current" , 0x01CC81 }, + { (char*) "America/Tegucigalpa" , 0x01CE0F }, + { (char*) "America/Thule" , 0x01CEDD }, + { (char*) "America/Thunder_Bay" , 0x01D0BE }, + { (char*) "America/Tijuana" , 0x01D455 }, + { (char*) "America/Toronto" , 0x01D883 }, + { (char*) "America/Tortola" , 0x01DF61 }, + { (char*) "America/Vancouver" , 0x01DFEF }, + { (char*) "America/Virgin" , 0x01E546 }, + { (char*) "America/Whitehorse" , 0x01E5D4 }, + { (char*) "America/Winnipeg" , 0x01E9F7 }, + { (char*) "America/Yakutat" , 0x01EF2E }, + { (char*) "America/Yellowknife" , 0x01F2FC }, + { (char*) "Antarctica/Casey" , 0x01F5F8 }, + { (char*) "Antarctica/Davis" , 0x01F6FC }, + { (char*) "Antarctica/DumontDUrville" , 0x01F7D2 }, + { (char*) "Antarctica/Macquarie" , 0x01F886 }, + { (char*) "Antarctica/Mawson" , 0x01FC72 }, + { (char*) "Antarctica/McMurdo" , 0x01FD1C }, + { (char*) "Antarctica/Palmer" , 0x02004E }, + { (char*) "Antarctica/Rothera" , 0x0203D7 }, + { (char*) "Antarctica/South_Pole" , 0x02046E }, + { (char*) "Antarctica/Syowa" , 0x02077A }, + { (char*) "Antarctica/Troll" , 0x020810 }, + { (char*) "Antarctica/Vostok" , 0x0208D2 }, + { (char*) "Arctic/Longyearbyen" , 0x020969 }, + { (char*) "Asia/Aden" , 0x020C19 }, + { (char*) "Asia/Almaty" , 0x020CAA }, + { (char*) "Asia/Amman" , 0x020F2E }, + { (char*) "Asia/Anadyr" , 0x0212D4 }, + { (char*) "Asia/Aqtau" , 0x0215DA }, + { (char*) "Asia/Aqtobe" , 0x021859 }, + { (char*) "Asia/Ashgabat" , 0x021AD9 }, + { (char*) "Asia/Ashkhabad" , 0x021C5C }, + { (char*) "Asia/Atyrau" , 0x021DDF }, + { (char*) "Asia/Baghdad" , 0x022068 }, + { (char*) "Asia/Bahrain" , 0x0222EA }, + { (char*) "Asia/Baku" , 0x0223A3 }, + { (char*) "Asia/Bangkok" , 0x022697 }, + { (char*) "Asia/Barnaul" , 0x02273B }, + { (char*) "Asia/Beirut" , 0x022A46 }, + { (char*) "Asia/Bishkek" , 0x022D2E }, + { (char*) "Asia/Brunei" , 0x022FA4 }, + { (char*) "Asia/Calcutta" , 0x02304A }, + { (char*) "Asia/Chita" , 0x023132 }, + { (char*) "Asia/Choibalsan" , 0x023440 }, + { (char*) "Asia/Chongqing" , 0x0236C9 }, + { (char*) "Asia/Chungking" , 0x02385E }, + { (char*) "Asia/Colombo" , 0x0239F3 }, + { (char*) "Asia/Dacca" , 0x023AF6 }, + { (char*) "Asia/Damascus" , 0x023BE9 }, + { (char*) "Asia/Dhaka" , 0x02400C }, + { (char*) "Asia/Dili" , 0x0240FF }, + { (char*) "Asia/Dubai" , 0x0241B5 }, + { (char*) "Asia/Dushanbe" , 0x024246 }, + { (char*) "Asia/Famagusta" , 0x0243C0 }, + { (char*) "Asia/Gaza" , 0x024787 }, + { (char*) "Asia/Harbin" , 0x024C75 }, + { (char*) "Asia/Hebron" , 0x024E0A }, + { (char*) "Asia/Ho_Chi_Minh" , 0x025309 }, + { (char*) "Asia/Hong_Kong" , 0x025401 }, + { (char*) "Asia/Hovd" , 0x025714 }, + { (char*) "Asia/Irkutsk" , 0x02599D }, + { (char*) "Asia/Istanbul" , 0x025CBB }, + { (char*) "Asia/Jakarta" , 0x026177 }, + { (char*) "Asia/Jayapura" , 0x026288 }, + { (char*) "Asia/Jerusalem" , 0x026375 }, + { (char*) "Asia/Kabul" , 0x0267B3 }, + { (char*) "Asia/Kamchatka" , 0x02685E }, + { (char*) "Asia/Karachi" , 0x026B53 }, + { (char*) "Asia/Kashgar" , 0x026C69 }, + { (char*) "Asia/Kathmandu" , 0x026CFA }, + { (char*) "Asia/Katmandu" , 0x026DA7 }, + { (char*) "Asia/Khandyga" , 0x026E54 }, + { (char*) "Asia/Kolkata" , 0x027185 }, + { (char*) "Asia/Krasnoyarsk" , 0x02726D }, + { (char*) "Asia/Kuala_Lumpur" , 0x027577 }, + { (char*) "Asia/Kuching" , 0x027697 }, + { (char*) "Asia/Kuwait" , 0x0277F1 }, + { (char*) "Asia/Macao" , 0x027882 }, + { (char*) "Asia/Macau" , 0x027BA5 }, + { (char*) "Asia/Magadan" , 0x027EC8 }, + { (char*) "Asia/Makassar" , 0x0281D3 }, + { (char*) "Asia/Manila" , 0x0282E6 }, + { (char*) "Asia/Muscat" , 0x0283E0 }, + { (char*) "Asia/Nicosia" , 0x028471 }, + { (char*) "Asia/Novokuznetsk" , 0x0286E5 }, + { (char*) "Asia/Novosibirsk" , 0x0289D8 }, + { (char*) "Asia/Omsk" , 0x028CE9 }, + { (char*) "Asia/Oral" , 0x028FE7 }, + { (char*) "Asia/Phnom_Penh" , 0x029273 }, + { (char*) "Asia/Pontianak" , 0x029347 }, + { (char*) "Asia/Pyongyang" , 0x029460 }, + { (char*) "Asia/Qatar" , 0x029523 }, + { (char*) "Asia/Qostanay" , 0x0295C7 }, + { (char*) "Asia/Qyzylorda" , 0x029854 }, + { (char*) "Asia/Rangoon" , 0x029AED }, + { (char*) "Asia/Riyadh" , 0x029BB4 }, + { (char*) "Asia/Saigon" , 0x029C45 }, + { (char*) "Asia/Sakhalin" , 0x029D3D }, + { (char*) "Asia/Samarkand" , 0x02A054 }, + { (char*) "Asia/Seoul" , 0x02A1DF }, + { (char*) "Asia/Shanghai" , 0x02A38A }, + { (char*) "Asia/Singapore" , 0x02A52B }, + { (char*) "Asia/Srednekolymsk" , 0x02A637 }, + { (char*) "Asia/Taipei" , 0x02A94B }, + { (char*) "Asia/Tashkent" , 0x02AB56 }, + { (char*) "Asia/Tbilisi" , 0x02ACE1 }, + { (char*) "Asia/Tehran" , 0x02AF62 }, + { (char*) "Asia/Tel_Aviv" , 0x02B29A }, + { (char*) "Asia/Thimbu" , 0x02B6D8 }, + { (char*) "Asia/Thimphu" , 0x02B77E }, + { (char*) "Asia/Tokyo" , 0x02B824 }, + { (char*) "Asia/Tomsk" , 0x02B905 }, + { (char*) "Asia/Ujung_Pandang" , 0x02BC10 }, + { (char*) "Asia/Ulaanbaatar" , 0x02BCDA }, + { (char*) "Asia/Ulan_Bator" , 0x02BF4D }, + { (char*) "Asia/Urumqi" , 0x02C1AB }, + { (char*) "Asia/Ust-Nera" , 0x02C249 }, + { (char*) "Asia/Vientiane" , 0x02C56C }, + { (char*) "Asia/Vladivostok" , 0x02C652 }, + { (char*) "Asia/Yakutsk" , 0x02C957 }, + { (char*) "Asia/Yangon" , 0x02CC5B }, + { (char*) "Asia/Yekaterinburg" , 0x02CD22 }, + { (char*) "Asia/Yerevan" , 0x02D034 }, + { (char*) "Atlantic/Azores" , 0x02D304 }, + { (char*) "Atlantic/Bermuda" , 0x02D8C3 }, + { (char*) "Atlantic/Canary" , 0x02DCCF }, + { (char*) "Atlantic/Cape_Verde" , 0x02DEC7 }, + { (char*) "Atlantic/Faeroe" , 0x02DF82 }, + { (char*) "Atlantic/Faroe" , 0x02E147 }, + { (char*) "Atlantic/Jan_Mayen" , 0x02E30C }, + { (char*) "Atlantic/Madeira" , 0x02E5BC }, + { (char*) "Atlantic/Reykjavik" , 0x02EB84 }, + { (char*) "Atlantic/South_Georgia" , 0x02EE81 }, + { (char*) "Atlantic/St_Helena" , 0x02EF11 }, + { (char*) "Atlantic/Stanley" , 0x02EFB2 }, + { (char*) "Australia/ACT" , 0x02F2D3 }, + { (char*) "Australia/Adelaide" , 0x02F667 }, + { (char*) "Australia/Brisbane" , 0x02FA1B }, + { (char*) "Australia/Broken_Hill" , 0x02FB5F }, + { (char*) "Australia/Canberra" , 0x02FF34 }, + { (char*) "Australia/Currie" , 0x0302C8 }, + { (char*) "Australia/Darwin" , 0x0306BF }, + { (char*) "Australia/Eucla" , 0x0307C7 }, + { (char*) "Australia/Hobart" , 0x030926 }, + { (char*) "Australia/LHI" , 0x030D25 }, + { (char*) "Australia/Lindeman" , 0x030FE5 }, + { (char*) "Australia/Lord_Howe" , 0x031155 }, + { (char*) "Australia/Melbourne" , 0x031425 }, + { (char*) "Australia/North" , 0x0317C1 }, + { (char*) "Australia/NSW" , 0x0318B7 }, + { (char*) "Australia/Perth" , 0x031C4B }, + { (char*) "Australia/Queensland" , 0x031DA7 }, + { (char*) "Australia/South" , 0x031ED4 }, + { (char*) "Australia/Sydney" , 0x032279 }, + { (char*) "Australia/Tasmania" , 0x032629 }, + { (char*) "Australia/Victoria" , 0x032A20 }, + { (char*) "Australia/West" , 0x032DB4 }, + { (char*) "Australia/Yancowinna" , 0x032EF2 }, + { (char*) "Brazil/Acre" , 0x0332AB }, + { (char*) "Brazil/DeNoronha" , 0x033459 }, + { (char*) "Brazil/East" , 0x033649 }, + { (char*) "Brazil/West" , 0x033A0D }, + { (char*) "Canada/Atlantic" , 0x033BB5 }, + { (char*) "Canada/Central" , 0x034249 }, + { (char*) "Canada/Eastern" , 0x034763 }, + { (char*) "Canada/Mountain" , 0x034E24 }, + { (char*) "Canada/Newfoundland" , 0x0351FA }, + { (char*) "Canada/Pacific" , 0x03595C }, + { (char*) "Canada/Saskatchewan" , 0x035E9A }, + { (char*) "Canada/Yukon" , 0x036124 }, + { (char*) "CET" , 0x036535 }, + { (char*) "Chile/Continental" , 0x0367AE }, + { (char*) "Chile/EasterIsland" , 0x036D04 }, + { (char*) "CST6CDT" , 0x0371A6 }, + { (char*) "Cuba" , 0x037569 }, + { (char*) "EET" , 0x0379D2 }, + { (char*) "Egypt" , 0x037BCF }, + { (char*) "Eire" , 0x0380D7 }, + { (char*) "EST" , 0x0386BB }, + { (char*) "EST5EDT" , 0x038736 }, + { (char*) "Etc/GMT" , 0x038AF9 }, + { (char*) "Etc/GMT+0" , 0x038B74 }, + { (char*) "Etc/GMT+1" , 0x038BEF }, + { (char*) "Etc/GMT+10" , 0x038C6C }, + { (char*) "Etc/GMT+11" , 0x038CEA }, + { (char*) "Etc/GMT+12" , 0x038D68 }, + { (char*) "Etc/GMT+2" , 0x038DE6 }, + { (char*) "Etc/GMT+3" , 0x038E63 }, + { (char*) "Etc/GMT+4" , 0x038EE0 }, + { (char*) "Etc/GMT+5" , 0x038F5D }, + { (char*) "Etc/GMT+6" , 0x038FDA }, + { (char*) "Etc/GMT+7" , 0x039057 }, + { (char*) "Etc/GMT+8" , 0x0390D4 }, + { (char*) "Etc/GMT+9" , 0x039151 }, + { (char*) "Etc/GMT-0" , 0x0391CE }, + { (char*) "Etc/GMT-1" , 0x039249 }, + { (char*) "Etc/GMT-10" , 0x0392C7 }, + { (char*) "Etc/GMT-11" , 0x039346 }, + { (char*) "Etc/GMT-12" , 0x0393C5 }, + { (char*) "Etc/GMT-13" , 0x039444 }, + { (char*) "Etc/GMT-14" , 0x0394C3 }, + { (char*) "Etc/GMT-2" , 0x039542 }, + { (char*) "Etc/GMT-3" , 0x0395C0 }, + { (char*) "Etc/GMT-4" , 0x03963E }, + { (char*) "Etc/GMT-5" , 0x0396BC }, + { (char*) "Etc/GMT-6" , 0x03973A }, + { (char*) "Etc/GMT-7" , 0x0397B8 }, + { (char*) "Etc/GMT-8" , 0x039836 }, + { (char*) "Etc/GMT-9" , 0x0398B4 }, + { (char*) "Etc/GMT0" , 0x039932 }, + { (char*) "Etc/Greenwich" , 0x0399AD }, + { (char*) "Etc/UCT" , 0x039A28 }, + { (char*) "Etc/Universal" , 0x039AA3 }, + { (char*) "Etc/UTC" , 0x039B1E }, + { (char*) "Etc/Zulu" , 0x039B99 }, + { (char*) "Europe/Amsterdam" , 0x039C14 }, + { (char*) "Europe/Andorra" , 0x03A04F }, + { (char*) "Europe/Astrakhan" , 0x03A1E0 }, + { (char*) "Europe/Athens" , 0x03A4D4 }, + { (char*) "Europe/Belfast" , 0x03A78A }, + { (char*) "Europe/Belgrade" , 0x03ADD5 }, + { (char*) "Europe/Berlin" , 0x03AFBF }, + { (char*) "Europe/Bratislava" , 0x03B2A0 }, + { (char*) "Europe/Brussels" , 0x03B57F }, + { (char*) "Europe/Bucharest" , 0x03B9DA }, + { (char*) "Europe/Budapest" , 0x03BC7B }, + { (char*) "Europe/Busingen" , 0x03BF85 }, + { (char*) "Europe/Chisinau" , 0x03C18A }, + { (char*) "Europe/Copenhagen" , 0x03C489 }, + { (char*) "Europe/Dublin" , 0x03C704 }, + { (char*) "Europe/Gibraltar" , 0x03CCE8 }, + { (char*) "Europe/Guernsey" , 0x03D1B8 }, + { (char*) "Europe/Helsinki" , 0x03D80F }, + { (char*) "Europe/Isle_of_Man" , 0x03D9FC }, + { (char*) "Europe/Istanbul" , 0x03E047 }, + { (char*) "Europe/Jersey" , 0x03E503 }, + { (char*) "Europe/Kaliningrad" , 0x03EB5A }, + { (char*) "Europe/Kiev" , 0x03EF02 }, + { (char*) "Europe/Kirov" , 0x03F13C }, + { (char*) "Europe/Kyiv" , 0x03F423 }, + { (char*) "Europe/Lisbon" , 0x03F671 }, + { (char*) "Europe/Ljubljana" , 0x03FC3E }, + { (char*) "Europe/London" , 0x03FE28 }, + { (char*) "Europe/Luxembourg" , 0x040473 }, + { (char*) "Europe/Madrid" , 0x0408BE }, + { (char*) "Europe/Malta" , 0x040C5B }, + { (char*) "Europe/Mariehamn" , 0x041007 }, + { (char*) "Europe/Minsk" , 0x0411F4 }, + { (char*) "Europe/Monaco" , 0x041528 }, + { (char*) "Europe/Moscow" , 0x04198E }, + { (char*) "Europe/Nicosia" , 0x041D3A }, + { (char*) "Europe/Oslo" , 0x041F9B }, + { (char*) "Europe/Paris" , 0x04224B }, + { (char*) "Europe/Podgorica" , 0x0426A8 }, + { (char*) "Europe/Prague" , 0x042892 }, + { (char*) "Europe/Riga" , 0x042B71 }, + { (char*) "Europe/Rome" , 0x042E33 }, + { (char*) "Europe/Samara" , 0x0431F2 }, + { (char*) "Europe/San_Marino" , 0x0434F3 }, + { (char*) "Europe/Sarajevo" , 0x0438B2 }, + { (char*) "Europe/Saratov" , 0x043A9C }, + { (char*) "Europe/Simferopol" , 0x043D8E }, + { (char*) "Europe/Skopje" , 0x044101 }, + { (char*) "Europe/Sofia" , 0x0442EB }, + { (char*) "Europe/Stockholm" , 0x044547 }, + { (char*) "Europe/Tallinn" , 0x044744 }, + { (char*) "Europe/Tirane" , 0x0449F3 }, + { (char*) "Europe/Tiraspol" , 0x044C5B }, + { (char*) "Europe/Ulyanovsk" , 0x044F5A }, + { (char*) "Europe/Uzhgorod" , 0x045270 }, + { (char*) "Europe/Vaduz" , 0x0454A5 }, + { (char*) "Europe/Vatican" , 0x04568F }, + { (char*) "Europe/Vienna" , 0x045A4E }, + { (char*) "Europe/Vilnius" , 0x045CEC }, + { (char*) "Europe/Volgograd" , 0x045F9C }, + { (char*) "Europe/Warsaw" , 0x046299 }, + { (char*) "Europe/Zagreb" , 0x046640 }, + { (char*) "Europe/Zaporozhye" , 0x04682A }, + { (char*) "Europe/Zurich" , 0x046A8A }, + { (char*) "Factory" , 0x046C87 }, + { (char*) "GB" , 0x046D04 }, + { (char*) "GB-Eire" , 0x04734F }, + { (char*) "GMT" , 0x04799A }, + { (char*) "GMT+0" , 0x047A15 }, + { (char*) "GMT-0" , 0x047A90 }, + { (char*) "GMT0" , 0x047B0B }, + { (char*) "Greenwich" , 0x047B86 }, + { (char*) "Hongkong" , 0x047C01 }, + { (char*) "HST" , 0x047F14 }, + { (char*) "Iceland" , 0x047F90 }, + { (char*) "Indian/Antananarivo" , 0x04828D }, + { (char*) "Indian/Chagos" , 0x048339 }, + { (char*) "Indian/Christmas" , 0x0483DD }, + { (char*) "Indian/Cocos" , 0x04846E }, + { (char*) "Indian/Comoro" , 0x048506 }, + { (char*) "Indian/Kerguelen" , 0x048595 }, + { (char*) "Indian/Mahe" , 0x048626 }, + { (char*) "Indian/Maldives" , 0x0486B7 }, + { (char*) "Indian/Mauritius" , 0x04875B }, + { (char*) "Indian/Mayotte" , 0x04881A }, + { (char*) "Indian/Reunion" , 0x0488A9 }, + { (char*) "Iran" , 0x04893A }, + { (char*) "Israel" , 0x048C72 }, + { (char*) "Jamaica" , 0x0490B0 }, + { (char*) "Japan" , 0x04920F }, + { (char*) "Kwajalein" , 0x0492F0 }, + { (char*) "Libya" , 0x0493D7 }, + { (char*) "MET" , 0x049592 }, + { (char*) "Mexico/BajaNorte" , 0x04980B }, + { (char*) "Mexico/BajaSur" , 0x049C18 }, + { (char*) "Mexico/General" , 0x049D93 }, + { (char*) "MST" , 0x049F3B }, + { (char*) "MST7MDT" , 0x049FB6 }, + { (char*) "Navajo" , 0x04A379 }, + { (char*) "NZ" , 0x04A797 }, + { (char*) "NZ-CHAT" , 0x04ABB6 }, + { (char*) "Pacific/Apia" , 0x04AEEA }, + { (char*) "Pacific/Auckland" , 0x04B08D }, + { (char*) "Pacific/Bougainville" , 0x04B4C4 }, + { (char*) "Pacific/Chatham" , 0x04B5A5 }, + { (char*) "Pacific/Chuuk" , 0x04B8E8 }, + { (char*) "Pacific/Easter" , 0x04B9C6 }, + { (char*) "Pacific/Efate" , 0x04BE75 }, + { (char*) "Pacific/Enderbury" , 0x04BFD7 }, + { (char*) "Pacific/Fakaofo" , 0x04C08F }, + { (char*) "Pacific/Fiji" , 0x04C134 }, + { (char*) "Pacific/Funafuti" , 0x04C2EC }, + { (char*) "Pacific/Galapagos" , 0x04C37E }, + { (char*) "Pacific/Gambier" , 0x04C44A }, + { (char*) "Pacific/Guadalcanal" , 0x04C4E9 }, + { (char*) "Pacific/Guam" , 0x04C57B }, + { (char*) "Pacific/Honolulu" , 0x04C6E5 }, + { (char*) "Pacific/Johnston" , 0x04C7D4 }, + { (char*) "Pacific/Kanton" , 0x04C8BD }, + { (char*) "Pacific/Kiritimati" , 0x04C984 }, + { (char*) "Pacific/Kosrae" , 0x04CA4A }, + { (char*) "Pacific/Kwajalein" , 0x04CB4E }, + { (char*) "Pacific/Majuro" , 0x04CC3E }, + { (char*) "Pacific/Marquesas" , 0x04CD41 }, + { (char*) "Pacific/Midway" , 0x04CDE9 }, + { (char*) "Pacific/Nauru" , 0x04CEA4 }, + { (char*) "Pacific/Niue" , 0x04CF67 }, + { (char*) "Pacific/Norfolk" , 0x04D00D }, + { (char*) "Pacific/Noumea" , 0x04D110 }, + { (char*) "Pacific/Pago_Pago" , 0x04D1E2 }, + { (char*) "Pacific/Palau" , 0x04D280 }, + { (char*) "Pacific/Pitcairn" , 0x04D320 }, + { (char*) "Pacific/Pohnpei" , 0x04D3C5 }, + { (char*) "Pacific/Ponape" , 0x04D4B5 }, + { (char*) "Pacific/Port_Moresby" , 0x04D597 }, + { (char*) "Pacific/Rarotonga" , 0x04D65A }, + { (char*) "Pacific/Saipan" , 0x04D7FC }, + { (char*) "Pacific/Samoa" , 0x04D8C3 }, + { (char*) "Pacific/Tahiti" , 0x04D961 }, + { (char*) "Pacific/Tarawa" , 0x04DA01 }, + { (char*) "Pacific/Tongatapu" , 0x04DAA2 }, + { (char*) "Pacific/Truk" , 0x04DB9B }, + { (char*) "Pacific/Wake" , 0x04DC6A }, + { (char*) "Pacific/Wallis" , 0x04DD07 }, + { (char*) "Pacific/Yap" , 0x04DD99 }, + { (char*) "Poland" , 0x04DE68 }, + { (char*) "Portugal" , 0x04E20F }, + { (char*) "PRC" , 0x04E7C9 }, + { (char*) "PST8PDT" , 0x04E95E }, + { (char*) "ROC" , 0x04ED21 }, + { (char*) "ROK" , 0x04EF2C }, + { (char*) "Singapore" , 0x04F0D7 }, + { (char*) "Turkey" , 0x04F1E3 }, + { (char*) "UCT" , 0x04F69F }, + { (char*) "Universal" , 0x04F71A }, + { (char*) "US/Alaska" , 0x04F795 }, + { (char*) "US/Aleutian" , 0x04FB72 }, + { (char*) "US/Arizona" , 0x04FF47 }, + { (char*) "US/Central" , 0x050043 }, + { (char*) "US/East-Indiana" , 0x050729 }, + { (char*) "US/Eastern" , 0x050948 }, + { (char*) "US/Hawaii" , 0x051024 }, + { (char*) "US/Indiana-Starke" , 0x05110D }, + { (char*) "US/Michigan" , 0x051511 }, + { (char*) "US/Mountain" , 0x0518A0 }, + { (char*) "US/Pacific" , 0x051CBE }, + { (char*) "US/Samoa" , 0x0521D8 }, + { (char*) "UTC" , 0x052276 }, + { (char*) "W-SU" , 0x0522F1 }, + { (char*) "WET" , 0x052689 }, + { (char*) "Zulu" , 0x052883 }, }; -const unsigned char timelib_timezone_db_data_builtin[341337] = { +const unsigned char timelib_timezone_db_data_builtin[338174] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -622,10 +623,46 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, 0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x1D, 0x94, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC0, 0xB4, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x97, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x69, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x15, 0xCB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0x9D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xF6, 0xFE, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0x97, 0xD0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xD8, 0x32, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA9, 0x79, 0x04, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xBA, 0xB7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0x5B, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0x9B, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0x3C, 0xBC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x7D, 0x1E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0x1D, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x51, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0x23, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x40, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB2, 0xE1, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x0A, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0xDC, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x3D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0xA4, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x85, 0x43, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC6, 0xF6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0xC8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0x48, 0xFB, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x5D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x0B, 0x62, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x15, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xE7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x49, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC3, 0xCF, 0x1B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x7C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC5, 0xB0, 0x4E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xB0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0x91, 0x82, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x31, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC9, 0x74, 0x07, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x12, 0x40, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x55, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x87, 0x3C, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0xE1, 0xD3, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xA1, 0xDB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xAB, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x83, 0x0E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0x23, 0xDE, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x93, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x63, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x46, 0xC7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0xE7, 0x97, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x27, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0xC8, 0xCA, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x09, 0x2E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xFE, 0x18, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x08, +0x01, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, +0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, /* Africa/Addis_Ababa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -633,14 +670,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, +0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, +0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, +0x00, 0x00, 0x00, /* Africa/Algiers */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -681,14 +716,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0xA0, 0xB9, 0xD5, 0x01, 0x4D, 0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, +0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, 0x01, 0x4D, +0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, /* Africa/Asmera */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -696,14 +730,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, +0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Bamako */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -711,10 +744,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, +0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, /* Africa/Bangui */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -722,14 +757,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x7D, 0x14, 0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Africa/Banjul */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -737,10 +768,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x67, 0x9C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x00, +0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, +0x00, 0x00, 0x00, 0x00, /* Africa/Bissau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -761,10 +795,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0x12, 0x2C, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x97, 0x73, 0xEA, 0xFF, +0xFF, 0xFF, 0xFF, 0xAC, 0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, +0x00, 0x00, 0x21, 0x16, 0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, +0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, +0x00, /* Africa/Brazzaville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -772,14 +809,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x2C, 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, /* Africa/Bujumbura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -788,7 +821,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xBF, 0xF8, 0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 0x00, 0x00, 0x00, 0x00, @@ -1043,10 +1076,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9B, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x97, +0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, /* Africa/Dakar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1054,10 +1089,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3B, 0x10, 0x90, 0x01, +0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, +0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, +0x00, /* Africa/Dar_es_Salaam */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1065,14 +1102,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xD3, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x7F, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, +0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, /* Africa/Djibouti */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1080,14 +1115,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD2, 0x0C, 0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, /* Africa/Douala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1095,14 +1126,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0x68, 0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, /* Africa/El_Aaiun */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1228,10 +1255,24 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0xFF, +0xFF, 0xFF, 0xFF, 0x5A, 0x7A, 0xA8, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xB7, 0xBF, 0x6C, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0x3E, 0xE0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x61, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x1B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xBF, 0x94, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x4F, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xA0, 0xC8, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x82, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x83, 0x4D, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x07, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x64, 0x80, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x3B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x45, 0xB4, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x6E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x77, 0x53, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF5, 0xE3, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x34, 0x3C, 0x10, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, +0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, 0xFF, 0xFF, 0xF6, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, +0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, +0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x2B, 0x30, 0x31, 0x00, 0x0A, 0x58, +0x58, 0x58, 0x2D, 0x30, 0x3A, 0x34, 0x30, 0x3C, 0x2B, 0x30, 0x31, 0x3E, 0x2D, 0x30, 0x3A, 0x32, +0x30, 0x2C, 0x30, 0x2F, 0x30, 0x2C, 0x4A, 0x33, 0x36, 0x35, 0x2F, 0x32, 0x33, 0x3A, 0x34, 0x30, +0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, /* Africa/Gaborone */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1239,10 +1280,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, +0xFF, 0xFF, 0xFF, 0x60, 0x1F, 0x70, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, +0x02, 0x03, 0x02, 0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, +0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x41, +0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, + /* Africa/Harare */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1251,7 +1296,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x64, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 0x68, 0x00, 0x00, 0x00, 0x00, @@ -1308,14 +1353,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0x9A, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x86, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x47, 0x54, 0x01, +0x02, 0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, +0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, +0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, +0x00, 0x00, /* Africa/Khartoum */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1356,7 +1401,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xBE, 0xF1, 0x0E, 0x50, 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 0x4A, 0x00, 0x00, 0x00, 0x00, @@ -1366,15 +1411,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, -0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, -0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x2C, 0xA8, 0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, 0x44, +0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, +0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* Africa/Lagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1397,14 +1439,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0xA4, 0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, /* Africa/Lome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1413,7 +1451,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x6F, 0x2B, 0xC6, 0x5C, 0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2, 0x00, 0x00, 0x00, 0x00, @@ -1423,14 +1461,11 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x6D, 0x49, 0x36, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x70, 0x01, +0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, +0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Africa/Lubumbashi */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1438,12 +1473,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, 0x00, 0x19, 0x44, -0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, -0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x21, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x8A, 0x5B, 0xF0, 0x01, +0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, +0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, +0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, +0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, /* Africa/Lusaka */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1452,7 +1488,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC9, 0xFC, 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 0xAD, 0x00, 0x00, 0x00, 0x00, @@ -1462,14 +1498,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x86, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x9F, 0xBE, 0x80, 0x01, +0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, +0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, 0x00, +0x00, 0x00, /* Africa/Maputo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1488,14 +1522,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, -0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, -0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, -0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xFF, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCA, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, 0x00, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, +0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, 0x5D, +0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Mbabane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1503,14 +1535,11 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, -0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, -0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, -0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xFF, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x58, 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, +0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, 0x00, +0x00, /* Africa/Mogadishu */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1518,14 +1547,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x70, 0xBC, 0x64, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xCE, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, +0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, 0x00, /* Africa/Monrovia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1575,14 +1602,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, 0x52, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xC6, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, +0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, +0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, +0x52, 0x00, 0x00, 0x00, 0x00, /* Africa/Nouakchott */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1590,10 +1616,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9D, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0xA4, +0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, /* Africa/Ouagadougou */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1602,7 +1630,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8F, 0xEC, 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 0x0D, 0x00, 0x00, 0x00, 0x00, @@ -1612,14 +1640,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0x01, +0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, +0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, 0x00, +0x00, 0x00, /* Africa/Sao_Tome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1641,10 +1667,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Tripoli */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1887,13 +1915,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x35, 0x20, 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, /* America/Antigua */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1901,13 +1926,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xDC, 0x50, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, +0x00, /* America/Araguaina */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2589,13 +2613,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2F, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, +0x00, 0x00, 0x00, /* America/Asuncion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2662,14 +2685,18 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, -0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, -0x21, 0x45, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, -0x6B, 0x61, 0x6E, 0x29, 0x3B, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, -0x48, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0xA1, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, 0xFF, +0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, +0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, 0x21, 0x45, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, +0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, 0x48, 0x29, /* America/Atka */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2944,15 +2971,17 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, -0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, -0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, 0x65, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x39, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x85, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xDD, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xE2, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x02, +0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, +0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, +0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, +0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, +0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, +0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, +0x68, 0x6F, 0x72, 0x65, 0x29, /* America/Boa_Vista */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3354,9 +3383,9 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x27, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x0F, 0xB4, 0xFE, 0x01, +0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 0x22, 0x00, 0x00, 0x00, 0x00, @@ -3507,12 +3536,16 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, -0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0xA1, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, 0xFF, +0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, +0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Cordoba */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3586,18 +3619,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x04, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x3A, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBB, 0x07, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x1C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xE9, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x8F, 0xE5, 0xAC, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x81, 0x1A, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x75, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x58, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, -0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, -0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, -0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, -0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, -0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x70, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x4B, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, 0x00, +0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xD4, +0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, +0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, /* America/Cuiaba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3667,13 +3695,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, +0x00, 0x00, 0x00, /* America/Danmarkshavn */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3820,7 +3847,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, -0x00, 0x4D, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xE4, 0x86, 0x9A, 0x00, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xDE, 0x6C, 0x1A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x43, 0x72, 0x2C, 0x20, 0x46, 0x74, 0x20, 0x53, 0x74, 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x29, @@ -3962,13 +3989,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x4C, 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, /* America/Edmonton */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4574,13 +4598,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x64, 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, /* America/Guadeloupe */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4588,13 +4609,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xD5, 0xE1, 0xB0, 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, /* America/Guatemala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5682,13 +5700,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, +0x00, 0x00, 0x00, /* America/La_Paz */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5897,13 +5914,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, +0x00, 0x00, 0x00, /* America/Maceio */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5999,13 +6015,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, /* America/Martinique */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6635,13 +6648,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x35, 0x10, 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, /* America/Nassau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6649,236 +6659,191 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x78, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x87, 0x2E, 0xC8, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xB1, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x94, 0x06, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0x55, 0xA9, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x86, 0x5D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA5, 0x28, 0x78, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x66, 0x3F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA7, 0x0C, 0x4E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x46, 0x21, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA8, 0xEC, 0x30, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x1C, 0xC9, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x4D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFC, 0xAB, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAC, 0xB5, 0x2F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xDC, 0x8D, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAE, 0x95, 0x11, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xBC, 0x6F, 0x70, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x42, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF4, 0xEF, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0xFA, 0x47, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x23, 0x34, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x78, 0x9A, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, +0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, +0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, +0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0xFF, 0xFF, 0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, +0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, +0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, 0x00, + +/* America/New_York */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x25, 0x13, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBB, 0xCF, 0xEE, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, +0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, +0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, +0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, +0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, +0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, +0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, +0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + + +/* America/Nipigon */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x81, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x49, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x29, 0x0A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x12, 0x26, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, -0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, -0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, -0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, -0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xB5, 0x94, 0x00, -0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, -0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, -0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, -0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, -0x00, - -/* America/New_York */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, -0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, -0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, -0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, -0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, -0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, -0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, -0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, - - -/* America/Nipigon */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x81, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x49, 0x50, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, @@ -7445,13 +7410,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, /* America/Porto_Acre */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7530,7 +7492,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -7540,69 +7502,70 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, -0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, -0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, -0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x48, 0x94, 0x30, 0x00, -0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x28, 0x76, 0x30, 0x00, -0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, -0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, -0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, -0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, -0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, -0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, -0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, -0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, -0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, -0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, -0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, -0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, -0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x43, 0x86, 0xB0, 0x01, -0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x06, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, -0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, 0x00, 0xA6, 0x72, -0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x4D, -0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, +0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xE3, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, +0x00, 0x00, 0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x48, 0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x28, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, +0x00, 0x00, 0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, +0x00, 0x00, 0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, +0x00, 0x00, 0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, +0x00, 0x00, 0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, +0x00, 0x00, 0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, +0x00, 0x00, 0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, +0x00, 0x00, 0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, +0x00, 0x00, 0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, +0x00, 0x00, 0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, +0x00, 0x00, 0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, +0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x43, 0x86, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x06, 0xFF, 0xFF, 0xBD, 0x84, +0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, +0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, +0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, 0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, +0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, +0x65, 0x73, /* America/Rainy_River */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8017,7 +7980,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -8027,7 +7990,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -8078,23 +8041,27 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x05, 0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0x05, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, -0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, -0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, -0x34, 0x0A, 0x00, 0x56, 0x49, 0xD8, 0x00, 0xA6, 0xD4, 0x55, 0x00, 0x00, 0x00, 0x12, 0x43, 0x68, -0x69, 0x6C, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, - +0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, +0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, +0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x56, 0x49, 0xD8, 0x00, 0xA6, +0xD4, 0x55, 0x00, 0x00, 0x00, 0x12, 0x43, 0x68, 0x69, 0x6C, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, +0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Santo_Domingo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8358,13 +8325,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, /* America/St_Johns */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8495,13 +8459,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x34, 0xCC, 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, /* America/St_Lucia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8509,13 +8470,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xB0, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, +0x00, /* America/St_Thomas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8523,13 +8483,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, /* America/St_Vincent */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8537,13 +8494,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xE8, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, +0x00, /* America/Swift_Current */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8867,13 +8823,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x14, 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, /* America/Vancouver */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8969,13 +8922,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Whitehorse */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9286,13 +9236,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x5A, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xED, 0xA4, 0x90, 0x01, -0x02, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x8C, -0xA0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, -0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, -0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0xBC, 0x76, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x34, 0x60, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x3C, 0x02, 0x80, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x0A, 0x3C, +0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, +0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, +0x69, 0x6C, 0x6C, 0x65, /* Antarctica/Macquarie */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9378,22 +9328,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0xFF, -0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, @@ -9427,21 +9363,18 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, -0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, -0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, -0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, -0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, -0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, -0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, -0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, -0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, -0x20, 0x50, 0x6F, 0x6C, 0x65, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, +0x53, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, +0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x65, 0x77, 0x20, +0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, +0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x50, 0x6F, +0x6C, 0x65, /* Antarctica/Palmer */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9520,22 +9453,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0xFF, -0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, @@ -9569,18 +9488,15 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, -0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, -0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, -0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, -0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, -0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, -0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, +0x53, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, +0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Antarctica/Syowa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9589,8 +9505,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, -0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, +0xFF, 0xFF, 0xFF, 0xE7, 0xB1, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 0x11, 0x58, 0x00, 0x00, 0x00, 0x05, 0x53, 0x79, 0x6F, 0x77, 0x61, @@ -9674,7 +9590,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x38, 0x56, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x9C, 0xC8, 0xB8, 0x01, 0x57, 0xA0, 0xC0, 0x00, 0x00, 0x00, 0x00, @@ -10065,12 +9981,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x9D, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x01, -0x02, 0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, -0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, 0x3D, 0x01, 0x5F, 0xD7, 0x9D, -0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x7B, 0x6C, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0x59, 0x48, 0x00, +0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, +0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Asia/Baku */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -10894,12 +10811,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x99, 0xBB, 0x78, @@ -11532,7 +11449,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x35, 0x84, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB6, 0x16, 0x95, 0x01, 0x5B, 0xDF, 0xFD, 0x00, 0x00, 0x00, 0x00, @@ -11739,7 +11656,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x99, 0xA8, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x96, 0x90, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x34, 0x3E, 0x2D, 0x34, 0x0A, 0x00, 0xAD, 0x57, 0x00, 0x01, 0x6C, 0x0C, 0x9D, 0x00, 0x00, 0x00, 0x00, @@ -11987,10 +11904,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x01, -0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, -0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x45, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x62, 0x5C, +0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, +0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, +0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x9A, 0xF3, 0xF8, 0x01, 0xB2, 0xBF, 0x92, 0x00, 0x00, 0x00, 0x00, @@ -12163,12 +12083,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x00, 0x00, 0x00, @@ -12493,128 +12413,53 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, 0x12, 0xC8, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, 0x2D, 0x40, 0x00, -0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, -0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, -0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, -0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x00, -0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, 0x99, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, 0xCD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, 0x52, 0x38, 0x00, -0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, 0x85, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, 0xB9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, 0xEC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, 0x20, 0x38, 0x00, -0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0xA5, 0x38, 0x00, -0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, 0xD8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, 0x0C, 0x38, 0x00, -0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, 0x3F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, 0xC4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, 0xF8, 0x38, 0x00, -0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, 0x2B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, 0x5F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, 0xE4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, 0x17, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, 0x4B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, 0x7E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, 0x03, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, 0x37, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x6A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, 0x9E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, 0x23, 0x38, 0x00, -0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, 0x56, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, 0x8A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, 0xBD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, 0x42, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, 0x76, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, 0xA9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, 0xDD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, 0x62, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, 0x95, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, 0xC9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, 0x81, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, 0xB5, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, 0xE8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, 0x1C, 0x38, 0x00, -0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, 0x4F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, 0xD4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, 0x08, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, 0x3B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, 0x6F, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, 0xF4, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, 0x27, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, 0x5B, 0x38, 0x00, -0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, 0x8E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, 0x13, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, 0x47, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x7A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, 0xAE, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, 0x33, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, 0x66, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, 0x9A, 0x38, 0x00, -0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, 0xCD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, 0x52, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, 0x86, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, 0xB9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, 0xED, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, 0x72, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, 0xA5, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, 0xD9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, 0x0C, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, 0x91, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, 0x2B, 0x30, -0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, 0x36, 0x33, -0x2F, 0x32, 0x34, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, +0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, +0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, +0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, +0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, +0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, +0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, +0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x01, 0x03, 0x02, 0x05, 0x04, 0x05, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, +0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, +0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, +0x00, 0x18, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, +0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, /* Asia/Tel_Aviv */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12948,12 +12793,16 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x01, -0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, -0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, -0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, -0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x47, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x51, 0x61, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x00, 0x00, +0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, +0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, +0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, +0x36, 0xA0, 0x00, 0x00, 0x00, 0x00, /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -13652,10 +13501,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xE0, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0x9B, 0x58, 0x01, +0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, +0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, +0x00, /* Atlantic/Stanley */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -15679,7 +15530,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -15689,7 +15540,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -15740,21 +15591,26 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x05, 0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0x05, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, -0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, -0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, -0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, +0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, +0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Chile/EasterIsland */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -15762,7 +15618,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x42, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x40, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -15813,20 +15669,25 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, -0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, -0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, -0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, -0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, +0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, +0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, +0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, +0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, +0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, /* CST6CDT */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -16088,7 +15949,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, +0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -16169,7 +16030,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x05, 0x04, 0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, @@ -17330,7 +17191,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, +0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17411,7 +17272,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x05, 0x04, 0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, @@ -17506,8 +17367,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, +0xFF, 0xFF, 0xFF, 0x95, 0xA6, 0x91, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17532,76 +17393,77 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, -0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, -0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, -0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, -0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, +0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x06, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFD, +0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, +0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, +0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0xCA, 0x80, 0x01, +0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, /* Europe/Helsinki */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -17643,7 +17505,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5C, 0xCF, 0xD8, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17732,7 +17594,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFB, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, @@ -17823,8 +17685,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, +0xFF, 0xFF, 0xFF, 0x79, 0x68, 0x3D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17849,76 +17711,77 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, -0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, -0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, -0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, -0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, +0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x06, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFE, +0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, +0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, +0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0x60, 0x99, 0x01, +0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -17982,7 +17845,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18016,9 +17879,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, -0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, -0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, 0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, -0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Europe/Kirov */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18069,6 +17931,45 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xE0, 0x01, 0x5E, 0x6B, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x53, 0x4B, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x72, 0x6F, 0x76, +/* Europe/Kyiv */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x22, 0xFF, +0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0xC7, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0xA7, 0x64, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0xA4, 0x19, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0x2E, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCD, 0xA8, 0x70, 0x00, +0x00, 0x00, 0x00, 0x15, 0x27, 0xA7, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xDC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x17, 0x08, 0xDB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x0F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xEA, 0x0E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x43, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xCC, 0x93, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xA0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0x91, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x82, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x8D, 0x20, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xBD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xAE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x9F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xCB, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x01, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x03, 0x06, +0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, +0x03, 0x06, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x00, 0x00, +0x1C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x4C, 0x4D, +0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, +0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, +0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, +0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, 0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, +0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + /* Europe/Lisbon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18171,10 +18072,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF5, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -18191,7 +18092,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCF, @@ -19182,10 +19083,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF2, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19202,7 +19103,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCC, @@ -19282,8 +19183,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xC2, 0xC6, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, @@ -19323,10 +19224,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xEF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19343,7 +19244,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC9, @@ -19655,33 +19556,32 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x24, 0xF0, 0xEA, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x06, 0x86, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x08, 0x00, -0x00, 0x00, 0x00, 0x00, 0x06, 0xFA, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, -0x00, 0x43, 0x45, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, -0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, -0x0A, 0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x04, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, +0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, +0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xD1, +0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, /* Europe/Vatican */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -19953,10 +19853,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF4, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19973,7 +19873,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCF, @@ -20438,14 +20338,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xCD, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x33, 0xC0, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2C, 0x8C, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, +0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, /* Indian/Chagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20490,14 +20388,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD1, 0xF0, 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, 0x00, /* Indian/Kerguelen */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20556,14 +20450,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD0, 0x18, 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Indian/Reunion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20583,128 +20473,53 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, 0x12, 0xC8, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, 0x2D, 0x40, 0x00, -0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, -0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, -0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, -0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x00, -0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, 0x99, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, 0xCD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, 0x52, 0x38, 0x00, -0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, 0x85, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, 0xB9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, 0xEC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, 0x20, 0x38, 0x00, -0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0xA5, 0x38, 0x00, -0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, 0xD8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, 0x0C, 0x38, 0x00, -0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, 0x3F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, 0xC4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, 0xF8, 0x38, 0x00, -0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, 0x2B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, 0x5F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, 0xE4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, 0x17, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, 0x4B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, 0x7E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, 0x03, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, 0x37, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x6A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, 0x9E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, 0x23, 0x38, 0x00, -0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, 0x56, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, 0x8A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, 0xBD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, 0x42, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, 0x76, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, 0xA9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, 0xDD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, 0x62, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, 0x95, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, 0xC9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, 0x81, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, 0xB5, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, 0xE8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, 0x1C, 0x38, 0x00, -0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, 0x4F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, 0xD4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, 0x08, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, 0x3B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, 0x6F, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, 0xF4, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, 0x27, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, 0x5B, 0x38, 0x00, -0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, 0x8E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, 0x13, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, 0x47, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x7A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, 0xAE, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, 0x33, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, 0x66, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, 0x9A, 0x38, 0x00, -0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, 0xCD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, 0x52, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, 0x86, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, 0xB9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, 0xED, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, 0x72, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, 0xA5, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, 0xD9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, 0x0C, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, 0x91, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, 0x2B, 0x30, -0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, 0x36, 0x33, -0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, +0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, +0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, +0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, +0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, +0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, +0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, +0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x01, 0x03, 0x02, 0x05, 0x04, 0x05, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, +0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, +0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, +0x00, 0x18, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Israel */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -21484,7 +21299,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x42, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x40, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -21535,21 +21350,25 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, -0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, -0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, -0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, -0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x5F, -0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, 0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, -0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, +0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, +0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, +0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, +0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, +0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x5F, 0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, +0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, /* Pacific/Efate */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -21848,12 +21667,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x6E, 0x3D, 0xC8, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x05, 0xFB, 0x08, 0x01, -0x02, 0x00, 0x00, 0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x65, -0x50, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x53, 0x54, 0x31, -0x31, 0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, -0x64, 0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x7E, 0x37, 0x5B, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x75, 0x8A, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0xED, 0x75, 0x20, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x59, 0xB8, 0x00, 0x00, +0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2D, 0x31, 0x31, 0x3E, 0x31, 0x31, +0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, +0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, /* Pacific/Nauru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -22041,24 +21861,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC5, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2D, 0x4C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x37, 0x95, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2E, 0x89, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0x37, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x36, 0xF8, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x9B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x58, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0x75, 0x70, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x57, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x70, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x0C, 0x08, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7C, 0x87, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xBF, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x65, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x05, 0xFF, 0xFF, 0x36, 0x34, -0x00, 0x00, 0x00, 0x00, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, -0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, -0x43, 0x68, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, -0x85, 0xC0, 0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC4, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2C, 0x5C, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, +0x02, 0x03, 0x04, 0xFF, 0xFF, 0x37, 0x24, 0x00, 0x00, 0x00, 0x00, 0x88, 0xA4, 0x00, 0x00, 0x00, +0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, 0xA0, 0x00, +0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, 0x68, 0x53, +0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x85, 0xC0, 0x01, +0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, /* Pacific/Samoa */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -23426,606 +23236,607 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #else -const timelib_tzdb_index_entry timezonedb_idx_builtin[595] = { - { "Africa/Abidjan" , 0x000000 }, - { "Africa/Accra" , 0x0000A0 }, - { "Africa/Addis_Ababa" , 0x000140 }, - { "Africa/Algiers" , 0x000255 }, - { "Africa/Asmara" , 0x000540 }, - { "Africa/Asmera" , 0x000655 }, - { "Africa/Bamako" , 0x00076A }, - { "Africa/Bangui" , 0x00080A }, - { "Africa/Banjul" , 0x000901 }, - { "Africa/Bissau" , 0x0009A1 }, - { "Africa/Blantyre" , 0x000A6F }, - { "Africa/Brazzaville" , 0x000B10 }, - { "Africa/Bujumbura" , 0x000C07 }, - { "Africa/Cairo" , 0x000CA8 }, - { "Africa/Casablanca" , 0x001457 }, - { "Africa/Ceuta" , 0x001DE0 }, - { "Africa/Conakry" , 0x0025EE }, - { "Africa/Dakar" , 0x00268E }, - { "Africa/Dar_es_Salaam" , 0x00272E }, - { "Africa/Djibouti" , 0x002843 }, - { "Africa/Douala" , 0x002958 }, - { "Africa/El_Aaiun" , 0x002A4F }, - { "Africa/Freetown" , 0x003352 }, - { "Africa/Gaborone" , 0x0033F2 }, - { "Africa/Harare" , 0x003493 }, - { "Africa/Johannesburg" , 0x003534 }, - { "Africa/Juba" , 0x003636 }, - { "Africa/Kampala" , 0x0038E9 }, - { "Africa/Khartoum" , 0x0039FE }, - { "Africa/Kigali" , 0x003CB1 }, - { "Africa/Kinshasa" , 0x003D52 }, - { "Africa/Lagos" , 0x003E62 }, - { "Africa/Libreville" , 0x003F59 }, - { "Africa/Lome" , 0x004050 }, - { "Africa/Luanda" , 0x0040F0 }, - { "Africa/Lubumbashi" , 0x0041E7 }, - { "Africa/Lusaka" , 0x0042A1 }, - { "Africa/Malabo" , 0x004342 }, - { "Africa/Maputo" , 0x004439 }, - { "Africa/Maseru" , 0x0044DA }, - { "Africa/Mbabane" , 0x0045DC }, - { "Africa/Mogadishu" , 0x0046DE }, - { "Africa/Monrovia" , 0x0047F3 }, - { "Africa/Nairobi" , 0x0048CF }, - { "Africa/Ndjamena" , 0x0049E4 }, - { "Africa/Niamey" , 0x004AB7 }, - { "Africa/Nouakchott" , 0x004BAE }, - { "Africa/Ouagadougou" , 0x004C4E }, - { "Africa/Porto-Novo" , 0x004CEE }, - { "Africa/Sao_Tome" , 0x004DE5 }, - { "Africa/Timbuktu" , 0x004EEF }, - { "Africa/Tripoli" , 0x004F8F }, - { "Africa/Tunis" , 0x00520C }, - { "Africa/Windhoek" , 0x0054C9 }, - { "America/Adak" , 0x005890 }, - { "America/Anchorage" , 0x0061E0 }, - { "America/Anguilla" , 0x006B42 }, - { "America/Antigua" , 0x006C44 }, - { "America/Araguaina" , 0x006D46 }, - { "America/Argentina/Buenos_Aires" , 0x0070CF }, - { "America/Argentina/Catamarca" , 0x007524 }, - { "America/Argentina/ComodRivadavia" , 0x00797F }, - { "America/Argentina/Cordoba" , 0x007DBF }, - { "America/Argentina/Jujuy" , 0x008235 }, - { "America/Argentina/La_Rioja" , 0x008663 }, - { "America/Argentina/Mendoza" , 0x008ABE }, - { "America/Argentina/Rio_Gallegos" , 0x008F0A }, - { "America/Argentina/Salta" , 0x009359 }, - { "America/Argentina/San_Juan" , 0x009793 }, - { "America/Argentina/San_Luis" , 0x009BEE }, - { "America/Argentina/Tucuman" , 0x00A055 }, - { "America/Argentina/Ushuaia" , 0x00A4BD }, - { "America/Aruba" , 0x00A912 }, - { "America/Asuncion" , 0x00AA14 }, - { "America/Atikokan" , 0x00B21C }, - { "America/Atka" , 0x00B2FF }, - { "America/Bahia" , 0x00BC3F }, - { "America/Bahia_Banderas" , 0x00C050 }, - { "America/Barbados" , 0x00C686 }, - { "America/Belem" , 0x00C846 }, - { "America/Belize" , 0x00CAA4 }, - { "America/Blanc-Sablon" , 0x00D0FE }, - { "America/Boa_Vista" , 0x00D21C }, - { "America/Bogota" , 0x00D4A7 }, - { "America/Boise" , 0x00D5A9 }, - { "America/Buenos_Aires" , 0x00DF2F }, - { "America/Cambridge_Bay" , 0x00E36F }, - { "America/Campo_Grande" , 0x00EBB3 }, - { "America/Cancun" , 0x00F175 }, - { "America/Caracas" , 0x00F4B3 }, - { "America/Catamarca" , 0x00F5C7 }, - { "America/Cayenne" , 0x00FA07 }, - { "America/Cayman" , 0x00FAD9 }, - { "America/Chicago" , 0x00FB9B }, - { "America/Chihuahua" , 0x0109B3 }, - { "America/Coral_Harbour" , 0x010FB1 }, - { "America/Cordoba" , 0x011073 }, - { "America/Costa_Rica" , 0x0114B3 }, - { "America/Creston" , 0x0115FB }, - { "America/Cuiaba" , 0x011761 }, - { "America/Curacao" , 0x011D00 }, - { "America/Danmarkshavn" , 0x011E02 }, - { "America/Dawson" , 0x0120E2 }, - { "America/Dawson_Creek" , 0x01274E }, - { "America/Denver" , 0x012B94 }, - { "America/Detroit" , 0x013541 }, - { "America/Dominica" , 0x013E1C }, - { "America/Edmonton" , 0x013F1E }, - { "America/Eirunepe" , 0x014863 }, - { "America/El_Salvador" , 0x014B0E }, - { "America/Ensenada" , 0x014BFA }, - { "America/Fort_Nelson" , 0x01552C }, - { "America/Fort_Wayne" , 0x015E0C }, - { "America/Fortaleza" , 0x01649A }, - { "America/Glace_Bay" , 0x016798 }, - { "America/Godthab" , 0x01704F }, - { "America/Goose_Bay" , 0x0177B1 }, - { "America/Grand_Turk" , 0x018467 }, - { "America/Grenada" , 0x018B9D }, - { "America/Guadeloupe" , 0x018C9F }, - { "America/Guatemala" , 0x018DA1 }, - { "America/Guayaquil" , 0x018EC5 }, - { "America/Guyana" , 0x018FD9 }, - { "America/Halifax" , 0x0190EB }, - { "America/Havana" , 0x019E75 }, - { "America/Hermosillo" , 0x01A7F1 }, - { "America/Indiana/Indianapolis" , 0x01A9BC }, - { "America/Indiana/Knox" , 0x01B063 }, - { "America/Indiana/Marengo" , 0x01BA00 }, - { "America/Indiana/Petersburg" , 0x01C0DD }, - { "America/Indiana/Tell_City" , 0x01C86C }, - { "America/Indiana/Vevay" , 0x01CF20 }, - { "America/Indiana/Vincennes" , 0x01D4CC }, - { "America/Indiana/Winamac" , 0x01DB92 }, - { "America/Indianapolis" , 0x01E2A6 }, - { "America/Inuvik" , 0x01E934 }, - { "America/Iqaluit" , 0x01F0BA }, - { "America/Jamaica" , 0x01F8D4 }, - { "America/Jujuy" , 0x01FAC2 }, - { "America/Juneau" , 0x01FEE6 }, - { "America/Kentucky/Louisville" , 0x020837 }, - { "America/Kentucky/Monticello" , 0x021335 }, - { "America/Knox_IN" , 0x021C85 }, - { "America/Kralendijk" , 0x02260D }, - { "America/La_Paz" , 0x02270F }, - { "America/Lima" , 0x022803 }, - { "America/Los_Angeles" , 0x0229A5 }, - { "America/Louisville" , 0x0234CC }, - { "America/Lower_Princes" , 0x023FAC }, - { "America/Maceio" , 0x0240AE }, - { "America/Managua" , 0x0243B2 }, - { "America/Manaus" , 0x02456C }, - { "America/Marigot" , 0x0247E3 }, - { "America/Martinique" , 0x0248E5 }, - { "America/Matamoros" , 0x0249D9 }, - { "America/Mazatlan" , 0x024F91 }, - { "America/Mendoza" , 0x0255C8 }, - { "America/Menominee" , 0x025A08 }, - { "America/Merida" , 0x026315 }, - { "America/Metlakatla" , 0x0268CF }, - { "America/Mexico_City" , 0x026E81 }, - { "America/Miquelon" , 0x0274C9 }, - { "America/Moncton" , 0x027B57 }, - { "America/Monterrey" , 0x0287CD }, - { "America/Montevideo" , 0x028D8C }, - { "America/Montreal" , 0x02937E }, - { "America/Montserrat" , 0x02A130 }, - { "America/Nassau" , 0x02A232 }, - { "America/New_York" , 0x02AFE4 }, - { "America/Nipigon" , 0x02BDD4 }, - { "America/Nome" , 0x02C64B }, - { "America/Noronha" , 0x02CFA3 }, - { "America/North_Dakota/Beulah" , 0x02D28B }, - { "America/North_Dakota/Center" , 0x02DBF8 }, - { "America/North_Dakota/New_Salem" , 0x02E565 }, - { "America/Nuuk" , 0x02EED8 }, - { "America/Ojinaga" , 0x02F650 }, - { "America/Panama" , 0x02FC50 }, - { "America/Pangnirtung" , 0x02FD12 }, - { "America/Paramaribo" , 0x030566 }, - { "America/Phoenix" , 0x030678 }, - { "America/Port-au-Prince" , 0x0307E9 }, - { "America/Port_of_Spain" , 0x030D8F }, - { "America/Porto_Acre" , 0x030E91 }, - { "America/Porto_Velho" , 0x031111 }, - { "America/Puerto_Rico" , 0x031365 }, - { "America/Punta_Arenas" , 0x031467 }, - { "America/Rainy_River" , 0x031BF5 }, - { "America/Rankin_Inlet" , 0x03246D }, - { "America/Recife" , 0x032BF3 }, - { "America/Regina" , 0x032ED5 }, - { "America/Resolute" , 0x0332CA }, - { "America/Rio_Branco" , 0x033A51 }, - { "America/Rosario" , 0x033CD5 }, - { "America/Santa_Isabel" , 0x034115 }, - { "America/Santarem" , 0x034A47 }, - { "America/Santiago" , 0x034CB8 }, - { "America/Santo_Domingo" , 0x0356B7 }, - { "America/Sao_Paulo" , 0x03588D }, - { "America/Scoresbysund" , 0x035E73 }, - { "America/Shiprock" , 0x036618 }, - { "America/Sitka" , 0x036FB0 }, - { "America/St_Barthelemy" , 0x0378E8 }, - { "America/St_Johns" , 0x0379EA }, - { "America/St_Kitts" , 0x03885F }, - { "America/St_Lucia" , 0x038961 }, - { "America/St_Thomas" , 0x038A63 }, - { "America/St_Vincent" , 0x038B65 }, - { "America/Swift_Current" , 0x038C67 }, - { "America/Tegucigalpa" , 0x038EB5 }, - { "America/Thule" , 0x038FBD }, - { "America/Thunder_Bay" , 0x0395B5 }, - { "America/Tijuana" , 0x039E75 }, - { "America/Toronto" , 0x03A7C8 }, - { "America/Tortola" , 0x03B597 }, - { "America/Vancouver" , 0x03B699 }, - { "America/Virgin" , 0x03C20A }, - { "America/Whitehorse" , 0x03C30C }, - { "America/Winnipeg" , 0x03C978 }, - { "America/Yakutat" , 0x03D4D5 }, - { "America/Yellowknife" , 0x03DDF2 }, - { "Antarctica/Casey" , 0x03E5C3 }, - { "Antarctica/Davis" , 0x03E754 }, - { "Antarctica/DumontDUrville" , 0x03E88E }, - { "Antarctica/Macquarie" , 0x03E964 }, - { "Antarctica/Mawson" , 0x03F254 }, - { "Antarctica/McMurdo" , 0x03F32D }, - { "Antarctica/Palmer" , 0x03FCE4 }, - { "Antarctica/Rothera" , 0x040280 }, - { "Antarctica/South_Pole" , 0x040337 }, - { "Antarctica/Syowa" , 0x040CC8 }, - { "Antarctica/Troll" , 0x040D7E }, - { "Antarctica/Vostok" , 0x041219 }, - { "Arctic/Longyearbyen" , 0x0412D0 }, - { "Asia/Aden" , 0x041B90 }, - { "Asia/Almaty" , 0x041C41 }, - { "Asia/Amman" , 0x042049 }, - { "Asia/Anadyr" , 0x042792 }, - { "Asia/Aqtau" , 0x042C55 }, - { "Asia/Aqtobe" , 0x04304D }, - { "Asia/Ashgabat" , 0x043459 }, - { "Asia/Ashkhabad" , 0x0436D0 }, - { "Asia/Atyrau" , 0x043947 }, - { "Asia/Baghdad" , 0x043D47 }, - { "Asia/Bahrain" , 0x04412A }, - { "Asia/Baku" , 0x0441FD }, - { "Asia/Bangkok" , 0x0446D4 }, - { "Asia/Barnaul" , 0x0447A7 }, - { "Asia/Beirut" , 0x044C86 }, - { "Asia/Bishkek" , 0x0454FC }, - { "Asia/Brunei" , 0x0458DF }, - { "Asia/Calcutta" , 0x0459B6 }, - { "Asia/Chita" , 0x045ADF }, - { "Asia/Choibalsan" , 0x045FC4 }, - { "Asia/Chongqing" , 0x046397 }, - { "Asia/Chungking" , 0x0465D4 }, - { "Asia/Colombo" , 0x046811 }, - { "Asia/Dacca" , 0x046991 }, - { "Asia/Damascus" , 0x046AEE }, - { "Asia/Dhaka" , 0x0473F0 }, - { "Asia/Dili" , 0x04754D }, - { "Asia/Dubai" , 0x04763C }, - { "Asia/Dushanbe" , 0x0476ED }, - { "Asia/Famagusta" , 0x047948 }, - { "Asia/Gaza" , 0x04814F }, - { "Asia/Harbin" , 0x048ADB }, - { "Asia/Hebron" , 0x048D18 }, - { "Asia/Ho_Chi_Minh" , 0x0496BF }, - { "Asia/Hong_Kong" , 0x04982A }, - { "Asia/Hovd" , 0x049CE9 }, - { "Asia/Irkutsk" , 0x04A09B }, - { "Asia/Istanbul" , 0x04A59C }, - { "Asia/Jakarta" , 0x04AD43 }, - { "Asia/Jayapura" , 0x04AEBF }, - { "Asia/Jerusalem" , 0x04AFDE }, - { "Asia/Kabul" , 0x04B93E }, - { "Asia/Kamchatka" , 0x04BA1A }, - { "Asia/Karachi" , 0x04BEC6 }, - { "Asia/Kashgar" , 0x04C04D }, - { "Asia/Kathmandu" , 0x04C0FE }, - { "Asia/Katmandu" , 0x04C1DE }, - { "Asia/Khandyga" , 0x04C2BE }, - { "Asia/Kolkata" , 0x04C7DF }, - { "Asia/Krasnoyarsk" , 0x04C908 }, - { "Asia/Kuala_Lumpur" , 0x04CDE4 }, - { "Asia/Kuching" , 0x04CF83 }, - { "Asia/Kuwait" , 0x04D180 }, - { "Asia/Macao" , 0x04D231 }, - { "Asia/Macau" , 0x04D708 }, - { "Asia/Magadan" , 0x04DBDF }, - { "Asia/Makassar" , 0x04E0C1 }, - { "Asia/Manila" , 0x04E214 }, - { "Asia/Muscat" , 0x04E368 }, - { "Asia/Nicosia" , 0x04E419 }, - { "Asia/Novokuznetsk" , 0x04EC0A }, - { "Asia/Novosibirsk" , 0x04F0B4 }, - { "Asia/Omsk" , 0x04F599 }, - { "Asia/Oral" , 0x04FA69 }, - { "Asia/Phnom_Penh" , 0x04FE71 }, - { "Asia/Pontianak" , 0x04FF44 }, - { "Asia/Pyongyang" , 0x0500C7 }, - { "Asia/Qatar" , 0x0501C0 }, - { "Asia/Qostanay" , 0x050293 }, - { "Asia/Qyzylorda" , 0x0506AC }, - { "Asia/Rangoon" , 0x050AD6 }, - { "Asia/Riyadh" , 0x050BEE }, - { "Asia/Saigon" , 0x050C9F }, - { "Asia/Sakhalin" , 0x050E0A }, - { "Asia/Samarkand" , 0x0512E0 }, - { "Asia/Seoul" , 0x05153E }, - { "Asia/Shanghai" , 0x0517B3 }, - { "Asia/Singapore" , 0x0519FC }, - { "Asia/Srednekolymsk" , 0x051B87 }, - { "Asia/Taipei" , 0x05206D }, - { "Asia/Tashkent" , 0x052372 }, - { "Asia/Tbilisi" , 0x0525DE }, - { "Asia/Tehran" , 0x0529F5 }, - { "Asia/Tel_Aviv" , 0x053417 }, - { "Asia/Thimbu" , 0x053D77 }, - { "Asia/Thimphu" , 0x053E4E }, - { "Asia/Tokyo" , 0x053F25 }, - { "Asia/Tomsk" , 0x054066 }, - { "Asia/Ujung_Pandang" , 0x054545 }, - { "Asia/Ulaanbaatar" , 0x05464F }, - { "Asia/Ulan_Bator" , 0x0549EB }, - { "Asia/Urumqi" , 0x054D72 }, - { "Asia/Ust-Nera" , 0x054E30 }, - { "Asia/Vientiane" , 0x055334 }, - { "Asia/Vladivostok" , 0x055407 }, - { "Asia/Yakutsk" , 0x0558DE }, - { "Asia/Yangon" , 0x055DB4 }, - { "Asia/Yekaterinburg" , 0x055ECC }, - { "Asia/Yerevan" , 0x0563C1 }, - { "Atlantic/Azores" , 0x05684C }, - { "Atlantic/Bermuda" , 0x057616 }, - { "Atlantic/Canary" , 0x057F7E }, - { "Atlantic/Cape_Verde" , 0x058701 }, - { "Atlantic/Faeroe" , 0x05881B }, - { "Atlantic/Faroe" , 0x058F3E }, - { "Atlantic/Jan_Mayen" , 0x059661 }, - { "Atlantic/Madeira" , 0x059F21 }, - { "Atlantic/Reykjavik" , 0x05ACEB }, - { "Atlantic/South_Georgia" , 0x05B181 }, - { "Atlantic/St_Helena" , 0x05B231 }, - { "Atlantic/Stanley" , 0x05B2D1 }, - { "Australia/ACT" , 0x05B79B }, - { "Australia/Adelaide" , 0x05C035 }, - { "Australia/Brisbane" , 0x05C8F0 }, - { "Australia/Broken_Hill" , 0x05CAB6 }, - { "Australia/Canberra" , 0x05D393 }, - { "Australia/Currie" , 0x05DC2D }, - { "Australia/Darwin" , 0x05E56F }, - { "Australia/Eucla" , 0x05E6D2 }, - { "Australia/Hobart" , 0x05E8CD }, - { "Australia/LHI" , 0x05F217 }, - { "Australia/Lindeman" , 0x05F967 }, - { "Australia/Lord_Howe" , 0x05FB6D }, - { "Australia/Melbourne" , 0x0602CD }, - { "Australia/North" , 0x060B6F }, - { "Australia/NSW" , 0x060CC0 }, - { "Australia/Perth" , 0x06155A }, - { "Australia/Queensland" , 0x061742 }, - { "Australia/South" , 0x0618F1 }, - { "Australia/Sydney" , 0x06219D }, - { "Australia/Tasmania" , 0x062A53 }, - { "Australia/Victoria" , 0x063395 }, - { "Australia/West" , 0x063C2F }, - { "Australia/Yancowinna" , 0x063DF9 }, - { "Brazil/Acre" , 0x0646BA }, - { "Brazil/DeNoronha" , 0x06493A }, - { "Brazil/East" , 0x064C12 }, - { "Brazil/West" , 0x0651C2 }, - { "Canada/Atlantic" , 0x06542A }, - { "Canada/Central" , 0x066196 }, - { "Canada/Eastern" , 0x066CD6 }, - { "Canada/Mountain" , 0x067A88 }, - { "Canada/Newfoundland" , 0x0683B0 }, - { "Canada/Pacific" , 0x069203 }, - { "Canada/Saskatchewan" , 0x069D5B }, - { "Canada/Yukon" , 0x06A13B }, - { "CET" , 0x06A795 }, - { "Chile/Continental" , 0x06AFCF }, - { "Chile/EasterIsland" , 0x06B9BC }, - { "CST6CDT" , 0x06C281 }, - { "Cuba" , 0x06CB93 }, - { "EET" , 0x06D50F }, - { "Egypt" , 0x06DC8F }, - { "Eire" , 0x06E43E }, - { "EST" , 0x06F1EE }, - { "EST5EDT" , 0x06F26C }, - { "Etc/GMT" , 0x06FB7E }, - { "Etc/GMT+0" , 0x06FBFC }, - { "Etc/GMT+1" , 0x06FC7A }, - { "Etc/GMT+10" , 0x06FCFA }, - { "Etc/GMT+11" , 0x06FD7B }, - { "Etc/GMT+12" , 0x06FDFC }, - { "Etc/GMT+2" , 0x06FE7D }, - { "Etc/GMT+3" , 0x06FEFD }, - { "Etc/GMT+4" , 0x06FF7D }, - { "Etc/GMT+5" , 0x06FFFD }, - { "Etc/GMT+6" , 0x07007D }, - { "Etc/GMT+7" , 0x0700FD }, - { "Etc/GMT+8" , 0x07017D }, - { "Etc/GMT+9" , 0x0701FD }, - { "Etc/GMT-0" , 0x07027D }, - { "Etc/GMT-1" , 0x0702FB }, - { "Etc/GMT-10" , 0x07037C }, - { "Etc/GMT-11" , 0x0703FE }, - { "Etc/GMT-12" , 0x070480 }, - { "Etc/GMT-13" , 0x070502 }, - { "Etc/GMT-14" , 0x070584 }, - { "Etc/GMT-2" , 0x070606 }, - { "Etc/GMT-3" , 0x070687 }, - { "Etc/GMT-4" , 0x070708 }, - { "Etc/GMT-5" , 0x070789 }, - { "Etc/GMT-6" , 0x07080A }, - { "Etc/GMT-7" , 0x07088B }, - { "Etc/GMT-8" , 0x07090C }, - { "Etc/GMT-9" , 0x07098D }, - { "Etc/GMT0" , 0x070A0E }, - { "Etc/Greenwich" , 0x070A8C }, - { "Etc/UCT" , 0x070B0A }, - { "Etc/Universal" , 0x070B88 }, - { "Etc/UTC" , 0x070C06 }, - { "Etc/Zulu" , 0x070C84 }, - { "Europe/Amsterdam" , 0x070D02 }, - { "Europe/Andorra" , 0x07186C }, - { "Europe/Astrakhan" , 0x071F46 }, - { "Europe/Athens" , 0x0723F1 }, - { "Europe/Belfast" , 0x072CD3 }, - { "Europe/Belgrade" , 0x073B1F }, - { "Europe/Berlin" , 0x0742AB }, - { "Europe/Bratislava" , 0x074BC5 }, - { "Europe/Brussels" , 0x0754CE }, - { "Europe/Bucharest" , 0x07604F }, - { "Europe/Budapest" , 0x0768E3 }, - { "Europe/Busingen" , 0x07722F }, - { "Europe/Chisinau" , 0x0779B8 }, - { "Europe/Copenhagen" , 0x07831A }, - { "Europe/Dublin" , 0x078B7F }, - { "Europe/Gibraltar" , 0x07992F }, - { "Europe/Guernsey" , 0x07A527 }, - { "Europe/Helsinki" , 0x07B373 }, - { "Europe/Isle_of_Man" , 0x07BAEB }, - { "Europe/Istanbul" , 0x07C937 }, - { "Europe/Jersey" , 0x07D0DE }, - { "Europe/Kaliningrad" , 0x07DF2A }, - { "Europe/Kiev" , 0x07E51F }, - { "Europe/Kirov" , 0x07ED87 }, - { "Europe/Lisbon" , 0x07F222 }, - { "Europe/Ljubljana" , 0x07FFEA }, - { "Europe/London" , 0x080776 }, - { "Europe/Luxembourg" , 0x0815C2 }, - { "Europe/Madrid" , 0x082150 }, - { "Europe/Malta" , 0x082BA2 }, - { "Europe/Mariehamn" , 0x0835EA }, - { "Europe/Minsk" , 0x083D62 }, - { "Europe/Monaco" , 0x084297 }, - { "Europe/Moscow" , 0x084E23 }, - { "Europe/Nicosia" , 0x085442 }, - { "Europe/Oslo" , 0x085C20 }, - { "Europe/Paris" , 0x0864E0 }, - { "Europe/Podgorica" , 0x08707E }, - { "Europe/Prague" , 0x08780A }, - { "Europe/Riga" , 0x088113 }, - { "Europe/Rome" , 0x0889B5 }, - { "Europe/Samara" , 0x089412 }, - { "Europe/San_Marino" , 0x0898F6 }, - { "Europe/Sarajevo" , 0x08A353 }, - { "Europe/Saratov" , 0x08AADF }, - { "Europe/Simferopol" , 0x08AF9A }, - { "Europe/Skopje" , 0x08B569 }, - { "Europe/Sofia" , 0x08BCF5 }, - { "Europe/Stockholm" , 0x08C51E }, - { "Europe/Tallinn" , 0x08CC9F }, - { "Europe/Tirane" , 0x08D50F }, - { "Europe/Tiraspol" , 0x08DD3F }, - { "Europe/Ulyanovsk" , 0x08E6A1 }, - { "Europe/Uzhgorod" , 0x08EBB2 }, - { "Europe/Vaduz" , 0x08F3DE }, - { "Europe/Vatican" , 0x08FB5F }, - { "Europe/Vienna" , 0x0905BC }, - { "Europe/Vilnius" , 0x090E60 }, - { "Europe/Volgograd" , 0x0916DE }, - { "Europe/Warsaw" , 0x091B89 }, - { "Europe/Zagreb" , 0x0925F3 }, - { "Europe/Zaporozhye" , 0x092D7F }, - { "Europe/Zurich" , 0x093600 }, - { "Factory" , 0x093D81 }, - { "GB" , 0x093E01 }, - { "GB-Eire" , 0x094C4D }, - { "GMT" , 0x095A99 }, - { "GMT+0" , 0x095B17 }, - { "GMT-0" , 0x095B95 }, - { "GMT0" , 0x095C13 }, - { "Greenwich" , 0x095C91 }, - { "Hongkong" , 0x095D0F }, - { "HST" , 0x0961CE }, - { "Iceland" , 0x09624D }, - { "Indian/Antananarivo" , 0x0966E3 }, - { "Indian/Chagos" , 0x0967F8 }, - { "Indian/Christmas" , 0x0968CB }, - { "Indian/Cocos" , 0x09697C }, - { "Indian/Comoro" , 0x096A36 }, - { "Indian/Kerguelen" , 0x096B4B }, - { "Indian/Mahe" , 0x096BFC }, - { "Indian/Maldives" , 0x096CAD }, - { "Indian/Mauritius" , 0x096D80 }, - { "Indian/Mayotte" , 0x096E7D }, - { "Indian/Reunion" , 0x096F92 }, - { "Iran" , 0x097043 }, - { "Israel" , 0x097A65 }, - { "Jamaica" , 0x0983C5 }, - { "Japan" , 0x0985B3 }, - { "Kwajalein" , 0x0986F4 }, - { "Libya" , 0x09883C }, - { "MET" , 0x098AB9 }, - { "Mexico/BajaNorte" , 0x0992F3 }, - { "Mexico/BajaSur" , 0x099C25 }, - { "Mexico/General" , 0x09A227 }, - { "MST" , 0x09A863 }, - { "MST7MDT" , 0x09A8E1 }, - { "Navajo" , 0x09B1F3 }, - { "NZ" , 0x09BB8B }, - { "NZ-CHAT" , 0x09C51C }, - { "Pacific/Apia" , 0x09CD3C }, - { "Pacific/Auckland" , 0x09CFAC }, - { "Pacific/Bougainville" , 0x09D955 }, - { "Pacific/Chatham" , 0x09DA79 }, - { "Pacific/Chuuk" , 0x09E2A8 }, - { "Pacific/Easter" , 0x09E3D0 }, - { "Pacific/Efate" , 0x09ECA2 }, - { "Pacific/Enderbury" , 0x09EEC8 }, - { "Pacific/Fakaofo" , 0x09EFBE }, - { "Pacific/Fiji" , 0x09F092 }, - { "Pacific/Funafuti" , 0x09F4B7 }, - { "Pacific/Galapagos" , 0x09F569 }, - { "Pacific/Gambier" , 0x09F674 }, - { "Pacific/Guadalcanal" , 0x09F733 }, - { "Pacific/Guam" , 0x09F7E5 }, - { "Pacific/Honolulu" , 0x09F9DF }, - { "Pacific/Johnston" , 0x09FB3A }, - { "Pacific/Kanton" , 0x09FC8F }, - { "Pacific/Kiritimati" , 0x09FD94 }, - { "Pacific/Kosrae" , 0x09FE9A }, - { "Pacific/Kwajalein" , 0x0A000B }, - { "Pacific/Majuro" , 0x0A015C }, - { "Pacific/Marquesas" , 0x0A02BB }, - { "Pacific/Midway" , 0x0A0385 }, - { "Pacific/Nauru" , 0x0A044E }, - { "Pacific/Niue" , 0x0A0556 }, - { "Pacific/Norfolk" , 0x0A062D }, - { "Pacific/Noumea" , 0x0A09A9 }, - { "Pacific/Pago_Pago" , 0x0A0AE5 }, - { "Pacific/Palau" , 0x0A0BA0 }, - { "Pacific/Pitcairn" , 0x0A0C60 }, - { "Pacific/Pohnpei" , 0x0A0D36 }, - { "Pacific/Ponape" , 0x0A0E7F }, - { "Pacific/Port_Moresby" , 0x0A0FBA }, - { "Pacific/Rarotonga" , 0x0A109D }, - { "Pacific/Saipan" , 0x0A1304 }, - { "Pacific/Samoa" , 0x0A14FE }, - { "Pacific/Tahiti" , 0x0A15B9 }, - { "Pacific/Tarawa" , 0x0A1679 }, - { "Pacific/Tongatapu" , 0x0A173A }, - { "Pacific/Truk" , 0x0A18BA }, - { "Pacific/Wake" , 0x0A19D3 }, - { "Pacific/Wallis" , 0x0A1A90 }, - { "Pacific/Yap" , 0x0A1B42 }, - { "Poland" , 0x0A1C5B }, - { "Portugal" , 0x0A26C5 }, - { "PRC" , 0x0A347A }, - { "PST8PDT" , 0x0A36B7 }, - { "ROC" , 0x0A3FC9 }, - { "ROK" , 0x0A42CE }, - { "Singapore" , 0x0A4543 }, - { "Turkey" , 0x0A46CE }, - { "UCT" , 0x0A4E75 }, - { "Universal" , 0x0A4EF3 }, - { "US/Alaska" , 0x0A4F71 }, - { "US/Aleutian" , 0x0A58C0 }, - { "US/Arizona" , 0x0A6200 }, - { "US/Central" , 0x0A6354 }, - { "US/East-Indiana" , 0x0A7158 }, - { "US/Eastern" , 0x0A77E6 }, - { "US/Hawaii" , 0x0A85C2 }, - { "US/Indiana-Starke" , 0x0A8717 }, - { "US/Michigan" , 0x0A909F }, - { "US/Mountain" , 0x0A9961 }, - { "US/Pacific" , 0x0AA2F9 }, - { "US/Samoa" , 0x0AAE19 }, - { "UTC" , 0x0AAED4 }, - { "W-SU" , 0x0AAF52 }, - { "WET" , 0x0AB55D }, - { "Zulu" , 0x0ABCDA }, +const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { + { (char*) "Africa/Abidjan" , 0x000000 }, + { (char*) "Africa/Accra" , 0x0000A0 }, + { (char*) "Africa/Addis_Ababa" , 0x0004D0 }, + { (char*) "Africa/Algiers" , 0x000595 }, + { (char*) "Africa/Asmara" , 0x000880 }, + { (char*) "Africa/Asmera" , 0x000958 }, + { (char*) "Africa/Bamako" , 0x000A30 }, + { (char*) "Africa/Bangui" , 0x000B0C }, + { (char*) "Africa/Banjul" , 0x000BAD }, + { (char*) "Africa/Bissau" , 0x000C91 }, + { (char*) "Africa/Blantyre" , 0x000D5F }, + { (char*) "Africa/Brazzaville" , 0x000E3C }, + { (char*) "Africa/Bujumbura" , 0x000EDD }, + { (char*) "Africa/Cairo" , 0x000F7E }, + { (char*) "Africa/Casablanca" , 0x00172D }, + { (char*) "Africa/Ceuta" , 0x0020B6 }, + { (char*) "Africa/Conakry" , 0x0028C4 }, + { (char*) "Africa/Dakar" , 0x0029A0 }, + { (char*) "Africa/Dar_es_Salaam" , 0x002A62 }, + { (char*) "Africa/Djibouti" , 0x002B43 }, + { (char*) "Africa/Douala" , 0x002BE4 }, + { (char*) "Africa/El_Aaiun" , 0x002C85 }, + { (char*) "Africa/Freetown" , 0x003588 }, + { (char*) "Africa/Gaborone" , 0x00378F }, + { (char*) "Africa/Harare" , 0x003886 }, + { (char*) "Africa/Johannesburg" , 0x003927 }, + { (char*) "Africa/Juba" , 0x003A29 }, + { (char*) "Africa/Kampala" , 0x003CDC }, + { (char*) "Africa/Khartoum" , 0x003DE3 }, + { (char*) "Africa/Kigali" , 0x004096 }, + { (char*) "Africa/Kinshasa" , 0x004137 }, + { (char*) "Africa/Lagos" , 0x0041F1 }, + { (char*) "Africa/Libreville" , 0x0042E8 }, + { (char*) "Africa/Lome" , 0x004389 }, + { (char*) "Africa/Luanda" , 0x004429 }, + { (char*) "Africa/Lubumbashi" , 0x0044F0 }, + { (char*) "Africa/Lusaka" , 0x0045CC }, + { (char*) "Africa/Malabo" , 0x00466D }, + { (char*) "Africa/Maputo" , 0x004730 }, + { (char*) "Africa/Maseru" , 0x0047D1 }, + { (char*) "Africa/Mbabane" , 0x00489D }, + { (char*) "Africa/Mogadishu" , 0x004941 }, + { (char*) "Africa/Monrovia" , 0x004A22 }, + { (char*) "Africa/Nairobi" , 0x004AFE }, + { (char*) "Africa/Ndjamena" , 0x004C13 }, + { (char*) "Africa/Niamey" , 0x004CE6 }, + { (char*) "Africa/Nouakchott" , 0x004DCB }, + { (char*) "Africa/Ouagadougou" , 0x004EA7 }, + { (char*) "Africa/Porto-Novo" , 0x004F47 }, + { (char*) "Africa/Sao_Tome" , 0x00500A }, + { (char*) "Africa/Timbuktu" , 0x005114 }, + { (char*) "Africa/Tripoli" , 0x0051F0 }, + { (char*) "Africa/Tunis" , 0x00546D }, + { (char*) "Africa/Windhoek" , 0x00572A }, + { (char*) "America/Adak" , 0x005AF1 }, + { (char*) "America/Anchorage" , 0x006441 }, + { (char*) "America/Anguilla" , 0x006DA3 }, + { (char*) "America/Antigua" , 0x006E43 }, + { (char*) "America/Araguaina" , 0x006F05 }, + { (char*) "America/Argentina/Buenos_Aires" , 0x00728E }, + { (char*) "America/Argentina/Catamarca" , 0x0076E3 }, + { (char*) "America/Argentina/ComodRivadavia" , 0x007B3E }, + { (char*) "America/Argentina/Cordoba" , 0x007F7E }, + { (char*) "America/Argentina/Jujuy" , 0x0083F4 }, + { (char*) "America/Argentina/La_Rioja" , 0x008822 }, + { (char*) "America/Argentina/Mendoza" , 0x008C7D }, + { (char*) "America/Argentina/Rio_Gallegos" , 0x0090C9 }, + { (char*) "America/Argentina/Salta" , 0x009518 }, + { (char*) "America/Argentina/San_Juan" , 0x009952 }, + { (char*) "America/Argentina/San_Luis" , 0x009DAD }, + { (char*) "America/Argentina/Tucuman" , 0x00A214 }, + { (char*) "America/Argentina/Ushuaia" , 0x00A67C }, + { (char*) "America/Aruba" , 0x00AAD1 }, + { (char*) "America/Asuncion" , 0x00AB97 }, + { (char*) "America/Atikokan" , 0x00B39F }, + { (char*) "America/Atka" , 0x00B51C }, + { (char*) "America/Bahia" , 0x00BE5C }, + { (char*) "America/Bahia_Banderas" , 0x00C26D }, + { (char*) "America/Barbados" , 0x00C8A3 }, + { (char*) "America/Belem" , 0x00CA63 }, + { (char*) "America/Belize" , 0x00CCC1 }, + { (char*) "America/Blanc-Sablon" , 0x00D31B }, + { (char*) "America/Boa_Vista" , 0x00D46D }, + { (char*) "America/Bogota" , 0x00D6F8 }, + { (char*) "America/Boise" , 0x00D7FA }, + { (char*) "America/Buenos_Aires" , 0x00E180 }, + { (char*) "America/Cambridge_Bay" , 0x00E5C0 }, + { (char*) "America/Campo_Grande" , 0x00EE04 }, + { (char*) "America/Cancun" , 0x00F3C6 }, + { (char*) "America/Caracas" , 0x00F704 }, + { (char*) "America/Catamarca" , 0x00F818 }, + { (char*) "America/Cayenne" , 0x00FC58 }, + { (char*) "America/Cayman" , 0x00FD2A }, + { (char*) "America/Chicago" , 0x00FDEC }, + { (char*) "America/Chihuahua" , 0x010C04 }, + { (char*) "America/Coral_Harbour" , 0x011202 }, + { (char*) "America/Cordoba" , 0x01135E }, + { (char*) "America/Costa_Rica" , 0x01179E }, + { (char*) "America/Creston" , 0x0118E6 }, + { (char*) "America/Cuiaba" , 0x0119D4 }, + { (char*) "America/Curacao" , 0x011F73 }, + { (char*) "America/Danmarkshavn" , 0x012039 }, + { (char*) "America/Dawson" , 0x012319 }, + { (char*) "America/Dawson_Creek" , 0x012985 }, + { (char*) "America/Denver" , 0x012DCB }, + { (char*) "America/Detroit" , 0x013778 }, + { (char*) "America/Dominica" , 0x014053 }, + { (char*) "America/Edmonton" , 0x0140F3 }, + { (char*) "America/Eirunepe" , 0x014A38 }, + { (char*) "America/El_Salvador" , 0x014CE3 }, + { (char*) "America/Ensenada" , 0x014DCF }, + { (char*) "America/Fort_Nelson" , 0x015701 }, + { (char*) "America/Fort_Wayne" , 0x015FE1 }, + { (char*) "America/Fortaleza" , 0x01666F }, + { (char*) "America/Glace_Bay" , 0x01696D }, + { (char*) "America/Godthab" , 0x017224 }, + { (char*) "America/Goose_Bay" , 0x017986 }, + { (char*) "America/Grand_Turk" , 0x01863C }, + { (char*) "America/Grenada" , 0x018D72 }, + { (char*) "America/Guadeloupe" , 0x018E12 }, + { (char*) "America/Guatemala" , 0x018EB2 }, + { (char*) "America/Guayaquil" , 0x018FD6 }, + { (char*) "America/Guyana" , 0x0190EA }, + { (char*) "America/Halifax" , 0x0191FC }, + { (char*) "America/Havana" , 0x019F86 }, + { (char*) "America/Hermosillo" , 0x01A902 }, + { (char*) "America/Indiana/Indianapolis" , 0x01AACD }, + { (char*) "America/Indiana/Knox" , 0x01B174 }, + { (char*) "America/Indiana/Marengo" , 0x01BB11 }, + { (char*) "America/Indiana/Petersburg" , 0x01C1EE }, + { (char*) "America/Indiana/Tell_City" , 0x01C97D }, + { (char*) "America/Indiana/Vevay" , 0x01D031 }, + { (char*) "America/Indiana/Vincennes" , 0x01D5DD }, + { (char*) "America/Indiana/Winamac" , 0x01DCA3 }, + { (char*) "America/Indianapolis" , 0x01E3B7 }, + { (char*) "America/Inuvik" , 0x01EA45 }, + { (char*) "America/Iqaluit" , 0x01F1CB }, + { (char*) "America/Jamaica" , 0x01F9E5 }, + { (char*) "America/Jujuy" , 0x01FBD3 }, + { (char*) "America/Juneau" , 0x01FFF7 }, + { (char*) "America/Kentucky/Louisville" , 0x020948 }, + { (char*) "America/Kentucky/Monticello" , 0x021446 }, + { (char*) "America/Knox_IN" , 0x021D96 }, + { (char*) "America/Kralendijk" , 0x02271E }, + { (char*) "America/La_Paz" , 0x0227E4 }, + { (char*) "America/Lima" , 0x0228D8 }, + { (char*) "America/Los_Angeles" , 0x022A7A }, + { (char*) "America/Louisville" , 0x0235A1 }, + { (char*) "America/Lower_Princes" , 0x024081 }, + { (char*) "America/Maceio" , 0x024147 }, + { (char*) "America/Managua" , 0x02444B }, + { (char*) "America/Manaus" , 0x024605 }, + { (char*) "America/Marigot" , 0x02487C }, + { (char*) "America/Martinique" , 0x02491C }, + { (char*) "America/Matamoros" , 0x024A10 }, + { (char*) "America/Mazatlan" , 0x024FC8 }, + { (char*) "America/Mendoza" , 0x0255FF }, + { (char*) "America/Menominee" , 0x025A3F }, + { (char*) "America/Merida" , 0x02634C }, + { (char*) "America/Metlakatla" , 0x026906 }, + { (char*) "America/Mexico_City" , 0x026EB8 }, + { (char*) "America/Miquelon" , 0x027500 }, + { (char*) "America/Moncton" , 0x027B8E }, + { (char*) "America/Monterrey" , 0x028804 }, + { (char*) "America/Montevideo" , 0x028DC3 }, + { (char*) "America/Montreal" , 0x0293B5 }, + { (char*) "America/Montserrat" , 0x02A167 }, + { (char*) "America/Nassau" , 0x02A207 }, + { (char*) "America/New_York" , 0x02AB67 }, + { (char*) "America/Nipigon" , 0x02B967 }, + { (char*) "America/Nome" , 0x02C1DE }, + { (char*) "America/Noronha" , 0x02CB36 }, + { (char*) "America/North_Dakota/Beulah" , 0x02CE1E }, + { (char*) "America/North_Dakota/Center" , 0x02D78B }, + { (char*) "America/North_Dakota/New_Salem" , 0x02E0F8 }, + { (char*) "America/Nuuk" , 0x02EA6B }, + { (char*) "America/Ojinaga" , 0x02F1E3 }, + { (char*) "America/Panama" , 0x02F7E3 }, + { (char*) "America/Pangnirtung" , 0x02F8A5 }, + { (char*) "America/Paramaribo" , 0x0300F9 }, + { (char*) "America/Phoenix" , 0x03020B }, + { (char*) "America/Port-au-Prince" , 0x03037C }, + { (char*) "America/Port_of_Spain" , 0x030922 }, + { (char*) "America/Porto_Acre" , 0x0309C2 }, + { (char*) "America/Porto_Velho" , 0x030C42 }, + { (char*) "America/Puerto_Rico" , 0x030E96 }, + { (char*) "America/Punta_Arenas" , 0x030F98 }, + { (char*) "America/Rainy_River" , 0x031734 }, + { (char*) "America/Rankin_Inlet" , 0x031FAC }, + { (char*) "America/Recife" , 0x032732 }, + { (char*) "America/Regina" , 0x032A14 }, + { (char*) "America/Resolute" , 0x032E09 }, + { (char*) "America/Rio_Branco" , 0x033590 }, + { (char*) "America/Rosario" , 0x033814 }, + { (char*) "America/Santa_Isabel" , 0x033C54 }, + { (char*) "America/Santarem" , 0x034586 }, + { (char*) "America/Santiago" , 0x0347F7 }, + { (char*) "America/Santo_Domingo" , 0x0351F6 }, + { (char*) "America/Sao_Paulo" , 0x0353CC }, + { (char*) "America/Scoresbysund" , 0x0359B2 }, + { (char*) "America/Shiprock" , 0x036157 }, + { (char*) "America/Sitka" , 0x036AEF }, + { (char*) "America/St_Barthelemy" , 0x037427 }, + { (char*) "America/St_Johns" , 0x0374C7 }, + { (char*) "America/St_Kitts" , 0x03833C }, + { (char*) "America/St_Lucia" , 0x0383DC }, + { (char*) "America/St_Thomas" , 0x03849E }, + { (char*) "America/St_Vincent" , 0x03853E }, + { (char*) "America/Swift_Current" , 0x038600 }, + { (char*) "America/Tegucigalpa" , 0x03884E }, + { (char*) "America/Thule" , 0x038956 }, + { (char*) "America/Thunder_Bay" , 0x038F4E }, + { (char*) "America/Tijuana" , 0x03980E }, + { (char*) "America/Toronto" , 0x03A161 }, + { (char*) "America/Tortola" , 0x03AF30 }, + { (char*) "America/Vancouver" , 0x03AFD0 }, + { (char*) "America/Virgin" , 0x03BB41 }, + { (char*) "America/Whitehorse" , 0x03BBE1 }, + { (char*) "America/Winnipeg" , 0x03C24D }, + { (char*) "America/Yakutat" , 0x03CDAA }, + { (char*) "America/Yellowknife" , 0x03D6C7 }, + { (char*) "Antarctica/Casey" , 0x03DE98 }, + { (char*) "Antarctica/Davis" , 0x03E029 }, + { (char*) "Antarctica/DumontDUrville" , 0x03E163 }, + { (char*) "Antarctica/Macquarie" , 0x03E241 }, + { (char*) "Antarctica/Mawson" , 0x03EB31 }, + { (char*) "Antarctica/McMurdo" , 0x03EC0A }, + { (char*) "Antarctica/Palmer" , 0x03F405 }, + { (char*) "Antarctica/Rothera" , 0x03F9A1 }, + { (char*) "Antarctica/South_Pole" , 0x03FA58 }, + { (char*) "Antarctica/Syowa" , 0x04022D }, + { (char*) "Antarctica/Troll" , 0x0402E3 }, + { (char*) "Antarctica/Vostok" , 0x04077E }, + { (char*) "Arctic/Longyearbyen" , 0x040835 }, + { (char*) "Asia/Aden" , 0x0410F5 }, + { (char*) "Asia/Almaty" , 0x0411A6 }, + { (char*) "Asia/Amman" , 0x0415AE }, + { (char*) "Asia/Anadyr" , 0x041CF7 }, + { (char*) "Asia/Aqtau" , 0x0421BA }, + { (char*) "Asia/Aqtobe" , 0x0425B2 }, + { (char*) "Asia/Ashgabat" , 0x0429BE }, + { (char*) "Asia/Ashkhabad" , 0x042C35 }, + { (char*) "Asia/Atyrau" , 0x042EAC }, + { (char*) "Asia/Baghdad" , 0x0432AC }, + { (char*) "Asia/Bahrain" , 0x04368F }, + { (char*) "Asia/Baku" , 0x043788 }, + { (char*) "Asia/Bangkok" , 0x043C5F }, + { (char*) "Asia/Barnaul" , 0x043D32 }, + { (char*) "Asia/Beirut" , 0x044211 }, + { (char*) "Asia/Bishkek" , 0x044A87 }, + { (char*) "Asia/Brunei" , 0x044E6A }, + { (char*) "Asia/Calcutta" , 0x044F41 }, + { (char*) "Asia/Chita" , 0x04506A }, + { (char*) "Asia/Choibalsan" , 0x04554F }, + { (char*) "Asia/Chongqing" , 0x045922 }, + { (char*) "Asia/Chungking" , 0x045B5F }, + { (char*) "Asia/Colombo" , 0x045D9C }, + { (char*) "Asia/Dacca" , 0x045F1C }, + { (char*) "Asia/Damascus" , 0x046079 }, + { (char*) "Asia/Dhaka" , 0x04697B }, + { (char*) "Asia/Dili" , 0x046AD8 }, + { (char*) "Asia/Dubai" , 0x046BC7 }, + { (char*) "Asia/Dushanbe" , 0x046C78 }, + { (char*) "Asia/Famagusta" , 0x046ED3 }, + { (char*) "Asia/Gaza" , 0x0476DA }, + { (char*) "Asia/Harbin" , 0x048066 }, + { (char*) "Asia/Hebron" , 0x0482A3 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x048C4A }, + { (char*) "Asia/Hong_Kong" , 0x048DB5 }, + { (char*) "Asia/Hovd" , 0x049292 }, + { (char*) "Asia/Irkutsk" , 0x049644 }, + { (char*) "Asia/Istanbul" , 0x049B45 }, + { (char*) "Asia/Jakarta" , 0x04A2EC }, + { (char*) "Asia/Jayapura" , 0x04A484 }, + { (char*) "Asia/Jerusalem" , 0x04A5A3 }, + { (char*) "Asia/Kabul" , 0x04AF03 }, + { (char*) "Asia/Kamchatka" , 0x04AFDF }, + { (char*) "Asia/Karachi" , 0x04B48B }, + { (char*) "Asia/Kashgar" , 0x04B612 }, + { (char*) "Asia/Kathmandu" , 0x04B6C3 }, + { (char*) "Asia/Katmandu" , 0x04B7A3 }, + { (char*) "Asia/Khandyga" , 0x04B883 }, + { (char*) "Asia/Kolkata" , 0x04BDA4 }, + { (char*) "Asia/Krasnoyarsk" , 0x04BECD }, + { (char*) "Asia/Kuala_Lumpur" , 0x04C3A9 }, + { (char*) "Asia/Kuching" , 0x04C548 }, + { (char*) "Asia/Kuwait" , 0x04C745 }, + { (char*) "Asia/Macao" , 0x04C7F6 }, + { (char*) "Asia/Macau" , 0x04CCCD }, + { (char*) "Asia/Magadan" , 0x04D1A4 }, + { (char*) "Asia/Makassar" , 0x04D686 }, + { (char*) "Asia/Manila" , 0x04D7D9 }, + { (char*) "Asia/Muscat" , 0x04D92D }, + { (char*) "Asia/Nicosia" , 0x04D9DE }, + { (char*) "Asia/Novokuznetsk" , 0x04E1CF }, + { (char*) "Asia/Novosibirsk" , 0x04E679 }, + { (char*) "Asia/Omsk" , 0x04EB5E }, + { (char*) "Asia/Oral" , 0x04F02E }, + { (char*) "Asia/Phnom_Penh" , 0x04F436 }, + { (char*) "Asia/Pontianak" , 0x04F569 }, + { (char*) "Asia/Pyongyang" , 0x04F6EC }, + { (char*) "Asia/Qatar" , 0x04F7E5 }, + { (char*) "Asia/Qostanay" , 0x04F8B8 }, + { (char*) "Asia/Qyzylorda" , 0x04FCD1 }, + { (char*) "Asia/Rangoon" , 0x0500FB }, + { (char*) "Asia/Riyadh" , 0x050213 }, + { (char*) "Asia/Saigon" , 0x0502C4 }, + { (char*) "Asia/Sakhalin" , 0x05042F }, + { (char*) "Asia/Samarkand" , 0x050905 }, + { (char*) "Asia/Seoul" , 0x050B63 }, + { (char*) "Asia/Shanghai" , 0x050DD8 }, + { (char*) "Asia/Singapore" , 0x051021 }, + { (char*) "Asia/Srednekolymsk" , 0x0511AC }, + { (char*) "Asia/Taipei" , 0x051692 }, + { (char*) "Asia/Tashkent" , 0x051997 }, + { (char*) "Asia/Tbilisi" , 0x051C03 }, + { (char*) "Asia/Tehran" , 0x05201A }, + { (char*) "Asia/Tel_Aviv" , 0x052514 }, + { (char*) "Asia/Thimbu" , 0x052E74 }, + { (char*) "Asia/Thimphu" , 0x052F4B }, + { (char*) "Asia/Tokyo" , 0x053022 }, + { (char*) "Asia/Tomsk" , 0x053163 }, + { (char*) "Asia/Ujung_Pandang" , 0x053642 }, + { (char*) "Asia/Ulaanbaatar" , 0x05374C }, + { (char*) "Asia/Ulan_Bator" , 0x053AE8 }, + { (char*) "Asia/Urumqi" , 0x053E6F }, + { (char*) "Asia/Ust-Nera" , 0x053F2D }, + { (char*) "Asia/Vientiane" , 0x054431 }, + { (char*) "Asia/Vladivostok" , 0x054580 }, + { (char*) "Asia/Yakutsk" , 0x054A57 }, + { (char*) "Asia/Yangon" , 0x054F2D }, + { (char*) "Asia/Yekaterinburg" , 0x055045 }, + { (char*) "Asia/Yerevan" , 0x05553A }, + { (char*) "Atlantic/Azores" , 0x0559C5 }, + { (char*) "Atlantic/Bermuda" , 0x05678F }, + { (char*) "Atlantic/Canary" , 0x0570F7 }, + { (char*) "Atlantic/Cape_Verde" , 0x05787A }, + { (char*) "Atlantic/Faeroe" , 0x057994 }, + { (char*) "Atlantic/Faroe" , 0x0580B7 }, + { (char*) "Atlantic/Jan_Mayen" , 0x0587DA }, + { (char*) "Atlantic/Madeira" , 0x05909A }, + { (char*) "Atlantic/Reykjavik" , 0x059E64 }, + { (char*) "Atlantic/South_Georgia" , 0x05A2FA }, + { (char*) "Atlantic/St_Helena" , 0x05A3AA }, + { (char*) "Atlantic/Stanley" , 0x05A46C }, + { (char*) "Australia/ACT" , 0x05A936 }, + { (char*) "Australia/Adelaide" , 0x05B1D0 }, + { (char*) "Australia/Brisbane" , 0x05BA8B }, + { (char*) "Australia/Broken_Hill" , 0x05BC51 }, + { (char*) "Australia/Canberra" , 0x05C52E }, + { (char*) "Australia/Currie" , 0x05CDC8 }, + { (char*) "Australia/Darwin" , 0x05D70A }, + { (char*) "Australia/Eucla" , 0x05D86D }, + { (char*) "Australia/Hobart" , 0x05DA68 }, + { (char*) "Australia/LHI" , 0x05E3B2 }, + { (char*) "Australia/Lindeman" , 0x05EB02 }, + { (char*) "Australia/Lord_Howe" , 0x05ED08 }, + { (char*) "Australia/Melbourne" , 0x05F468 }, + { (char*) "Australia/North" , 0x05FD0A }, + { (char*) "Australia/NSW" , 0x05FE5B }, + { (char*) "Australia/Perth" , 0x0606F5 }, + { (char*) "Australia/Queensland" , 0x0608DD }, + { (char*) "Australia/South" , 0x060A8C }, + { (char*) "Australia/Sydney" , 0x061338 }, + { (char*) "Australia/Tasmania" , 0x061BEE }, + { (char*) "Australia/Victoria" , 0x062530 }, + { (char*) "Australia/West" , 0x062DCA }, + { (char*) "Australia/Yancowinna" , 0x062F94 }, + { (char*) "Brazil/Acre" , 0x063855 }, + { (char*) "Brazil/DeNoronha" , 0x063AD5 }, + { (char*) "Brazil/East" , 0x063DAD }, + { (char*) "Brazil/West" , 0x06435D }, + { (char*) "Canada/Atlantic" , 0x0645C5 }, + { (char*) "Canada/Central" , 0x065331 }, + { (char*) "Canada/Eastern" , 0x065E71 }, + { (char*) "Canada/Mountain" , 0x066C23 }, + { (char*) "Canada/Newfoundland" , 0x06754B }, + { (char*) "Canada/Pacific" , 0x06839E }, + { (char*) "Canada/Saskatchewan" , 0x068EF6 }, + { (char*) "Canada/Yukon" , 0x0692D6 }, + { (char*) "CET" , 0x069930 }, + { (char*) "Chile/Continental" , 0x06A16A }, + { (char*) "Chile/EasterIsland" , 0x06AB57 }, + { (char*) "CST6CDT" , 0x06B41C }, + { (char*) "Cuba" , 0x06BD2E }, + { (char*) "EET" , 0x06C6AA }, + { (char*) "Egypt" , 0x06CE2A }, + { (char*) "Eire" , 0x06D5D9 }, + { (char*) "EST" , 0x06E389 }, + { (char*) "EST5EDT" , 0x06E407 }, + { (char*) "Etc/GMT" , 0x06ED19 }, + { (char*) "Etc/GMT+0" , 0x06ED97 }, + { (char*) "Etc/GMT+1" , 0x06EE15 }, + { (char*) "Etc/GMT+10" , 0x06EE95 }, + { (char*) "Etc/GMT+11" , 0x06EF16 }, + { (char*) "Etc/GMT+12" , 0x06EF97 }, + { (char*) "Etc/GMT+2" , 0x06F018 }, + { (char*) "Etc/GMT+3" , 0x06F098 }, + { (char*) "Etc/GMT+4" , 0x06F118 }, + { (char*) "Etc/GMT+5" , 0x06F198 }, + { (char*) "Etc/GMT+6" , 0x06F218 }, + { (char*) "Etc/GMT+7" , 0x06F298 }, + { (char*) "Etc/GMT+8" , 0x06F318 }, + { (char*) "Etc/GMT+9" , 0x06F398 }, + { (char*) "Etc/GMT-0" , 0x06F418 }, + { (char*) "Etc/GMT-1" , 0x06F496 }, + { (char*) "Etc/GMT-10" , 0x06F517 }, + { (char*) "Etc/GMT-11" , 0x06F599 }, + { (char*) "Etc/GMT-12" , 0x06F61B }, + { (char*) "Etc/GMT-13" , 0x06F69D }, + { (char*) "Etc/GMT-14" , 0x06F71F }, + { (char*) "Etc/GMT-2" , 0x06F7A1 }, + { (char*) "Etc/GMT-3" , 0x06F822 }, + { (char*) "Etc/GMT-4" , 0x06F8A3 }, + { (char*) "Etc/GMT-5" , 0x06F924 }, + { (char*) "Etc/GMT-6" , 0x06F9A5 }, + { (char*) "Etc/GMT-7" , 0x06FA26 }, + { (char*) "Etc/GMT-8" , 0x06FAA7 }, + { (char*) "Etc/GMT-9" , 0x06FB28 }, + { (char*) "Etc/GMT0" , 0x06FBA9 }, + { (char*) "Etc/Greenwich" , 0x06FC27 }, + { (char*) "Etc/UCT" , 0x06FCA5 }, + { (char*) "Etc/Universal" , 0x06FD23 }, + { (char*) "Etc/UTC" , 0x06FDA1 }, + { (char*) "Etc/Zulu" , 0x06FE1F }, + { (char*) "Europe/Amsterdam" , 0x06FE9D }, + { (char*) "Europe/Andorra" , 0x070A07 }, + { (char*) "Europe/Astrakhan" , 0x0710E1 }, + { (char*) "Europe/Athens" , 0x07158C }, + { (char*) "Europe/Belfast" , 0x071E6E }, + { (char*) "Europe/Belgrade" , 0x072CCA }, + { (char*) "Europe/Berlin" , 0x073456 }, + { (char*) "Europe/Bratislava" , 0x073D70 }, + { (char*) "Europe/Brussels" , 0x074679 }, + { (char*) "Europe/Bucharest" , 0x0751FA }, + { (char*) "Europe/Budapest" , 0x075A8E }, + { (char*) "Europe/Busingen" , 0x0763DA }, + { (char*) "Europe/Chisinau" , 0x076B63 }, + { (char*) "Europe/Copenhagen" , 0x0774C5 }, + { (char*) "Europe/Dublin" , 0x077D2A }, + { (char*) "Europe/Gibraltar" , 0x078ADA }, + { (char*) "Europe/Guernsey" , 0x0796E2 }, + { (char*) "Europe/Helsinki" , 0x07A582 }, + { (char*) "Europe/Isle_of_Man" , 0x07ACFA }, + { (char*) "Europe/Istanbul" , 0x07BB46 }, + { (char*) "Europe/Jersey" , 0x07C2ED }, + { (char*) "Europe/Kaliningrad" , 0x07D18D }, + { (char*) "Europe/Kiev" , 0x07D782 }, + { (char*) "Europe/Kirov" , 0x07DFD6 }, + { (char*) "Europe/Kyiv" , 0x07E471 }, + { (char*) "Europe/Lisbon" , 0x07ECD9 }, + { (char*) "Europe/Ljubljana" , 0x07FAA1 }, + { (char*) "Europe/London" , 0x08022D }, + { (char*) "Europe/Luxembourg" , 0x081089 }, + { (char*) "Europe/Madrid" , 0x081C17 }, + { (char*) "Europe/Malta" , 0x082669 }, + { (char*) "Europe/Mariehamn" , 0x0830B1 }, + { (char*) "Europe/Minsk" , 0x083829 }, + { (char*) "Europe/Monaco" , 0x083D5E }, + { (char*) "Europe/Moscow" , 0x0848EA }, + { (char*) "Europe/Nicosia" , 0x084F09 }, + { (char*) "Europe/Oslo" , 0x0856E7 }, + { (char*) "Europe/Paris" , 0x085FA7 }, + { (char*) "Europe/Podgorica" , 0x086B45 }, + { (char*) "Europe/Prague" , 0x0872D1 }, + { (char*) "Europe/Riga" , 0x087BDA }, + { (char*) "Europe/Rome" , 0x08847C }, + { (char*) "Europe/Samara" , 0x088ED9 }, + { (char*) "Europe/San_Marino" , 0x0893BD }, + { (char*) "Europe/Sarajevo" , 0x089E1A }, + { (char*) "Europe/Saratov" , 0x08A5A6 }, + { (char*) "Europe/Simferopol" , 0x08AA61 }, + { (char*) "Europe/Skopje" , 0x08B030 }, + { (char*) "Europe/Sofia" , 0x08B7BC }, + { (char*) "Europe/Stockholm" , 0x08BFE5 }, + { (char*) "Europe/Tallinn" , 0x08C766 }, + { (char*) "Europe/Tirane" , 0x08CFD6 }, + { (char*) "Europe/Tiraspol" , 0x08D806 }, + { (char*) "Europe/Ulyanovsk" , 0x08E168 }, + { (char*) "Europe/Uzhgorod" , 0x08E679 }, + { (char*) "Europe/Vaduz" , 0x08EEA5 }, + { (char*) "Europe/Vatican" , 0x08F611 }, + { (char*) "Europe/Vienna" , 0x09006E }, + { (char*) "Europe/Vilnius" , 0x090912 }, + { (char*) "Europe/Volgograd" , 0x091190 }, + { (char*) "Europe/Warsaw" , 0x09163B }, + { (char*) "Europe/Zagreb" , 0x0920A5 }, + { (char*) "Europe/Zaporozhye" , 0x092831 }, + { (char*) "Europe/Zurich" , 0x0930B2 }, + { (char*) "Factory" , 0x093833 }, + { (char*) "GB" , 0x0938B3 }, + { (char*) "GB-Eire" , 0x09470F }, + { (char*) "GMT" , 0x09556B }, + { (char*) "GMT+0" , 0x0955E9 }, + { (char*) "GMT-0" , 0x095667 }, + { (char*) "GMT0" , 0x0956E5 }, + { (char*) "Greenwich" , 0x095763 }, + { (char*) "Hongkong" , 0x0957E1 }, + { (char*) "HST" , 0x095CBE }, + { (char*) "Iceland" , 0x095D3D }, + { (char*) "Indian/Antananarivo" , 0x0961D3 }, + { (char*) "Indian/Chagos" , 0x0962BA }, + { (char*) "Indian/Christmas" , 0x09638D }, + { (char*) "Indian/Cocos" , 0x09643E }, + { (char*) "Indian/Comoro" , 0x0964F8 }, + { (char*) "Indian/Kerguelen" , 0x096599 }, + { (char*) "Indian/Mahe" , 0x09664A }, + { (char*) "Indian/Maldives" , 0x0966FB }, + { (char*) "Indian/Mauritius" , 0x0967CE }, + { (char*) "Indian/Mayotte" , 0x0968CB }, + { (char*) "Indian/Reunion" , 0x09696C }, + { (char*) "Iran" , 0x096A1D }, + { (char*) "Israel" , 0x096F17 }, + { (char*) "Jamaica" , 0x097877 }, + { (char*) "Japan" , 0x097A65 }, + { (char*) "Kwajalein" , 0x097BA6 }, + { (char*) "Libya" , 0x097CEE }, + { (char*) "MET" , 0x097F6B }, + { (char*) "Mexico/BajaNorte" , 0x0987A5 }, + { (char*) "Mexico/BajaSur" , 0x0990D7 }, + { (char*) "Mexico/General" , 0x0996D9 }, + { (char*) "MST" , 0x099D15 }, + { (char*) "MST7MDT" , 0x099D93 }, + { (char*) "Navajo" , 0x09A6A5 }, + { (char*) "NZ" , 0x09B03D }, + { (char*) "NZ-CHAT" , 0x09B9CE }, + { (char*) "Pacific/Apia" , 0x09C1EE }, + { (char*) "Pacific/Auckland" , 0x09C45E }, + { (char*) "Pacific/Bougainville" , 0x09CE07 }, + { (char*) "Pacific/Chatham" , 0x09CF2B }, + { (char*) "Pacific/Chuuk" , 0x09D75A }, + { (char*) "Pacific/Easter" , 0x09D882 }, + { (char*) "Pacific/Efate" , 0x09E154 }, + { (char*) "Pacific/Enderbury" , 0x09E37A }, + { (char*) "Pacific/Fakaofo" , 0x09E470 }, + { (char*) "Pacific/Fiji" , 0x09E544 }, + { (char*) "Pacific/Funafuti" , 0x09E969 }, + { (char*) "Pacific/Galapagos" , 0x09EA1B }, + { (char*) "Pacific/Gambier" , 0x09EB26 }, + { (char*) "Pacific/Guadalcanal" , 0x09EBE5 }, + { (char*) "Pacific/Guam" , 0x09EC97 }, + { (char*) "Pacific/Honolulu" , 0x09EE91 }, + { (char*) "Pacific/Johnston" , 0x09EFEC }, + { (char*) "Pacific/Kanton" , 0x09F141 }, + { (char*) "Pacific/Kiritimati" , 0x09F246 }, + { (char*) "Pacific/Kosrae" , 0x09F34C }, + { (char*) "Pacific/Kwajalein" , 0x09F4BD }, + { (char*) "Pacific/Majuro" , 0x09F60E }, + { (char*) "Pacific/Marquesas" , 0x09F76D }, + { (char*) "Pacific/Midway" , 0x09F837 }, + { (char*) "Pacific/Nauru" , 0x09F926 }, + { (char*) "Pacific/Niue" , 0x09FA2E }, + { (char*) "Pacific/Norfolk" , 0x09FB05 }, + { (char*) "Pacific/Noumea" , 0x09FE81 }, + { (char*) "Pacific/Pago_Pago" , 0x09FFBD }, + { (char*) "Pacific/Palau" , 0x0A0078 }, + { (char*) "Pacific/Pitcairn" , 0x0A0138 }, + { (char*) "Pacific/Pohnpei" , 0x0A020E }, + { (char*) "Pacific/Ponape" , 0x0A0357 }, + { (char*) "Pacific/Port_Moresby" , 0x0A0492 }, + { (char*) "Pacific/Rarotonga" , 0x0A0575 }, + { (char*) "Pacific/Saipan" , 0x0A07DC }, + { (char*) "Pacific/Samoa" , 0x0A08D4 }, + { (char*) "Pacific/Tahiti" , 0x0A098F }, + { (char*) "Pacific/Tarawa" , 0x0A0A4F }, + { (char*) "Pacific/Tongatapu" , 0x0A0B10 }, + { (char*) "Pacific/Truk" , 0x0A0C90 }, + { (char*) "Pacific/Wake" , 0x0A0DA9 }, + { (char*) "Pacific/Wallis" , 0x0A0E66 }, + { (char*) "Pacific/Yap" , 0x0A0F18 }, + { (char*) "Poland" , 0x0A1031 }, + { (char*) "Portugal" , 0x0A1A9B }, + { (char*) "PRC" , 0x0A2850 }, + { (char*) "PST8PDT" , 0x0A2A8D }, + { (char*) "ROC" , 0x0A339F }, + { (char*) "ROK" , 0x0A36A4 }, + { (char*) "Singapore" , 0x0A3919 }, + { (char*) "Turkey" , 0x0A3AA4 }, + { (char*) "UCT" , 0x0A424B }, + { (char*) "Universal" , 0x0A42C9 }, + { (char*) "US/Alaska" , 0x0A4347 }, + { (char*) "US/Aleutian" , 0x0A4C96 }, + { (char*) "US/Arizona" , 0x0A55D6 }, + { (char*) "US/Central" , 0x0A572A }, + { (char*) "US/East-Indiana" , 0x0A652E }, + { (char*) "US/Eastern" , 0x0A6BBC }, + { (char*) "US/Hawaii" , 0x0A79A8 }, + { (char*) "US/Indiana-Starke" , 0x0A7AFD }, + { (char*) "US/Michigan" , 0x0A8485 }, + { (char*) "US/Mountain" , 0x0A8D47 }, + { (char*) "US/Pacific" , 0x0A96DF }, + { (char*) "US/Samoa" , 0x0AA1FF }, + { (char*) "UTC" , 0x0AA2BA }, + { (char*) "W-SU" , 0x0AA338 }, + { (char*) "WET" , 0x0AA943 }, + { (char*) "Zulu" , 0x0AB0C0 }, }; -const unsigned char timelib_timezone_db_data_builtin[703832] = { +const unsigned char timelib_timezone_db_data_builtin[700734] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24043,34 +23854,86 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Accra */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, +0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x9A, 0x1D, 0x94, 0x34, +0xA1, 0xC0, 0xB4, 0x80, 0xA1, 0xF2, 0xE4, 0xF0, 0xA3, 0x34, 0x97, 0xA0, 0xA3, 0xD5, 0x69, 0xF0, +0xA5, 0x15, 0xCB, 0x20, 0xA5, 0xB6, 0x9D, 0x70, 0xA6, 0xF6, 0xFE, 0xA0, 0xA7, 0x97, 0xD0, 0xF0, +0xA8, 0xD8, 0x32, 0x20, 0xA9, 0x79, 0x04, 0x70, 0xAA, 0xBA, 0xB7, 0x20, 0xAB, 0x5B, 0x89, 0x70, +0xAC, 0x9B, 0xEA, 0xA0, 0xAD, 0x3C, 0xBC, 0xF0, 0xAE, 0x7D, 0x1E, 0x20, 0xAF, 0x1D, 0xF0, 0x70, +0xB0, 0x5E, 0x51, 0xA0, 0xB0, 0xFF, 0x23, 0xF0, 0xB2, 0x40, 0xD6, 0xA0, 0xB2, 0xE1, 0xA8, 0xF0, +0xB4, 0x22, 0x0A, 0x20, 0xB4, 0xC2, 0xDC, 0x70, 0xB6, 0x03, 0x3D, 0xA0, 0xB6, 0xA4, 0x0F, 0xF0, +0xB7, 0xE4, 0x71, 0x20, 0xB8, 0x85, 0x43, 0x70, 0xB9, 0xC6, 0xF6, 0x20, 0xBA, 0x67, 0xC8, 0x70, +0xBB, 0xA8, 0x29, 0xA0, 0xBC, 0x48, 0xFB, 0xF0, 0xBD, 0x89, 0x5D, 0x20, 0xBE, 0x2A, 0x2F, 0x70, +0xBF, 0x6A, 0x90, 0xA0, 0xC0, 0x0B, 0x62, 0xF0, 0xC1, 0x4D, 0x15, 0xA0, 0xC1, 0xED, 0xE7, 0xF0, +0xC3, 0x2E, 0x49, 0x20, 0xC3, 0xCF, 0x1B, 0x70, 0xC5, 0x0F, 0x7C, 0xA0, 0xC5, 0xB0, 0x4E, 0xF0, +0xC6, 0xF0, 0xB0, 0x20, 0xC7, 0x91, 0x82, 0x70, 0xC8, 0x31, 0x0C, 0xA0, 0xC9, 0x74, 0x07, 0x70, +0xCA, 0x12, 0x40, 0x20, 0xCB, 0x55, 0x3A, 0xF0, 0xCB, 0x87, 0x3C, 0x80, 0xD2, 0xE1, 0xD3, 0x78, +0xDB, 0xA1, 0xDB, 0x20, 0xDC, 0x42, 0xAB, 0x18, 0xDD, 0x83, 0x0E, 0xA0, 0xDE, 0x23, 0xDE, 0x98, +0xDF, 0x65, 0x93, 0xA0, 0xE0, 0x06, 0x63, 0x98, 0xE1, 0x46, 0xC7, 0x20, 0xE1, 0xE7, 0x97, 0x18, +0xE3, 0x27, 0xFA, 0xA0, 0xE3, 0xC8, 0xCA, 0x98, 0xE5, 0x09, 0x2E, 0x20, 0xE5, 0xA9, 0xFE, 0x18, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, +0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, +0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x08, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, +0x30, 0x30, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, +0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x1D, 0x94, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC0, 0xB4, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x97, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x69, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x15, 0xCB, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0x9D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xF6, 0xFE, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x97, 0xD0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xD8, 0x32, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x79, 0x04, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xBA, 0xB7, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x5B, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0x9B, 0xEA, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0x3C, 0xBC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x7D, 0x1E, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x1D, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x51, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0x23, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x40, 0xD6, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xE1, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x0A, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0xDC, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x3D, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA4, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x71, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x85, 0x43, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC6, 0xF6, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0xC8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x29, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x48, 0xFB, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x5D, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x90, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0B, 0x62, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x15, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xE7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x49, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xCF, 0x1B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x7C, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0xB0, 0x4E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xB0, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x91, 0x82, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x31, 0x0C, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x74, 0x07, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x12, 0x40, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x55, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x87, 0x3C, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xE1, 0xD3, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xA1, 0xDB, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xAB, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x83, 0x0E, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x23, 0xDE, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x93, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x63, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x46, 0xC7, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xE7, 0x97, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x27, 0xFA, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xC8, 0xCA, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x09, 0x2E, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xFE, 0x18, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, +0x07, 0x08, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, +0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, 0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, /* Africa/Addis_Ababa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, +0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, 0x00, 0x04, 0x00, +0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, 0x41, +0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Algiers */ @@ -24125,86 +23988,80 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Asmara */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, 0x01, 0x4D, 0xFD, -0x4D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, +0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, +0x00, 0x00, 0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, +0x01, 0x4D, 0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, /* Africa/Asmera */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, +0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, +0x00, 0x00, 0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Bamako */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, /* Africa/Bangui */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x7D, 0x14, +0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, -0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x7D, 0x14, 0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, +0x00, /* Africa/Banjul */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x9E, 0x1C, +0xBA, 0xDE, 0x67, 0x9C, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, +0x00, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x67, 0x9C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x00, +0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, +0x00, 0x00, 0x00, 0x00, /* Africa/Bissau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24224,43 +24081,41 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Blantyre */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0x12, 0x2C, 0x30, +0x97, 0x97, 0x73, 0xEA, 0xAC, 0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x16, 0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0x12, 0x2C, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x97, 0x73, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, +0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x16, +0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, +0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, +0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, /* Africa/Brazzaville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x80, 0x2C, +0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, -0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x2C, 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, +0x00, /* Africa/Bujumbura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xBF, 0xF8, 0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 0x00, 0x00, 0x00, 0x00, @@ -24679,86 +24534,76 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Conakry */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9B, 0x5C, +0xBC, 0x92, 0xB8, 0x80, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x9B, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, /* Africa/Dakar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9E, 0xD8, +0xCA, 0x3B, 0x10, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3B, 0x10, 0x90, +0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, +0x00, 0x00, /* Africa/Dar_es_Salaam */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xB6, 0xA3, 0xD3, 0xAC, +0xD6, 0x9D, 0x7F, 0xD0, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, -0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, +0xFF, 0xB6, 0xA3, 0xD3, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, +0x00, /* Africa/Djibouti */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD2, 0x0C, +0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, -0xF8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD2, 0x0C, 0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, +0x00, /* Africa/Douala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x85, 0x68, +0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, -0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0x68, 0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, +0x00, /* Africa/El_Aaiun */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24910,38 +24755,65 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Freetown */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x80, 0x00, 0x00, 0x00, +0x95, 0xB7, 0xBF, 0x6C, 0xBA, 0x3E, 0xE0, 0x90, 0xBA, 0xDE, 0x61, 0x60, 0xBB, 0xA8, 0x1B, 0x90, +0xBC, 0xBF, 0x94, 0xE0, 0xBD, 0x89, 0x4F, 0x10, 0xBE, 0xA0, 0xC8, 0x60, 0xBF, 0x6A, 0x82, 0x90, +0xC0, 0x83, 0x4D, 0x60, 0xC1, 0x4D, 0x07, 0x90, 0xC2, 0x64, 0x80, 0xE0, 0xC3, 0x2E, 0x3B, 0x10, +0xC4, 0x45, 0xB4, 0x60, 0xC5, 0x0F, 0x6E, 0x90, 0xC6, 0x77, 0x53, 0x60, 0xC6, 0xF0, 0xA2, 0x10, +0xC6, 0xF5, 0xE3, 0x60, 0xCB, 0x34, 0x3C, 0x10, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x04, +0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, 0xFF, 0xFF, 0xF6, 0xA0, +0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x12, 0x4C, 0x4D, +0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, 0x2D, 0x30, 0x31, 0x00, +0x2B, 0x30, 0x31, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, +0xFF, 0xFF, 0xFF, 0xFF, 0x5A, 0x7A, 0xA8, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xB7, 0xBF, 0x6C, +0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x3E, 0xE0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x61, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x1B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xBF, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x4F, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xA0, 0xC8, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x82, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x83, 0x4D, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x07, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x64, 0x80, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x3B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x45, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x6E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x77, 0x53, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF5, 0xE3, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x34, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, +0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x04, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, +0xFF, 0xFF, 0xF6, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, +0x01, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, +0x2D, 0x30, 0x31, 0x00, 0x2B, 0x30, 0x31, 0x00, 0x0A, 0x58, 0x58, 0x58, 0x2D, 0x30, 0x3A, 0x34, +0x30, 0x3C, 0x2B, 0x30, 0x31, 0x3E, 0x2D, 0x30, 0x3A, 0x32, 0x30, 0x2C, 0x30, 0x2F, 0x30, 0x2C, +0x4A, 0x33, 0x36, 0x35, 0x2F, 0x32, 0x33, 0x3A, 0x34, 0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, +0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, /* Africa/Gaborone */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x80, 0x00, 0x00, 0x00, +0x82, 0x46, 0xCF, 0x68, 0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x03, 0x02, +0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, +0x00, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x1F, 0x70, 0x34, 0xFF, 0xFF, +0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x03, 0x02, 0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, +0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x43, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, +0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, /* Africa/Harare */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC7, 0x64, +0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x64, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 0x68, 0x00, 0x00, 0x00, 0x00, @@ -25014,22 +24886,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kampala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, -0x42, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xB1, 0xEE, 0xDF, 0x1C, +0xB4, 0xC2, 0x9A, 0xD0, 0xD6, 0x9D, 0x86, 0xD8, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, 0x03, 0x01, +0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, +0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x32, 0x34, +0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, +0xFF, 0xFF, 0xB1, 0xEE, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0x9A, 0xD0, 0xFF, 0xFF, +0xFF, 0xFF, 0xD6, 0x9D, 0x86, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, +0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, +0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, +0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, +0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, /* Africa/Khartoum */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25080,12 +24951,12 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kigali */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xBE, 0xF1, 0x0E, 0x50, +0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF1, 0x0E, 0x50, 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 0x4A, 0x00, 0x00, 0x00, 0x00, @@ -25093,22 +24964,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kinshasa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, -0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, -0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x2C, 0xA8, 0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, +0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, +0x6E, 0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* Africa/Lagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25131,75 +24996,69 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Libreville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x85, 0xA4, +0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, -0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0xA4, 0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, +0x00, /* Africa/Lome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x2B, 0xC6, 0x5C, 0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2, 0x00, 0x00, 0x00, 0x00, /* Africa/Luanda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0x80, 0x70, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, +0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x49, 0x36, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, +0x80, 0x70, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x01, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Africa/Lubumbashi */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xA2, 0x8A, 0x5B, 0xF0, 0x01, 0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, 0x00, -0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, -0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x21, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x8A, 0x5B, 0xF0, +0x01, 0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, +0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, +0x00, 0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, +0x43, 0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, /* Africa/Lusaka */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC9, 0xFC, +0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC9, 0xFC, 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 0xAD, 0x00, 0x00, 0x00, 0x00, @@ -25207,20 +25066,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Malabo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x86, 0x44, +0xF4, 0x9F, 0xBE, 0x80, 0x01, 0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, -0x20, 0x0F, 0x7D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x86, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x9F, 0xBE, 0x80, +0x01, 0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, +0x00, 0x00, 0x00, /* Africa/Maputo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25238,60 +25094,47 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Maseru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, -0x82, 0x46, 0xCF, 0x68, 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, -0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, -0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xCA, 0xB8, +0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, -0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, -0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, 0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCA, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, +0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, +0xC8, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, +0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, +0x00, 0x5C, 0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Mbabane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, -0x82, 0x46, 0xCF, 0x68, 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, -0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, -0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xC7, 0x58, +0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, -0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, -0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, +0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x58, 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, +0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, /* Africa/Mogadishu */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x80, 0x00, 0x00, 0x00, +0xB6, 0xA3, 0xCE, 0x50, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, -0xDA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, +0xFF, 0x70, 0xBC, 0x64, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xCE, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, +0x00, /* Africa/Monrovia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25348,43 +25191,45 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Niamey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x8C, 0x84, +0xBC, 0x92, 0xC6, 0x90, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, +0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, +0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, -0x15, 0xE3, 0x52, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xC6, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, +0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, +0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, +0x52, 0x00, 0x00, 0x00, 0x00, /* Africa/Nouakchott */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9D, 0x74, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x9D, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, /* Africa/Ouagadougou */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x8F, 0xEC, +0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8F, 0xEC, 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 0x0D, 0x00, 0x00, 0x00, 0x00, @@ -25392,20 +25237,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Porto-Novo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x8C, 0x0C, +0xBC, 0x92, 0xB8, 0x80, 0x01, 0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, -0x16, 0xA6, 0xA2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, +0x01, 0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, +0x00, 0x00, 0x00, /* Africa/Sao_Tome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25429,15 +25271,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Timbuktu */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Tripoli */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25897,39 +25742,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Anguilla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x35, 0x20, +0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x35, 0x20, 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, + /* America/Antigua */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x93, 0x37, 0x33, 0xF0, +0xDC, 0x42, 0xDC, 0x50, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xDC, 0x50, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, @@ -26926,22 +26761,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Aruba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2F, 0x38, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2F, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, +0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, /* America/Asuncion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27076,20 +26907,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Atikokan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, -0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, -0x00, 0x21, 0x45, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, -0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, -0x20, 0x48, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0xA1, 0x80, 0x9F, 0xBA, 0xF9, 0x70, 0xC8, 0xF8, 0x57, 0x60, 0xCB, 0x88, 0xFE, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, +0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, +0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xB8, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, +0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, +0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, +0x04, 0x05, 0xFF, 0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, +0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, 0x21, 0x45, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, +0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, 0x48, 0x29, /* America/Atka */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27589,23 +27429,27 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Blanc-Sablon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, -0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, -0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, 0x65, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0x85, 0x60, 0x9F, 0xBA, 0xDD, 0x50, 0xCB, 0x88, 0xE2, 0x60, 0xD2, 0x23, 0xF4, 0x70, +0xD2, 0x60, 0xED, 0xD0, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, +0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, +0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, +0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x39, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, +0x85, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xDD, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, +0xE2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, +0xED, 0xD0, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, 0xFF, 0xFF, +0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, +0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, +0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, +0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, +0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, +0x65, 0x29, /* America/Boa_Vista */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28290,14 +28134,14 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, +0x93, 0x0F, 0xB4, 0xFE, 0x01, 0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, +0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x27, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x0F, 0xB4, 0xFE, +0x01, 0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, 0x00, 0x04, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 0x22, 0x00, 0x00, 0x00, 0x00, @@ -28629,18 +28473,27 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, -0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0xA1, 0x80, 0x9F, 0xBA, 0xF9, 0x70, 0xC8, 0xF8, 0x57, 0x60, 0xCB, 0x88, 0xFE, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, +0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, +0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xB8, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, +0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, +0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, +0x04, 0x05, 0xFF, 0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, +0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Cordoba */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28739,27 +28592,19 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Creston */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0x9E, 0xA6, 0x3A, 0x90, 0x9F, 0xBB, 0x07, 0x80, 0xA0, 0x86, 0x1C, 0x90, 0xA1, 0x9A, 0xE9, 0x80, -0xCB, 0x89, 0x0C, 0x90, 0xCF, 0x17, 0xDF, 0x1C, 0xCF, 0x8F, 0xE5, 0xAC, 0xD0, 0x81, 0x1A, 0x1C, -0xFA, 0xF8, 0x75, 0x10, 0xFB, 0xE8, 0x58, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, -0x02, 0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, -0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x9B, 0xD6, 0x4B, 0x70, 0x9E, 0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, +0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, +0x90, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x04, 0x0C, 0xB0, 0xFF, -0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x3A, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBB, 0x07, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x1C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xE9, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0xDF, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x8F, 0xE5, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x81, 0x1A, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x75, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x58, 0x00, 0x02, -0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, -0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, -0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, -0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, -0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, +0x3D, 0x70, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x4B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, +0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, +0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, /* America/Cuiaba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28855,22 +28700,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Curacao */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, +0x5F, 0x60, 0x00, 0x00, 0x00, 0x00, /* America/Danmarkshavn */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -29092,7 +28933,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xE4, 0x86, 0x9A, 0x00, 0x5B, +0x00, 0x00, 0x01, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xDE, 0x6C, 0x1A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x43, 0x72, 0x2C, 0x20, 0x46, 0x74, 0x20, 0x53, 0x74, 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x29, @@ -29400,22 +29241,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Dominica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x4C, +0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x4C, 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, + /* America/Edmonton */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30671,41 +30506,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Grenada */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x64, +0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x64, 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, + /* America/Guadeloupe */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xD5, 0xE1, 0xB0, +0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xD5, 0xE1, 0xB0, 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, + /* America/Guatemala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33205,22 +33028,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Kralendijk */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, +0x79, 0xED, 0x00, 0x00, 0x00, 0x00, /* America/La_Paz */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33629,22 +33448,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Lower_Princes */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, +0x74, 0xAD, 0x00, 0x00, 0x00, 0x00, /* America/Maceio */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33771,22 +33586,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Marigot */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, + /* America/Martinique */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -35236,249 +35045,174 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Montserrat */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x35, 0x10, +0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x35, 0x10, 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, + /* America/Nassau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, -0x9E, 0xB8, 0x93, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x87, 0x2E, 0xC8, 0xA1, 0x9A, 0xB1, 0x40, -0xA2, 0x94, 0x06, 0xF0, 0xA3, 0x55, 0xA9, 0x40, 0xA4, 0x86, 0x5D, 0xF0, 0xA5, 0x28, 0x78, 0x60, -0xA6, 0x66, 0x3F, 0xF0, 0xA7, 0x0C, 0x4E, 0xE0, 0xA8, 0x46, 0x21, 0xF0, 0xA8, 0xEC, 0x30, 0xE0, -0xAA, 0x1C, 0xC9, 0x70, 0xAA, 0xD5, 0x4D, 0x60, 0xAB, 0xFC, 0xAB, 0x70, 0xAC, 0xB5, 0x2F, 0x60, -0xAD, 0xDC, 0x8D, 0x70, 0xAE, 0x95, 0x11, 0x60, 0xAF, 0xBC, 0x6F, 0x70, 0xB0, 0x7E, 0x2D, 0xE0, -0xB1, 0x9C, 0x51, 0x70, 0xB2, 0x67, 0x4A, 0x60, 0xB3, 0x7C, 0x33, 0x70, 0xB4, 0x47, 0x2C, 0x60, -0xB5, 0x5C, 0x15, 0x70, 0xB6, 0x27, 0x0E, 0x60, 0xB7, 0x3B, 0xF7, 0x70, 0xB8, 0x06, 0xF0, 0x60, -0xB9, 0x25, 0x13, 0xF0, 0xB9, 0xE6, 0xD2, 0x60, 0xBB, 0x04, 0xF5, 0xF0, 0xBB, 0xCF, 0xEE, 0xE0, -0xBC, 0xE4, 0xD7, 0xF0, 0xBD, 0xAF, 0xD0, 0xE0, 0xBE, 0xC4, 0xB9, 0xF0, 0xBF, 0x8F, 0xB2, 0xE0, -0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, -0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, -0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, -0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, -0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, -0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, -0xE6, 0x47, 0x2D, 0xF0, 0xE7, 0x12, 0x26, 0xE0, 0xE8, 0x27, 0x0F, 0xF0, 0xE9, 0x16, 0xF2, 0xE0, -0xEA, 0x06, 0xF1, 0xF0, 0xEA, 0xF6, 0xD4, 0xE0, 0xEB, 0xE6, 0xD3, 0xF0, 0xEC, 0xD6, 0xB6, 0xE0, -0xED, 0xC6, 0xB5, 0xF0, 0xEE, 0xBF, 0xD3, 0x60, 0xEF, 0xAF, 0xD2, 0x70, 0xF0, 0x9F, 0xB5, 0x60, -0xF1, 0x8F, 0xB4, 0x70, 0xF2, 0x7F, 0x97, 0x60, 0xF3, 0x6F, 0x96, 0x70, 0xF4, 0x5F, 0x79, 0x60, -0xF5, 0x4F, 0x78, 0x70, 0xF6, 0x3F, 0x5B, 0x60, 0xF7, 0x2F, 0x5A, 0x70, 0xF8, 0x28, 0x77, 0xE0, -0xF9, 0x0F, 0x3C, 0x70, 0xFA, 0x08, 0x59, 0xE0, 0xFA, 0xF8, 0x58, 0xF0, 0xFB, 0xE8, 0x3B, 0xE0, -0xFC, 0xD8, 0x3A, 0xF0, 0xFD, 0xC8, 0x1D, 0xE0, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x97, 0xFE, 0xF0, 0x01, 0x87, 0xE1, 0xE0, 0x02, 0x77, 0xE0, 0xF0, 0x03, 0x70, 0xFE, 0x60, -0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, 0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, -0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, 0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, -0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, 0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, -0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, 0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, -0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, -0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, -0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, -0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, -0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, -0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, -0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, -0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, -0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, -0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, -0x38, 0xE6, 0xEF, 0xF0, 0x39, 0xFB, 0xBC, 0xE0, 0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, -0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, -0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, -0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, -0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, -0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, -0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, -0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, -0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, -0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, -0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, -0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, -0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, -0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, -0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, -0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, -0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, -0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, -0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x94, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, -0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x78, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x87, 0x2E, -0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xB1, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x94, 0x06, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x55, 0xA9, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x86, 0x5D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x28, 0x78, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x66, 0x3F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x0C, 0x4E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x46, 0x21, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEC, 0x30, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x1C, 0xC9, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x4D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFC, 0xAB, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xB5, 0x2F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xDC, 0x8D, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x95, 0x11, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xBC, 0x6F, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x25, 0x13, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xCF, 0xEE, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x29, 0x0A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x12, 0x26, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, -0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, -0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, -0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, -0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, -0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, -0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, -0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, -0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, -0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, -0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, -0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, -0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, -0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, -0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, -0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, -0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, -0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, -0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, -0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, -0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, -0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, -0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, -0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, -0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, -0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x93, 0x37, 0x42, 0x8A, +0xCB, 0xF4, 0xEF, 0x50, 0xD0, 0xFA, 0x47, 0xC0, 0xD1, 0x23, 0x34, 0x50, 0xD2, 0x23, 0xF4, 0x70, +0xD2, 0x78, 0x9A, 0xC0, 0xF5, 0x4F, 0x78, 0x70, 0xF6, 0x3F, 0x5B, 0x60, 0xF7, 0x2F, 0x5A, 0x70, +0xF8, 0x28, 0x77, 0xE0, 0xF9, 0x0F, 0x3C, 0x70, 0xFA, 0x08, 0x59, 0xE0, 0xFA, 0xF8, 0x58, 0xF0, +0xFB, 0xE8, 0x3B, 0xE0, 0xFC, 0xD8, 0x3A, 0xF0, 0xFD, 0xC8, 0x1D, 0xE0, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x97, 0xFE, 0xF0, 0x01, 0x87, 0xE1, 0xE0, 0x02, 0x77, 0xE0, 0xF0, +0x03, 0x70, 0xFE, 0x60, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, 0x06, 0x40, 0xDF, 0x70, +0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, 0x0A, 0x00, 0xA3, 0x70, +0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, 0x0D, 0xC0, 0x67, 0x70, +0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, 0x11, 0x89, 0x65, 0xF0, +0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, +0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, +0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, +0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, +0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, +0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, +0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, +0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, +0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, +0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, +0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xEF, 0xF0, 0x39, 0xFB, 0xBC, 0xE0, 0x3A, 0xC6, 0xD1, 0xF0, +0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, +0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, +0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, +0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, +0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, +0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, +0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, +0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, +0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, +0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, +0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, +0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, +0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, +0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, +0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, +0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, +0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, +0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, +0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, +0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x42, 0x8A, 0xFF, 0xFF, +0xFF, 0xFF, 0xCB, 0xF4, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xFA, 0x47, 0xC0, 0xFF, 0xFF, +0xFF, 0xFF, 0xD1, 0x23, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xD2, 0x78, 0x9A, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, +0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, +0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, +0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, +0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, +0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, +0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, +0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, +0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, +0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, +0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, +0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, +0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, +0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, +0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, +0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, +0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, +0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, +0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, +0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, +0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, +0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, +0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0xFF, 0xFF, 0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, +0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, +0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, +0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, +0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, 0x00, + /* America/New_York */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x1E, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x86, 0x00, 0x70, 0xA1, 0x9A, 0xCD, 0x60, 0xA2, 0x65, 0xE2, 0x70, 0xA3, 0x83, 0xE9, 0xE0, 0xA4, 0x6A, 0xAE, 0x70, 0xA5, 0x35, 0xA7, 0x60, 0xA6, 0x53, 0xCA, 0xF0, 0xA7, 0x15, 0x89, 0x60, 0xA8, 0x33, 0xAC, 0xF0, 0xA8, 0xFE, 0xA5, 0xE0, @@ -35537,10 +35271,10 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, -0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, +0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, @@ -35553,149 +35287,150 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, -0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, -0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, -0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, -0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, -0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, -0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, -0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, -0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, -0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, -0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, -0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, -0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, -0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, +0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, +0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, +0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, +0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, +0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, +0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, +0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, +0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, +0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, +0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, +0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, @@ -37013,22 +36748,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Port_of_Spain */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, + /* America/Porto_Acre */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37135,125 +36864,126 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Punta_Arenas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x8F, 0x30, 0x47, 0x45, 0x9B, 0x5C, 0xE5, 0x50, 0x9F, 0x7C, 0xE2, 0xC5, 0xA1, 0x00, 0x71, 0xC0, 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, -0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, -0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, -0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, 0x07, 0xDF, 0xEF, 0xB0, 0x08, 0xFE, 0x13, 0x40, -0x09, 0xBF, 0xD1, 0xB0, 0x0A, 0xDD, 0xF5, 0x40, 0x0B, 0xA8, 0xEE, 0x30, 0x0C, 0xBD, 0xD7, 0x40, -0x0D, 0x88, 0xD0, 0x30, 0x0E, 0x9D, 0xB9, 0x40, 0x0F, 0x68, 0xB2, 0x30, 0x10, 0x86, 0xD5, 0xC0, -0x11, 0x48, 0x94, 0x30, 0x12, 0x66, 0xB7, 0xC0, 0x13, 0x28, 0x76, 0x30, 0x14, 0x46, 0x99, 0xC0, -0x15, 0x11, 0x92, 0xB0, 0x16, 0x26, 0x7B, 0xC0, 0x16, 0xF1, 0x74, 0xB0, 0x18, 0x06, 0x5D, 0xC0, -0x18, 0xD1, 0x56, 0xB0, 0x19, 0xE6, 0x3F, 0xC0, 0x1A, 0xB1, 0x38, 0xB0, 0x1B, 0xCF, 0x5C, 0x40, -0x1C, 0x91, 0x1A, 0xB0, 0x1D, 0xAF, 0x3E, 0x40, 0x1E, 0x70, 0xFC, 0xB0, 0x1F, 0x8F, 0x20, 0x40, -0x20, 0x7F, 0x03, 0x30, 0x21, 0x6F, 0x02, 0x40, 0x22, 0x39, 0xFB, 0x30, 0x23, 0x4E, 0xE4, 0x40, -0x24, 0x19, 0xDD, 0x30, 0x25, 0x38, 0x00, 0xC0, 0x25, 0xF9, 0xBF, 0x30, 0x26, 0xF2, 0xF8, 0xC0, -0x27, 0xD9, 0xA1, 0x30, 0x28, 0xF7, 0xC4, 0xC0, 0x29, 0xC2, 0xBD, 0xB0, 0x2A, 0xD7, 0xA6, 0xC0, -0x2B, 0xA2, 0x9F, 0xB0, 0x2C, 0xB7, 0x88, 0xC0, 0x2D, 0x82, 0x81, 0xB0, 0x2E, 0x97, 0x6A, 0xC0, -0x2F, 0x62, 0x63, 0xB0, 0x30, 0x80, 0x87, 0x40, 0x31, 0x42, 0x45, 0xB0, 0x32, 0x60, 0x69, 0x40, -0x33, 0x3D, 0xD7, 0x30, 0x34, 0x40, 0x4B, 0x40, 0x35, 0x0B, 0x44, 0x30, 0x36, 0x0D, 0xB8, 0x40, -0x37, 0x06, 0xD5, 0xB0, 0x38, 0x00, 0x0F, 0x40, 0x38, 0xCB, 0x08, 0x30, 0x39, 0xE9, 0x2B, 0xC0, -0x3A, 0xAA, 0xEA, 0x30, 0x3B, 0xC9, 0x0D, 0xC0, 0x3C, 0x8A, 0xCC, 0x30, 0x3D, 0xA8, 0xEF, 0xC0, -0x3E, 0x6A, 0xAE, 0x30, 0x3F, 0x88, 0xD1, 0xC0, 0x40, 0x53, 0xCA, 0xB0, 0x41, 0x68, 0xB3, 0xC0, -0x42, 0x33, 0xAC, 0xB0, 0x43, 0x48, 0x95, 0xC0, 0x44, 0x13, 0x8E, 0xB0, 0x45, 0x31, 0xB2, 0x40, -0x45, 0xF3, 0x70, 0xB0, 0x47, 0x11, 0x94, 0x40, 0x47, 0xEF, 0x02, 0x30, 0x48, 0xF1, 0x76, 0x40, -0x49, 0xBC, 0x6F, 0x30, 0x4A, 0xD1, 0x58, 0x40, 0x4B, 0xB8, 0x00, 0xB0, 0x4C, 0xB1, 0x3A, 0x40, -0x4D, 0xC6, 0x07, 0x30, 0x4E, 0x50, 0x82, 0xC0, 0x4F, 0x9C, 0xAE, 0xB0, 0x50, 0x42, 0xD9, 0xC0, -0x51, 0x7C, 0x90, 0xB0, 0x52, 0x2B, 0xF6, 0x40, 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, -0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x58, 0x43, 0x86, 0xB0, 0x7F, 0xFF, 0xFF, 0xFF, -0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, -0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, -0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, -0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xFC, 0xFF, 0xFF, 0xFF, -0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x77, 0x3D, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xB2, 0x41, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x70, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB4, 0x22, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x39, 0xA4, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xB6, 0x03, 0x67, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, -0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, -0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, -0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x11, 0x48, 0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x13, 0x28, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, -0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, -0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, -0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, -0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, -0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, -0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, -0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, -0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, -0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, -0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, -0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, -0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, -0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x58, 0x43, 0x86, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, -0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0xCC, 0x6C, 0xE7, 0xD0, 0xD4, 0x17, 0xE3, 0x40, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, +0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, +0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, +0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, 0x07, 0xDF, 0xEF, 0xB0, +0x08, 0xFE, 0x13, 0x40, 0x09, 0xBF, 0xD1, 0xB0, 0x0A, 0xDD, 0xF5, 0x40, 0x0B, 0xA8, 0xEE, 0x30, +0x0C, 0xBD, 0xD7, 0x40, 0x0D, 0x88, 0xD0, 0x30, 0x0E, 0x9D, 0xB9, 0x40, 0x0F, 0x68, 0xB2, 0x30, +0x10, 0x86, 0xD5, 0xC0, 0x11, 0x48, 0x94, 0x30, 0x12, 0x66, 0xB7, 0xC0, 0x13, 0x28, 0x76, 0x30, +0x14, 0x46, 0x99, 0xC0, 0x15, 0x11, 0x92, 0xB0, 0x16, 0x26, 0x7B, 0xC0, 0x16, 0xF1, 0x74, 0xB0, +0x18, 0x06, 0x5D, 0xC0, 0x18, 0xD1, 0x56, 0xB0, 0x19, 0xE6, 0x3F, 0xC0, 0x1A, 0xB1, 0x38, 0xB0, +0x1B, 0xCF, 0x5C, 0x40, 0x1C, 0x91, 0x1A, 0xB0, 0x1D, 0xAF, 0x3E, 0x40, 0x1E, 0x70, 0xFC, 0xB0, +0x1F, 0x8F, 0x20, 0x40, 0x20, 0x7F, 0x03, 0x30, 0x21, 0x6F, 0x02, 0x40, 0x22, 0x39, 0xFB, 0x30, +0x23, 0x4E, 0xE4, 0x40, 0x24, 0x19, 0xDD, 0x30, 0x25, 0x38, 0x00, 0xC0, 0x25, 0xF9, 0xBF, 0x30, +0x26, 0xF2, 0xF8, 0xC0, 0x27, 0xD9, 0xA1, 0x30, 0x28, 0xF7, 0xC4, 0xC0, 0x29, 0xC2, 0xBD, 0xB0, +0x2A, 0xD7, 0xA6, 0xC0, 0x2B, 0xA2, 0x9F, 0xB0, 0x2C, 0xB7, 0x88, 0xC0, 0x2D, 0x82, 0x81, 0xB0, +0x2E, 0x97, 0x6A, 0xC0, 0x2F, 0x62, 0x63, 0xB0, 0x30, 0x80, 0x87, 0x40, 0x31, 0x42, 0x45, 0xB0, +0x32, 0x60, 0x69, 0x40, 0x33, 0x3D, 0xD7, 0x30, 0x34, 0x40, 0x4B, 0x40, 0x35, 0x0B, 0x44, 0x30, +0x36, 0x0D, 0xB8, 0x40, 0x37, 0x06, 0xD5, 0xB0, 0x38, 0x00, 0x0F, 0x40, 0x38, 0xCB, 0x08, 0x30, +0x39, 0xE9, 0x2B, 0xC0, 0x3A, 0xAA, 0xEA, 0x30, 0x3B, 0xC9, 0x0D, 0xC0, 0x3C, 0x8A, 0xCC, 0x30, +0x3D, 0xA8, 0xEF, 0xC0, 0x3E, 0x6A, 0xAE, 0x30, 0x3F, 0x88, 0xD1, 0xC0, 0x40, 0x53, 0xCA, 0xB0, +0x41, 0x68, 0xB3, 0xC0, 0x42, 0x33, 0xAC, 0xB0, 0x43, 0x48, 0x95, 0xC0, 0x44, 0x13, 0x8E, 0xB0, +0x45, 0x31, 0xB2, 0x40, 0x45, 0xF3, 0x70, 0xB0, 0x47, 0x11, 0x94, 0x40, 0x47, 0xEF, 0x02, 0x30, +0x48, 0xF1, 0x76, 0x40, 0x49, 0xBC, 0x6F, 0x30, 0x4A, 0xD1, 0x58, 0x40, 0x4B, 0xB8, 0x00, 0xB0, +0x4C, 0xB1, 0x3A, 0x40, 0x4D, 0xC6, 0x07, 0x30, 0x4E, 0x50, 0x82, 0xC0, 0x4F, 0x9C, 0xAE, 0xB0, +0x50, 0x42, 0xD9, 0xC0, 0x51, 0x7C, 0x90, 0xB0, 0x52, 0x2B, 0xF6, 0x40, 0x53, 0x5C, 0x72, 0xB0, +0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x58, 0x43, 0x86, 0xB0, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, +0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, +0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, +0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x76, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, +0x1D, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, +0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, +0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x77, +0x3D, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x41, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, +0x70, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x39, +0xA4, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x67, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, +0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, +0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, +0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, +0xE3, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, +0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, +0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, +0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, +0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, +0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDF, +0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0xBF, +0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA8, +0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x88, +0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x68, +0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x48, +0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x28, +0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x11, +0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF1, +0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xD1, +0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xB1, +0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x91, +0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x70, +0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7F, +0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x39, +0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x19, +0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, +0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xD9, +0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, +0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xA2, +0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x82, +0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x62, +0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x42, +0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, +0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0B, +0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x37, 0x06, +0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xCB, +0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xAA, +0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x8A, +0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x6A, +0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x53, +0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x33, +0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x13, +0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, +0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEF, +0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBC, +0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB8, +0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xC6, +0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x9C, +0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x7C, +0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x53, 0x5C, +0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, +0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x43, +0x86, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, -0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, -0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, -0x3A, 0x88, 0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, -0x20, 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x07, +0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, +0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, +0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, +0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, +0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, /* America/Rainy_River */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -38068,7 +37798,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x1B, 0xC9, 0xB0, 0xD5, 0x33, 0x55, 0xC0, +0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x17, 0xD5, 0x30, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, @@ -38095,7 +37825,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -38104,7 +37834,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x76, 0xFA, 0x38, 0xB0, 0x77, 0xC5, 0x4D, 0xC0, 0x78, 0xDA, 0x1A, 0xB0, 0x79, 0xA5, 0x2F, 0xC0, 0x7A, 0xC3, 0x37, 0x30, 0x7B, 0x85, 0x11, 0xC0, 0x7C, 0xA3, 0x19, 0x30, 0x7D, 0x6E, 0x2E, 0x40, 0x7E, 0x82, 0xFB, 0x30, 0x7F, 0x4E, 0x10, 0x40, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -38131,7 +37861,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, +0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, @@ -38186,7 +37916,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, @@ -38202,7 +37932,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x7B, 0x85, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA3, 0x19, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x6E, 0x2E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x4E, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -38784,22 +38514,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/St_Barthelemy */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, + /* America/St_Johns */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39037,77 +38761,57 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/St_Kitts */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x34, 0xCC, +0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x34, 0xCC, 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, + /* America/St_Lucia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0xC7, 0xB0, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xB0, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, /* America/St_Thomas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, +0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, + /* America/St_Vincent */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0xC7, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xE8, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, 0x00, @@ -39787,22 +39491,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Tortola */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x14, +0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x14, 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, + /* America/Vancouver */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39992,22 +39690,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Virgin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, +0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* America/Whitehorse */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40627,18 +40319,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/DumontDUrville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD4, 0xBC, 0x76, 0x80, +0xDE, 0x34, 0x60, 0x60, 0xE7, 0x3C, 0x02, 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, +0x2B, 0x31, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, -0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x5A, 0x08, 0xFF, 0xFF, -0xFF, 0xFF, 0x72, 0xED, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, -0x02, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x8C, -0xA0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, -0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, -0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0xBC, 0x76, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x34, 0x60, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3C, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, +0x2D, 0x30, 0x30, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, +0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, +0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, /* Antarctica/Macquarie */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40804,15 +40496,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/McMurdo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, -0xB0, 0xB4, 0xB2, 0xE8, 0xB1, 0x51, 0x87, 0x58, 0xB2, 0x78, 0xE5, 0x68, 0xB3, 0x43, 0xE5, 0x60, -0xB4, 0x58, 0xC7, 0x68, 0xB5, 0x23, 0xC7, 0x60, 0xB6, 0x38, 0xA9, 0x68, 0xB7, 0x03, 0xA9, 0x60, -0xB8, 0x18, 0x8B, 0x68, 0xB8, 0xEC, 0xC5, 0xE0, 0xB9, 0xF8, 0x6D, 0x68, 0xBA, 0xCC, 0xA7, 0xE0, -0xBB, 0xD8, 0x4F, 0x68, 0xBC, 0xE3, 0xE8, 0xE0, 0xBD, 0xAE, 0xF6, 0xE8, 0xBE, 0xC3, 0xCA, 0xE0, -0xBF, 0x8E, 0xD8, 0xE8, 0xC0, 0xA3, 0xAC, 0xE0, 0xC1, 0x6E, 0xBA, 0xE8, 0xC2, 0x83, 0x8E, 0xE0, -0xC3, 0x4E, 0x9C, 0xE8, 0xC4, 0x63, 0x70, 0xE0, 0xC5, 0x2E, 0x7E, 0xE8, 0xC6, 0x4C, 0x8D, 0x60, -0xC7, 0x0E, 0x60, 0xE8, 0xC8, 0x2C, 0x6F, 0x60, 0xC8, 0xF7, 0x7D, 0x68, 0xD2, 0xDA, 0x9A, 0x40, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xE5, 0xA9, 0xE9, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0, 0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0, 0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0, @@ -40844,121 +40529,100 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x40, 0x92, 0x60, 0x73, 0x39, 0xBD, 0xE0, 0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0, 0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0, 0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, -0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, -0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, -0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, -0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x12, 0x78, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, -0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x23, 0x69, 0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, 0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, 0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, 0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, -0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, -0x00, 0x00, 0x00, 0x00, 0x32, 0x56, 0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x34, 0x36, 0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x36, 0x16, 0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, 0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, 0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, 0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, -0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, 0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x50, 0x66, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x52, 0x46, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0x26, 0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, 0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, 0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, 0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, 0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, 0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, -0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, -0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, 0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, 0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, 0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, 0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, 0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, -0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, -0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, -0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x44, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, -0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, -0x26, 0x4E, 0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, -0x65, 0x20, 0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, -0x74, 0x68, 0x20, 0x50, 0x6F, 0x6C, 0x65, +0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, +0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, +0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, +0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, +0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, +0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x78, +0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, +0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, +0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, +0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, +0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, +0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, +0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, +0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, +0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x69, +0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, +0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, +0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, +0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, +0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, +0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, +0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, +0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, 0x00, 0x00, 0x00, 0x00, 0x32, 0x56, +0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x34, 0x36, +0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x36, 0x16, +0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, +0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, +0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, +0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, +0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, +0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, +0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, +0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, +0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, +0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, +0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, +0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, +0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, +0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x52, 0x46, +0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0x26, +0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, +0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, +0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, +0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, +0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, +0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, +0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, +0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, +0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, +0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, +0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, +0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, +0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, +0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, +0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, +0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, +0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, +0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, +0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, +0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, +0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, +0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, +0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, +0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, +0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, +0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, +0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, +0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, +0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x50, 0x6F, 0x6C, 0x65, /* Antarctica/Palmer */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -41068,15 +40732,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/South_Pole */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, -0xB0, 0xB4, 0xB2, 0xE8, 0xB1, 0x51, 0x87, 0x58, 0xB2, 0x78, 0xE5, 0x68, 0xB3, 0x43, 0xE5, 0x60, -0xB4, 0x58, 0xC7, 0x68, 0xB5, 0x23, 0xC7, 0x60, 0xB6, 0x38, 0xA9, 0x68, 0xB7, 0x03, 0xA9, 0x60, -0xB8, 0x18, 0x8B, 0x68, 0xB8, 0xEC, 0xC5, 0xE0, 0xB9, 0xF8, 0x6D, 0x68, 0xBA, 0xCC, 0xA7, 0xE0, -0xBB, 0xD8, 0x4F, 0x68, 0xBC, 0xE3, 0xE8, 0xE0, 0xBD, 0xAE, 0xF6, 0xE8, 0xBE, 0xC3, 0xCA, 0xE0, -0xBF, 0x8E, 0xD8, 0xE8, 0xC0, 0xA3, 0xAC, 0xE0, 0xC1, 0x6E, 0xBA, 0xE8, 0xC2, 0x83, 0x8E, 0xE0, -0xC3, 0x4E, 0x9C, 0xE8, 0xC4, 0x63, 0x70, 0xE0, 0xC5, 0x2E, 0x7E, 0xE8, 0xC6, 0x4C, 0x8D, 0x60, -0xC7, 0x0E, 0x60, 0xE8, 0xC8, 0x2C, 0x6F, 0x60, 0xC8, 0xF7, 0x7D, 0x68, 0xD2, 0xDA, 0x9A, 0x40, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xE5, 0xA9, 0xE9, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0, 0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0, 0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0, @@ -41108,131 +40765,110 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x40, 0x92, 0x60, 0x73, 0x39, 0xBD, 0xE0, 0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0, 0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0, 0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, -0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, -0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, -0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, -0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x12, 0x78, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, -0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x23, 0x69, 0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, 0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, 0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, 0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, -0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, -0x00, 0x00, 0x00, 0x00, 0x32, 0x56, 0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x34, 0x36, 0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x36, 0x16, 0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, 0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, 0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, 0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, -0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, 0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x50, 0x66, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x52, 0x46, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0x26, 0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, 0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, 0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, 0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, 0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, 0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, -0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, -0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, 0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, 0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, 0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, 0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, 0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, -0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, -0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, -0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x44, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, -0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, +0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, +0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, +0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, +0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, +0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, +0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x78, +0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, +0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, +0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, +0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, +0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, +0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, +0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, +0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, +0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x69, +0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, +0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, +0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, +0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, +0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, +0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, +0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, +0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, 0x00, 0x00, 0x00, 0x00, 0x32, 0x56, +0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x34, 0x36, +0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x36, 0x16, +0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, +0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, +0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, +0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, +0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, +0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, +0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, +0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, +0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, +0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, +0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, +0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, +0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, +0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x52, 0x46, +0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0x26, +0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, +0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, +0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, +0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, +0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, +0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, +0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, +0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, +0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, +0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, +0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, +0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, +0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, +0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, +0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, +0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, +0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, +0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, +0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, +0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, +0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, +0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, +0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, +0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, +0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, +0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, /* Antarctica/Syowa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xE7, 0xB1, 0x58, 0x00, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, -0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xB1, 0x58, 0x00, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 0x11, 0x58, 0x00, 0x00, 0x00, 0x05, 0x53, 0x79, 0x6F, 0x77, 0x61, @@ -41472,13 +41108,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Aden */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x38, 0x56, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x38, 0x56, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x9C, 0xC8, 0xB8, 0x01, 0x57, 0xA0, 0xC0, 0x00, 0x00, 0x00, 0x00, @@ -42100,18 +41736,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Bahrain */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xA1, 0xF2, 0x9D, 0x30, -0x04, 0x8A, 0x92, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x30, 0x50, 0x00, -0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xCA, 0x7B, 0x6C, 0x94, +0xCF, 0x17, 0x59, 0x48, 0x04, 0x8A, 0x92, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x03, +0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, +0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x9D, 0x30, 0x00, 0x00, 0x00, -0x00, 0x04, 0x8A, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, 0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, -0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x7B, 0x6C, 0x94, 0xFF, 0xFF, +0xFF, 0xFF, 0xCF, 0x17, 0x59, 0x48, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x03, 0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, +0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Asia/Baku */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -43527,23 +43165,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x80, +0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, 0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, +0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, -0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x64, -0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, +0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x63, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, @@ -43551,8 +43189,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Hong_Kong */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x48, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, 0xCA, 0x4D, 0x31, 0x30, 0xCA, 0xDB, 0x93, 0x30, 0xCB, 0x4B, 0x71, 0x78, 0xD2, 0xA0, 0xDE, 0x90, 0xD3, 0x6B, 0xD7, 0x80, 0xD4, 0x93, 0x58, 0xB8, 0xD5, 0x42, 0xB0, 0x38, 0xD6, 0x73, 0x3A, 0xB8, 0xD7, 0x3E, 0x41, 0xB8, 0xD8, 0x2E, 0x32, 0xB8, 0xD8, 0xF9, 0x39, 0xB8, 0xDA, 0x0E, 0x14, 0xB8, @@ -43570,62 +43208,64 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x4D, 0xE6, 0xB8, 0x05, 0x47, 0x04, 0x28, 0x06, 0x37, 0x03, 0x38, 0x07, 0x26, 0xE6, 0x28, 0x07, 0x83, 0x3D, 0x38, 0x09, 0x06, 0xC8, 0x28, 0x09, 0xF6, 0xC7, 0x38, 0x0A, 0xE6, 0xAA, 0x28, 0x0B, 0xD6, 0xA9, 0x38, 0x0C, 0xC6, 0x8C, 0x28, 0x11, 0x9B, 0x39, 0x38, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, -0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, -0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, -0x00, 0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, -0x00, 0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x48, 0x4B, 0x54, -0x2D, 0x38, 0x0A, 0x00, 0xAB, 0x54, 0xAD, 0x01, 0xC0, 0xD6, 0x57, 0x00, 0x00, 0x00, 0x00, +0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, +0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, +0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, 0x00, +0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, 0x00, +0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, 0x00, +0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, 0x00, +0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, 0x01, +0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, +0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, +0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, +0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, +0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x48, 0x4B, 0x54, 0x2D, 0x38, +0x0A, 0x00, 0xAB, 0x54, 0xAD, 0x01, 0xC0, 0xD6, 0x57, 0x00, 0x00, 0x00, 0x00, /* Asia/Hovd */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -43899,7 +43539,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Jakarta */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0xA9, 0x78, 0x85, 0xE0, 0xBA, 0x16, 0xDE, 0x60, 0xCB, 0xBF, 0x83, 0x88, 0xD2, 0x56, 0xEE, 0x70, 0xD7, 0x3C, 0xC6, 0x08, 0xDA, 0xFF, 0x26, 0x00, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, @@ -43907,21 +43547,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x67, 0x20, 0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, 0x00, 0x00, 0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x54, 0x5A, -0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x66, -0x49, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x78, 0x85, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x16, -0xDE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBF, 0x83, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x56, -0xEE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3C, 0xC6, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, -0x26, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, -0x03, 0x06, 0x00, 0x00, 0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x64, 0x20, 0x00, 0x04, 0x00, 0x00, -0x67, 0x20, 0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, -0x00, 0x00, 0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, -0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x0A, 0x57, 0x49, 0x42, -0x2D, 0x37, 0x0A, 0x00, 0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x4A, -0x61, 0x76, 0x61, 0x2C, 0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, +0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x66, 0x49, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x78, 0x85, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x16, 0xDE, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBF, 0x83, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x56, 0xEE, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3C, 0xC6, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, 0x26, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x06, +0x00, 0x00, 0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x64, 0x20, 0x00, 0x04, 0x00, 0x00, 0x67, 0x20, +0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, 0x00, 0x00, +0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, +0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, +0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x49, 0x42, 0x2D, 0x37, 0x0A, 0x00, +0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x4A, 0x61, 0x76, 0x61, 0x2C, +0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, /* Asia/Jayapura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44515,13 +44157,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Kuwait */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x35, 0x84, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x35, 0x84, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB6, 0x16, 0x95, 0x01, 0x5B, 0xDF, 0xFD, 0x00, 0x00, 0x00, 0x00, @@ -44818,13 +44460,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Muscat */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4F, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xA1, 0xF2, 0x99, 0xA8, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xA1, 0xF2, 0x96, 0x90, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x99, 0xA8, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x96, 0x90, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x34, 0x3E, 0x2D, 0x34, 0x0A, 0x00, 0xAD, 0x57, 0x00, 0x01, 0x6C, 0x0C, 0x9D, 0x00, 0x00, 0x00, 0x00, @@ -45267,16 +44909,22 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Phnom_Penh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0xA2, 0x6A, 0x67, 0xC4, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x45, 0x24, +0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x02, 0x00, 0x00, 0x62, 0x5C, 0x00, 0x00, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, +0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, +0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, +0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, 0x3C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x45, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, +0x02, 0x03, 0x04, 0x02, 0x02, 0x00, 0x00, 0x62, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, +0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, +0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, +0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x9A, 0xF3, 0xF8, 0x01, 0xB2, 0xBF, 0x92, 0x00, 0x00, 0x00, 0x00, @@ -45515,23 +45163,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Saigon */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x80, +0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, 0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, +0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, -0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x64, -0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, +0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x63, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, @@ -46009,167 +45657,84 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Tehran */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, -0xD2, 0xDB, 0x12, 0xC8, 0x0E, 0xBB, 0xA2, 0x48, 0x0F, 0x74, 0x2D, 0x40, 0x10, 0x8E, 0x40, 0x30, -0x10, 0xED, 0x3A, 0x40, 0x11, 0x55, 0x67, 0xC8, 0x12, 0x45, 0x4A, 0xB8, 0x13, 0x37, 0xEC, 0xC8, -0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, 0x29, 0xCB, 0x9C, 0xC8, -0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, 0x2D, 0x8E, 0x03, 0xC8, -0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, 0x31, 0x50, 0x6A, 0xC8, -0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, 0x35, 0x14, 0x23, 0x48, -0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, 0x38, 0xD6, 0x8A, 0x48, -0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, 0x3C, 0x9A, 0x42, 0xC8, -0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, 0x40, 0x5C, 0xA9, 0xC8, -0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, 0x47, 0xE2, 0xC9, 0x48, -0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, 0x4B, 0xA6, 0x81, 0xC8, -0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, 0x4F, 0x68, 0xE8, 0xC8, -0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, 0x53, 0x2C, 0xA1, 0x48, -0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, 0x56, 0xEF, 0x08, 0x48, -0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, 0x5A, 0xB2, 0xC0, 0xC8, -0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, 0x5E, 0x75, 0x27, 0xC8, -0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, 0x62, 0x38, 0xE0, 0x48, -0x63, 0x2B, 0x66, 0x38, 0x64, 0x1A, 0x13, 0xC8, 0x65, 0x0C, 0x99, 0xB8, 0x65, 0xFB, 0x47, 0x48, -0x66, 0xED, 0xCD, 0x38, 0x67, 0xDD, 0xCC, 0x48, 0x68, 0xD0, 0x52, 0x38, 0x69, 0xBE, 0xFF, 0xC8, -0x6A, 0xB1, 0x85, 0xB8, 0x6B, 0xA0, 0x33, 0x48, 0x6C, 0x92, 0xB9, 0x38, 0x6D, 0x81, 0x66, 0xC8, -0x6E, 0x73, 0xEC, 0xB8, 0x6F, 0x62, 0x9A, 0x48, 0x70, 0x55, 0x20, 0x38, 0x71, 0x45, 0x1F, 0x48, -0x72, 0x37, 0xA5, 0x38, 0x73, 0x26, 0x52, 0xC8, 0x74, 0x18, 0xD8, 0xB8, 0x75, 0x07, 0x86, 0x48, -0x75, 0xFA, 0x0C, 0x38, 0x76, 0xE8, 0xB9, 0xC8, 0x77, 0xDB, 0x3F, 0xB8, 0x78, 0xCB, 0x3E, 0xC8, -0x79, 0xBD, 0xC4, 0xB8, 0x7A, 0xAC, 0x72, 0x48, 0x7B, 0x9E, 0xF8, 0x38, 0x7C, 0x8D, 0xA5, 0xC8, -0x7D, 0x80, 0x2B, 0xB8, 0x7E, 0x6E, 0xD9, 0x48, 0x7F, 0x61, 0x5F, 0x38, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, -0x12, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, -0x2D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, -0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, -0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, -0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, -0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, -0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, -0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, -0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, -0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, -0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, -0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, -0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, -0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, -0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, -0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, -0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, -0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, -0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, -0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, -0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, -0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, -0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, -0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, -0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, -0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, -0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, -0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, -0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, -0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, -0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, -0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, -0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, -0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, -0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, -0x99, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, -0xCD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, -0x52, 0x38, 0x00, 0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, -0x85, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, -0xB9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, -0xEC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, -0x20, 0x38, 0x00, 0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, -0xA5, 0x38, 0x00, 0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, -0xD8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, -0x0C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, -0x3F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, -0xC4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, -0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, -0x2B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, -0x5F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, -0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, -0x17, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, -0x4B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, -0x7E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, -0x03, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, -0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, -0x6A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, -0x9E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, -0x23, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, -0x56, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, -0x8A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, -0xBD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, -0x42, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, -0x76, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, -0xA9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, -0xDD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, -0x62, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, -0x95, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, -0xC9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, -0xFC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, -0x81, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, -0xB5, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, -0xE8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, -0x1C, 0x38, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, -0x4F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, -0xD4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, -0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, -0x3B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, -0x6F, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, -0xF4, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, -0x27, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, -0x5B, 0x38, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, -0x8E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, -0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, -0x47, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, -0x7A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, -0xAE, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, -0x33, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, -0x66, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, -0x9A, 0x38, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, -0xCD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, -0x52, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, -0x86, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, -0xB9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, -0xED, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, -0x72, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, -0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, -0xD9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, -0x0C, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, -0x91, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x4F, -0xC5, 0x38, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x00, 0x00, 0x30, 0x38, -0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x00, 0x00, -0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x16, -0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, -0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, -0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, -0x36, 0x33, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, +0xBF, 0x00, 0xCC, 0x48, 0x0D, 0x94, 0x44, 0x38, 0x0E, 0xAD, 0x13, 0xB8, 0x0F, 0x79, 0x73, 0x40, +0x10, 0x28, 0xCA, 0xC0, 0x10, 0xED, 0x3A, 0x40, 0x11, 0xAD, 0xBC, 0x48, 0x12, 0x45, 0x4A, 0xB8, +0x13, 0x37, 0xEC, 0xC8, 0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, +0x29, 0xCB, 0x9C, 0xC8, 0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, +0x2D, 0x8E, 0x03, 0xC8, 0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, +0x31, 0x50, 0x6A, 0xC8, 0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, +0x35, 0x14, 0x23, 0x48, 0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, +0x38, 0xD6, 0x8A, 0x48, 0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, +0x3C, 0x9A, 0x42, 0xC8, 0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, +0x40, 0x5C, 0xA9, 0xC8, 0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, +0x47, 0xE2, 0xC9, 0x48, 0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, +0x4B, 0xA6, 0x81, 0xC8, 0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, +0x4F, 0x68, 0xE8, 0xC8, 0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, +0x53, 0x2C, 0xA1, 0x48, 0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, +0x56, 0xEF, 0x08, 0x48, 0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, +0x5A, 0xB2, 0xC0, 0xC8, 0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, +0x5E, 0x75, 0x27, 0xC8, 0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, +0x62, 0x38, 0xE0, 0x48, 0x63, 0x2B, 0x66, 0x38, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, +0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, +0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, +0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, +0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, +0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, +0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, +0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, +0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x63, 0x2B, 0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0xBF, +0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, /* Asia/Tel_Aviv */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -46697,18 +46262,25 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Vientiane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0xA2, 0x6A, 0x67, 0xC4, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x47, 0x50, +0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0x51, 0x61, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, +0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, +0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, +0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, +0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, 0x00, -0x00, 0x00, 0x00, +0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x47, +0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x51, 0x61, +0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, +0x02, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, +0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, +0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, +0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, +0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, 0x00, 0x00, 0x00, 0x00, /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -48259,15 +47831,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Atlantic/St_Helena */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xDC, 0x42, 0x9B, 0x58, 0x01, 0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xE0, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0x9B, 0x58, +0x01, 0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x04, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, +0x00, 0x00, /* Atlantic/Stanley */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -52421,7 +51995,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x1B, 0xC9, 0xB0, 0xD5, 0x33, 0x55, 0xC0, +0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x17, 0xD5, 0x30, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, @@ -52448,7 +52022,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -52457,7 +52031,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x76, 0xFA, 0x38, 0xB0, 0x77, 0xC5, 0x4D, 0xC0, 0x78, 0xDA, 0x1A, 0xB0, 0x79, 0xA5, 0x2F, 0xC0, 0x7A, 0xC3, 0x37, 0x30, 0x7B, 0x85, 0x11, 0xC0, 0x7C, 0xA3, 0x19, 0x30, 0x7D, 0x6E, 0x2E, 0x40, 0x7E, 0x82, 0xFB, 0x30, 0x7F, 0x4E, 0x10, 0x40, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -52484,7 +52058,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, +0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, @@ -52539,7 +52113,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, @@ -52555,7 +52129,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x7B, 0x85, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA3, 0x19, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x6E, 0x2E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x4E, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -52604,7 +52178,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -52683,7 +52257,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, +0x00, 0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, @@ -53342,7 +52916,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, +0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, @@ -53350,7 +52924,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, +0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, @@ -53478,7 +53052,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x24, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, @@ -54544,8 +54118,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/Belfast */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -54606,169 +54180,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -56157,7 +55732,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, +0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, @@ -56165,7 +55740,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, +0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, @@ -56293,7 +55868,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x24, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, @@ -56306,8 +55881,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/Gibraltar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -56357,151 +55932,152 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, -0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x01, -0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0x04, -0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, -0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, -0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, -0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, -0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, -0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, -0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, -0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, -0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, -0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, -0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, -0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, -0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, -0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, -0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, -0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, -0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, -0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, -0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, -0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, -0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, -0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, -0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, -0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, +0x45, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1A, +0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, +0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, +0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, +0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, +0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, +0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, +0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, +0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, +0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, +0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, +0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, +0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, +0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, +0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, +0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, +0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, +0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, +0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, +0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, +0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, +0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, +0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, +0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, +0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, +0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, +0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, +0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, +0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, +0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, +0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, +0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, +0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, +0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, +0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, +0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, +0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, +0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, +0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, +0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, +0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, +0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, -0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, -0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, -0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, -0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, +0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, +0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC0, 0x76, 0xD5, 0x01, 0x0A, 0x7E, 0xA8, 0x00, 0x00, 0x00, 0x00, /* Europe/Guernsey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x95, 0xA6, 0x91, 0xE1, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -56514,220 +56090,226 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, 0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, 0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, -0xC7, 0xDA, 0x09, 0xA0, 0xCA, 0x16, 0x26, 0x90, 0xCA, 0x97, 0x59, 0x90, 0xCB, 0xD1, 0x1E, 0x90, -0xCC, 0x77, 0x3B, 0x90, 0xCD, 0xB1, 0x00, 0x90, 0xCE, 0x60, 0x58, 0x10, 0xCF, 0x90, 0xE2, 0x90, -0xD0, 0x6E, 0x5E, 0x90, 0xD1, 0x72, 0x16, 0x10, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, -0xD3, 0x63, 0x29, 0xA0, 0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, -0xD5, 0xDF, 0xE0, 0x10, 0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, -0xD8, 0xF9, 0x95, 0x20, 0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, -0xDC, 0xCB, 0xCE, 0x20, 0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, -0xE0, 0x94, 0xCC, 0xA0, 0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, -0xE4, 0x54, 0x90, 0xA0, 0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, -0xE8, 0x14, 0x54, 0xA0, 0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, -0xEB, 0xDD, 0x53, 0x20, 0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, -0xEF, 0x81, 0x67, 0xA0, 0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, -0xF3, 0x4A, 0x66, 0x20, 0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, -0xF7, 0x00, 0xEF, 0xA0, 0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, -0xFA, 0xC0, 0xB3, 0xA0, 0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, -0x03, 0x70, 0xC6, 0x20, 0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, -0x07, 0x30, 0x8A, 0x20, 0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, -0x0A, 0xF0, 0x4E, 0x20, 0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, -0x0E, 0xB0, 0x12, 0x20, 0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, -0x12, 0x79, 0x10, 0xA0, 0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, -0x16, 0x38, 0xC6, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, -0x19, 0xF8, 0x8A, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, -0x1D, 0xC1, 0x89, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, -0x21, 0x81, 0x4D, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, -0x25, 0x4A, 0x4B, 0x90, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, -0x29, 0x0A, 0x0F, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, -0x2C, 0xC9, 0xD3, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, -0x30, 0x89, 0x97, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, -0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, -0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, -0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, -0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, -0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, -0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, -0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, -0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, -0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, -0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, -0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, -0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, -0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, -0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, -0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, -0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, -0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, -0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, -0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, -0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0xC7, 0xDA, 0x09, 0xA0, 0xC8, 0x82, 0x9F, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, +0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, +0xD1, 0xA1, 0x61, 0xE0, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, 0xD3, 0x63, 0x29, 0xA0, +0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, 0xD5, 0xDF, 0xE0, 0x10, +0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, 0xD8, 0xF9, 0x95, 0x20, +0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, 0xDC, 0xCB, 0xCE, 0x20, +0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, 0xE0, 0x94, 0xCC, 0xA0, +0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, 0xE4, 0x54, 0x90, 0xA0, +0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, 0xE8, 0x14, 0x54, 0xA0, +0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, 0xEB, 0xDD, 0x53, 0x20, +0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, 0xEF, 0x81, 0x67, 0xA0, +0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, 0xF3, 0x4A, 0x66, 0x20, +0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, 0xF7, 0x00, 0xEF, 0xA0, +0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, 0xFA, 0xC0, 0xB3, 0xA0, +0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, 0x03, 0x70, 0xC6, 0x20, +0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, 0x07, 0x30, 0x8A, 0x20, +0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, 0x0A, 0xF0, 0x4E, 0x20, +0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, 0x0E, 0xB0, 0x12, 0x20, +0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, 0x12, 0x79, 0x10, 0xA0, +0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x38, 0xC6, 0x90, +0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xF8, 0x8A, 0x90, +0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0xC1, 0x89, 0x10, +0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x81, 0x4D, 0x10, +0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x4A, 0x4B, 0x90, +0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x29, 0x0A, 0x0F, 0x90, +0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xC9, 0xD3, 0x90, +0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x89, 0x97, 0x90, +0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, +0x02, 0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x0B, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0xFF, 0xFF, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, +0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, +0x00, 0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, +0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xA6, 0x91, 0xE1, 0xFF, +0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, +0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, +0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, +0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, +0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, +0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, +0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, +0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, +0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, +0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, +0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, +0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, +0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, +0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x03, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x0B, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0xFF, 0xFF, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, +0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, + /* Europe/Helsinki */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -56930,371 +56512,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xDB, 0xF4, 0x98, 0x01, 0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, - -/* Europe/Istanbul */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, -0x90, 0x8B, 0xF5, 0x98, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xBE, 0xD0, 0xA2, 0x65, 0x63, 0xE0, -0xA3, 0x7B, 0x82, 0x50, 0xA4, 0x4E, 0x80, 0x60, 0xA5, 0x3F, 0xB4, 0xD0, 0xA6, 0x25, 0x27, 0xE0, -0xA7, 0x27, 0x7F, 0xD0, 0xAA, 0x28, 0x28, 0x60, 0xAA, 0xE1, 0xFD, 0xD0, 0xAB, 0xF9, 0x89, 0xE0, -0xAC, 0xC3, 0x31, 0x50, 0xC8, 0x81, 0x3F, 0xE0, 0xC9, 0x01, 0x13, 0x50, 0xC9, 0x4A, 0xF5, 0x60, -0xCA, 0xCE, 0x80, 0x50, 0xCB, 0xCB, 0xAE, 0x60, 0xD2, 0x6B, 0x09, 0x50, 0xD3, 0xA2, 0x39, 0x60, -0xD4, 0x43, 0x02, 0x50, 0xD5, 0x4C, 0x0D, 0xE0, 0xD6, 0x29, 0x7B, 0xD0, 0xD7, 0x2B, 0xEF, 0xE0, -0xD8, 0x09, 0x5D, 0xD0, 0xD9, 0x02, 0x97, 0x60, 0xD9, 0xE9, 0x3F, 0xD0, 0xDA, 0xEB, 0xB3, 0xE0, -0xDB, 0xD2, 0x5C, 0x50, 0xDC, 0xD4, 0xD0, 0x60, 0xDD, 0xB2, 0x3E, 0x50, 0xF1, 0xF4, 0xB9, 0x60, -0xF4, 0x62, 0xEF, 0x50, 0xF5, 0x68, 0x06, 0x60, 0xF6, 0x1F, 0x38, 0xD0, 0x06, 0x6E, 0x93, 0x70, -0x07, 0x39, 0x9A, 0x70, 0x07, 0xFB, 0x75, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x09, 0xD0, 0xCB, 0x00, -0x0A, 0xF9, 0x5E, 0x70, 0x0B, 0xB1, 0xFE, 0x80, 0x0C, 0xD9, 0x40, 0x70, 0x0D, 0xA4, 0x55, 0x80, -0x0E, 0xA6, 0xAD, 0x70, 0x0F, 0x84, 0x37, 0x80, 0x0F, 0xF8, 0x11, 0x50, 0x19, 0x89, 0xB0, 0x70, -0x19, 0xDC, 0xB0, 0xE0, 0x1B, 0xE6, 0xD0, 0xF0, 0x1C, 0xC6, 0xEF, 0xF0, 0x1D, 0x9B, 0x31, 0x70, -0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, -0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, -0x26, 0x0B, 0xFB, 0xF0, 0x27, 0x05, 0x27, 0x70, 0x27, 0xF5, 0x18, 0x70, 0x28, 0xE5, 0x09, 0x70, -0x29, 0xD4, 0xFA, 0x70, 0x2A, 0xC4, 0xEB, 0x70, 0x2B, 0xB4, 0xDC, 0x70, 0x2C, 0xA4, 0xCD, 0x70, -0x2D, 0x8B, 0x83, 0xF0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, -0x31, 0x5D, 0xBC, 0xF0, 0x32, 0x72, 0x97, 0xF0, 0x33, 0x3D, 0x9E, 0xF0, 0x34, 0x52, 0x79, 0xF0, -0x35, 0x1D, 0x80, 0xF0, 0x36, 0x32, 0x5B, 0xF0, 0x36, 0xFD, 0x62, 0xF0, 0x38, 0x1B, 0x78, 0x70, -0x38, 0xDD, 0x44, 0xF0, 0x39, 0xFB, 0x5A, 0x70, 0x3A, 0xBD, 0x26, 0xF0, 0x3B, 0xDB, 0x3C, 0x70, -0x3C, 0xA6, 0x43, 0x70, 0x3D, 0xBB, 0x1E, 0x70, 0x3E, 0x86, 0x25, 0x70, 0x3F, 0x9B, 0x00, 0x70, -0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0, -0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, -0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, -0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8F, 0xDD, 0x90, 0x4E, 0xAC, 0xA1, 0x90, -0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, -0x53, 0x38, 0xBE, 0x10, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x3E, 0x9E, 0x90, -0x56, 0xF7, 0x30, 0x90, 0x57, 0xCF, 0x2E, 0x50, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, -0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, 0x04, -0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, 0x00, -0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, -0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, -0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, -0xFF, 0x56, 0xB6, 0xC8, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x8B, 0xF5, 0x98, 0xFF, 0xFF, 0xFF, -0xFF, 0x9B, 0x0C, 0x17, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD5, 0xBE, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x65, 0x63, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0x82, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xA4, 0x4E, 0x80, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xB4, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xA6, 0x25, 0x27, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xAA, 0x28, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xE1, 0xFD, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xAB, 0xF9, 0x89, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC3, 0x31, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xC8, 0x81, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x01, 0x13, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xC9, 0x4A, 0xF5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCE, 0x80, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xCB, 0xCB, 0xAE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x6B, 0x09, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xD3, 0xA2, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x43, 0x02, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xD5, 0x4C, 0x0D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x29, 0x7B, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD7, 0x2B, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x09, 0x5D, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD9, 0x02, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE9, 0x3F, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xDA, 0xEB, 0xB3, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xD2, 0x5C, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xDC, 0xD4, 0xD0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xB2, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xF1, 0xF4, 0xB9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x62, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xF5, 0x68, 0x06, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x1F, 0x38, 0xD0, 0x00, 0x00, 0x00, -0x00, 0x06, 0x6E, 0x93, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x39, 0x9A, 0x70, 0x00, 0x00, 0x00, -0x00, 0x07, 0xFB, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x00, 0x00, 0x00, -0x00, 0x09, 0xD0, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF9, 0x5E, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xB1, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0x40, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0D, 0xA4, 0x55, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA6, 0xAD, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0F, 0x84, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x11, 0x50, 0x00, 0x00, 0x00, -0x00, 0x19, 0x89, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDC, 0xB0, 0xE0, 0x00, 0x00, 0x00, -0x00, 0x1B, 0xE6, 0xD0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC6, 0xEF, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x1D, 0x9B, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x27, 0x05, 0x27, 0x70, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x18, 0x70, 0x00, 0x00, 0x00, -0x00, 0x28, 0xE5, 0x09, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xFA, 0x70, 0x00, 0x00, 0x00, -0x00, 0x2A, 0xC4, 0xEB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xDC, 0x70, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xA4, 0xCD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x83, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, 0x00, 0x00, -0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xBC, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x32, 0x72, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x9E, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x34, 0x52, 0x79, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x80, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x36, 0x32, 0x5B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x62, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x38, 0x1B, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x44, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x39, 0xFB, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x26, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x3B, 0xDB, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x43, 0x70, 0x00, 0x00, 0x00, -0x00, 0x3D, 0xBB, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x25, 0x70, 0x00, 0x00, 0x00, -0x00, 0x3F, 0x9B, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x07, 0x70, 0x00, 0x00, 0x00, -0x00, 0x41, 0x84, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x45, 0xE9, 0x70, 0x00, 0x00, 0x00, -0x00, 0x43, 0x63, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xCB, 0x70, 0x00, 0x00, 0x00, -0x00, 0x45, 0x43, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8F, 0xDD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, -0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x38, 0xBE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0x3E, 0x9E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, -0x00, 0x57, 0xCF, 0x2E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, -0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, -0x04, 0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, -0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, -0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, -0x0D, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, -0x45, 0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xC7, 0xEA, 0x62, 0x01, -0x3E, 0xDB, 0x9A, 0x00, 0x00, 0x00, 0x00, - -/* Europe/Jersey */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, -0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, -0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, -0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, -0xA6, 0x25, 0x60, 0x20, 0xA7, 0x27, 0xC6, 0x20, 0xA8, 0x2A, 0x2C, 0x20, 0xA8, 0xEB, 0xF8, 0xA0, -0xAA, 0x00, 0xD3, 0xA0, 0xAA, 0xD5, 0x15, 0x20, 0xAB, 0xE9, 0xF0, 0x20, 0xAC, 0xC7, 0x6C, 0x20, -0xAD, 0xC9, 0xD2, 0x20, 0xAE, 0xA7, 0x4E, 0x20, 0xAF, 0xA0, 0x79, 0xA0, 0xB0, 0x87, 0x30, 0x20, -0xB1, 0x92, 0xD0, 0xA0, 0xB2, 0x70, 0x4C, 0xA0, 0xB3, 0x72, 0xB2, 0xA0, 0xB4, 0x50, 0x2E, 0xA0, -0xB5, 0x49, 0x5A, 0x20, 0xB6, 0x30, 0x10, 0xA0, 0xB7, 0x32, 0x76, 0xA0, 0xB8, 0x0F, 0xF2, 0xA0, -0xB9, 0x12, 0x58, 0xA0, 0xB9, 0xEF, 0xD4, 0xA0, 0xBA, 0xE9, 0x00, 0x20, 0xBB, 0xD8, 0xF1, 0x20, -0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, -0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, -0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, -0xC7, 0xDA, 0x09, 0xA0, 0xCA, 0x16, 0x26, 0x90, 0xCA, 0x97, 0x59, 0x90, 0xCB, 0xD1, 0x1E, 0x90, -0xCC, 0x77, 0x3B, 0x90, 0xCD, 0xB1, 0x00, 0x90, 0xCE, 0x60, 0x58, 0x10, 0xCF, 0x90, 0xE2, 0x90, -0xD0, 0x6E, 0x5E, 0x90, 0xD1, 0x72, 0x16, 0x10, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, -0xD3, 0x63, 0x29, 0xA0, 0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, -0xD5, 0xDF, 0xE0, 0x10, 0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, -0xD8, 0xF9, 0x95, 0x20, 0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, -0xDC, 0xCB, 0xCE, 0x20, 0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, -0xE0, 0x94, 0xCC, 0xA0, 0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, -0xE4, 0x54, 0x90, 0xA0, 0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, -0xE8, 0x14, 0x54, 0xA0, 0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, -0xEB, 0xDD, 0x53, 0x20, 0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, -0xEF, 0x81, 0x67, 0xA0, 0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, -0xF3, 0x4A, 0x66, 0x20, 0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, -0xF7, 0x00, 0xEF, 0xA0, 0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, -0xFA, 0xC0, 0xB3, 0xA0, 0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, -0x03, 0x70, 0xC6, 0x20, 0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, -0x07, 0x30, 0x8A, 0x20, 0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, -0x0A, 0xF0, 0x4E, 0x20, 0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, -0x0E, 0xB0, 0x12, 0x20, 0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, -0x12, 0x79, 0x10, 0xA0, 0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, -0x16, 0x38, 0xC6, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, -0x19, 0xF8, 0x8A, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, -0x1D, 0xC1, 0x89, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, -0x21, 0x81, 0x4D, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, -0x25, 0x4A, 0x4B, 0x90, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, -0x29, 0x0A, 0x0F, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, -0x2C, 0xC9, 0xD3, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, -0x30, 0x89, 0x97, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, -0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, -0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, -0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, -0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, -0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, -0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, -0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, -0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, -0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, -0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, -0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, -0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, -0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, -0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, -0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, -0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, -0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, -0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, -0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, -0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFB, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, +0xCF, 0xD8, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, @@ -57429,14 +56655,376 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFB, +0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, +0x00, 0xDB, 0xF4, 0x98, 0x01, 0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, + +/* Europe/Istanbul */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, +0x90, 0x8B, 0xF5, 0x98, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xBE, 0xD0, 0xA2, 0x65, 0x63, 0xE0, +0xA3, 0x7B, 0x82, 0x50, 0xA4, 0x4E, 0x80, 0x60, 0xA5, 0x3F, 0xB4, 0xD0, 0xA6, 0x25, 0x27, 0xE0, +0xA7, 0x27, 0x7F, 0xD0, 0xAA, 0x28, 0x28, 0x60, 0xAA, 0xE1, 0xFD, 0xD0, 0xAB, 0xF9, 0x89, 0xE0, +0xAC, 0xC3, 0x31, 0x50, 0xC8, 0x81, 0x3F, 0xE0, 0xC9, 0x01, 0x13, 0x50, 0xC9, 0x4A, 0xF5, 0x60, +0xCA, 0xCE, 0x80, 0x50, 0xCB, 0xCB, 0xAE, 0x60, 0xD2, 0x6B, 0x09, 0x50, 0xD3, 0xA2, 0x39, 0x60, +0xD4, 0x43, 0x02, 0x50, 0xD5, 0x4C, 0x0D, 0xE0, 0xD6, 0x29, 0x7B, 0xD0, 0xD7, 0x2B, 0xEF, 0xE0, +0xD8, 0x09, 0x5D, 0xD0, 0xD9, 0x02, 0x97, 0x60, 0xD9, 0xE9, 0x3F, 0xD0, 0xDA, 0xEB, 0xB3, 0xE0, +0xDB, 0xD2, 0x5C, 0x50, 0xDC, 0xD4, 0xD0, 0x60, 0xDD, 0xB2, 0x3E, 0x50, 0xF1, 0xF4, 0xB9, 0x60, +0xF4, 0x62, 0xEF, 0x50, 0xF5, 0x68, 0x06, 0x60, 0xF6, 0x1F, 0x38, 0xD0, 0x06, 0x6E, 0x93, 0x70, +0x07, 0x39, 0x9A, 0x70, 0x07, 0xFB, 0x75, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x09, 0xD0, 0xCB, 0x00, +0x0A, 0xF9, 0x5E, 0x70, 0x0B, 0xB1, 0xFE, 0x80, 0x0C, 0xD9, 0x40, 0x70, 0x0D, 0xA4, 0x55, 0x80, +0x0E, 0xA6, 0xAD, 0x70, 0x0F, 0x84, 0x37, 0x80, 0x0F, 0xF8, 0x11, 0x50, 0x19, 0x89, 0xB0, 0x70, +0x19, 0xDC, 0xB0, 0xE0, 0x1B, 0xE6, 0xD0, 0xF0, 0x1C, 0xC6, 0xEF, 0xF0, 0x1D, 0x9B, 0x31, 0x70, +0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, +0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, +0x26, 0x0B, 0xFB, 0xF0, 0x27, 0x05, 0x27, 0x70, 0x27, 0xF5, 0x18, 0x70, 0x28, 0xE5, 0x09, 0x70, +0x29, 0xD4, 0xFA, 0x70, 0x2A, 0xC4, 0xEB, 0x70, 0x2B, 0xB4, 0xDC, 0x70, 0x2C, 0xA4, 0xCD, 0x70, +0x2D, 0x8B, 0x83, 0xF0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, +0x31, 0x5D, 0xBC, 0xF0, 0x32, 0x72, 0x97, 0xF0, 0x33, 0x3D, 0x9E, 0xF0, 0x34, 0x52, 0x79, 0xF0, +0x35, 0x1D, 0x80, 0xF0, 0x36, 0x32, 0x5B, 0xF0, 0x36, 0xFD, 0x62, 0xF0, 0x38, 0x1B, 0x78, 0x70, +0x38, 0xDD, 0x44, 0xF0, 0x39, 0xFB, 0x5A, 0x70, 0x3A, 0xBD, 0x26, 0xF0, 0x3B, 0xDB, 0x3C, 0x70, +0x3C, 0xA6, 0x43, 0x70, 0x3D, 0xBB, 0x1E, 0x70, 0x3E, 0x86, 0x25, 0x70, 0x3F, 0x9B, 0x00, 0x70, +0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0, +0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8F, 0xDD, 0x90, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x38, 0xBE, 0x10, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x3E, 0x9E, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x57, 0xCF, 0x2E, 0x50, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, +0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, 0x04, +0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, 0x00, +0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, +0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, +0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, +0xFF, 0x56, 0xB6, 0xC8, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x8B, 0xF5, 0x98, 0xFF, 0xFF, 0xFF, +0xFF, 0x9B, 0x0C, 0x17, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD5, 0xBE, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xA2, 0x65, 0x63, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0x82, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xA4, 0x4E, 0x80, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xB4, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xA6, 0x25, 0x27, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xAA, 0x28, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xE1, 0xFD, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xAB, 0xF9, 0x89, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC3, 0x31, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xC8, 0x81, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x01, 0x13, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xC9, 0x4A, 0xF5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCE, 0x80, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xCB, 0xCB, 0xAE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x6B, 0x09, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xD3, 0xA2, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x43, 0x02, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xD5, 0x4C, 0x0D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x29, 0x7B, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xD7, 0x2B, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x09, 0x5D, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xD9, 0x02, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE9, 0x3F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xDA, 0xEB, 0xB3, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xD2, 0x5C, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xDC, 0xD4, 0xD0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xB2, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xF1, 0xF4, 0xB9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x62, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xF5, 0x68, 0x06, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x1F, 0x38, 0xD0, 0x00, 0x00, 0x00, +0x00, 0x06, 0x6E, 0x93, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x39, 0x9A, 0x70, 0x00, 0x00, 0x00, +0x00, 0x07, 0xFB, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x00, 0x00, 0x00, +0x00, 0x09, 0xD0, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF9, 0x5E, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0B, 0xB1, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0x40, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0D, 0xA4, 0x55, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA6, 0xAD, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0F, 0x84, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x11, 0x50, 0x00, 0x00, 0x00, +0x00, 0x19, 0x89, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDC, 0xB0, 0xE0, 0x00, 0x00, 0x00, +0x00, 0x1B, 0xE6, 0xD0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC6, 0xEF, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x1D, 0x9B, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x27, 0x05, 0x27, 0x70, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x18, 0x70, 0x00, 0x00, 0x00, +0x00, 0x28, 0xE5, 0x09, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xFA, 0x70, 0x00, 0x00, 0x00, +0x00, 0x2A, 0xC4, 0xEB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xDC, 0x70, 0x00, 0x00, 0x00, +0x00, 0x2C, 0xA4, 0xCD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x83, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, 0x00, 0x00, +0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xBC, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x32, 0x72, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x9E, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x34, 0x52, 0x79, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x80, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x36, 0x32, 0x5B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x62, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x38, 0x1B, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x44, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x39, 0xFB, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x26, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x3B, 0xDB, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x43, 0x70, 0x00, 0x00, 0x00, +0x00, 0x3D, 0xBB, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x25, 0x70, 0x00, 0x00, 0x00, +0x00, 0x3F, 0x9B, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x07, 0x70, 0x00, 0x00, 0x00, +0x00, 0x41, 0x84, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x45, 0xE9, 0x70, 0x00, 0x00, 0x00, +0x00, 0x43, 0x63, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xCB, 0x70, 0x00, 0x00, 0x00, +0x00, 0x45, 0x43, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, +0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, +0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, +0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, +0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8F, 0xDD, 0x90, 0x00, 0x00, 0x00, +0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, +0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, +0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x38, 0xBE, 0x10, 0x00, 0x00, 0x00, +0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, +0x00, 0x56, 0x3E, 0x9E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, +0x00, 0x57, 0xCF, 0x2E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, +0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, +0x04, 0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, +0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x0D, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x45, 0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xC7, 0xEA, 0x62, 0x01, +0x3E, 0xDB, 0x9A, 0x00, 0x00, 0x00, 0x00, + +/* Europe/Jersey */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, +0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, +0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, +0xA6, 0x25, 0x60, 0x20, 0xA7, 0x27, 0xC6, 0x20, 0xA8, 0x2A, 0x2C, 0x20, 0xA8, 0xEB, 0xF8, 0xA0, +0xAA, 0x00, 0xD3, 0xA0, 0xAA, 0xD5, 0x15, 0x20, 0xAB, 0xE9, 0xF0, 0x20, 0xAC, 0xC7, 0x6C, 0x20, +0xAD, 0xC9, 0xD2, 0x20, 0xAE, 0xA7, 0x4E, 0x20, 0xAF, 0xA0, 0x79, 0xA0, 0xB0, 0x87, 0x30, 0x20, +0xB1, 0x92, 0xD0, 0xA0, 0xB2, 0x70, 0x4C, 0xA0, 0xB3, 0x72, 0xB2, 0xA0, 0xB4, 0x50, 0x2E, 0xA0, +0xB5, 0x49, 0x5A, 0x20, 0xB6, 0x30, 0x10, 0xA0, 0xB7, 0x32, 0x76, 0xA0, 0xB8, 0x0F, 0xF2, 0xA0, +0xB9, 0x12, 0x58, 0xA0, 0xB9, 0xEF, 0xD4, 0xA0, 0xBA, 0xE9, 0x00, 0x20, 0xBB, 0xD8, 0xF1, 0x20, +0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, +0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, +0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, +0xC7, 0xDA, 0x09, 0xA0, 0xC8, 0x82, 0x9F, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, +0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, +0xD1, 0xA1, 0x61, 0xE0, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, 0xD3, 0x63, 0x29, 0xA0, +0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, 0xD5, 0xDF, 0xE0, 0x10, +0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, 0xD8, 0xF9, 0x95, 0x20, +0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, 0xDC, 0xCB, 0xCE, 0x20, +0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, 0xE0, 0x94, 0xCC, 0xA0, +0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, 0xE4, 0x54, 0x90, 0xA0, +0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, 0xE8, 0x14, 0x54, 0xA0, +0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, 0xEB, 0xDD, 0x53, 0x20, +0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, 0xEF, 0x81, 0x67, 0xA0, +0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, 0xF3, 0x4A, 0x66, 0x20, +0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, 0xF7, 0x00, 0xEF, 0xA0, +0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, 0xFA, 0xC0, 0xB3, 0xA0, +0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, 0x03, 0x70, 0xC6, 0x20, +0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, 0x07, 0x30, 0x8A, 0x20, +0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, 0x0A, 0xF0, 0x4E, 0x20, +0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, 0x0E, 0xB0, 0x12, 0x20, +0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, 0x12, 0x79, 0x10, 0xA0, +0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x38, 0xC6, 0x90, +0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xF8, 0x8A, 0x90, +0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0xC1, 0x89, 0x10, +0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x81, 0x4D, 0x10, +0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x4A, 0x4B, 0x90, +0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x29, 0x0A, 0x0F, 0x90, +0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xC9, 0xD3, 0x90, +0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x89, 0x97, 0x90, +0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0xFF, 0xFF, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, +0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, +0x00, 0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, +0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0x68, 0x3D, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, +0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, +0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, +0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, +0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, +0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, +0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, +0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, +0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, +0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, +0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, +0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, +0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, +0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x03, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x03, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0xFF, 0xFF, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, +0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, + /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -57537,7 +57125,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, 0xAA, 0x19, 0xA7, 0x64, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0xCD, 0x2E, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, @@ -57669,9 +57257,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, -0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, 0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, -0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, -0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, /* Europe/Kirov */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -57749,6 +57336,143 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x0A, 0x00, 0xE2, 0xBE, 0xE0, 0x01, 0x5E, 0x6B, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x53, 0x4B, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x72, 0x6F, 0x76, +/* Europe/Kyiv */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, +0xAA, 0x19, 0xA7, 0x64, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0xCD, 0x2E, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, +0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, 0xCE, 0xCD, 0xA8, 0x70, 0x15, 0x27, 0xA7, 0xD0, +0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50, 0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0, +0x19, 0xDB, 0x43, 0x40, 0x1A, 0xCC, 0x93, 0xD0, 0x1B, 0xBC, 0xA0, 0xF0, 0x1C, 0xAC, 0x91, 0xF0, +0x1D, 0x9C, 0x82, 0xF0, 0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, +0x21, 0x5C, 0x46, 0xF0, 0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, +0x25, 0x1C, 0x0A, 0xF0, 0x26, 0x0B, 0xFB, 0xF0, 0x26, 0x8D, 0x20, 0xE0, 0x28, 0xE5, 0x17, 0x80, +0x29, 0xD5, 0x08, 0x80, 0x2A, 0xC4, 0xF9, 0x80, 0x2B, 0xB4, 0xEA, 0x80, 0x2C, 0xA4, 0xDB, 0x80, +0x2D, 0x94, 0xCC, 0x80, 0x2E, 0x84, 0xBD, 0x80, 0x2F, 0x74, 0xAE, 0x80, 0x30, 0x64, 0x9F, 0x80, +0x31, 0x5D, 0xCB, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, +0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, +0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x00, 0x00, +0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, +0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, +0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x1D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, +0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, +0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0xFF, +0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0xC7, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0xA7, 0x64, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0xA4, 0x19, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0x2E, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCD, 0xA8, 0x70, 0x00, +0x00, 0x00, 0x00, 0x15, 0x27, 0xA7, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xDC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x17, 0x08, 0xDB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x0F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xEA, 0x0E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x43, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xCC, 0x93, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xA0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0x91, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x82, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x8D, 0x20, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xBD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xAE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x9F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xCB, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, +0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, +0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, +0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x03, 0x07, +0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, +0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x00, 0x00, 0x1C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, +0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, +0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, +0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, +0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, 0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, +0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, +0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + /* Europe/Lisbon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, @@ -57977,7 +57701,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -58013,17 +57737,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF5, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -58087,7 +57811,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -58097,8 +57821,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/London */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -58159,169 +57883,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD7, 0xEC, 0xB1, 0x01, 0x12, 0x77, 0x90, 0x00, 0x00, 0x00, 0x00, @@ -58573,8 +58298,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, -0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0xB5, 0x00, 0xFF, 0xFF, 0xFF, @@ -58674,8 +58399,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, -0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, +0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC6, 0xF9, 0x80, 0x01, 0x0D, 0x09, 0xB2, 0x00, 0x00, 0x00, 0x10, 0x53, 0x70, 0x61, 0x69, 0x6E, 0x20, 0x28, 0x6D, 0x61, 0x69, 0x6E, 0x6C, 0x61, 0x6E, @@ -58727,7 +58452,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, @@ -58829,7 +58554,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, -0x7F, 0x90, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, +0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, @@ -60259,20 +59984,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -60361,21 +60086,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -60508,20 +60233,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -60610,21 +60335,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -60635,7 +60360,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -60671,17 +60396,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF2, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -60745,7 +60470,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -60843,7 +60568,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, 0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, 0x26, 0x8D, 0x2E, 0xF0, 0x29, 0xD5, 0x08, 0x80, 0x2A, 0xC4, 0xF9, 0x80, 0x2B, 0xB4, 0xEA, 0x80, 0x2C, 0xA4, 0xDB, 0x80, 0x2D, 0x94, 0xCC, 0x80, -0x2D, 0xC2, 0xC6, 0xD0, 0x2E, 0x84, 0x85, 0x40, 0x2F, 0x74, 0x84, 0x50, 0x30, 0x64, 0x67, 0x40, +0x2D, 0xC2, 0xC6, 0xD0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, 0x31, 0x5D, 0xA0, 0xD0, 0x32, 0x72, 0xA6, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, @@ -60855,7 +60580,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x5E, 0x80, 0x54, 0x4C, 0x1D, 0x60, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, -0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x03, 0x07, 0x03, 0x09, 0x08, 0x0C, +0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x08, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x04, 0x00, @@ -60888,8 +60613,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xC2, 0xC6, -0xD0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, -0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, +0xD0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, +0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, @@ -60910,7 +60635,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x1D, 0x60, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, -0x09, 0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x03, 0x07, 0x03, 0x09, 0x08, +0x09, 0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x08, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x04, @@ -60931,7 +60656,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -60967,17 +60692,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xEF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -61041,7 +60766,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -61988,87 +61713,85 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, -0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, -0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0xF0, 0xEA, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x06, 0x86, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, -0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, -0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, -0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, -0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, -0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, -0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, -0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, -0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, -0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, -0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, -0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, -0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, -0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, -0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, -0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, -0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, -0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, -0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, -0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, -0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, -0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, -0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, -0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, -0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, -0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, -0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, -0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, -0x06, 0xFA, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, -0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, -0x42, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, -0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, +0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x04, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, +0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, +0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, +0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, +0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, +0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, +0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, +0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, +0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, +0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, +0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, +0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, +0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, +0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, +0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, +0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, +0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, +0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, +0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, +0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, +0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, +0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, +0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, +0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, +0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, +0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, +0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, +0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, +0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, +0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, /* Europe/Vatican */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -62116,20 +61839,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -62218,21 +61941,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -62768,7 +62491,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -62804,17 +62527,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF4, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -62878,7 +62601,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -63161,8 +62884,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* GB */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -63223,177 +62946,178 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* GB-Eire */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -63454,169 +63178,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63673,8 +63398,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Hongkong */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, 0xCA, 0x4D, 0x31, 0x30, 0xCA, 0xDB, 0x93, 0x30, 0xCB, 0x4B, 0x71, 0x78, 0xD2, 0xA0, 0xDE, 0x90, 0xD3, 0x6B, 0xD7, 0x80, 0xD4, 0x93, 0x58, 0xB8, 0xD5, 0x42, 0xB0, 0x38, 0xD6, 0x73, 0x3A, 0xB8, 0xD7, 0x3E, 0x41, 0xB8, 0xD8, 0x2E, 0x32, 0xB8, 0xD8, 0xF9, 0x39, 0xB8, 0xDA, 0x0E, 0x14, 0xB8, @@ -63692,62 +63417,64 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x4D, 0xE6, 0xB8, 0x05, 0x47, 0x04, 0x28, 0x06, 0x37, 0x03, 0x38, 0x07, 0x26, 0xE6, 0x28, 0x07, 0x83, 0x3D, 0x38, 0x09, 0x06, 0xC8, 0x28, 0x09, 0xF6, 0xC7, 0x38, 0x0A, 0xE6, 0xAA, 0x28, 0x0B, 0xD6, 0xA9, 0x38, 0x0C, 0xC6, 0x8C, 0x28, 0x11, 0x9B, 0x39, 0x38, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, -0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, -0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, -0x00, 0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, -0x00, 0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x48, 0x4B, 0x54, -0x2D, 0x38, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, +0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, +0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, 0x00, +0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, 0x00, +0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, 0x00, +0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, 0x00, +0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, 0x01, +0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, +0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, +0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, +0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, +0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x48, 0x4B, 0x54, 0x2D, 0x38, +0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* HST */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63837,23 +63564,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Antananarivo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, -0xB2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xF3, 0xCD, 0xF4, +0xE2, 0x33, 0xC0, 0xC0, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, +0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, +0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xCD, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x33, 0xC0, 0xC0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, +0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x6C, 0x76, 0xED, 0x01, +0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, /* Indian/Chagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63902,22 +63626,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Comoro */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD1, 0xF0, +0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, -0x8A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD1, 0xF0, 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, +0x00, /* Indian/Kerguelen */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63984,22 +63701,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Mayotte */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x59, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD0, 0x18, +0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, -0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD0, 0x18, 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, +0x00, /* Indian/Reunion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -64018,167 +63728,84 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Iran */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, -0xD2, 0xDB, 0x12, 0xC8, 0x0E, 0xBB, 0xA2, 0x48, 0x0F, 0x74, 0x2D, 0x40, 0x10, 0x8E, 0x40, 0x30, -0x10, 0xED, 0x3A, 0x40, 0x11, 0x55, 0x67, 0xC8, 0x12, 0x45, 0x4A, 0xB8, 0x13, 0x37, 0xEC, 0xC8, -0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, 0x29, 0xCB, 0x9C, 0xC8, -0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, 0x2D, 0x8E, 0x03, 0xC8, -0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, 0x31, 0x50, 0x6A, 0xC8, -0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, 0x35, 0x14, 0x23, 0x48, -0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, 0x38, 0xD6, 0x8A, 0x48, -0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, 0x3C, 0x9A, 0x42, 0xC8, -0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, 0x40, 0x5C, 0xA9, 0xC8, -0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, 0x47, 0xE2, 0xC9, 0x48, -0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, 0x4B, 0xA6, 0x81, 0xC8, -0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, 0x4F, 0x68, 0xE8, 0xC8, -0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, 0x53, 0x2C, 0xA1, 0x48, -0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, 0x56, 0xEF, 0x08, 0x48, -0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, 0x5A, 0xB2, 0xC0, 0xC8, -0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, 0x5E, 0x75, 0x27, 0xC8, -0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, 0x62, 0x38, 0xE0, 0x48, -0x63, 0x2B, 0x66, 0x38, 0x64, 0x1A, 0x13, 0xC8, 0x65, 0x0C, 0x99, 0xB8, 0x65, 0xFB, 0x47, 0x48, -0x66, 0xED, 0xCD, 0x38, 0x67, 0xDD, 0xCC, 0x48, 0x68, 0xD0, 0x52, 0x38, 0x69, 0xBE, 0xFF, 0xC8, -0x6A, 0xB1, 0x85, 0xB8, 0x6B, 0xA0, 0x33, 0x48, 0x6C, 0x92, 0xB9, 0x38, 0x6D, 0x81, 0x66, 0xC8, -0x6E, 0x73, 0xEC, 0xB8, 0x6F, 0x62, 0x9A, 0x48, 0x70, 0x55, 0x20, 0x38, 0x71, 0x45, 0x1F, 0x48, -0x72, 0x37, 0xA5, 0x38, 0x73, 0x26, 0x52, 0xC8, 0x74, 0x18, 0xD8, 0xB8, 0x75, 0x07, 0x86, 0x48, -0x75, 0xFA, 0x0C, 0x38, 0x76, 0xE8, 0xB9, 0xC8, 0x77, 0xDB, 0x3F, 0xB8, 0x78, 0xCB, 0x3E, 0xC8, -0x79, 0xBD, 0xC4, 0xB8, 0x7A, 0xAC, 0x72, 0x48, 0x7B, 0x9E, 0xF8, 0x38, 0x7C, 0x8D, 0xA5, 0xC8, -0x7D, 0x80, 0x2B, 0xB8, 0x7E, 0x6E, 0xD9, 0x48, 0x7F, 0x61, 0x5F, 0x38, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, -0x12, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, -0x2D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, -0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, -0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, -0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, -0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, -0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, -0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, -0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, -0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, -0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, -0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, -0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, -0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, -0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, -0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, -0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, -0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, -0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, -0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, -0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, -0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, -0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, -0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, -0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, -0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, -0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, -0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, -0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, -0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, -0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, -0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, -0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, -0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, -0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, -0x99, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, -0xCD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, -0x52, 0x38, 0x00, 0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, -0x85, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, -0xB9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, -0xEC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, -0x20, 0x38, 0x00, 0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, -0xA5, 0x38, 0x00, 0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, -0xD8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, -0x0C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, -0x3F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, -0xC4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, -0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, -0x2B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, -0x5F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, -0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, -0x17, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, -0x4B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, -0x7E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, -0x03, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, -0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, -0x6A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, -0x9E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, -0x23, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, -0x56, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, -0x8A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, -0xBD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, -0x42, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, -0x76, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, -0xA9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, -0xDD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, -0x62, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, -0x95, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, -0xC9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, -0xFC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, -0x81, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, -0xB5, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, -0xE8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, -0x1C, 0x38, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, -0x4F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, -0xD4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, -0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, -0x3B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, -0x6F, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, -0xF4, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, -0x27, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, -0x5B, 0x38, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, -0x8E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, -0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, -0x47, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, -0x7A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, -0xAE, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, -0x33, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, -0x66, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, -0x9A, 0x38, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, -0xCD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, -0x52, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, -0x86, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, -0xB9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, -0xED, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, -0x72, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, -0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, -0xD9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, -0x0C, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, -0x91, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x4F, -0xC5, 0x38, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x00, 0x00, 0x30, 0x38, -0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x00, 0x00, -0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x16, -0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, -0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, -0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, -0x36, 0x33, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, +0xBF, 0x00, 0xCC, 0x48, 0x0D, 0x94, 0x44, 0x38, 0x0E, 0xAD, 0x13, 0xB8, 0x0F, 0x79, 0x73, 0x40, +0x10, 0x28, 0xCA, 0xC0, 0x10, 0xED, 0x3A, 0x40, 0x11, 0xAD, 0xBC, 0x48, 0x12, 0x45, 0x4A, 0xB8, +0x13, 0x37, 0xEC, 0xC8, 0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, +0x29, 0xCB, 0x9C, 0xC8, 0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, +0x2D, 0x8E, 0x03, 0xC8, 0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, +0x31, 0x50, 0x6A, 0xC8, 0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, +0x35, 0x14, 0x23, 0x48, 0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, +0x38, 0xD6, 0x8A, 0x48, 0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, +0x3C, 0x9A, 0x42, 0xC8, 0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, +0x40, 0x5C, 0xA9, 0xC8, 0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, +0x47, 0xE2, 0xC9, 0x48, 0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, +0x4B, 0xA6, 0x81, 0xC8, 0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, +0x4F, 0x68, 0xE8, 0xC8, 0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, +0x53, 0x2C, 0xA1, 0x48, 0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, +0x56, 0xEF, 0x08, 0x48, 0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, +0x5A, 0xB2, 0xC0, 0xC8, 0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, +0x5E, 0x75, 0x27, 0xC8, 0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, +0x62, 0x38, 0xE0, 0x48, 0x63, 0x2B, 0x66, 0x38, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, +0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, +0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, +0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, +0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, +0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, +0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, +0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, +0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x63, 0x2B, 0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Israel */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -65946,7 +65573,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -66025,7 +65652,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, +0x00, 0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, @@ -66473,17 +66100,19 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Pacific/Midway */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, -0x91, 0x05, 0xFB, 0x08, 0x01, 0x02, 0x00, 0x00, 0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, -0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xE6, 0x75, 0x8A, 0xB0, 0xE6, 0xED, 0x75, 0x20, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x01, +0xFF, 0xFF, 0x59, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, +0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x54, 0x5A, +0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, -0x6E, 0x3D, 0xC8, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x05, 0xFB, 0x08, 0x01, 0x02, 0x00, 0x00, -0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, -0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x53, 0x54, 0x31, 0x31, 0x0A, 0x00, -0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, 0x77, 0x61, -0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, +0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x37, +0x5B, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x75, 0x8A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0xED, +0x75, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x01, 0xFF, 0xFF, +0x59, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x08, +0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2D, 0x31, +0x31, 0x3E, 0x31, 0x31, 0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, +0x0E, 0x4D, 0x69, 0x64, 0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, /* Pacific/Nauru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -66751,36 +66380,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Pacific/Saipan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x80, 0x00, 0x00, 0x00, -0xCB, 0x37, 0x95, 0xE0, 0xD0, 0x2E, 0x89, 0xF0, 0xEC, 0x37, 0xBE, 0x00, 0xEF, 0x36, 0xF8, 0xF0, -0xFB, 0x9B, 0x00, 0x00, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0x5D, 0x58, 0xF0, -0x00, 0x97, 0x2C, 0x00, 0x01, 0x46, 0x75, 0x70, 0x02, 0x77, 0x0E, 0x00, 0x03, 0x26, 0x57, 0x70, -0x07, 0x70, 0x97, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x0C, 0x08, 0x91, 0x00, 0x0C, 0x7C, 0x87, 0x2C, -0x0D, 0xBF, 0x94, 0x80, 0x0E, 0x65, 0xA3, 0x70, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, -0xFF, 0xFF, 0x36, 0x34, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, -0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, 0x4C, 0x4D, -0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, 0x43, 0x68, -0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC5, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2D, 0x4C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x37, 0x95, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2E, 0x89, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0x37, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x36, 0xF8, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x9B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x58, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0x75, 0x70, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x57, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x70, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x0C, 0x08, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7C, 0x87, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xBF, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x65, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x05, 0xFF, 0xFF, 0x36, 0x34, -0x00, 0x00, 0x00, 0x00, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, -0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, -0x43, 0x68, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, -0x85, 0xC0, 0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0xFF, 0x86, 0x37, 0x70, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0x37, 0x24, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, +0xA0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, +0x68, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, +0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC4, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2C, 0x5C, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, +0x01, 0x02, 0x03, 0x04, 0xFF, 0xFF, 0x37, 0x24, 0x00, 0x00, 0x00, 0x00, 0x88, 0xA4, 0x00, 0x00, +0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, 0xA0, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, 0x68, +0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x85, 0xC0, +0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, /* Pacific/Samoa */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -68425,8 +68038,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* US/Eastern */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x1E, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x86, 0x00, 0x70, 0xA1, 0x9A, 0xCD, 0x60, 0xA2, 0x65, 0xE2, 0x70, 0xA3, 0x83, 0xE9, 0xE0, 0xA4, 0x6A, 0xAE, 0x70, 0xA5, 0x35, 0xA7, 0x60, 0xA6, 0x53, 0xCA, 0xF0, 0xA7, 0x15, 0x89, 0x60, 0xA8, 0x33, 0xAC, 0xF0, 0xA8, 0xFE, 0xA5, 0xE0, @@ -68485,10 +68098,10 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, -0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, +0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, @@ -68501,149 +68114,150 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, -0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, -0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, -0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, -0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, -0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, -0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, -0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, -0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, -0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, -0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, -0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, -0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, -0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, +0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, +0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, +0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, +0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, +0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, +0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, +0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, +0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, +0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, +0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, +0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -69563,4 +69177,4 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2022.1", 595, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2022.2", 596, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From 2fbea217c2ed1195895ebf8f011ffa636b441a56 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 11 Aug 2022 15:54:31 +0100 Subject: [PATCH 047/229] Updated to version 2022.2 (2022b) --- ext/date/lib/timezonedb.h | 12034 +++++++++++++++++------------------- 1 file changed, 5824 insertions(+), 6210 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 60cc4b3ab6cc9..8db0629127043 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -4,606 +4,607 @@ #endif #ifdef TIMELIB_SUPPORT_SLIM_FILE -const timelib_tzdb_index_entry timezonedb_idx_builtin[595] = { - { "Africa/Abidjan" , 0x000000 }, - { "Africa/Accra" , 0x00008E }, - { "Africa/Addis_Ababa" , 0x00011C }, - { "Africa/Algiers" , 0x0001E7 }, - { "Africa/Asmara" , 0x0003C9 }, - { "Africa/Asmera" , 0x000494 }, - { "Africa/Bamako" , 0x00055F }, - { "Africa/Bangui" , 0x0005ED }, - { "Africa/Banjul" , 0x0006AD }, - { "Africa/Bissau" , 0x00073B }, - { "Africa/Blantyre" , 0x0007DC }, - { "Africa/Brazzaville" , 0x00086B }, - { "Africa/Bujumbura" , 0x00092B }, - { "Africa/Cairo" , 0x0009BA }, - { "Africa/Casablanca" , 0x000EC2 }, - { "Africa/Ceuta" , 0x00164D }, - { "Africa/Conakry" , 0x001899 }, - { "Africa/Dakar" , 0x001927 }, - { "Africa/Dar_es_Salaam" , 0x0019B5 }, - { "Africa/Djibouti" , 0x001A80 }, - { "Africa/Douala" , 0x001B4B }, - { "Africa/El_Aaiun" , 0x001C0B }, - { "Africa/Freetown" , 0x00233D }, - { "Africa/Gaborone" , 0x0023CB }, - { "Africa/Harare" , 0x00245A }, - { "Africa/Johannesburg" , 0x0024E9 }, - { "Africa/Juba" , 0x0025B3 }, - { "Africa/Kampala" , 0x002789 }, - { "Africa/Khartoum" , 0x002854 }, - { "Africa/Kigali" , 0x002A2A }, - { "Africa/Kinshasa" , 0x002AB9 }, - { "Africa/Lagos" , 0x002B92 }, - { "Africa/Libreville" , 0x002C52 }, - { "Africa/Lome" , 0x002D12 }, - { "Africa/Luanda" , 0x002DA0 }, - { "Africa/Lubumbashi" , 0x002E60 }, - { "Africa/Lusaka" , 0x002F08 }, - { "Africa/Malabo" , 0x002F97 }, - { "Africa/Maputo" , 0x003057 }, - { "Africa/Maseru" , 0x0030E6 }, - { "Africa/Mbabane" , 0x0031B0 }, - { "Africa/Mogadishu" , 0x00327A }, - { "Africa/Monrovia" , 0x003345 }, - { "Africa/Nairobi" , 0x0033F5 }, - { "Africa/Ndjamena" , 0x0034C0 }, - { "Africa/Niamey" , 0x00356C }, - { "Africa/Nouakchott" , 0x00362C }, - { "Africa/Ouagadougou" , 0x0036BA }, - { "Africa/Porto-Novo" , 0x003748 }, - { "Africa/Sao_Tome" , 0x003808 }, - { "Africa/Timbuktu" , 0x0038C1 }, - { "Africa/Tripoli" , 0x00394F }, - { "Africa/Tunis" , 0x003B0A }, - { "Africa/Windhoek" , 0x003CD7 }, - { "America/Adak" , 0x003F61 }, - { "America/Anchorage" , 0x004346 }, - { "America/Anguilla" , 0x004736 }, - { "America/Antigua" , 0x0047F3 }, - { "America/Araguaina" , 0x0048B0 }, - { "America/Argentina/Buenos_Aires" , 0x004B15 }, - { "America/Argentina/Catamarca" , 0x004DFA }, - { "America/Argentina/ComodRivadavia" , 0x0050E5 }, - { "America/Argentina/Cordoba" , 0x0053B5 }, - { "America/Argentina/Jujuy" , 0x0056BB }, - { "America/Argentina/La_Rioja" , 0x005983 }, - { "America/Argentina/Mendoza" , 0x005C69 }, - { "America/Argentina/Rio_Gallegos" , 0x005F45 }, - { "America/Argentina/Salta" , 0x006224 }, - { "America/Argentina/San_Juan" , 0x0064F8 }, - { "America/Argentina/San_Luis" , 0x0067DE }, - { "America/Argentina/Tucuman" , 0x006AC4 }, - { "America/Argentina/Ushuaia" , 0x006DB2 }, - { "America/Aruba" , 0x007097 }, - { "America/Asuncion" , 0x007154 }, - { "America/Atikokan" , 0x0074D4 }, - { "America/Atka" , 0x007596 }, - { "America/Bahia" , 0x00796B }, - { "America/Bahia_Banderas" , 0x007C26 }, - { "America/Barbados" , 0x007E64 }, - { "America/Belem" , 0x007F86 }, - { "America/Belize" , 0x00812E }, - { "America/Blanc-Sablon" , 0x00854F }, - { "America/Boa_Vista" , 0x008628 }, - { "America/Bogota" , 0x0087E9 }, - { "America/Boise" , 0x0088A8 }, - { "America/Buenos_Aires" , 0x008CBB }, - { "America/Cambridge_Bay" , 0x008F8B }, - { "America/Campo_Grande" , 0x0092AB }, - { "America/Cancun" , 0x009681 }, - { "America/Caracas" , 0x0098C2 }, - { "America/Catamarca" , 0x00998C }, - { "America/Cayenne" , 0x009C5C }, - { "America/Cayman" , 0x009CFF }, - { "America/Chicago" , 0x009DA0 }, - { "America/Chihuahua" , 0x00A49A }, - { "America/Coral_Harbour" , 0x00A620 }, - { "America/Cordoba" , 0x00A6C1 }, - { "America/Costa_Rica" , 0x00A991 }, - { "America/Creston" , 0x00AA85 }, - { "America/Cuiaba" , 0x00AB93 }, - { "America/Curacao" , 0x00AF50 }, - { "America/Danmarkshavn" , 0x00B00D }, - { "America/Dawson" , 0x00B1F2 }, - { "America/Dawson_Creek" , 0x00B615 }, - { "America/Denver" , 0x00B8EC }, - { "America/Detroit" , 0x00BD1F }, - { "America/Dominica" , 0x00C0C7 }, - { "America/Edmonton" , 0x00C184 }, - { "America/Eirunepe" , 0x00C577 }, - { "America/El_Salvador" , 0x00C746 }, - { "America/Ensenada" , 0x00C802 }, - { "America/Fort_Nelson" , 0x00CC0F }, - { "America/Fort_Wayne" , 0x00D1D7 }, - { "America/Fortaleza" , 0x00D3F6 }, - { "America/Glace_Bay" , 0x00D60C }, - { "America/Godthab" , 0x00D9A3 }, - { "America/Goose_Bay" , 0x00DB80 }, - { "America/Grand_Turk" , 0x00E1D8 }, - { "America/Grenada" , 0x00E539 }, - { "America/Guadeloupe" , 0x00E5F6 }, - { "America/Guatemala" , 0x00E6B3 }, - { "America/Guayaquil" , 0x00E793 }, - { "America/Guyana" , 0x00E864 }, - { "America/Halifax" , 0x00E925 }, - { "America/Havana" , 0x00EFD7 }, - { "America/Hermosillo" , 0x00F440 }, - { "America/Indiana/Indianapolis" , 0x00F589 }, - { "America/Indiana/Knox" , 0x00F7C1 }, - { "America/Indiana/Marengo" , 0x00FBDA }, - { "America/Indiana/Petersburg" , 0x00FE34 }, - { "America/Indiana/Tell_City" , 0x0100FE }, - { "America/Indiana/Vevay" , 0x010328 }, - { "America/Indiana/Vincennes" , 0x0104BF }, - { "America/Indiana/Winamac" , 0x010715 }, - { "America/Indianapolis" , 0x01099B }, - { "America/Inuvik" , 0x010BBA }, - { "America/Iqaluit" , 0x010E97 }, - { "America/Jamaica" , 0x0111A5 }, - { "America/Jujuy" , 0x011304 }, - { "America/Juneau" , 0x0115C2 }, - { "America/Kentucky/Louisville" , 0x0119A8 }, - { "America/Kentucky/Monticello" , 0x011EAC }, - { "America/Knox_IN" , 0x012298 }, - { "America/Kralendijk" , 0x01269C }, - { "America/La_Paz" , 0x012759 }, - { "America/Lima" , 0x01280F }, - { "America/Los_Angeles" , 0x012936 }, - { "America/Louisville" , 0x012E57 }, - { "America/Lower_Princes" , 0x01333D }, - { "America/Maceio" , 0x0133FA }, - { "America/Managua" , 0x01360C }, - { "America/Manaus" , 0x01373F }, - { "America/Marigot" , 0x0138F6 }, - { "America/Martinique" , 0x0139B3 }, - { "America/Matamoros" , 0x013A71 }, - { "America/Mazatlan" , 0x013C70 }, - { "America/Mendoza" , 0x013E20 }, - { "America/Menominee" , 0x0140F0 }, - { "America/Merida" , 0x0144B0 }, - { "America/Metlakatla" , 0x01460B }, - { "America/Mexico_City" , 0x014881 }, - { "America/Miquelon" , 0x014A35 }, - { "America/Moncton" , 0x014C67 }, - { "America/Monterrey" , 0x015260 }, - { "America/Montevideo" , 0x0153D6 }, - { "America/Montreal" , 0x0157AB }, - { "America/Montserrat" , 0x015E6C }, - { "America/Nassau" , 0x015F29 }, - { "America/New_York" , 0x0165EA }, - { "America/Nipigon" , 0x016CDA }, - { "America/Nome" , 0x01704A }, - { "America/Noronha" , 0x017432 }, - { "America/North_Dakota/Beulah" , 0x017632 }, - { "America/North_Dakota/Center" , 0x017A66 }, - { "America/North_Dakota/New_Salem" , 0x017E65 }, - { "America/Nuuk" , 0x01826A }, - { "America/Ojinaga" , 0x01845D }, - { "America/Panama" , 0x018675 }, - { "America/Pangnirtung" , 0x018716 }, - { "America/Paramaribo" , 0x018A3D }, - { "America/Phoenix" , 0x018B04 }, - { "America/Port-au-Prince" , 0x018C1D }, - { "America/Port_of_Spain" , 0x018E5E }, - { "America/Porto_Acre" , 0x018F1B }, - { "America/Porto_Velho" , 0x0190C9 }, - { "America/Puerto_Rico" , 0x019267 }, - { "America/Punta_Arenas" , 0x019324 }, - { "America/Rainy_River" , 0x0197FD }, - { "America/Rankin_Inlet" , 0x019B6E }, - { "America/Recife" , 0x019E44 }, - { "America/Regina" , 0x01A03E }, - { "America/Resolute" , 0x01A2DD }, - { "America/Rio_Branco" , 0x01A5B4 }, - { "America/Rosario" , 0x01A766 }, - { "America/Santa_Isabel" , 0x01AA36 }, - { "America/Santarem" , 0x01AE43 }, - { "America/Santiago" , 0x01AFF3 }, - { "America/Santo_Domingo" , 0x01B513 }, - { "America/Sao_Paulo" , 0x01B65C }, - { "America/Scoresbysund" , 0x01BA56 }, - { "America/Shiprock" , 0x01BC5E }, - { "America/Sitka" , 0x01C07C }, - { "America/St_Barthelemy" , 0x01C457 }, - { "America/St_Johns" , 0x01C514 }, - { "America/St_Kitts" , 0x01CC98 }, - { "America/St_Lucia" , 0x01CD55 }, - { "America/St_Thomas" , 0x01CE12 }, - { "America/St_Vincent" , 0x01CECF }, - { "America/Swift_Current" , 0x01CF8C }, - { "America/Tegucigalpa" , 0x01D11A }, - { "America/Thule" , 0x01D1E8 }, - { "America/Thunder_Bay" , 0x01D3C9 }, - { "America/Tijuana" , 0x01D760 }, - { "America/Toronto" , 0x01DB8E }, - { "America/Tortola" , 0x01E26C }, - { "America/Vancouver" , 0x01E329 }, - { "America/Virgin" , 0x01E880 }, - { "America/Whitehorse" , 0x01E93D }, - { "America/Winnipeg" , 0x01ED60 }, - { "America/Yakutat" , 0x01F297 }, - { "America/Yellowknife" , 0x01F665 }, - { "Antarctica/Casey" , 0x01F961 }, - { "Antarctica/Davis" , 0x01FA65 }, - { "Antarctica/DumontDUrville" , 0x01FB3B }, - { "Antarctica/Macquarie" , 0x01FBF1 }, - { "Antarctica/Mawson" , 0x01FFDD }, - { "Antarctica/McMurdo" , 0x020087 }, - { "Antarctica/Palmer" , 0x0204CC }, - { "Antarctica/Rothera" , 0x020855 }, - { "Antarctica/South_Pole" , 0x0208EC }, - { "Antarctica/Syowa" , 0x020D0B }, - { "Antarctica/Troll" , 0x020DA1 }, - { "Antarctica/Vostok" , 0x020E63 }, - { "Arctic/Longyearbyen" , 0x020EFA }, - { "Asia/Aden" , 0x0211AA }, - { "Asia/Almaty" , 0x02123B }, - { "Asia/Amman" , 0x0214BF }, - { "Asia/Anadyr" , 0x021865 }, - { "Asia/Aqtau" , 0x021B6B }, - { "Asia/Aqtobe" , 0x021DEA }, - { "Asia/Ashgabat" , 0x02206A }, - { "Asia/Ashkhabad" , 0x0221ED }, - { "Asia/Atyrau" , 0x022370 }, - { "Asia/Baghdad" , 0x0225F9 }, - { "Asia/Bahrain" , 0x02287B }, - { "Asia/Baku" , 0x02291F }, - { "Asia/Bangkok" , 0x022C13 }, - { "Asia/Barnaul" , 0x022CB7 }, - { "Asia/Beirut" , 0x022FC2 }, - { "Asia/Bishkek" , 0x0232AA }, - { "Asia/Brunei" , 0x023520 }, - { "Asia/Calcutta" , 0x0235C6 }, - { "Asia/Chita" , 0x0236AE }, - { "Asia/Choibalsan" , 0x0239BC }, - { "Asia/Chongqing" , 0x023C45 }, - { "Asia/Chungking" , 0x023DDA }, - { "Asia/Colombo" , 0x023F6F }, - { "Asia/Dacca" , 0x024072 }, - { "Asia/Damascus" , 0x024165 }, - { "Asia/Dhaka" , 0x024588 }, - { "Asia/Dili" , 0x02467B }, - { "Asia/Dubai" , 0x024731 }, - { "Asia/Dushanbe" , 0x0247C2 }, - { "Asia/Famagusta" , 0x02493C }, - { "Asia/Gaza" , 0x024D03 }, - { "Asia/Harbin" , 0x0251F1 }, - { "Asia/Hebron" , 0x025386 }, - { "Asia/Ho_Chi_Minh" , 0x025885 }, - { "Asia/Hong_Kong" , 0x02597D }, - { "Asia/Hovd" , 0x025C90 }, - { "Asia/Irkutsk" , 0x025F19 }, - { "Asia/Istanbul" , 0x026237 }, - { "Asia/Jakarta" , 0x0266F3 }, - { "Asia/Jayapura" , 0x026804 }, - { "Asia/Jerusalem" , 0x0268F1 }, - { "Asia/Kabul" , 0x026D2F }, - { "Asia/Kamchatka" , 0x026DDA }, - { "Asia/Karachi" , 0x0270CF }, - { "Asia/Kashgar" , 0x0271E5 }, - { "Asia/Kathmandu" , 0x027276 }, - { "Asia/Katmandu" , 0x027323 }, - { "Asia/Khandyga" , 0x0273D0 }, - { "Asia/Kolkata" , 0x027701 }, - { "Asia/Krasnoyarsk" , 0x0277E9 }, - { "Asia/Kuala_Lumpur" , 0x027AF3 }, - { "Asia/Kuching" , 0x027C13 }, - { "Asia/Kuwait" , 0x027D6D }, - { "Asia/Macao" , 0x027DFE }, - { "Asia/Macau" , 0x028121 }, - { "Asia/Magadan" , 0x028444 }, - { "Asia/Makassar" , 0x02874F }, - { "Asia/Manila" , 0x028862 }, - { "Asia/Muscat" , 0x02895C }, - { "Asia/Nicosia" , 0x0289ED }, - { "Asia/Novokuznetsk" , 0x028C61 }, - { "Asia/Novosibirsk" , 0x028F54 }, - { "Asia/Omsk" , 0x029265 }, - { "Asia/Oral" , 0x029563 }, - { "Asia/Phnom_Penh" , 0x0297EF }, - { "Asia/Pontianak" , 0x029893 }, - { "Asia/Pyongyang" , 0x0299AC }, - { "Asia/Qatar" , 0x029A6F }, - { "Asia/Qostanay" , 0x029B13 }, - { "Asia/Qyzylorda" , 0x029DA0 }, - { "Asia/Rangoon" , 0x02A039 }, - { "Asia/Riyadh" , 0x02A100 }, - { "Asia/Saigon" , 0x02A191 }, - { "Asia/Sakhalin" , 0x02A289 }, - { "Asia/Samarkand" , 0x02A5A0 }, - { "Asia/Seoul" , 0x02A72B }, - { "Asia/Shanghai" , 0x02A8D6 }, - { "Asia/Singapore" , 0x02AA77 }, - { "Asia/Srednekolymsk" , 0x02AB83 }, - { "Asia/Taipei" , 0x02AE97 }, - { "Asia/Tashkent" , 0x02B0A2 }, - { "Asia/Tbilisi" , 0x02B22D }, - { "Asia/Tehran" , 0x02B4AE }, - { "Asia/Tel_Aviv" , 0x02BC8E }, - { "Asia/Thimbu" , 0x02C0CC }, - { "Asia/Thimphu" , 0x02C172 }, - { "Asia/Tokyo" , 0x02C218 }, - { "Asia/Tomsk" , 0x02C2F9 }, - { "Asia/Ujung_Pandang" , 0x02C604 }, - { "Asia/Ulaanbaatar" , 0x02C6CE }, - { "Asia/Ulan_Bator" , 0x02C941 }, - { "Asia/Urumqi" , 0x02CB9F }, - { "Asia/Ust-Nera" , 0x02CC3D }, - { "Asia/Vientiane" , 0x02CF60 }, - { "Asia/Vladivostok" , 0x02D004 }, - { "Asia/Yakutsk" , 0x02D309 }, - { "Asia/Yangon" , 0x02D60D }, - { "Asia/Yekaterinburg" , 0x02D6D4 }, - { "Asia/Yerevan" , 0x02D9E6 }, - { "Atlantic/Azores" , 0x02DCB6 }, - { "Atlantic/Bermuda" , 0x02E275 }, - { "Atlantic/Canary" , 0x02E681 }, - { "Atlantic/Cape_Verde" , 0x02E879 }, - { "Atlantic/Faeroe" , 0x02E934 }, - { "Atlantic/Faroe" , 0x02EAF9 }, - { "Atlantic/Jan_Mayen" , 0x02ECBE }, - { "Atlantic/Madeira" , 0x02EF6E }, - { "Atlantic/Reykjavik" , 0x02F536 }, - { "Atlantic/South_Georgia" , 0x02F833 }, - { "Atlantic/St_Helena" , 0x02F8C3 }, - { "Atlantic/Stanley" , 0x02F951 }, - { "Australia/ACT" , 0x02FC72 }, - { "Australia/Adelaide" , 0x030006 }, - { "Australia/Brisbane" , 0x0303BA }, - { "Australia/Broken_Hill" , 0x0304FE }, - { "Australia/Canberra" , 0x0308D3 }, - { "Australia/Currie" , 0x030C67 }, - { "Australia/Darwin" , 0x03105E }, - { "Australia/Eucla" , 0x031166 }, - { "Australia/Hobart" , 0x0312C5 }, - { "Australia/LHI" , 0x0316C4 }, - { "Australia/Lindeman" , 0x031984 }, - { "Australia/Lord_Howe" , 0x031AF4 }, - { "Australia/Melbourne" , 0x031DC4 }, - { "Australia/North" , 0x032160 }, - { "Australia/NSW" , 0x032256 }, - { "Australia/Perth" , 0x0325EA }, - { "Australia/Queensland" , 0x032746 }, - { "Australia/South" , 0x032873 }, - { "Australia/Sydney" , 0x032C18 }, - { "Australia/Tasmania" , 0x032FC8 }, - { "Australia/Victoria" , 0x0333BF }, - { "Australia/West" , 0x033753 }, - { "Australia/Yancowinna" , 0x033891 }, - { "Brazil/Acre" , 0x033C4A }, - { "Brazil/DeNoronha" , 0x033DF8 }, - { "Brazil/East" , 0x033FE8 }, - { "Brazil/West" , 0x0343AC }, - { "Canada/Atlantic" , 0x034554 }, - { "Canada/Central" , 0x034BE8 }, - { "Canada/Eastern" , 0x035102 }, - { "Canada/Mountain" , 0x0357C3 }, - { "Canada/Newfoundland" , 0x035B99 }, - { "Canada/Pacific" , 0x0362FB }, - { "Canada/Saskatchewan" , 0x036839 }, - { "Canada/Yukon" , 0x036AC3 }, - { "CET" , 0x036ED4 }, - { "Chile/Continental" , 0x03714D }, - { "Chile/EasterIsland" , 0x03765B }, - { "CST6CDT" , 0x037AB5 }, - { "Cuba" , 0x037E78 }, - { "EET" , 0x0382E1 }, - { "Egypt" , 0x0384DE }, - { "Eire" , 0x0389E6 }, - { "EST" , 0x038FCA }, - { "EST5EDT" , 0x039045 }, - { "Etc/GMT" , 0x039408 }, - { "Etc/GMT+0" , 0x039483 }, - { "Etc/GMT+1" , 0x0394FE }, - { "Etc/GMT+10" , 0x03957B }, - { "Etc/GMT+11" , 0x0395F9 }, - { "Etc/GMT+12" , 0x039677 }, - { "Etc/GMT+2" , 0x0396F5 }, - { "Etc/GMT+3" , 0x039772 }, - { "Etc/GMT+4" , 0x0397EF }, - { "Etc/GMT+5" , 0x03986C }, - { "Etc/GMT+6" , 0x0398E9 }, - { "Etc/GMT+7" , 0x039966 }, - { "Etc/GMT+8" , 0x0399E3 }, - { "Etc/GMT+9" , 0x039A60 }, - { "Etc/GMT-0" , 0x039ADD }, - { "Etc/GMT-1" , 0x039B58 }, - { "Etc/GMT-10" , 0x039BD6 }, - { "Etc/GMT-11" , 0x039C55 }, - { "Etc/GMT-12" , 0x039CD4 }, - { "Etc/GMT-13" , 0x039D53 }, - { "Etc/GMT-14" , 0x039DD2 }, - { "Etc/GMT-2" , 0x039E51 }, - { "Etc/GMT-3" , 0x039ECF }, - { "Etc/GMT-4" , 0x039F4D }, - { "Etc/GMT-5" , 0x039FCB }, - { "Etc/GMT-6" , 0x03A049 }, - { "Etc/GMT-7" , 0x03A0C7 }, - { "Etc/GMT-8" , 0x03A145 }, - { "Etc/GMT-9" , 0x03A1C3 }, - { "Etc/GMT0" , 0x03A241 }, - { "Etc/Greenwich" , 0x03A2BC }, - { "Etc/UCT" , 0x03A337 }, - { "Etc/Universal" , 0x03A3B2 }, - { "Etc/UTC" , 0x03A42D }, - { "Etc/Zulu" , 0x03A4A8 }, - { "Europe/Amsterdam" , 0x03A523 }, - { "Europe/Andorra" , 0x03A95E }, - { "Europe/Astrakhan" , 0x03AAEF }, - { "Europe/Athens" , 0x03ADE3 }, - { "Europe/Belfast" , 0x03B099 }, - { "Europe/Belgrade" , 0x03B6E4 }, - { "Europe/Berlin" , 0x03B8CE }, - { "Europe/Bratislava" , 0x03BBAF }, - { "Europe/Brussels" , 0x03BE8E }, - { "Europe/Bucharest" , 0x03C2E9 }, - { "Europe/Budapest" , 0x03C58A }, - { "Europe/Busingen" , 0x03C894 }, - { "Europe/Chisinau" , 0x03CA99 }, - { "Europe/Copenhagen" , 0x03CD98 }, - { "Europe/Dublin" , 0x03D013 }, - { "Europe/Gibraltar" , 0x03D5F7 }, - { "Europe/Guernsey" , 0x03DAC7 }, - { "Europe/Helsinki" , 0x03E112 }, - { "Europe/Isle_of_Man" , 0x03E2FF }, - { "Europe/Istanbul" , 0x03E94A }, - { "Europe/Jersey" , 0x03EE06 }, - { "Europe/Kaliningrad" , 0x03F451 }, - { "Europe/Kiev" , 0x03F7F9 }, - { "Europe/Kirov" , 0x03FA47 }, - { "Europe/Lisbon" , 0x03FD2E }, - { "Europe/Ljubljana" , 0x0402FB }, - { "Europe/London" , 0x0404E5 }, - { "Europe/Luxembourg" , 0x040B30 }, - { "Europe/Madrid" , 0x040F7B }, - { "Europe/Malta" , 0x041318 }, - { "Europe/Mariehamn" , 0x0416C4 }, - { "Europe/Minsk" , 0x0418B1 }, - { "Europe/Monaco" , 0x041BE5 }, - { "Europe/Moscow" , 0x04204B }, - { "Europe/Nicosia" , 0x0423F7 }, - { "Europe/Oslo" , 0x042658 }, - { "Europe/Paris" , 0x042908 }, - { "Europe/Podgorica" , 0x042D65 }, - { "Europe/Prague" , 0x042F4F }, - { "Europe/Riga" , 0x04322E }, - { "Europe/Rome" , 0x0434F0 }, - { "Europe/Samara" , 0x0438AF }, - { "Europe/San_Marino" , 0x043BB0 }, - { "Europe/Sarajevo" , 0x043F6F }, - { "Europe/Saratov" , 0x044159 }, - { "Europe/Simferopol" , 0x04444B }, - { "Europe/Skopje" , 0x0447BE }, - { "Europe/Sofia" , 0x0449A8 }, - { "Europe/Stockholm" , 0x044C04 }, - { "Europe/Tallinn" , 0x044E01 }, - { "Europe/Tirane" , 0x0450B0 }, - { "Europe/Tiraspol" , 0x045318 }, - { "Europe/Ulyanovsk" , 0x045617 }, - { "Europe/Uzhgorod" , 0x04592D }, - { "Europe/Vaduz" , 0x045B62 }, - { "Europe/Vatican" , 0x045D5F }, - { "Europe/Vienna" , 0x04611E }, - { "Europe/Vilnius" , 0x0463BC }, - { "Europe/Volgograd" , 0x04666C }, - { "Europe/Warsaw" , 0x046969 }, - { "Europe/Zagreb" , 0x046D10 }, - { "Europe/Zaporozhye" , 0x046EFA }, - { "Europe/Zurich" , 0x04715A }, - { "Factory" , 0x047357 }, - { "GB" , 0x0473D4 }, - { "GB-Eire" , 0x047A1F }, - { "GMT" , 0x04806A }, - { "GMT+0" , 0x0480E5 }, - { "GMT-0" , 0x048160 }, - { "GMT0" , 0x0481DB }, - { "Greenwich" , 0x048256 }, - { "Hongkong" , 0x0482D1 }, - { "HST" , 0x0485E4 }, - { "Iceland" , 0x048660 }, - { "Indian/Antananarivo" , 0x04895D }, - { "Indian/Chagos" , 0x048A28 }, - { "Indian/Christmas" , 0x048ACC }, - { "Indian/Cocos" , 0x048B5D }, - { "Indian/Comoro" , 0x048BF5 }, - { "Indian/Kerguelen" , 0x048CC0 }, - { "Indian/Mahe" , 0x048D51 }, - { "Indian/Maldives" , 0x048DE2 }, - { "Indian/Mauritius" , 0x048E86 }, - { "Indian/Mayotte" , 0x048F45 }, - { "Indian/Reunion" , 0x049010 }, - { "Iran" , 0x0490A1 }, - { "Israel" , 0x049881 }, - { "Jamaica" , 0x049CBF }, - { "Japan" , 0x049E1E }, - { "Kwajalein" , 0x049EFF }, - { "Libya" , 0x049FE6 }, - { "MET" , 0x04A1A1 }, - { "Mexico/BajaNorte" , 0x04A41A }, - { "Mexico/BajaSur" , 0x04A827 }, - { "Mexico/General" , 0x04A9A2 }, - { "MST" , 0x04AB4A }, - { "MST7MDT" , 0x04ABC5 }, - { "Navajo" , 0x04AF88 }, - { "NZ" , 0x04B3A6 }, - { "NZ-CHAT" , 0x04B7C5 }, - { "Pacific/Apia" , 0x04BAF9 }, - { "Pacific/Auckland" , 0x04BC9C }, - { "Pacific/Bougainville" , 0x04C0D3 }, - { "Pacific/Chatham" , 0x04C1B4 }, - { "Pacific/Chuuk" , 0x04C4F7 }, - { "Pacific/Easter" , 0x04C5D5 }, - { "Pacific/Efate" , 0x04CA3C }, - { "Pacific/Enderbury" , 0x04CB9E }, - { "Pacific/Fakaofo" , 0x04CC56 }, - { "Pacific/Fiji" , 0x04CCFB }, - { "Pacific/Funafuti" , 0x04CEB3 }, - { "Pacific/Galapagos" , 0x04CF45 }, - { "Pacific/Gambier" , 0x04D011 }, - { "Pacific/Guadalcanal" , 0x04D0B0 }, - { "Pacific/Guam" , 0x04D142 }, - { "Pacific/Honolulu" , 0x04D2AC }, - { "Pacific/Johnston" , 0x04D39B }, - { "Pacific/Kanton" , 0x04D484 }, - { "Pacific/Kiritimati" , 0x04D54B }, - { "Pacific/Kosrae" , 0x04D611 }, - { "Pacific/Kwajalein" , 0x04D715 }, - { "Pacific/Majuro" , 0x04D805 }, - { "Pacific/Marquesas" , 0x04D908 }, - { "Pacific/Midway" , 0x04D9B0 }, - { "Pacific/Nauru" , 0x04DA5C }, - { "Pacific/Niue" , 0x04DB1F }, - { "Pacific/Norfolk" , 0x04DBC5 }, - { "Pacific/Noumea" , 0x04DCC8 }, - { "Pacific/Pago_Pago" , 0x04DD9A }, - { "Pacific/Palau" , 0x04DE38 }, - { "Pacific/Pitcairn" , 0x04DED8 }, - { "Pacific/Pohnpei" , 0x04DF7D }, - { "Pacific/Ponape" , 0x04E06D }, - { "Pacific/Port_Moresby" , 0x04E14F }, - { "Pacific/Rarotonga" , 0x04E212 }, - { "Pacific/Saipan" , 0x04E3B4 }, - { "Pacific/Samoa" , 0x04E51E }, - { "Pacific/Tahiti" , 0x04E5BC }, - { "Pacific/Tarawa" , 0x04E65C }, - { "Pacific/Tongatapu" , 0x04E6FD }, - { "Pacific/Truk" , 0x04E7F6 }, - { "Pacific/Wake" , 0x04E8C5 }, - { "Pacific/Wallis" , 0x04E962 }, - { "Pacific/Yap" , 0x04E9F4 }, - { "Poland" , 0x04EAC3 }, - { "Portugal" , 0x04EE6A }, - { "PRC" , 0x04F424 }, - { "PST8PDT" , 0x04F5B9 }, - { "ROC" , 0x04F97C }, - { "ROK" , 0x04FB87 }, - { "Singapore" , 0x04FD32 }, - { "Turkey" , 0x04FE3E }, - { "UCT" , 0x0502FA }, - { "Universal" , 0x050375 }, - { "US/Alaska" , 0x0503F0 }, - { "US/Aleutian" , 0x0507CD }, - { "US/Arizona" , 0x050BA2 }, - { "US/Central" , 0x050C9E }, - { "US/East-Indiana" , 0x051384 }, - { "US/Eastern" , 0x0515A3 }, - { "US/Hawaii" , 0x051C7F }, - { "US/Indiana-Starke" , 0x051D68 }, - { "US/Michigan" , 0x05216C }, - { "US/Mountain" , 0x0524FB }, - { "US/Pacific" , 0x052919 }, - { "US/Samoa" , 0x052E33 }, - { "UTC" , 0x052ED1 }, - { "W-SU" , 0x052F4C }, - { "WET" , 0x0532E4 }, - { "Zulu" , 0x0534DE }, +const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { + { (char*) "Africa/Abidjan" , 0x000000 }, + { (char*) "Africa/Accra" , 0x00008E }, + { (char*) "Africa/Addis_Ababa" , 0x000356 }, + { (char*) "Africa/Algiers" , 0x0003F9 }, + { (char*) "Africa/Asmara" , 0x0005DB }, + { (char*) "Africa/Asmera" , 0x000691 }, + { (char*) "Africa/Bamako" , 0x000747 }, + { (char*) "Africa/Bangui" , 0x0007F1 }, + { (char*) "Africa/Banjul" , 0x000880 }, + { (char*) "Africa/Bissau" , 0x000934 }, + { (char*) "Africa/Blantyre" , 0x0009D5 }, + { (char*) "Africa/Brazzaville" , 0x000A86 }, + { (char*) "Africa/Bujumbura" , 0x000B15 }, + { (char*) "Africa/Cairo" , 0x000BA4 }, + { (char*) "Africa/Casablanca" , 0x0010AC }, + { (char*) "Africa/Ceuta" , 0x001837 }, + { (char*) "Africa/Conakry" , 0x001A83 }, + { (char*) "Africa/Dakar" , 0x001B2D }, + { (char*) "Africa/Dar_es_Salaam" , 0x001BCE }, + { (char*) "Africa/Djibouti" , 0x001C7B }, + { (char*) "Africa/Douala" , 0x001D0A }, + { (char*) "Africa/El_Aaiun" , 0x001D99 }, + { (char*) "Africa/Freetown" , 0x0024CB }, + { (char*) "Africa/Gaborone" , 0x002638 }, + { (char*) "Africa/Harare" , 0x0026F8 }, + { (char*) "Africa/Johannesburg" , 0x002787 }, + { (char*) "Africa/Juba" , 0x002851 }, + { (char*) "Africa/Kampala" , 0x002A27 }, + { (char*) "Africa/Khartoum" , 0x002AE9 }, + { (char*) "Africa/Kigali" , 0x002CBF }, + { (char*) "Africa/Kinshasa" , 0x002D4E }, + { (char*) "Africa/Lagos" , 0x002DF6 }, + { (char*) "Africa/Libreville" , 0x002EB6 }, + { (char*) "Africa/Lome" , 0x002F45 }, + { (char*) "Africa/Luanda" , 0x002FD3 }, + { (char*) "Africa/Lubumbashi" , 0x003071 }, + { (char*) "Africa/Lusaka" , 0x00312C }, + { (char*) "Africa/Malabo" , 0x0031BB }, + { (char*) "Africa/Maputo" , 0x00325D }, + { (char*) "Africa/Maseru" , 0x0032EC }, + { (char*) "Africa/Mbabane" , 0x003395 }, + { (char*) "Africa/Mogadishu" , 0x003426 }, + { (char*) "Africa/Monrovia" , 0x0034D3 }, + { (char*) "Africa/Nairobi" , 0x003583 }, + { (char*) "Africa/Ndjamena" , 0x00364E }, + { (char*) "Africa/Niamey" , 0x0036FA }, + { (char*) "Africa/Nouakchott" , 0x0037AF }, + { (char*) "Africa/Ouagadougou" , 0x003859 }, + { (char*) "Africa/Porto-Novo" , 0x0038E7 }, + { (char*) "Africa/Sao_Tome" , 0x003989 }, + { (char*) "Africa/Timbuktu" , 0x003A42 }, + { (char*) "Africa/Tripoli" , 0x003AEC }, + { (char*) "Africa/Tunis" , 0x003CA7 }, + { (char*) "Africa/Windhoek" , 0x003E74 }, + { (char*) "America/Adak" , 0x0040FE }, + { (char*) "America/Anchorage" , 0x0044E3 }, + { (char*) "America/Anguilla" , 0x0048D3 }, + { (char*) "America/Antigua" , 0x004961 }, + { (char*) "America/Araguaina" , 0x004A02 }, + { (char*) "America/Argentina/Buenos_Aires" , 0x004C67 }, + { (char*) "America/Argentina/Catamarca" , 0x004F4C }, + { (char*) "America/Argentina/ComodRivadavia" , 0x005237 }, + { (char*) "America/Argentina/Cordoba" , 0x005507 }, + { (char*) "America/Argentina/Jujuy" , 0x00580D }, + { (char*) "America/Argentina/La_Rioja" , 0x005AD5 }, + { (char*) "America/Argentina/Mendoza" , 0x005DBB }, + { (char*) "America/Argentina/Rio_Gallegos" , 0x006097 }, + { (char*) "America/Argentina/Salta" , 0x006376 }, + { (char*) "America/Argentina/San_Juan" , 0x00664A }, + { (char*) "America/Argentina/San_Luis" , 0x006930 }, + { (char*) "America/Argentina/Tucuman" , 0x006C16 }, + { (char*) "America/Argentina/Ushuaia" , 0x006F04 }, + { (char*) "America/Aruba" , 0x0071E9 }, + { (char*) "America/Asuncion" , 0x00728C }, + { (char*) "America/Atikokan" , 0x00760C }, + { (char*) "America/Atka" , 0x007719 }, + { (char*) "America/Bahia" , 0x007AEE }, + { (char*) "America/Bahia_Banderas" , 0x007DA9 }, + { (char*) "America/Barbados" , 0x007FE7 }, + { (char*) "America/Belem" , 0x008109 }, + { (char*) "America/Belize" , 0x0082B1 }, + { (char*) "America/Blanc-Sablon" , 0x0086D2 }, + { (char*) "America/Boa_Vista" , 0x0087C7 }, + { (char*) "America/Bogota" , 0x008988 }, + { (char*) "America/Boise" , 0x008A47 }, + { (char*) "America/Buenos_Aires" , 0x008E5A }, + { (char*) "America/Cambridge_Bay" , 0x00912A }, + { (char*) "America/Campo_Grande" , 0x00944A }, + { (char*) "America/Cancun" , 0x009820 }, + { (char*) "America/Caracas" , 0x009A61 }, + { (char*) "America/Catamarca" , 0x009B2B }, + { (char*) "America/Cayenne" , 0x009DFB }, + { (char*) "America/Cayman" , 0x009E9E }, + { (char*) "America/Chicago" , 0x009F3F }, + { (char*) "America/Chihuahua" , 0x00A639 }, + { (char*) "America/Coral_Harbour" , 0x00A7BF }, + { (char*) "America/Cordoba" , 0x00A8AB }, + { (char*) "America/Costa_Rica" , 0x00AB7B }, + { (char*) "America/Creston" , 0x00AC6F }, + { (char*) "America/Cuiaba" , 0x00AD2B }, + { (char*) "America/Curacao" , 0x00B0E8 }, + { (char*) "America/Danmarkshavn" , 0x00B18B }, + { (char*) "America/Dawson" , 0x00B370 }, + { (char*) "America/Dawson_Creek" , 0x00B793 }, + { (char*) "America/Denver" , 0x00BA6A }, + { (char*) "America/Detroit" , 0x00BE9D }, + { (char*) "America/Dominica" , 0x00C245 }, + { (char*) "America/Edmonton" , 0x00C2D3 }, + { (char*) "America/Eirunepe" , 0x00C6C6 }, + { (char*) "America/El_Salvador" , 0x00C895 }, + { (char*) "America/Ensenada" , 0x00C951 }, + { (char*) "America/Fort_Nelson" , 0x00CD5E }, + { (char*) "America/Fort_Wayne" , 0x00D326 }, + { (char*) "America/Fortaleza" , 0x00D545 }, + { (char*) "America/Glace_Bay" , 0x00D75B }, + { (char*) "America/Godthab" , 0x00DAF2 }, + { (char*) "America/Goose_Bay" , 0x00DCCF }, + { (char*) "America/Grand_Turk" , 0x00E327 }, + { (char*) "America/Grenada" , 0x00E688 }, + { (char*) "America/Guadeloupe" , 0x00E716 }, + { (char*) "America/Guatemala" , 0x00E7A4 }, + { (char*) "America/Guayaquil" , 0x00E884 }, + { (char*) "America/Guyana" , 0x00E955 }, + { (char*) "America/Halifax" , 0x00EA16 }, + { (char*) "America/Havana" , 0x00F0C8 }, + { (char*) "America/Hermosillo" , 0x00F531 }, + { (char*) "America/Indiana/Indianapolis" , 0x00F67A }, + { (char*) "America/Indiana/Knox" , 0x00F8B2 }, + { (char*) "America/Indiana/Marengo" , 0x00FCCB }, + { (char*) "America/Indiana/Petersburg" , 0x00FF25 }, + { (char*) "America/Indiana/Tell_City" , 0x0101EF }, + { (char*) "America/Indiana/Vevay" , 0x010419 }, + { (char*) "America/Indiana/Vincennes" , 0x0105B0 }, + { (char*) "America/Indiana/Winamac" , 0x010806 }, + { (char*) "America/Indianapolis" , 0x010A8C }, + { (char*) "America/Inuvik" , 0x010CAB }, + { (char*) "America/Iqaluit" , 0x010F88 }, + { (char*) "America/Jamaica" , 0x011296 }, + { (char*) "America/Jujuy" , 0x0113F5 }, + { (char*) "America/Juneau" , 0x0116B3 }, + { (char*) "America/Kentucky/Louisville" , 0x011A99 }, + { (char*) "America/Kentucky/Monticello" , 0x011F9D }, + { (char*) "America/Knox_IN" , 0x012389 }, + { (char*) "America/Kralendijk" , 0x01278D }, + { (char*) "America/La_Paz" , 0x012830 }, + { (char*) "America/Lima" , 0x0128E6 }, + { (char*) "America/Los_Angeles" , 0x012A0D }, + { (char*) "America/Louisville" , 0x012F2E }, + { (char*) "America/Lower_Princes" , 0x013414 }, + { (char*) "America/Maceio" , 0x0134B7 }, + { (char*) "America/Managua" , 0x0136C9 }, + { (char*) "America/Manaus" , 0x0137FC }, + { (char*) "America/Marigot" , 0x0139B3 }, + { (char*) "America/Martinique" , 0x013A41 }, + { (char*) "America/Matamoros" , 0x013AFF }, + { (char*) "America/Mazatlan" , 0x013CFE }, + { (char*) "America/Mendoza" , 0x013EAE }, + { (char*) "America/Menominee" , 0x01417E }, + { (char*) "America/Merida" , 0x01453E }, + { (char*) "America/Metlakatla" , 0x014699 }, + { (char*) "America/Mexico_City" , 0x01490F }, + { (char*) "America/Miquelon" , 0x014AC3 }, + { (char*) "America/Moncton" , 0x014CF5 }, + { (char*) "America/Monterrey" , 0x0152EE }, + { (char*) "America/Montevideo" , 0x015464 }, + { (char*) "America/Montreal" , 0x015839 }, + { (char*) "America/Montserrat" , 0x015EFA }, + { (char*) "America/Nassau" , 0x015F88 }, + { (char*) "America/New_York" , 0x016382 }, + { (char*) "America/Nipigon" , 0x016A72 }, + { (char*) "America/Nome" , 0x016DE2 }, + { (char*) "America/Noronha" , 0x0171CA }, + { (char*) "America/North_Dakota/Beulah" , 0x0173CA }, + { (char*) "America/North_Dakota/Center" , 0x0177FE }, + { (char*) "America/North_Dakota/New_Salem" , 0x017BFD }, + { (char*) "America/Nuuk" , 0x018002 }, + { (char*) "America/Ojinaga" , 0x0181F5 }, + { (char*) "America/Panama" , 0x01840D }, + { (char*) "America/Pangnirtung" , 0x0184AE }, + { (char*) "America/Paramaribo" , 0x0187D5 }, + { (char*) "America/Phoenix" , 0x01889C }, + { (char*) "America/Port-au-Prince" , 0x0189B5 }, + { (char*) "America/Port_of_Spain" , 0x018BF6 }, + { (char*) "America/Porto_Acre" , 0x018C84 }, + { (char*) "America/Porto_Velho" , 0x018E32 }, + { (char*) "America/Puerto_Rico" , 0x018FD0 }, + { (char*) "America/Punta_Arenas" , 0x01908D }, + { (char*) "America/Rainy_River" , 0x01956F }, + { (char*) "America/Rankin_Inlet" , 0x0198E0 }, + { (char*) "America/Recife" , 0x019BB6 }, + { (char*) "America/Regina" , 0x019DB0 }, + { (char*) "America/Resolute" , 0x01A04F }, + { (char*) "America/Rio_Branco" , 0x01A326 }, + { (char*) "America/Rosario" , 0x01A4D8 }, + { (char*) "America/Santa_Isabel" , 0x01A7A8 }, + { (char*) "America/Santarem" , 0x01ABB5 }, + { (char*) "America/Santiago" , 0x01AD65 }, + { (char*) "America/Santo_Domingo" , 0x01B2CD }, + { (char*) "America/Sao_Paulo" , 0x01B416 }, + { (char*) "America/Scoresbysund" , 0x01B810 }, + { (char*) "America/Shiprock" , 0x01BA18 }, + { (char*) "America/Sitka" , 0x01BE36 }, + { (char*) "America/St_Barthelemy" , 0x01C211 }, + { (char*) "America/St_Johns" , 0x01C29F }, + { (char*) "America/St_Kitts" , 0x01CA23 }, + { (char*) "America/St_Lucia" , 0x01CAB1 }, + { (char*) "America/St_Thomas" , 0x01CB52 }, + { (char*) "America/St_Vincent" , 0x01CBE0 }, + { (char*) "America/Swift_Current" , 0x01CC81 }, + { (char*) "America/Tegucigalpa" , 0x01CE0F }, + { (char*) "America/Thule" , 0x01CEDD }, + { (char*) "America/Thunder_Bay" , 0x01D0BE }, + { (char*) "America/Tijuana" , 0x01D455 }, + { (char*) "America/Toronto" , 0x01D883 }, + { (char*) "America/Tortola" , 0x01DF61 }, + { (char*) "America/Vancouver" , 0x01DFEF }, + { (char*) "America/Virgin" , 0x01E546 }, + { (char*) "America/Whitehorse" , 0x01E5D4 }, + { (char*) "America/Winnipeg" , 0x01E9F7 }, + { (char*) "America/Yakutat" , 0x01EF2E }, + { (char*) "America/Yellowknife" , 0x01F2FC }, + { (char*) "Antarctica/Casey" , 0x01F5F8 }, + { (char*) "Antarctica/Davis" , 0x01F6FC }, + { (char*) "Antarctica/DumontDUrville" , 0x01F7D2 }, + { (char*) "Antarctica/Macquarie" , 0x01F886 }, + { (char*) "Antarctica/Mawson" , 0x01FC72 }, + { (char*) "Antarctica/McMurdo" , 0x01FD1C }, + { (char*) "Antarctica/Palmer" , 0x02004E }, + { (char*) "Antarctica/Rothera" , 0x0203D7 }, + { (char*) "Antarctica/South_Pole" , 0x02046E }, + { (char*) "Antarctica/Syowa" , 0x02077A }, + { (char*) "Antarctica/Troll" , 0x020810 }, + { (char*) "Antarctica/Vostok" , 0x0208D2 }, + { (char*) "Arctic/Longyearbyen" , 0x020969 }, + { (char*) "Asia/Aden" , 0x020C19 }, + { (char*) "Asia/Almaty" , 0x020CAA }, + { (char*) "Asia/Amman" , 0x020F2E }, + { (char*) "Asia/Anadyr" , 0x0212D4 }, + { (char*) "Asia/Aqtau" , 0x0215DA }, + { (char*) "Asia/Aqtobe" , 0x021859 }, + { (char*) "Asia/Ashgabat" , 0x021AD9 }, + { (char*) "Asia/Ashkhabad" , 0x021C5C }, + { (char*) "Asia/Atyrau" , 0x021DDF }, + { (char*) "Asia/Baghdad" , 0x022068 }, + { (char*) "Asia/Bahrain" , 0x0222EA }, + { (char*) "Asia/Baku" , 0x0223A3 }, + { (char*) "Asia/Bangkok" , 0x022697 }, + { (char*) "Asia/Barnaul" , 0x02273B }, + { (char*) "Asia/Beirut" , 0x022A46 }, + { (char*) "Asia/Bishkek" , 0x022D2E }, + { (char*) "Asia/Brunei" , 0x022FA4 }, + { (char*) "Asia/Calcutta" , 0x02304A }, + { (char*) "Asia/Chita" , 0x023132 }, + { (char*) "Asia/Choibalsan" , 0x023440 }, + { (char*) "Asia/Chongqing" , 0x0236C9 }, + { (char*) "Asia/Chungking" , 0x02385E }, + { (char*) "Asia/Colombo" , 0x0239F3 }, + { (char*) "Asia/Dacca" , 0x023AF6 }, + { (char*) "Asia/Damascus" , 0x023BE9 }, + { (char*) "Asia/Dhaka" , 0x02400C }, + { (char*) "Asia/Dili" , 0x0240FF }, + { (char*) "Asia/Dubai" , 0x0241B5 }, + { (char*) "Asia/Dushanbe" , 0x024246 }, + { (char*) "Asia/Famagusta" , 0x0243C0 }, + { (char*) "Asia/Gaza" , 0x024787 }, + { (char*) "Asia/Harbin" , 0x024C75 }, + { (char*) "Asia/Hebron" , 0x024E0A }, + { (char*) "Asia/Ho_Chi_Minh" , 0x025309 }, + { (char*) "Asia/Hong_Kong" , 0x025401 }, + { (char*) "Asia/Hovd" , 0x025714 }, + { (char*) "Asia/Irkutsk" , 0x02599D }, + { (char*) "Asia/Istanbul" , 0x025CBB }, + { (char*) "Asia/Jakarta" , 0x026177 }, + { (char*) "Asia/Jayapura" , 0x026288 }, + { (char*) "Asia/Jerusalem" , 0x026375 }, + { (char*) "Asia/Kabul" , 0x0267B3 }, + { (char*) "Asia/Kamchatka" , 0x02685E }, + { (char*) "Asia/Karachi" , 0x026B53 }, + { (char*) "Asia/Kashgar" , 0x026C69 }, + { (char*) "Asia/Kathmandu" , 0x026CFA }, + { (char*) "Asia/Katmandu" , 0x026DA7 }, + { (char*) "Asia/Khandyga" , 0x026E54 }, + { (char*) "Asia/Kolkata" , 0x027185 }, + { (char*) "Asia/Krasnoyarsk" , 0x02726D }, + { (char*) "Asia/Kuala_Lumpur" , 0x027577 }, + { (char*) "Asia/Kuching" , 0x027697 }, + { (char*) "Asia/Kuwait" , 0x0277F1 }, + { (char*) "Asia/Macao" , 0x027882 }, + { (char*) "Asia/Macau" , 0x027BA5 }, + { (char*) "Asia/Magadan" , 0x027EC8 }, + { (char*) "Asia/Makassar" , 0x0281D3 }, + { (char*) "Asia/Manila" , 0x0282E6 }, + { (char*) "Asia/Muscat" , 0x0283E0 }, + { (char*) "Asia/Nicosia" , 0x028471 }, + { (char*) "Asia/Novokuznetsk" , 0x0286E5 }, + { (char*) "Asia/Novosibirsk" , 0x0289D8 }, + { (char*) "Asia/Omsk" , 0x028CE9 }, + { (char*) "Asia/Oral" , 0x028FE7 }, + { (char*) "Asia/Phnom_Penh" , 0x029273 }, + { (char*) "Asia/Pontianak" , 0x029347 }, + { (char*) "Asia/Pyongyang" , 0x029460 }, + { (char*) "Asia/Qatar" , 0x029523 }, + { (char*) "Asia/Qostanay" , 0x0295C7 }, + { (char*) "Asia/Qyzylorda" , 0x029854 }, + { (char*) "Asia/Rangoon" , 0x029AED }, + { (char*) "Asia/Riyadh" , 0x029BB4 }, + { (char*) "Asia/Saigon" , 0x029C45 }, + { (char*) "Asia/Sakhalin" , 0x029D3D }, + { (char*) "Asia/Samarkand" , 0x02A054 }, + { (char*) "Asia/Seoul" , 0x02A1DF }, + { (char*) "Asia/Shanghai" , 0x02A38A }, + { (char*) "Asia/Singapore" , 0x02A52B }, + { (char*) "Asia/Srednekolymsk" , 0x02A637 }, + { (char*) "Asia/Taipei" , 0x02A94B }, + { (char*) "Asia/Tashkent" , 0x02AB56 }, + { (char*) "Asia/Tbilisi" , 0x02ACE1 }, + { (char*) "Asia/Tehran" , 0x02AF62 }, + { (char*) "Asia/Tel_Aviv" , 0x02B29A }, + { (char*) "Asia/Thimbu" , 0x02B6D8 }, + { (char*) "Asia/Thimphu" , 0x02B77E }, + { (char*) "Asia/Tokyo" , 0x02B824 }, + { (char*) "Asia/Tomsk" , 0x02B905 }, + { (char*) "Asia/Ujung_Pandang" , 0x02BC10 }, + { (char*) "Asia/Ulaanbaatar" , 0x02BCDA }, + { (char*) "Asia/Ulan_Bator" , 0x02BF4D }, + { (char*) "Asia/Urumqi" , 0x02C1AB }, + { (char*) "Asia/Ust-Nera" , 0x02C249 }, + { (char*) "Asia/Vientiane" , 0x02C56C }, + { (char*) "Asia/Vladivostok" , 0x02C652 }, + { (char*) "Asia/Yakutsk" , 0x02C957 }, + { (char*) "Asia/Yangon" , 0x02CC5B }, + { (char*) "Asia/Yekaterinburg" , 0x02CD22 }, + { (char*) "Asia/Yerevan" , 0x02D034 }, + { (char*) "Atlantic/Azores" , 0x02D304 }, + { (char*) "Atlantic/Bermuda" , 0x02D8C3 }, + { (char*) "Atlantic/Canary" , 0x02DCCF }, + { (char*) "Atlantic/Cape_Verde" , 0x02DEC7 }, + { (char*) "Atlantic/Faeroe" , 0x02DF82 }, + { (char*) "Atlantic/Faroe" , 0x02E147 }, + { (char*) "Atlantic/Jan_Mayen" , 0x02E30C }, + { (char*) "Atlantic/Madeira" , 0x02E5BC }, + { (char*) "Atlantic/Reykjavik" , 0x02EB84 }, + { (char*) "Atlantic/South_Georgia" , 0x02EE81 }, + { (char*) "Atlantic/St_Helena" , 0x02EF11 }, + { (char*) "Atlantic/Stanley" , 0x02EFB2 }, + { (char*) "Australia/ACT" , 0x02F2D3 }, + { (char*) "Australia/Adelaide" , 0x02F667 }, + { (char*) "Australia/Brisbane" , 0x02FA1B }, + { (char*) "Australia/Broken_Hill" , 0x02FB5F }, + { (char*) "Australia/Canberra" , 0x02FF34 }, + { (char*) "Australia/Currie" , 0x0302C8 }, + { (char*) "Australia/Darwin" , 0x0306BF }, + { (char*) "Australia/Eucla" , 0x0307C7 }, + { (char*) "Australia/Hobart" , 0x030926 }, + { (char*) "Australia/LHI" , 0x030D25 }, + { (char*) "Australia/Lindeman" , 0x030FE5 }, + { (char*) "Australia/Lord_Howe" , 0x031155 }, + { (char*) "Australia/Melbourne" , 0x031425 }, + { (char*) "Australia/North" , 0x0317C1 }, + { (char*) "Australia/NSW" , 0x0318B7 }, + { (char*) "Australia/Perth" , 0x031C4B }, + { (char*) "Australia/Queensland" , 0x031DA7 }, + { (char*) "Australia/South" , 0x031ED4 }, + { (char*) "Australia/Sydney" , 0x032279 }, + { (char*) "Australia/Tasmania" , 0x032629 }, + { (char*) "Australia/Victoria" , 0x032A20 }, + { (char*) "Australia/West" , 0x032DB4 }, + { (char*) "Australia/Yancowinna" , 0x032EF2 }, + { (char*) "Brazil/Acre" , 0x0332AB }, + { (char*) "Brazil/DeNoronha" , 0x033459 }, + { (char*) "Brazil/East" , 0x033649 }, + { (char*) "Brazil/West" , 0x033A0D }, + { (char*) "Canada/Atlantic" , 0x033BB5 }, + { (char*) "Canada/Central" , 0x034249 }, + { (char*) "Canada/Eastern" , 0x034763 }, + { (char*) "Canada/Mountain" , 0x034E24 }, + { (char*) "Canada/Newfoundland" , 0x0351FA }, + { (char*) "Canada/Pacific" , 0x03595C }, + { (char*) "Canada/Saskatchewan" , 0x035E9A }, + { (char*) "Canada/Yukon" , 0x036124 }, + { (char*) "CET" , 0x036535 }, + { (char*) "Chile/Continental" , 0x0367AE }, + { (char*) "Chile/EasterIsland" , 0x036D04 }, + { (char*) "CST6CDT" , 0x0371A6 }, + { (char*) "Cuba" , 0x037569 }, + { (char*) "EET" , 0x0379D2 }, + { (char*) "Egypt" , 0x037BCF }, + { (char*) "Eire" , 0x0380D7 }, + { (char*) "EST" , 0x0386BB }, + { (char*) "EST5EDT" , 0x038736 }, + { (char*) "Etc/GMT" , 0x038AF9 }, + { (char*) "Etc/GMT+0" , 0x038B74 }, + { (char*) "Etc/GMT+1" , 0x038BEF }, + { (char*) "Etc/GMT+10" , 0x038C6C }, + { (char*) "Etc/GMT+11" , 0x038CEA }, + { (char*) "Etc/GMT+12" , 0x038D68 }, + { (char*) "Etc/GMT+2" , 0x038DE6 }, + { (char*) "Etc/GMT+3" , 0x038E63 }, + { (char*) "Etc/GMT+4" , 0x038EE0 }, + { (char*) "Etc/GMT+5" , 0x038F5D }, + { (char*) "Etc/GMT+6" , 0x038FDA }, + { (char*) "Etc/GMT+7" , 0x039057 }, + { (char*) "Etc/GMT+8" , 0x0390D4 }, + { (char*) "Etc/GMT+9" , 0x039151 }, + { (char*) "Etc/GMT-0" , 0x0391CE }, + { (char*) "Etc/GMT-1" , 0x039249 }, + { (char*) "Etc/GMT-10" , 0x0392C7 }, + { (char*) "Etc/GMT-11" , 0x039346 }, + { (char*) "Etc/GMT-12" , 0x0393C5 }, + { (char*) "Etc/GMT-13" , 0x039444 }, + { (char*) "Etc/GMT-14" , 0x0394C3 }, + { (char*) "Etc/GMT-2" , 0x039542 }, + { (char*) "Etc/GMT-3" , 0x0395C0 }, + { (char*) "Etc/GMT-4" , 0x03963E }, + { (char*) "Etc/GMT-5" , 0x0396BC }, + { (char*) "Etc/GMT-6" , 0x03973A }, + { (char*) "Etc/GMT-7" , 0x0397B8 }, + { (char*) "Etc/GMT-8" , 0x039836 }, + { (char*) "Etc/GMT-9" , 0x0398B4 }, + { (char*) "Etc/GMT0" , 0x039932 }, + { (char*) "Etc/Greenwich" , 0x0399AD }, + { (char*) "Etc/UCT" , 0x039A28 }, + { (char*) "Etc/Universal" , 0x039AA3 }, + { (char*) "Etc/UTC" , 0x039B1E }, + { (char*) "Etc/Zulu" , 0x039B99 }, + { (char*) "Europe/Amsterdam" , 0x039C14 }, + { (char*) "Europe/Andorra" , 0x03A04F }, + { (char*) "Europe/Astrakhan" , 0x03A1E0 }, + { (char*) "Europe/Athens" , 0x03A4D4 }, + { (char*) "Europe/Belfast" , 0x03A78A }, + { (char*) "Europe/Belgrade" , 0x03ADD5 }, + { (char*) "Europe/Berlin" , 0x03AFBF }, + { (char*) "Europe/Bratislava" , 0x03B2A0 }, + { (char*) "Europe/Brussels" , 0x03B57F }, + { (char*) "Europe/Bucharest" , 0x03B9DA }, + { (char*) "Europe/Budapest" , 0x03BC7B }, + { (char*) "Europe/Busingen" , 0x03BF85 }, + { (char*) "Europe/Chisinau" , 0x03C18A }, + { (char*) "Europe/Copenhagen" , 0x03C489 }, + { (char*) "Europe/Dublin" , 0x03C704 }, + { (char*) "Europe/Gibraltar" , 0x03CCE8 }, + { (char*) "Europe/Guernsey" , 0x03D1B8 }, + { (char*) "Europe/Helsinki" , 0x03D80F }, + { (char*) "Europe/Isle_of_Man" , 0x03D9FC }, + { (char*) "Europe/Istanbul" , 0x03E047 }, + { (char*) "Europe/Jersey" , 0x03E503 }, + { (char*) "Europe/Kaliningrad" , 0x03EB5A }, + { (char*) "Europe/Kiev" , 0x03EF02 }, + { (char*) "Europe/Kirov" , 0x03F13C }, + { (char*) "Europe/Kyiv" , 0x03F423 }, + { (char*) "Europe/Lisbon" , 0x03F671 }, + { (char*) "Europe/Ljubljana" , 0x03FC3E }, + { (char*) "Europe/London" , 0x03FE28 }, + { (char*) "Europe/Luxembourg" , 0x040473 }, + { (char*) "Europe/Madrid" , 0x0408BE }, + { (char*) "Europe/Malta" , 0x040C5B }, + { (char*) "Europe/Mariehamn" , 0x041007 }, + { (char*) "Europe/Minsk" , 0x0411F4 }, + { (char*) "Europe/Monaco" , 0x041528 }, + { (char*) "Europe/Moscow" , 0x04198E }, + { (char*) "Europe/Nicosia" , 0x041D3A }, + { (char*) "Europe/Oslo" , 0x041F9B }, + { (char*) "Europe/Paris" , 0x04224B }, + { (char*) "Europe/Podgorica" , 0x0426A8 }, + { (char*) "Europe/Prague" , 0x042892 }, + { (char*) "Europe/Riga" , 0x042B71 }, + { (char*) "Europe/Rome" , 0x042E33 }, + { (char*) "Europe/Samara" , 0x0431F2 }, + { (char*) "Europe/San_Marino" , 0x0434F3 }, + { (char*) "Europe/Sarajevo" , 0x0438B2 }, + { (char*) "Europe/Saratov" , 0x043A9C }, + { (char*) "Europe/Simferopol" , 0x043D8E }, + { (char*) "Europe/Skopje" , 0x044101 }, + { (char*) "Europe/Sofia" , 0x0442EB }, + { (char*) "Europe/Stockholm" , 0x044547 }, + { (char*) "Europe/Tallinn" , 0x044744 }, + { (char*) "Europe/Tirane" , 0x0449F3 }, + { (char*) "Europe/Tiraspol" , 0x044C5B }, + { (char*) "Europe/Ulyanovsk" , 0x044F5A }, + { (char*) "Europe/Uzhgorod" , 0x045270 }, + { (char*) "Europe/Vaduz" , 0x0454A5 }, + { (char*) "Europe/Vatican" , 0x04568F }, + { (char*) "Europe/Vienna" , 0x045A4E }, + { (char*) "Europe/Vilnius" , 0x045CEC }, + { (char*) "Europe/Volgograd" , 0x045F9C }, + { (char*) "Europe/Warsaw" , 0x046299 }, + { (char*) "Europe/Zagreb" , 0x046640 }, + { (char*) "Europe/Zaporozhye" , 0x04682A }, + { (char*) "Europe/Zurich" , 0x046A8A }, + { (char*) "Factory" , 0x046C87 }, + { (char*) "GB" , 0x046D04 }, + { (char*) "GB-Eire" , 0x04734F }, + { (char*) "GMT" , 0x04799A }, + { (char*) "GMT+0" , 0x047A15 }, + { (char*) "GMT-0" , 0x047A90 }, + { (char*) "GMT0" , 0x047B0B }, + { (char*) "Greenwich" , 0x047B86 }, + { (char*) "Hongkong" , 0x047C01 }, + { (char*) "HST" , 0x047F14 }, + { (char*) "Iceland" , 0x047F90 }, + { (char*) "Indian/Antananarivo" , 0x04828D }, + { (char*) "Indian/Chagos" , 0x048339 }, + { (char*) "Indian/Christmas" , 0x0483DD }, + { (char*) "Indian/Cocos" , 0x04846E }, + { (char*) "Indian/Comoro" , 0x048506 }, + { (char*) "Indian/Kerguelen" , 0x048595 }, + { (char*) "Indian/Mahe" , 0x048626 }, + { (char*) "Indian/Maldives" , 0x0486B7 }, + { (char*) "Indian/Mauritius" , 0x04875B }, + { (char*) "Indian/Mayotte" , 0x04881A }, + { (char*) "Indian/Reunion" , 0x0488A9 }, + { (char*) "Iran" , 0x04893A }, + { (char*) "Israel" , 0x048C72 }, + { (char*) "Jamaica" , 0x0490B0 }, + { (char*) "Japan" , 0x04920F }, + { (char*) "Kwajalein" , 0x0492F0 }, + { (char*) "Libya" , 0x0493D7 }, + { (char*) "MET" , 0x049592 }, + { (char*) "Mexico/BajaNorte" , 0x04980B }, + { (char*) "Mexico/BajaSur" , 0x049C18 }, + { (char*) "Mexico/General" , 0x049D93 }, + { (char*) "MST" , 0x049F3B }, + { (char*) "MST7MDT" , 0x049FB6 }, + { (char*) "Navajo" , 0x04A379 }, + { (char*) "NZ" , 0x04A797 }, + { (char*) "NZ-CHAT" , 0x04ABB6 }, + { (char*) "Pacific/Apia" , 0x04AEEA }, + { (char*) "Pacific/Auckland" , 0x04B08D }, + { (char*) "Pacific/Bougainville" , 0x04B4C4 }, + { (char*) "Pacific/Chatham" , 0x04B5A5 }, + { (char*) "Pacific/Chuuk" , 0x04B8E8 }, + { (char*) "Pacific/Easter" , 0x04B9C6 }, + { (char*) "Pacific/Efate" , 0x04BE75 }, + { (char*) "Pacific/Enderbury" , 0x04BFD7 }, + { (char*) "Pacific/Fakaofo" , 0x04C08F }, + { (char*) "Pacific/Fiji" , 0x04C134 }, + { (char*) "Pacific/Funafuti" , 0x04C2EC }, + { (char*) "Pacific/Galapagos" , 0x04C37E }, + { (char*) "Pacific/Gambier" , 0x04C44A }, + { (char*) "Pacific/Guadalcanal" , 0x04C4E9 }, + { (char*) "Pacific/Guam" , 0x04C57B }, + { (char*) "Pacific/Honolulu" , 0x04C6E5 }, + { (char*) "Pacific/Johnston" , 0x04C7D4 }, + { (char*) "Pacific/Kanton" , 0x04C8BD }, + { (char*) "Pacific/Kiritimati" , 0x04C984 }, + { (char*) "Pacific/Kosrae" , 0x04CA4A }, + { (char*) "Pacific/Kwajalein" , 0x04CB4E }, + { (char*) "Pacific/Majuro" , 0x04CC3E }, + { (char*) "Pacific/Marquesas" , 0x04CD41 }, + { (char*) "Pacific/Midway" , 0x04CDE9 }, + { (char*) "Pacific/Nauru" , 0x04CEA4 }, + { (char*) "Pacific/Niue" , 0x04CF67 }, + { (char*) "Pacific/Norfolk" , 0x04D00D }, + { (char*) "Pacific/Noumea" , 0x04D110 }, + { (char*) "Pacific/Pago_Pago" , 0x04D1E2 }, + { (char*) "Pacific/Palau" , 0x04D280 }, + { (char*) "Pacific/Pitcairn" , 0x04D320 }, + { (char*) "Pacific/Pohnpei" , 0x04D3C5 }, + { (char*) "Pacific/Ponape" , 0x04D4B5 }, + { (char*) "Pacific/Port_Moresby" , 0x04D597 }, + { (char*) "Pacific/Rarotonga" , 0x04D65A }, + { (char*) "Pacific/Saipan" , 0x04D7FC }, + { (char*) "Pacific/Samoa" , 0x04D8C3 }, + { (char*) "Pacific/Tahiti" , 0x04D961 }, + { (char*) "Pacific/Tarawa" , 0x04DA01 }, + { (char*) "Pacific/Tongatapu" , 0x04DAA2 }, + { (char*) "Pacific/Truk" , 0x04DB9B }, + { (char*) "Pacific/Wake" , 0x04DC6A }, + { (char*) "Pacific/Wallis" , 0x04DD07 }, + { (char*) "Pacific/Yap" , 0x04DD99 }, + { (char*) "Poland" , 0x04DE68 }, + { (char*) "Portugal" , 0x04E20F }, + { (char*) "PRC" , 0x04E7C9 }, + { (char*) "PST8PDT" , 0x04E95E }, + { (char*) "ROC" , 0x04ED21 }, + { (char*) "ROK" , 0x04EF2C }, + { (char*) "Singapore" , 0x04F0D7 }, + { (char*) "Turkey" , 0x04F1E3 }, + { (char*) "UCT" , 0x04F69F }, + { (char*) "Universal" , 0x04F71A }, + { (char*) "US/Alaska" , 0x04F795 }, + { (char*) "US/Aleutian" , 0x04FB72 }, + { (char*) "US/Arizona" , 0x04FF47 }, + { (char*) "US/Central" , 0x050043 }, + { (char*) "US/East-Indiana" , 0x050729 }, + { (char*) "US/Eastern" , 0x050948 }, + { (char*) "US/Hawaii" , 0x051024 }, + { (char*) "US/Indiana-Starke" , 0x05110D }, + { (char*) "US/Michigan" , 0x051511 }, + { (char*) "US/Mountain" , 0x0518A0 }, + { (char*) "US/Pacific" , 0x051CBE }, + { (char*) "US/Samoa" , 0x0521D8 }, + { (char*) "UTC" , 0x052276 }, + { (char*) "W-SU" , 0x0522F1 }, + { (char*) "WET" , 0x052689 }, + { (char*) "Zulu" , 0x052883 }, }; -const unsigned char timelib_timezone_db_data_builtin[341337] = { +const unsigned char timelib_timezone_db_data_builtin[338174] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -622,10 +623,46 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, 0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x1D, 0x94, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC0, 0xB4, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x97, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x69, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x15, 0xCB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0x9D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xF6, 0xFE, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0x97, 0xD0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xD8, 0x32, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA9, 0x79, 0x04, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xBA, 0xB7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0x5B, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0x9B, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0x3C, 0xBC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x7D, 0x1E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0x1D, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x51, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0x23, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x40, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB2, 0xE1, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x0A, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0xDC, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x3D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0xA4, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x85, 0x43, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC6, 0xF6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0xC8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0x48, 0xFB, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x5D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x0B, 0x62, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x15, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xE7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x49, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC3, 0xCF, 0x1B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x7C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC5, 0xB0, 0x4E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xB0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0x91, 0x82, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x31, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC9, 0x74, 0x07, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x12, 0x40, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x55, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x87, 0x3C, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0xE1, 0xD3, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xA1, 0xDB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xAB, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x83, 0x0E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0x23, 0xDE, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x93, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x63, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x46, 0xC7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0xE7, 0x97, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x27, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0xC8, 0xCA, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x09, 0x2E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xFE, 0x18, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x08, +0x01, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, +0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, /* Africa/Addis_Ababa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -633,14 +670,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, +0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, +0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, +0x00, 0x00, 0x00, /* Africa/Algiers */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -681,14 +716,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0xA0, 0xB9, 0xD5, 0x01, 0x4D, 0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, +0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, 0x01, 0x4D, +0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, /* Africa/Asmera */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -696,14 +730,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, +0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Bamako */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -711,10 +744,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, +0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, /* Africa/Bangui */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -722,14 +757,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x7D, 0x14, 0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Africa/Banjul */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -737,10 +768,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x67, 0x9C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x00, +0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, +0x00, 0x00, 0x00, 0x00, /* Africa/Bissau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -761,10 +795,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0x12, 0x2C, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x97, 0x73, 0xEA, 0xFF, +0xFF, 0xFF, 0xFF, 0xAC, 0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, +0x00, 0x00, 0x21, 0x16, 0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, +0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, +0x00, /* Africa/Brazzaville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -772,14 +809,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x2C, 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, /* Africa/Bujumbura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -788,7 +821,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xBF, 0xF8, 0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 0x00, 0x00, 0x00, 0x00, @@ -1043,10 +1076,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9B, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x97, +0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, /* Africa/Dakar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1054,10 +1089,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3B, 0x10, 0x90, 0x01, +0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, +0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, +0x00, /* Africa/Dar_es_Salaam */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1065,14 +1102,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xD3, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x7F, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, +0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, /* Africa/Djibouti */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1080,14 +1115,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD2, 0x0C, 0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, /* Africa/Douala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1095,14 +1126,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0x68, 0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, /* Africa/El_Aaiun */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1228,10 +1255,24 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0xFF, +0xFF, 0xFF, 0xFF, 0x5A, 0x7A, 0xA8, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xB7, 0xBF, 0x6C, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0x3E, 0xE0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x61, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x1B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xBF, 0x94, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x4F, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xA0, 0xC8, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x82, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x83, 0x4D, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x07, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x64, 0x80, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x3B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x45, 0xB4, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x6E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x77, 0x53, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF5, 0xE3, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x34, 0x3C, 0x10, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, +0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, 0xFF, 0xFF, 0xF6, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, +0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, +0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x2B, 0x30, 0x31, 0x00, 0x0A, 0x58, +0x58, 0x58, 0x2D, 0x30, 0x3A, 0x34, 0x30, 0x3C, 0x2B, 0x30, 0x31, 0x3E, 0x2D, 0x30, 0x3A, 0x32, +0x30, 0x2C, 0x30, 0x2F, 0x30, 0x2C, 0x4A, 0x33, 0x36, 0x35, 0x2F, 0x32, 0x33, 0x3A, 0x34, 0x30, +0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, /* Africa/Gaborone */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1239,10 +1280,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, +0xFF, 0xFF, 0xFF, 0x60, 0x1F, 0x70, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, +0x02, 0x03, 0x02, 0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, +0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x41, +0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, + /* Africa/Harare */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1251,7 +1296,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x64, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 0x68, 0x00, 0x00, 0x00, 0x00, @@ -1308,14 +1353,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0x9A, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x86, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x47, 0x54, 0x01, +0x02, 0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, +0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x45, +0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, +0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, +0x00, 0x00, /* Africa/Khartoum */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1356,7 +1401,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xBE, 0xF1, 0x0E, 0x50, 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 0x4A, 0x00, 0x00, 0x00, 0x00, @@ -1366,15 +1411,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, -0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, -0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x2C, 0xA8, 0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, 0x44, +0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, +0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* Africa/Lagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1397,14 +1439,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0xA4, 0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, +0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, /* Africa/Lome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1413,7 +1451,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x6F, 0x2B, 0xC6, 0x5C, 0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2, 0x00, 0x00, 0x00, 0x00, @@ -1423,14 +1461,11 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x6D, 0x49, 0x36, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x70, 0x01, +0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, +0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Africa/Lubumbashi */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1438,12 +1473,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, -0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, -0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, 0x00, 0x19, 0x44, -0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, -0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x21, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x8A, 0x5B, 0xF0, 0x01, +0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, +0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, +0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, +0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, /* Africa/Lusaka */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1452,7 +1488,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC9, 0xFC, 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 0xAD, 0x00, 0x00, 0x00, 0x00, @@ -1462,14 +1498,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x86, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x9F, 0xBE, 0x80, 0x01, +0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, +0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, 0x00, +0x00, 0x00, /* Africa/Maputo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1488,14 +1522,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, -0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, -0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, -0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xFF, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCA, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, 0x00, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, +0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, 0x5D, +0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Mbabane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1503,14 +1535,11 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, -0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, -0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, -0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0xFF, +0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x58, 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, +0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, 0x00, +0x00, /* Africa/Mogadishu */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1518,14 +1547,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x70, 0xBC, 0x64, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xCE, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, +0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, 0x00, /* Africa/Monrovia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1575,14 +1602,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, 0x52, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xC6, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, +0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, +0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, +0x52, 0x00, 0x00, 0x00, 0x00, /* Africa/Nouakchott */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1590,10 +1616,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9D, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0xA4, +0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, /* Africa/Ouagadougou */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1602,7 +1630,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8F, 0xEC, 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 0x0D, 0x00, 0x00, 0x00, 0x00, @@ -1612,14 +1640,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, -0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, -0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, -0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0x01, +0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, +0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, 0x00, +0x00, 0x00, /* Africa/Sao_Tome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1641,10 +1667,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Tripoli */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1887,13 +1915,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x35, 0x20, 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, /* America/Antigua */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1901,13 +1926,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xDC, 0x50, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, +0x00, /* America/Araguaina */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2589,13 +2613,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2F, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, +0x00, 0x00, 0x00, /* America/Asuncion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2662,14 +2685,18 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, -0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, -0x21, 0x45, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, -0x6B, 0x61, 0x6E, 0x29, 0x3B, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, -0x48, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0xA1, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, 0xFF, +0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, +0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, 0x21, 0x45, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, +0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, 0x48, 0x29, /* America/Atka */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2944,15 +2971,17 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, -0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, -0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, 0x65, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x39, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x85, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xDD, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xE2, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x02, +0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, +0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, +0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, +0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, +0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, +0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, +0x68, 0x6F, 0x72, 0x65, 0x29, /* America/Boa_Vista */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3354,9 +3383,9 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x27, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x0F, 0xB4, 0xFE, 0x01, +0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 0x22, 0x00, 0x00, 0x00, 0x00, @@ -3507,12 +3536,16 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, 0x01, -0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, -0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0xA1, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, 0xFF, +0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x57, +0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Cordoba */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3586,18 +3619,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x04, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x3A, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBB, 0x07, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x1C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xE9, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x8F, 0xE5, 0xAC, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x81, 0x1A, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x75, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x58, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, -0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, -0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, -0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, -0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, -0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x70, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x4B, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, 0x00, +0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xD4, +0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, +0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, /* America/Cuiaba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3667,13 +3695,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, +0x00, 0x00, 0x00, /* America/Danmarkshavn */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3820,7 +3847,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, -0x00, 0x4D, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xE4, 0x86, 0x9A, 0x00, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xDE, 0x6C, 0x1A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x43, 0x72, 0x2C, 0x20, 0x46, 0x74, 0x20, 0x53, 0x74, 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x29, @@ -3962,13 +3989,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x4C, 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, /* America/Edmonton */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4574,13 +4598,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x64, 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, /* America/Guadeloupe */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4588,13 +4609,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xD5, 0xE1, 0xB0, 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, /* America/Guatemala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5682,13 +5700,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, +0x00, 0x00, 0x00, /* America/La_Paz */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5897,13 +5914,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, 0xEC, 0x48, 0x01, +0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, 0x41, 0x53, 0x54, +0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, +0x00, 0x00, 0x00, /* America/Maceio */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5999,13 +6015,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, /* America/Martinique */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6635,13 +6648,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x35, 0x10, 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, /* America/Nassau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6649,236 +6659,191 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x78, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x87, 0x2E, 0xC8, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xB1, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x94, 0x06, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0x55, 0xA9, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x86, 0x5D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA5, 0x28, 0x78, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x66, 0x3F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA7, 0x0C, 0x4E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x46, 0x21, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA8, 0xEC, 0x30, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x1C, 0xC9, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x4D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFC, 0xAB, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAC, 0xB5, 0x2F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xDC, 0x8D, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xAE, 0x95, 0x11, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xBC, 0x6F, 0x70, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x42, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF4, 0xEF, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0xFA, 0x47, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x23, 0x34, 0x50, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x78, 0x9A, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, +0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, +0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, +0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x04, 0xFF, 0xFF, 0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, +0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, +0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, 0x00, + +/* America/New_York */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x25, 0x13, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBB, 0xCF, 0xEE, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, +0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, +0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, +0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, +0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, +0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, +0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, +0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, +0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + + +/* America/Nipigon */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x81, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x49, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x29, 0x0A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x12, 0x26, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, -0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, -0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, -0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, -0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, -0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xB5, 0x94, 0x00, -0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, -0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, -0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, -0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, -0x00, - -/* America/New_York */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, -0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, -0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, -0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, -0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, -0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, -0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, -0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, - - -/* America/Nipigon */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x81, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x49, 0x50, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, @@ -7445,13 +7410,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, /* America/Porto_Acre */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7530,7 +7492,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -7540,69 +7502,70 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, -0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, -0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, -0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x48, 0x94, 0x30, 0x00, -0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x28, 0x76, 0x30, 0x00, -0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, -0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, -0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, -0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, -0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, -0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, -0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, -0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, -0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, -0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, -0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, -0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, -0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, -0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, -0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x43, 0x86, 0xB0, 0x01, -0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x06, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, -0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, 0x00, 0xA6, 0x72, -0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x4D, -0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, +0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xE3, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, +0x00, 0x00, 0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x48, 0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x28, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, +0x00, 0x00, 0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, +0x00, 0x00, 0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, +0x00, 0x00, 0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, +0x00, 0x00, 0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, +0x00, 0x00, 0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, +0x00, 0x00, 0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, +0x00, 0x00, 0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, +0x00, 0x00, 0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, +0x00, 0x00, 0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, +0x00, 0x00, 0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, +0x00, 0x00, 0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, +0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x43, 0x86, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, +0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x06, 0xFF, 0xFF, 0xBD, 0x84, +0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, +0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, +0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, 0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, +0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, +0x65, 0x73, /* America/Rainy_River */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8017,7 +7980,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -8027,7 +7990,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -8078,23 +8041,27 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x05, 0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0x05, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, -0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, -0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, -0x34, 0x0A, 0x00, 0x56, 0x49, 0xD8, 0x00, 0xA6, 0xD4, 0x55, 0x00, 0x00, 0x00, 0x12, 0x43, 0x68, -0x69, 0x6C, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, - +0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, +0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, +0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x56, 0x49, 0xD8, 0x00, 0xA6, +0xD4, 0x55, 0x00, 0x00, 0x00, 0x12, 0x43, 0x68, 0x69, 0x6C, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, +0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Santo_Domingo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8358,13 +8325,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, /* America/St_Johns */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8495,13 +8459,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x34, 0xCC, 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, /* America/St_Lucia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8509,13 +8470,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xB0, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, +0x00, /* America/St_Thomas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8523,13 +8483,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, /* America/St_Vincent */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8537,13 +8494,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xE8, 0x01, +0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x04, 0xFF, 0xFF, 0xC7, +0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, +0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, +0x00, /* America/Swift_Current */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8867,13 +8823,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x14, 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, /* America/Vancouver */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8969,13 +8922,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, -0x03, 0x02, 0x01, 0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, -0x53, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, +0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Whitehorse */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9286,13 +9236,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x5A, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xED, 0xA4, 0x90, 0x01, -0x02, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x8C, -0xA0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, -0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, -0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0xBC, 0x76, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x34, 0x60, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x3C, 0x02, 0x80, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x0A, 0x3C, +0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, +0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, +0x69, 0x6C, 0x6C, 0x65, /* Antarctica/Macquarie */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9378,22 +9328,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0xFF, -0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, @@ -9427,21 +9363,18 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, -0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, -0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, -0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, -0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, -0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, -0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, -0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, -0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, -0x20, 0x50, 0x6F, 0x6C, 0x65, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, +0x53, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, +0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x65, 0x77, 0x20, +0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, +0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x50, 0x6F, +0x6C, 0x65, /* Antarctica/Palmer */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9520,22 +9453,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0xFF, -0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, -0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, @@ -9569,18 +9488,15 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, -0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, -0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, -0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, -0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, -0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, -0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, +0x53, 0x54, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, +0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Antarctica/Syowa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9589,8 +9505,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, -0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, +0xFF, 0xFF, 0xFF, 0xE7, 0xB1, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 0x11, 0x58, 0x00, 0x00, 0x00, 0x05, 0x53, 0x79, 0x6F, 0x77, 0x61, @@ -9674,7 +9590,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x38, 0x56, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x9C, 0xC8, 0xB8, 0x01, 0x57, 0xA0, 0xC0, 0x00, 0x00, 0x00, 0x00, @@ -10065,12 +9981,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x9D, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x01, -0x02, 0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, -0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, 0x3D, 0x01, 0x5F, 0xD7, 0x9D, -0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x7B, 0x6C, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0x59, 0x48, 0x00, +0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, +0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Asia/Baku */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -10894,12 +10811,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x99, 0xBB, 0x78, @@ -11532,7 +11449,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x35, 0x84, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB6, 0x16, 0x95, 0x01, 0x5B, 0xDF, 0xFD, 0x00, 0x00, 0x00, 0x00, @@ -11739,7 +11656,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x99, 0xA8, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x96, 0x90, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x34, 0x3E, 0x2D, 0x34, 0x0A, 0x00, 0xAD, 0x57, 0x00, 0x01, 0x6C, 0x0C, 0x9D, 0x00, 0x00, 0x00, 0x00, @@ -11987,10 +11904,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x01, -0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, -0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x45, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x62, 0x5C, +0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, +0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, +0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x9A, 0xF3, 0xF8, 0x01, 0xB2, 0xBF, 0x92, 0x00, 0x00, 0x00, 0x00, @@ -12163,12 +12083,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x00, 0x00, 0x00, @@ -12493,128 +12413,53 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, 0x12, 0xC8, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, 0x2D, 0x40, 0x00, -0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, -0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, -0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, -0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x00, -0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, 0x99, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, 0xCD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, 0x52, 0x38, 0x00, -0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, 0x85, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, 0xB9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, 0xEC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, 0x20, 0x38, 0x00, -0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0xA5, 0x38, 0x00, -0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, 0xD8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, 0x0C, 0x38, 0x00, -0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, 0x3F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, 0xC4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, 0xF8, 0x38, 0x00, -0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, 0x2B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, 0x5F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, 0xE4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, 0x17, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, 0x4B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, 0x7E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, 0x03, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, 0x37, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x6A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, 0x9E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, 0x23, 0x38, 0x00, -0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, 0x56, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, 0x8A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, 0xBD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, 0x42, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, 0x76, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, 0xA9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, 0xDD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, 0x62, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, 0x95, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, 0xC9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, 0x81, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, 0xB5, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, 0xE8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, 0x1C, 0x38, 0x00, -0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, 0x4F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, 0xD4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, 0x08, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, 0x3B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, 0x6F, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, 0xF4, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, 0x27, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, 0x5B, 0x38, 0x00, -0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, 0x8E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, 0x13, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, 0x47, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x7A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, 0xAE, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, 0x33, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, 0x66, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, 0x9A, 0x38, 0x00, -0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, 0xCD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, 0x52, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, 0x86, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, 0xB9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, 0xED, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, 0x72, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, 0xA5, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, 0xD9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, 0x0C, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, 0x91, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, 0x2B, 0x30, -0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, 0x36, 0x33, -0x2F, 0x32, 0x34, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, +0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, +0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, +0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, +0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, +0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, +0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, +0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x01, 0x03, 0x02, 0x05, 0x04, 0x05, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, +0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, +0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, +0x00, 0x18, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, +0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, /* Asia/Tel_Aviv */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12948,12 +12793,16 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, -0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x01, -0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, -0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, -0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, -0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x47, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x51, 0x61, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x00, 0x00, +0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, +0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, +0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, +0x36, 0xA0, 0x00, 0x00, 0x00, 0x00, /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -13652,10 +13501,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, -0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xE0, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0x9B, 0x58, 0x01, +0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, +0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, +0x00, /* Atlantic/Stanley */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -15679,7 +15530,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, @@ -15689,7 +15540,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -15740,21 +15591,26 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, -0x03, 0x05, 0x03, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0x05, 0x04, 0x02, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, -0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, -0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, -0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, -0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, -0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, +0x03, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, +0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x34, 0x3E, 0x34, +0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Chile/EasterIsland */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -15762,7 +15618,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x42, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x40, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -15813,20 +15669,25 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, -0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, -0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, -0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, -0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, +0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, +0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, +0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, +0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, +0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, /* CST6CDT */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -16088,7 +15949,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, +0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -16169,7 +16030,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x05, 0x04, 0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, @@ -17330,7 +17191,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, +0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17411,7 +17272,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x05, 0x04, 0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, @@ -17506,8 +17367,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, +0xFF, 0xFF, 0xFF, 0x95, 0xA6, 0x91, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17532,76 +17393,77 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, -0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, -0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, -0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, -0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, +0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x06, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFD, +0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, +0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, +0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0xCA, 0x80, 0x01, +0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, /* Europe/Helsinki */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -17643,7 +17505,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5C, 0xCF, 0xD8, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17732,7 +17594,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFB, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, @@ -17823,8 +17685,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, +0xFF, 0xFF, 0xFF, 0x79, 0x68, 0x3D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, @@ -17849,76 +17711,77 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, -0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, -0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, -0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, -0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, -0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, -0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, +0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x06, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xFE, +0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, +0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, +0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0x60, 0x99, 0x01, +0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -17982,7 +17845,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18016,9 +17879,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, -0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, -0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, 0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, -0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Europe/Kirov */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18069,6 +17931,45 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0xE0, 0x01, 0x5E, 0x6B, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x53, 0x4B, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x72, 0x6F, 0x76, +/* Europe/Kyiv */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x22, 0xFF, +0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0xC7, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0xA7, 0x64, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0xA4, 0x19, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0x2E, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCD, 0xA8, 0x70, 0x00, +0x00, 0x00, 0x00, 0x15, 0x27, 0xA7, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xDC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x17, 0x08, 0xDB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x0F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xEA, 0x0E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x43, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xCC, 0x93, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xA0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0x91, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x82, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x8D, 0x20, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xBD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xAE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x9F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xCB, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x01, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x03, 0x06, +0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, +0x03, 0x06, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x00, 0x00, +0x1C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x4C, 0x4D, +0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, +0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, +0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, +0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, 0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, +0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + /* Europe/Lisbon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18171,10 +18072,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF5, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -18191,7 +18092,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCF, @@ -19182,10 +19083,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF2, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19202,7 +19103,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCC, @@ -19282,8 +19183,8 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xC2, 0xC6, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, @@ -19323,10 +19224,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xEF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19343,7 +19244,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC9, @@ -19655,33 +19556,32 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xFF, -0xFF, 0xFF, 0xFF, 0x24, 0xF0, 0xEA, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x06, 0x86, 0xFF, -0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, -0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, -0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, -0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, -0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, -0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, -0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, -0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, -0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, -0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, -0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x08, 0x00, -0x00, 0x00, 0x00, 0x00, 0x06, 0xFA, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, -0x00, 0x43, 0x45, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, -0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, -0x0A, 0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x04, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x00, 0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, +0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, +0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, +0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xD1, +0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, /* Europe/Vatican */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -19953,10 +19853,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, -0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF4, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, @@ -19973,7 +19873,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x00, 0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, +0x02, 0x01, 0x02, 0x00, 0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xCF, @@ -20438,14 +20338,12 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xCD, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x33, 0xC0, 0xC0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2C, 0x8C, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, +0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, /* Indian/Chagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20490,14 +20388,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD1, 0xF0, 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, 0x00, /* Indian/Kerguelen */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20556,14 +20450,10 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0xFF, -0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0xEE, 0xDA, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xAD, 0x58, 0xFF, -0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, -0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, -0x26, 0xAC, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, -0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, +0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD0, 0x18, 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, +0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Indian/Reunion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -20583,128 +20473,53 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, 0x12, 0xC8, 0x00, -0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, 0x2D, 0x40, 0x00, -0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, -0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, -0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, -0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x00, -0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, 0x99, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, 0xCD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, 0x52, 0x38, 0x00, -0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, 0x85, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, 0xB9, 0x38, 0x00, -0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, 0xEC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, 0x20, 0x38, 0x00, -0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0xA5, 0x38, 0x00, -0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, 0xD8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, 0x0C, 0x38, 0x00, -0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, 0x3F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, 0xC4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, 0xF8, 0x38, 0x00, -0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, 0x2B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, 0x5F, 0x38, 0x00, -0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, 0xE4, 0x38, 0x00, -0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, 0x17, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, 0x4B, 0x38, 0x00, -0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, 0x7E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, 0x03, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, 0x37, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x6A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, 0x9E, 0x38, 0x00, -0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, 0x23, 0x38, 0x00, -0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, 0x56, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, 0x8A, 0x38, 0x00, -0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, 0xBD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, 0x42, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, 0x76, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, 0xA9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, 0xDD, 0x38, 0x00, -0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, 0x62, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, 0x95, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, 0xC9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFC, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, 0x81, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, 0xB5, 0x38, 0x00, -0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, 0xE8, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, 0x1C, 0x38, 0x00, -0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, 0x4F, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, 0xD4, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, 0x08, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, 0x3B, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, 0x6F, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, 0xF4, 0x38, 0x00, -0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, 0x27, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, 0x5B, 0x38, 0x00, -0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, 0x8E, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, 0x13, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, 0x47, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, 0x7A, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, 0xAE, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, 0x33, 0x38, 0x00, -0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, 0x66, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, 0x9A, 0x38, 0x00, -0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, 0xCD, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, 0x52, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, 0x86, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, 0xB9, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, 0xED, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, 0x72, 0x38, 0x00, -0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, 0xA5, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, 0xD9, 0x38, 0x00, -0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, 0x0C, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, 0x91, 0xB8, 0x00, -0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, 0x2B, 0x30, -0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, 0x36, 0x33, -0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, +0x00, 0x00, 0x00, 0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, +0x00, 0x00, 0x00, 0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, +0x00, 0x00, 0x00, 0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, +0x00, 0x00, 0x00, 0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, +0x00, 0x00, 0x00, 0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, +0x00, 0x00, 0x00, 0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, +0x00, 0x00, 0x00, 0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, +0x00, 0x00, 0x00, 0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, +0x00, 0x00, 0x00, 0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, +0x00, 0x00, 0x00, 0x63, 0x2B, 0x66, 0x38, 0x01, 0x03, 0x02, 0x05, 0x04, 0x05, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, +0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, +0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, +0x00, 0x18, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, +0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Israel */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -21484,7 +21299,7 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x42, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x40, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, @@ -21535,21 +21350,25 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x59, 0x17, 0xC8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x59, 0x8F, 0xCE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xF7, 0xAA, 0x30, 0x00, -0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x01, +0x00, 0x00, 0x00, 0x5B, 0x6F, 0xB0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA9, 0x67, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, +0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, -0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, -0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, -0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, -0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x5F, -0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, 0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, -0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x99, +0x78, 0x00, 0x00, 0xFF, 0xFF, 0x99, 0x78, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, +0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x36, 0x00, 0x2D, 0x30, 0x37, +0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x36, 0x3E, 0x36, 0x3C, 0x2D, 0x30, 0x35, +0x3E, 0x2C, 0x4D, 0x39, 0x2E, 0x31, 0x2E, 0x36, 0x2F, 0x32, 0x32, 0x2C, 0x4D, 0x34, 0x2E, 0x31, +0x2E, 0x36, 0x2F, 0x32, 0x32, 0x0A, 0x00, 0x5F, 0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00, +0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, /* Pacific/Efate */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -21848,12 +21667,13 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0x6E, 0x3D, 0xC8, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x05, 0xFB, 0x08, 0x01, -0x02, 0x00, 0x00, 0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x65, -0x50, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x53, 0x54, 0x31, -0x31, 0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, -0x64, 0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0xFF, 0xFF, 0xFF, 0x7E, 0x37, 0x5B, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x75, 0x8A, 0xB0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0xED, 0x75, 0x20, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x59, 0xB8, 0x00, 0x00, +0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2D, 0x31, 0x31, 0x3E, 0x31, 0x31, +0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, +0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, /* Pacific/Nauru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -22041,24 +21861,14 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC5, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2D, 0x4C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x37, 0x95, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2E, 0x89, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0x37, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x36, 0xF8, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x9B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x58, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0x75, 0x70, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x57, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x70, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x0C, 0x08, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7C, 0x87, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xBF, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x65, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x05, 0xFF, 0xFF, 0x36, 0x34, -0x00, 0x00, 0x00, 0x00, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, -0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, -0x43, 0x68, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, -0x85, 0xC0, 0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xFF, +0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC4, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2C, 0x5C, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, +0x02, 0x03, 0x04, 0xFF, 0xFF, 0x37, 0x24, 0x00, 0x00, 0x00, 0x00, 0x88, 0xA4, 0x00, 0x00, 0x00, +0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, 0xA0, 0x00, +0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, 0x68, 0x53, +0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x85, 0xC0, 0x01, +0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, /* Pacific/Samoa */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -23426,606 +23236,607 @@ const unsigned char timelib_timezone_db_data_builtin[341337] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #else -const timelib_tzdb_index_entry timezonedb_idx_builtin[595] = { - { "Africa/Abidjan" , 0x000000 }, - { "Africa/Accra" , 0x0000A0 }, - { "Africa/Addis_Ababa" , 0x000140 }, - { "Africa/Algiers" , 0x000255 }, - { "Africa/Asmara" , 0x000540 }, - { "Africa/Asmera" , 0x000655 }, - { "Africa/Bamako" , 0x00076A }, - { "Africa/Bangui" , 0x00080A }, - { "Africa/Banjul" , 0x000901 }, - { "Africa/Bissau" , 0x0009A1 }, - { "Africa/Blantyre" , 0x000A6F }, - { "Africa/Brazzaville" , 0x000B10 }, - { "Africa/Bujumbura" , 0x000C07 }, - { "Africa/Cairo" , 0x000CA8 }, - { "Africa/Casablanca" , 0x001457 }, - { "Africa/Ceuta" , 0x001DE0 }, - { "Africa/Conakry" , 0x0025EE }, - { "Africa/Dakar" , 0x00268E }, - { "Africa/Dar_es_Salaam" , 0x00272E }, - { "Africa/Djibouti" , 0x002843 }, - { "Africa/Douala" , 0x002958 }, - { "Africa/El_Aaiun" , 0x002A4F }, - { "Africa/Freetown" , 0x003352 }, - { "Africa/Gaborone" , 0x0033F2 }, - { "Africa/Harare" , 0x003493 }, - { "Africa/Johannesburg" , 0x003534 }, - { "Africa/Juba" , 0x003636 }, - { "Africa/Kampala" , 0x0038E9 }, - { "Africa/Khartoum" , 0x0039FE }, - { "Africa/Kigali" , 0x003CB1 }, - { "Africa/Kinshasa" , 0x003D52 }, - { "Africa/Lagos" , 0x003E62 }, - { "Africa/Libreville" , 0x003F59 }, - { "Africa/Lome" , 0x004050 }, - { "Africa/Luanda" , 0x0040F0 }, - { "Africa/Lubumbashi" , 0x0041E7 }, - { "Africa/Lusaka" , 0x0042A1 }, - { "Africa/Malabo" , 0x004342 }, - { "Africa/Maputo" , 0x004439 }, - { "Africa/Maseru" , 0x0044DA }, - { "Africa/Mbabane" , 0x0045DC }, - { "Africa/Mogadishu" , 0x0046DE }, - { "Africa/Monrovia" , 0x0047F3 }, - { "Africa/Nairobi" , 0x0048CF }, - { "Africa/Ndjamena" , 0x0049E4 }, - { "Africa/Niamey" , 0x004AB7 }, - { "Africa/Nouakchott" , 0x004BAE }, - { "Africa/Ouagadougou" , 0x004C4E }, - { "Africa/Porto-Novo" , 0x004CEE }, - { "Africa/Sao_Tome" , 0x004DE5 }, - { "Africa/Timbuktu" , 0x004EEF }, - { "Africa/Tripoli" , 0x004F8F }, - { "Africa/Tunis" , 0x00520C }, - { "Africa/Windhoek" , 0x0054C9 }, - { "America/Adak" , 0x005890 }, - { "America/Anchorage" , 0x0061E0 }, - { "America/Anguilla" , 0x006B42 }, - { "America/Antigua" , 0x006C44 }, - { "America/Araguaina" , 0x006D46 }, - { "America/Argentina/Buenos_Aires" , 0x0070CF }, - { "America/Argentina/Catamarca" , 0x007524 }, - { "America/Argentina/ComodRivadavia" , 0x00797F }, - { "America/Argentina/Cordoba" , 0x007DBF }, - { "America/Argentina/Jujuy" , 0x008235 }, - { "America/Argentina/La_Rioja" , 0x008663 }, - { "America/Argentina/Mendoza" , 0x008ABE }, - { "America/Argentina/Rio_Gallegos" , 0x008F0A }, - { "America/Argentina/Salta" , 0x009359 }, - { "America/Argentina/San_Juan" , 0x009793 }, - { "America/Argentina/San_Luis" , 0x009BEE }, - { "America/Argentina/Tucuman" , 0x00A055 }, - { "America/Argentina/Ushuaia" , 0x00A4BD }, - { "America/Aruba" , 0x00A912 }, - { "America/Asuncion" , 0x00AA14 }, - { "America/Atikokan" , 0x00B21C }, - { "America/Atka" , 0x00B2FF }, - { "America/Bahia" , 0x00BC3F }, - { "America/Bahia_Banderas" , 0x00C050 }, - { "America/Barbados" , 0x00C686 }, - { "America/Belem" , 0x00C846 }, - { "America/Belize" , 0x00CAA4 }, - { "America/Blanc-Sablon" , 0x00D0FE }, - { "America/Boa_Vista" , 0x00D21C }, - { "America/Bogota" , 0x00D4A7 }, - { "America/Boise" , 0x00D5A9 }, - { "America/Buenos_Aires" , 0x00DF2F }, - { "America/Cambridge_Bay" , 0x00E36F }, - { "America/Campo_Grande" , 0x00EBB3 }, - { "America/Cancun" , 0x00F175 }, - { "America/Caracas" , 0x00F4B3 }, - { "America/Catamarca" , 0x00F5C7 }, - { "America/Cayenne" , 0x00FA07 }, - { "America/Cayman" , 0x00FAD9 }, - { "America/Chicago" , 0x00FB9B }, - { "America/Chihuahua" , 0x0109B3 }, - { "America/Coral_Harbour" , 0x010FB1 }, - { "America/Cordoba" , 0x011073 }, - { "America/Costa_Rica" , 0x0114B3 }, - { "America/Creston" , 0x0115FB }, - { "America/Cuiaba" , 0x011761 }, - { "America/Curacao" , 0x011D00 }, - { "America/Danmarkshavn" , 0x011E02 }, - { "America/Dawson" , 0x0120E2 }, - { "America/Dawson_Creek" , 0x01274E }, - { "America/Denver" , 0x012B94 }, - { "America/Detroit" , 0x013541 }, - { "America/Dominica" , 0x013E1C }, - { "America/Edmonton" , 0x013F1E }, - { "America/Eirunepe" , 0x014863 }, - { "America/El_Salvador" , 0x014B0E }, - { "America/Ensenada" , 0x014BFA }, - { "America/Fort_Nelson" , 0x01552C }, - { "America/Fort_Wayne" , 0x015E0C }, - { "America/Fortaleza" , 0x01649A }, - { "America/Glace_Bay" , 0x016798 }, - { "America/Godthab" , 0x01704F }, - { "America/Goose_Bay" , 0x0177B1 }, - { "America/Grand_Turk" , 0x018467 }, - { "America/Grenada" , 0x018B9D }, - { "America/Guadeloupe" , 0x018C9F }, - { "America/Guatemala" , 0x018DA1 }, - { "America/Guayaquil" , 0x018EC5 }, - { "America/Guyana" , 0x018FD9 }, - { "America/Halifax" , 0x0190EB }, - { "America/Havana" , 0x019E75 }, - { "America/Hermosillo" , 0x01A7F1 }, - { "America/Indiana/Indianapolis" , 0x01A9BC }, - { "America/Indiana/Knox" , 0x01B063 }, - { "America/Indiana/Marengo" , 0x01BA00 }, - { "America/Indiana/Petersburg" , 0x01C0DD }, - { "America/Indiana/Tell_City" , 0x01C86C }, - { "America/Indiana/Vevay" , 0x01CF20 }, - { "America/Indiana/Vincennes" , 0x01D4CC }, - { "America/Indiana/Winamac" , 0x01DB92 }, - { "America/Indianapolis" , 0x01E2A6 }, - { "America/Inuvik" , 0x01E934 }, - { "America/Iqaluit" , 0x01F0BA }, - { "America/Jamaica" , 0x01F8D4 }, - { "America/Jujuy" , 0x01FAC2 }, - { "America/Juneau" , 0x01FEE6 }, - { "America/Kentucky/Louisville" , 0x020837 }, - { "America/Kentucky/Monticello" , 0x021335 }, - { "America/Knox_IN" , 0x021C85 }, - { "America/Kralendijk" , 0x02260D }, - { "America/La_Paz" , 0x02270F }, - { "America/Lima" , 0x022803 }, - { "America/Los_Angeles" , 0x0229A5 }, - { "America/Louisville" , 0x0234CC }, - { "America/Lower_Princes" , 0x023FAC }, - { "America/Maceio" , 0x0240AE }, - { "America/Managua" , 0x0243B2 }, - { "America/Manaus" , 0x02456C }, - { "America/Marigot" , 0x0247E3 }, - { "America/Martinique" , 0x0248E5 }, - { "America/Matamoros" , 0x0249D9 }, - { "America/Mazatlan" , 0x024F91 }, - { "America/Mendoza" , 0x0255C8 }, - { "America/Menominee" , 0x025A08 }, - { "America/Merida" , 0x026315 }, - { "America/Metlakatla" , 0x0268CF }, - { "America/Mexico_City" , 0x026E81 }, - { "America/Miquelon" , 0x0274C9 }, - { "America/Moncton" , 0x027B57 }, - { "America/Monterrey" , 0x0287CD }, - { "America/Montevideo" , 0x028D8C }, - { "America/Montreal" , 0x02937E }, - { "America/Montserrat" , 0x02A130 }, - { "America/Nassau" , 0x02A232 }, - { "America/New_York" , 0x02AFE4 }, - { "America/Nipigon" , 0x02BDD4 }, - { "America/Nome" , 0x02C64B }, - { "America/Noronha" , 0x02CFA3 }, - { "America/North_Dakota/Beulah" , 0x02D28B }, - { "America/North_Dakota/Center" , 0x02DBF8 }, - { "America/North_Dakota/New_Salem" , 0x02E565 }, - { "America/Nuuk" , 0x02EED8 }, - { "America/Ojinaga" , 0x02F650 }, - { "America/Panama" , 0x02FC50 }, - { "America/Pangnirtung" , 0x02FD12 }, - { "America/Paramaribo" , 0x030566 }, - { "America/Phoenix" , 0x030678 }, - { "America/Port-au-Prince" , 0x0307E9 }, - { "America/Port_of_Spain" , 0x030D8F }, - { "America/Porto_Acre" , 0x030E91 }, - { "America/Porto_Velho" , 0x031111 }, - { "America/Puerto_Rico" , 0x031365 }, - { "America/Punta_Arenas" , 0x031467 }, - { "America/Rainy_River" , 0x031BF5 }, - { "America/Rankin_Inlet" , 0x03246D }, - { "America/Recife" , 0x032BF3 }, - { "America/Regina" , 0x032ED5 }, - { "America/Resolute" , 0x0332CA }, - { "America/Rio_Branco" , 0x033A51 }, - { "America/Rosario" , 0x033CD5 }, - { "America/Santa_Isabel" , 0x034115 }, - { "America/Santarem" , 0x034A47 }, - { "America/Santiago" , 0x034CB8 }, - { "America/Santo_Domingo" , 0x0356B7 }, - { "America/Sao_Paulo" , 0x03588D }, - { "America/Scoresbysund" , 0x035E73 }, - { "America/Shiprock" , 0x036618 }, - { "America/Sitka" , 0x036FB0 }, - { "America/St_Barthelemy" , 0x0378E8 }, - { "America/St_Johns" , 0x0379EA }, - { "America/St_Kitts" , 0x03885F }, - { "America/St_Lucia" , 0x038961 }, - { "America/St_Thomas" , 0x038A63 }, - { "America/St_Vincent" , 0x038B65 }, - { "America/Swift_Current" , 0x038C67 }, - { "America/Tegucigalpa" , 0x038EB5 }, - { "America/Thule" , 0x038FBD }, - { "America/Thunder_Bay" , 0x0395B5 }, - { "America/Tijuana" , 0x039E75 }, - { "America/Toronto" , 0x03A7C8 }, - { "America/Tortola" , 0x03B597 }, - { "America/Vancouver" , 0x03B699 }, - { "America/Virgin" , 0x03C20A }, - { "America/Whitehorse" , 0x03C30C }, - { "America/Winnipeg" , 0x03C978 }, - { "America/Yakutat" , 0x03D4D5 }, - { "America/Yellowknife" , 0x03DDF2 }, - { "Antarctica/Casey" , 0x03E5C3 }, - { "Antarctica/Davis" , 0x03E754 }, - { "Antarctica/DumontDUrville" , 0x03E88E }, - { "Antarctica/Macquarie" , 0x03E964 }, - { "Antarctica/Mawson" , 0x03F254 }, - { "Antarctica/McMurdo" , 0x03F32D }, - { "Antarctica/Palmer" , 0x03FCE4 }, - { "Antarctica/Rothera" , 0x040280 }, - { "Antarctica/South_Pole" , 0x040337 }, - { "Antarctica/Syowa" , 0x040CC8 }, - { "Antarctica/Troll" , 0x040D7E }, - { "Antarctica/Vostok" , 0x041219 }, - { "Arctic/Longyearbyen" , 0x0412D0 }, - { "Asia/Aden" , 0x041B90 }, - { "Asia/Almaty" , 0x041C41 }, - { "Asia/Amman" , 0x042049 }, - { "Asia/Anadyr" , 0x042792 }, - { "Asia/Aqtau" , 0x042C55 }, - { "Asia/Aqtobe" , 0x04304D }, - { "Asia/Ashgabat" , 0x043459 }, - { "Asia/Ashkhabad" , 0x0436D0 }, - { "Asia/Atyrau" , 0x043947 }, - { "Asia/Baghdad" , 0x043D47 }, - { "Asia/Bahrain" , 0x04412A }, - { "Asia/Baku" , 0x0441FD }, - { "Asia/Bangkok" , 0x0446D4 }, - { "Asia/Barnaul" , 0x0447A7 }, - { "Asia/Beirut" , 0x044C86 }, - { "Asia/Bishkek" , 0x0454FC }, - { "Asia/Brunei" , 0x0458DF }, - { "Asia/Calcutta" , 0x0459B6 }, - { "Asia/Chita" , 0x045ADF }, - { "Asia/Choibalsan" , 0x045FC4 }, - { "Asia/Chongqing" , 0x046397 }, - { "Asia/Chungking" , 0x0465D4 }, - { "Asia/Colombo" , 0x046811 }, - { "Asia/Dacca" , 0x046991 }, - { "Asia/Damascus" , 0x046AEE }, - { "Asia/Dhaka" , 0x0473F0 }, - { "Asia/Dili" , 0x04754D }, - { "Asia/Dubai" , 0x04763C }, - { "Asia/Dushanbe" , 0x0476ED }, - { "Asia/Famagusta" , 0x047948 }, - { "Asia/Gaza" , 0x04814F }, - { "Asia/Harbin" , 0x048ADB }, - { "Asia/Hebron" , 0x048D18 }, - { "Asia/Ho_Chi_Minh" , 0x0496BF }, - { "Asia/Hong_Kong" , 0x04982A }, - { "Asia/Hovd" , 0x049CE9 }, - { "Asia/Irkutsk" , 0x04A09B }, - { "Asia/Istanbul" , 0x04A59C }, - { "Asia/Jakarta" , 0x04AD43 }, - { "Asia/Jayapura" , 0x04AEBF }, - { "Asia/Jerusalem" , 0x04AFDE }, - { "Asia/Kabul" , 0x04B93E }, - { "Asia/Kamchatka" , 0x04BA1A }, - { "Asia/Karachi" , 0x04BEC6 }, - { "Asia/Kashgar" , 0x04C04D }, - { "Asia/Kathmandu" , 0x04C0FE }, - { "Asia/Katmandu" , 0x04C1DE }, - { "Asia/Khandyga" , 0x04C2BE }, - { "Asia/Kolkata" , 0x04C7DF }, - { "Asia/Krasnoyarsk" , 0x04C908 }, - { "Asia/Kuala_Lumpur" , 0x04CDE4 }, - { "Asia/Kuching" , 0x04CF83 }, - { "Asia/Kuwait" , 0x04D180 }, - { "Asia/Macao" , 0x04D231 }, - { "Asia/Macau" , 0x04D708 }, - { "Asia/Magadan" , 0x04DBDF }, - { "Asia/Makassar" , 0x04E0C1 }, - { "Asia/Manila" , 0x04E214 }, - { "Asia/Muscat" , 0x04E368 }, - { "Asia/Nicosia" , 0x04E419 }, - { "Asia/Novokuznetsk" , 0x04EC0A }, - { "Asia/Novosibirsk" , 0x04F0B4 }, - { "Asia/Omsk" , 0x04F599 }, - { "Asia/Oral" , 0x04FA69 }, - { "Asia/Phnom_Penh" , 0x04FE71 }, - { "Asia/Pontianak" , 0x04FF44 }, - { "Asia/Pyongyang" , 0x0500C7 }, - { "Asia/Qatar" , 0x0501C0 }, - { "Asia/Qostanay" , 0x050293 }, - { "Asia/Qyzylorda" , 0x0506AC }, - { "Asia/Rangoon" , 0x050AD6 }, - { "Asia/Riyadh" , 0x050BEE }, - { "Asia/Saigon" , 0x050C9F }, - { "Asia/Sakhalin" , 0x050E0A }, - { "Asia/Samarkand" , 0x0512E0 }, - { "Asia/Seoul" , 0x05153E }, - { "Asia/Shanghai" , 0x0517B3 }, - { "Asia/Singapore" , 0x0519FC }, - { "Asia/Srednekolymsk" , 0x051B87 }, - { "Asia/Taipei" , 0x05206D }, - { "Asia/Tashkent" , 0x052372 }, - { "Asia/Tbilisi" , 0x0525DE }, - { "Asia/Tehran" , 0x0529F5 }, - { "Asia/Tel_Aviv" , 0x053417 }, - { "Asia/Thimbu" , 0x053D77 }, - { "Asia/Thimphu" , 0x053E4E }, - { "Asia/Tokyo" , 0x053F25 }, - { "Asia/Tomsk" , 0x054066 }, - { "Asia/Ujung_Pandang" , 0x054545 }, - { "Asia/Ulaanbaatar" , 0x05464F }, - { "Asia/Ulan_Bator" , 0x0549EB }, - { "Asia/Urumqi" , 0x054D72 }, - { "Asia/Ust-Nera" , 0x054E30 }, - { "Asia/Vientiane" , 0x055334 }, - { "Asia/Vladivostok" , 0x055407 }, - { "Asia/Yakutsk" , 0x0558DE }, - { "Asia/Yangon" , 0x055DB4 }, - { "Asia/Yekaterinburg" , 0x055ECC }, - { "Asia/Yerevan" , 0x0563C1 }, - { "Atlantic/Azores" , 0x05684C }, - { "Atlantic/Bermuda" , 0x057616 }, - { "Atlantic/Canary" , 0x057F7E }, - { "Atlantic/Cape_Verde" , 0x058701 }, - { "Atlantic/Faeroe" , 0x05881B }, - { "Atlantic/Faroe" , 0x058F3E }, - { "Atlantic/Jan_Mayen" , 0x059661 }, - { "Atlantic/Madeira" , 0x059F21 }, - { "Atlantic/Reykjavik" , 0x05ACEB }, - { "Atlantic/South_Georgia" , 0x05B181 }, - { "Atlantic/St_Helena" , 0x05B231 }, - { "Atlantic/Stanley" , 0x05B2D1 }, - { "Australia/ACT" , 0x05B79B }, - { "Australia/Adelaide" , 0x05C035 }, - { "Australia/Brisbane" , 0x05C8F0 }, - { "Australia/Broken_Hill" , 0x05CAB6 }, - { "Australia/Canberra" , 0x05D393 }, - { "Australia/Currie" , 0x05DC2D }, - { "Australia/Darwin" , 0x05E56F }, - { "Australia/Eucla" , 0x05E6D2 }, - { "Australia/Hobart" , 0x05E8CD }, - { "Australia/LHI" , 0x05F217 }, - { "Australia/Lindeman" , 0x05F967 }, - { "Australia/Lord_Howe" , 0x05FB6D }, - { "Australia/Melbourne" , 0x0602CD }, - { "Australia/North" , 0x060B6F }, - { "Australia/NSW" , 0x060CC0 }, - { "Australia/Perth" , 0x06155A }, - { "Australia/Queensland" , 0x061742 }, - { "Australia/South" , 0x0618F1 }, - { "Australia/Sydney" , 0x06219D }, - { "Australia/Tasmania" , 0x062A53 }, - { "Australia/Victoria" , 0x063395 }, - { "Australia/West" , 0x063C2F }, - { "Australia/Yancowinna" , 0x063DF9 }, - { "Brazil/Acre" , 0x0646BA }, - { "Brazil/DeNoronha" , 0x06493A }, - { "Brazil/East" , 0x064C12 }, - { "Brazil/West" , 0x0651C2 }, - { "Canada/Atlantic" , 0x06542A }, - { "Canada/Central" , 0x066196 }, - { "Canada/Eastern" , 0x066CD6 }, - { "Canada/Mountain" , 0x067A88 }, - { "Canada/Newfoundland" , 0x0683B0 }, - { "Canada/Pacific" , 0x069203 }, - { "Canada/Saskatchewan" , 0x069D5B }, - { "Canada/Yukon" , 0x06A13B }, - { "CET" , 0x06A795 }, - { "Chile/Continental" , 0x06AFCF }, - { "Chile/EasterIsland" , 0x06B9BC }, - { "CST6CDT" , 0x06C281 }, - { "Cuba" , 0x06CB93 }, - { "EET" , 0x06D50F }, - { "Egypt" , 0x06DC8F }, - { "Eire" , 0x06E43E }, - { "EST" , 0x06F1EE }, - { "EST5EDT" , 0x06F26C }, - { "Etc/GMT" , 0x06FB7E }, - { "Etc/GMT+0" , 0x06FBFC }, - { "Etc/GMT+1" , 0x06FC7A }, - { "Etc/GMT+10" , 0x06FCFA }, - { "Etc/GMT+11" , 0x06FD7B }, - { "Etc/GMT+12" , 0x06FDFC }, - { "Etc/GMT+2" , 0x06FE7D }, - { "Etc/GMT+3" , 0x06FEFD }, - { "Etc/GMT+4" , 0x06FF7D }, - { "Etc/GMT+5" , 0x06FFFD }, - { "Etc/GMT+6" , 0x07007D }, - { "Etc/GMT+7" , 0x0700FD }, - { "Etc/GMT+8" , 0x07017D }, - { "Etc/GMT+9" , 0x0701FD }, - { "Etc/GMT-0" , 0x07027D }, - { "Etc/GMT-1" , 0x0702FB }, - { "Etc/GMT-10" , 0x07037C }, - { "Etc/GMT-11" , 0x0703FE }, - { "Etc/GMT-12" , 0x070480 }, - { "Etc/GMT-13" , 0x070502 }, - { "Etc/GMT-14" , 0x070584 }, - { "Etc/GMT-2" , 0x070606 }, - { "Etc/GMT-3" , 0x070687 }, - { "Etc/GMT-4" , 0x070708 }, - { "Etc/GMT-5" , 0x070789 }, - { "Etc/GMT-6" , 0x07080A }, - { "Etc/GMT-7" , 0x07088B }, - { "Etc/GMT-8" , 0x07090C }, - { "Etc/GMT-9" , 0x07098D }, - { "Etc/GMT0" , 0x070A0E }, - { "Etc/Greenwich" , 0x070A8C }, - { "Etc/UCT" , 0x070B0A }, - { "Etc/Universal" , 0x070B88 }, - { "Etc/UTC" , 0x070C06 }, - { "Etc/Zulu" , 0x070C84 }, - { "Europe/Amsterdam" , 0x070D02 }, - { "Europe/Andorra" , 0x07186C }, - { "Europe/Astrakhan" , 0x071F46 }, - { "Europe/Athens" , 0x0723F1 }, - { "Europe/Belfast" , 0x072CD3 }, - { "Europe/Belgrade" , 0x073B1F }, - { "Europe/Berlin" , 0x0742AB }, - { "Europe/Bratislava" , 0x074BC5 }, - { "Europe/Brussels" , 0x0754CE }, - { "Europe/Bucharest" , 0x07604F }, - { "Europe/Budapest" , 0x0768E3 }, - { "Europe/Busingen" , 0x07722F }, - { "Europe/Chisinau" , 0x0779B8 }, - { "Europe/Copenhagen" , 0x07831A }, - { "Europe/Dublin" , 0x078B7F }, - { "Europe/Gibraltar" , 0x07992F }, - { "Europe/Guernsey" , 0x07A527 }, - { "Europe/Helsinki" , 0x07B373 }, - { "Europe/Isle_of_Man" , 0x07BAEB }, - { "Europe/Istanbul" , 0x07C937 }, - { "Europe/Jersey" , 0x07D0DE }, - { "Europe/Kaliningrad" , 0x07DF2A }, - { "Europe/Kiev" , 0x07E51F }, - { "Europe/Kirov" , 0x07ED87 }, - { "Europe/Lisbon" , 0x07F222 }, - { "Europe/Ljubljana" , 0x07FFEA }, - { "Europe/London" , 0x080776 }, - { "Europe/Luxembourg" , 0x0815C2 }, - { "Europe/Madrid" , 0x082150 }, - { "Europe/Malta" , 0x082BA2 }, - { "Europe/Mariehamn" , 0x0835EA }, - { "Europe/Minsk" , 0x083D62 }, - { "Europe/Monaco" , 0x084297 }, - { "Europe/Moscow" , 0x084E23 }, - { "Europe/Nicosia" , 0x085442 }, - { "Europe/Oslo" , 0x085C20 }, - { "Europe/Paris" , 0x0864E0 }, - { "Europe/Podgorica" , 0x08707E }, - { "Europe/Prague" , 0x08780A }, - { "Europe/Riga" , 0x088113 }, - { "Europe/Rome" , 0x0889B5 }, - { "Europe/Samara" , 0x089412 }, - { "Europe/San_Marino" , 0x0898F6 }, - { "Europe/Sarajevo" , 0x08A353 }, - { "Europe/Saratov" , 0x08AADF }, - { "Europe/Simferopol" , 0x08AF9A }, - { "Europe/Skopje" , 0x08B569 }, - { "Europe/Sofia" , 0x08BCF5 }, - { "Europe/Stockholm" , 0x08C51E }, - { "Europe/Tallinn" , 0x08CC9F }, - { "Europe/Tirane" , 0x08D50F }, - { "Europe/Tiraspol" , 0x08DD3F }, - { "Europe/Ulyanovsk" , 0x08E6A1 }, - { "Europe/Uzhgorod" , 0x08EBB2 }, - { "Europe/Vaduz" , 0x08F3DE }, - { "Europe/Vatican" , 0x08FB5F }, - { "Europe/Vienna" , 0x0905BC }, - { "Europe/Vilnius" , 0x090E60 }, - { "Europe/Volgograd" , 0x0916DE }, - { "Europe/Warsaw" , 0x091B89 }, - { "Europe/Zagreb" , 0x0925F3 }, - { "Europe/Zaporozhye" , 0x092D7F }, - { "Europe/Zurich" , 0x093600 }, - { "Factory" , 0x093D81 }, - { "GB" , 0x093E01 }, - { "GB-Eire" , 0x094C4D }, - { "GMT" , 0x095A99 }, - { "GMT+0" , 0x095B17 }, - { "GMT-0" , 0x095B95 }, - { "GMT0" , 0x095C13 }, - { "Greenwich" , 0x095C91 }, - { "Hongkong" , 0x095D0F }, - { "HST" , 0x0961CE }, - { "Iceland" , 0x09624D }, - { "Indian/Antananarivo" , 0x0966E3 }, - { "Indian/Chagos" , 0x0967F8 }, - { "Indian/Christmas" , 0x0968CB }, - { "Indian/Cocos" , 0x09697C }, - { "Indian/Comoro" , 0x096A36 }, - { "Indian/Kerguelen" , 0x096B4B }, - { "Indian/Mahe" , 0x096BFC }, - { "Indian/Maldives" , 0x096CAD }, - { "Indian/Mauritius" , 0x096D80 }, - { "Indian/Mayotte" , 0x096E7D }, - { "Indian/Reunion" , 0x096F92 }, - { "Iran" , 0x097043 }, - { "Israel" , 0x097A65 }, - { "Jamaica" , 0x0983C5 }, - { "Japan" , 0x0985B3 }, - { "Kwajalein" , 0x0986F4 }, - { "Libya" , 0x09883C }, - { "MET" , 0x098AB9 }, - { "Mexico/BajaNorte" , 0x0992F3 }, - { "Mexico/BajaSur" , 0x099C25 }, - { "Mexico/General" , 0x09A227 }, - { "MST" , 0x09A863 }, - { "MST7MDT" , 0x09A8E1 }, - { "Navajo" , 0x09B1F3 }, - { "NZ" , 0x09BB8B }, - { "NZ-CHAT" , 0x09C51C }, - { "Pacific/Apia" , 0x09CD3C }, - { "Pacific/Auckland" , 0x09CFAC }, - { "Pacific/Bougainville" , 0x09D955 }, - { "Pacific/Chatham" , 0x09DA79 }, - { "Pacific/Chuuk" , 0x09E2A8 }, - { "Pacific/Easter" , 0x09E3D0 }, - { "Pacific/Efate" , 0x09ECA2 }, - { "Pacific/Enderbury" , 0x09EEC8 }, - { "Pacific/Fakaofo" , 0x09EFBE }, - { "Pacific/Fiji" , 0x09F092 }, - { "Pacific/Funafuti" , 0x09F4B7 }, - { "Pacific/Galapagos" , 0x09F569 }, - { "Pacific/Gambier" , 0x09F674 }, - { "Pacific/Guadalcanal" , 0x09F733 }, - { "Pacific/Guam" , 0x09F7E5 }, - { "Pacific/Honolulu" , 0x09F9DF }, - { "Pacific/Johnston" , 0x09FB3A }, - { "Pacific/Kanton" , 0x09FC8F }, - { "Pacific/Kiritimati" , 0x09FD94 }, - { "Pacific/Kosrae" , 0x09FE9A }, - { "Pacific/Kwajalein" , 0x0A000B }, - { "Pacific/Majuro" , 0x0A015C }, - { "Pacific/Marquesas" , 0x0A02BB }, - { "Pacific/Midway" , 0x0A0385 }, - { "Pacific/Nauru" , 0x0A044E }, - { "Pacific/Niue" , 0x0A0556 }, - { "Pacific/Norfolk" , 0x0A062D }, - { "Pacific/Noumea" , 0x0A09A9 }, - { "Pacific/Pago_Pago" , 0x0A0AE5 }, - { "Pacific/Palau" , 0x0A0BA0 }, - { "Pacific/Pitcairn" , 0x0A0C60 }, - { "Pacific/Pohnpei" , 0x0A0D36 }, - { "Pacific/Ponape" , 0x0A0E7F }, - { "Pacific/Port_Moresby" , 0x0A0FBA }, - { "Pacific/Rarotonga" , 0x0A109D }, - { "Pacific/Saipan" , 0x0A1304 }, - { "Pacific/Samoa" , 0x0A14FE }, - { "Pacific/Tahiti" , 0x0A15B9 }, - { "Pacific/Tarawa" , 0x0A1679 }, - { "Pacific/Tongatapu" , 0x0A173A }, - { "Pacific/Truk" , 0x0A18BA }, - { "Pacific/Wake" , 0x0A19D3 }, - { "Pacific/Wallis" , 0x0A1A90 }, - { "Pacific/Yap" , 0x0A1B42 }, - { "Poland" , 0x0A1C5B }, - { "Portugal" , 0x0A26C5 }, - { "PRC" , 0x0A347A }, - { "PST8PDT" , 0x0A36B7 }, - { "ROC" , 0x0A3FC9 }, - { "ROK" , 0x0A42CE }, - { "Singapore" , 0x0A4543 }, - { "Turkey" , 0x0A46CE }, - { "UCT" , 0x0A4E75 }, - { "Universal" , 0x0A4EF3 }, - { "US/Alaska" , 0x0A4F71 }, - { "US/Aleutian" , 0x0A58C0 }, - { "US/Arizona" , 0x0A6200 }, - { "US/Central" , 0x0A6354 }, - { "US/East-Indiana" , 0x0A7158 }, - { "US/Eastern" , 0x0A77E6 }, - { "US/Hawaii" , 0x0A85C2 }, - { "US/Indiana-Starke" , 0x0A8717 }, - { "US/Michigan" , 0x0A909F }, - { "US/Mountain" , 0x0A9961 }, - { "US/Pacific" , 0x0AA2F9 }, - { "US/Samoa" , 0x0AAE19 }, - { "UTC" , 0x0AAED4 }, - { "W-SU" , 0x0AAF52 }, - { "WET" , 0x0AB55D }, - { "Zulu" , 0x0ABCDA }, +const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { + { (char*) "Africa/Abidjan" , 0x000000 }, + { (char*) "Africa/Accra" , 0x0000A0 }, + { (char*) "Africa/Addis_Ababa" , 0x0004D0 }, + { (char*) "Africa/Algiers" , 0x000595 }, + { (char*) "Africa/Asmara" , 0x000880 }, + { (char*) "Africa/Asmera" , 0x000958 }, + { (char*) "Africa/Bamako" , 0x000A30 }, + { (char*) "Africa/Bangui" , 0x000B0C }, + { (char*) "Africa/Banjul" , 0x000BAD }, + { (char*) "Africa/Bissau" , 0x000C91 }, + { (char*) "Africa/Blantyre" , 0x000D5F }, + { (char*) "Africa/Brazzaville" , 0x000E3C }, + { (char*) "Africa/Bujumbura" , 0x000EDD }, + { (char*) "Africa/Cairo" , 0x000F7E }, + { (char*) "Africa/Casablanca" , 0x00172D }, + { (char*) "Africa/Ceuta" , 0x0020B6 }, + { (char*) "Africa/Conakry" , 0x0028C4 }, + { (char*) "Africa/Dakar" , 0x0029A0 }, + { (char*) "Africa/Dar_es_Salaam" , 0x002A62 }, + { (char*) "Africa/Djibouti" , 0x002B43 }, + { (char*) "Africa/Douala" , 0x002BE4 }, + { (char*) "Africa/El_Aaiun" , 0x002C85 }, + { (char*) "Africa/Freetown" , 0x003588 }, + { (char*) "Africa/Gaborone" , 0x00378F }, + { (char*) "Africa/Harare" , 0x003886 }, + { (char*) "Africa/Johannesburg" , 0x003927 }, + { (char*) "Africa/Juba" , 0x003A29 }, + { (char*) "Africa/Kampala" , 0x003CDC }, + { (char*) "Africa/Khartoum" , 0x003DE3 }, + { (char*) "Africa/Kigali" , 0x004096 }, + { (char*) "Africa/Kinshasa" , 0x004137 }, + { (char*) "Africa/Lagos" , 0x0041F1 }, + { (char*) "Africa/Libreville" , 0x0042E8 }, + { (char*) "Africa/Lome" , 0x004389 }, + { (char*) "Africa/Luanda" , 0x004429 }, + { (char*) "Africa/Lubumbashi" , 0x0044F0 }, + { (char*) "Africa/Lusaka" , 0x0045CC }, + { (char*) "Africa/Malabo" , 0x00466D }, + { (char*) "Africa/Maputo" , 0x004730 }, + { (char*) "Africa/Maseru" , 0x0047D1 }, + { (char*) "Africa/Mbabane" , 0x00489D }, + { (char*) "Africa/Mogadishu" , 0x004941 }, + { (char*) "Africa/Monrovia" , 0x004A22 }, + { (char*) "Africa/Nairobi" , 0x004AFE }, + { (char*) "Africa/Ndjamena" , 0x004C13 }, + { (char*) "Africa/Niamey" , 0x004CE6 }, + { (char*) "Africa/Nouakchott" , 0x004DCB }, + { (char*) "Africa/Ouagadougou" , 0x004EA7 }, + { (char*) "Africa/Porto-Novo" , 0x004F47 }, + { (char*) "Africa/Sao_Tome" , 0x00500A }, + { (char*) "Africa/Timbuktu" , 0x005114 }, + { (char*) "Africa/Tripoli" , 0x0051F0 }, + { (char*) "Africa/Tunis" , 0x00546D }, + { (char*) "Africa/Windhoek" , 0x00572A }, + { (char*) "America/Adak" , 0x005AF1 }, + { (char*) "America/Anchorage" , 0x006441 }, + { (char*) "America/Anguilla" , 0x006DA3 }, + { (char*) "America/Antigua" , 0x006E43 }, + { (char*) "America/Araguaina" , 0x006F05 }, + { (char*) "America/Argentina/Buenos_Aires" , 0x00728E }, + { (char*) "America/Argentina/Catamarca" , 0x0076E3 }, + { (char*) "America/Argentina/ComodRivadavia" , 0x007B3E }, + { (char*) "America/Argentina/Cordoba" , 0x007F7E }, + { (char*) "America/Argentina/Jujuy" , 0x0083F4 }, + { (char*) "America/Argentina/La_Rioja" , 0x008822 }, + { (char*) "America/Argentina/Mendoza" , 0x008C7D }, + { (char*) "America/Argentina/Rio_Gallegos" , 0x0090C9 }, + { (char*) "America/Argentina/Salta" , 0x009518 }, + { (char*) "America/Argentina/San_Juan" , 0x009952 }, + { (char*) "America/Argentina/San_Luis" , 0x009DAD }, + { (char*) "America/Argentina/Tucuman" , 0x00A214 }, + { (char*) "America/Argentina/Ushuaia" , 0x00A67C }, + { (char*) "America/Aruba" , 0x00AAD1 }, + { (char*) "America/Asuncion" , 0x00AB97 }, + { (char*) "America/Atikokan" , 0x00B39F }, + { (char*) "America/Atka" , 0x00B51C }, + { (char*) "America/Bahia" , 0x00BE5C }, + { (char*) "America/Bahia_Banderas" , 0x00C26D }, + { (char*) "America/Barbados" , 0x00C8A3 }, + { (char*) "America/Belem" , 0x00CA63 }, + { (char*) "America/Belize" , 0x00CCC1 }, + { (char*) "America/Blanc-Sablon" , 0x00D31B }, + { (char*) "America/Boa_Vista" , 0x00D46D }, + { (char*) "America/Bogota" , 0x00D6F8 }, + { (char*) "America/Boise" , 0x00D7FA }, + { (char*) "America/Buenos_Aires" , 0x00E180 }, + { (char*) "America/Cambridge_Bay" , 0x00E5C0 }, + { (char*) "America/Campo_Grande" , 0x00EE04 }, + { (char*) "America/Cancun" , 0x00F3C6 }, + { (char*) "America/Caracas" , 0x00F704 }, + { (char*) "America/Catamarca" , 0x00F818 }, + { (char*) "America/Cayenne" , 0x00FC58 }, + { (char*) "America/Cayman" , 0x00FD2A }, + { (char*) "America/Chicago" , 0x00FDEC }, + { (char*) "America/Chihuahua" , 0x010C04 }, + { (char*) "America/Coral_Harbour" , 0x011202 }, + { (char*) "America/Cordoba" , 0x01135E }, + { (char*) "America/Costa_Rica" , 0x01179E }, + { (char*) "America/Creston" , 0x0118E6 }, + { (char*) "America/Cuiaba" , 0x0119D4 }, + { (char*) "America/Curacao" , 0x011F73 }, + { (char*) "America/Danmarkshavn" , 0x012039 }, + { (char*) "America/Dawson" , 0x012319 }, + { (char*) "America/Dawson_Creek" , 0x012985 }, + { (char*) "America/Denver" , 0x012DCB }, + { (char*) "America/Detroit" , 0x013778 }, + { (char*) "America/Dominica" , 0x014053 }, + { (char*) "America/Edmonton" , 0x0140F3 }, + { (char*) "America/Eirunepe" , 0x014A38 }, + { (char*) "America/El_Salvador" , 0x014CE3 }, + { (char*) "America/Ensenada" , 0x014DCF }, + { (char*) "America/Fort_Nelson" , 0x015701 }, + { (char*) "America/Fort_Wayne" , 0x015FE1 }, + { (char*) "America/Fortaleza" , 0x01666F }, + { (char*) "America/Glace_Bay" , 0x01696D }, + { (char*) "America/Godthab" , 0x017224 }, + { (char*) "America/Goose_Bay" , 0x017986 }, + { (char*) "America/Grand_Turk" , 0x01863C }, + { (char*) "America/Grenada" , 0x018D72 }, + { (char*) "America/Guadeloupe" , 0x018E12 }, + { (char*) "America/Guatemala" , 0x018EB2 }, + { (char*) "America/Guayaquil" , 0x018FD6 }, + { (char*) "America/Guyana" , 0x0190EA }, + { (char*) "America/Halifax" , 0x0191FC }, + { (char*) "America/Havana" , 0x019F86 }, + { (char*) "America/Hermosillo" , 0x01A902 }, + { (char*) "America/Indiana/Indianapolis" , 0x01AACD }, + { (char*) "America/Indiana/Knox" , 0x01B174 }, + { (char*) "America/Indiana/Marengo" , 0x01BB11 }, + { (char*) "America/Indiana/Petersburg" , 0x01C1EE }, + { (char*) "America/Indiana/Tell_City" , 0x01C97D }, + { (char*) "America/Indiana/Vevay" , 0x01D031 }, + { (char*) "America/Indiana/Vincennes" , 0x01D5DD }, + { (char*) "America/Indiana/Winamac" , 0x01DCA3 }, + { (char*) "America/Indianapolis" , 0x01E3B7 }, + { (char*) "America/Inuvik" , 0x01EA45 }, + { (char*) "America/Iqaluit" , 0x01F1CB }, + { (char*) "America/Jamaica" , 0x01F9E5 }, + { (char*) "America/Jujuy" , 0x01FBD3 }, + { (char*) "America/Juneau" , 0x01FFF7 }, + { (char*) "America/Kentucky/Louisville" , 0x020948 }, + { (char*) "America/Kentucky/Monticello" , 0x021446 }, + { (char*) "America/Knox_IN" , 0x021D96 }, + { (char*) "America/Kralendijk" , 0x02271E }, + { (char*) "America/La_Paz" , 0x0227E4 }, + { (char*) "America/Lima" , 0x0228D8 }, + { (char*) "America/Los_Angeles" , 0x022A7A }, + { (char*) "America/Louisville" , 0x0235A1 }, + { (char*) "America/Lower_Princes" , 0x024081 }, + { (char*) "America/Maceio" , 0x024147 }, + { (char*) "America/Managua" , 0x02444B }, + { (char*) "America/Manaus" , 0x024605 }, + { (char*) "America/Marigot" , 0x02487C }, + { (char*) "America/Martinique" , 0x02491C }, + { (char*) "America/Matamoros" , 0x024A10 }, + { (char*) "America/Mazatlan" , 0x024FC8 }, + { (char*) "America/Mendoza" , 0x0255FF }, + { (char*) "America/Menominee" , 0x025A3F }, + { (char*) "America/Merida" , 0x02634C }, + { (char*) "America/Metlakatla" , 0x026906 }, + { (char*) "America/Mexico_City" , 0x026EB8 }, + { (char*) "America/Miquelon" , 0x027500 }, + { (char*) "America/Moncton" , 0x027B8E }, + { (char*) "America/Monterrey" , 0x028804 }, + { (char*) "America/Montevideo" , 0x028DC3 }, + { (char*) "America/Montreal" , 0x0293B5 }, + { (char*) "America/Montserrat" , 0x02A167 }, + { (char*) "America/Nassau" , 0x02A207 }, + { (char*) "America/New_York" , 0x02AB67 }, + { (char*) "America/Nipigon" , 0x02B967 }, + { (char*) "America/Nome" , 0x02C1DE }, + { (char*) "America/Noronha" , 0x02CB36 }, + { (char*) "America/North_Dakota/Beulah" , 0x02CE1E }, + { (char*) "America/North_Dakota/Center" , 0x02D78B }, + { (char*) "America/North_Dakota/New_Salem" , 0x02E0F8 }, + { (char*) "America/Nuuk" , 0x02EA6B }, + { (char*) "America/Ojinaga" , 0x02F1E3 }, + { (char*) "America/Panama" , 0x02F7E3 }, + { (char*) "America/Pangnirtung" , 0x02F8A5 }, + { (char*) "America/Paramaribo" , 0x0300F9 }, + { (char*) "America/Phoenix" , 0x03020B }, + { (char*) "America/Port-au-Prince" , 0x03037C }, + { (char*) "America/Port_of_Spain" , 0x030922 }, + { (char*) "America/Porto_Acre" , 0x0309C2 }, + { (char*) "America/Porto_Velho" , 0x030C42 }, + { (char*) "America/Puerto_Rico" , 0x030E96 }, + { (char*) "America/Punta_Arenas" , 0x030F98 }, + { (char*) "America/Rainy_River" , 0x031734 }, + { (char*) "America/Rankin_Inlet" , 0x031FAC }, + { (char*) "America/Recife" , 0x032732 }, + { (char*) "America/Regina" , 0x032A14 }, + { (char*) "America/Resolute" , 0x032E09 }, + { (char*) "America/Rio_Branco" , 0x033590 }, + { (char*) "America/Rosario" , 0x033814 }, + { (char*) "America/Santa_Isabel" , 0x033C54 }, + { (char*) "America/Santarem" , 0x034586 }, + { (char*) "America/Santiago" , 0x0347F7 }, + { (char*) "America/Santo_Domingo" , 0x0351F6 }, + { (char*) "America/Sao_Paulo" , 0x0353CC }, + { (char*) "America/Scoresbysund" , 0x0359B2 }, + { (char*) "America/Shiprock" , 0x036157 }, + { (char*) "America/Sitka" , 0x036AEF }, + { (char*) "America/St_Barthelemy" , 0x037427 }, + { (char*) "America/St_Johns" , 0x0374C7 }, + { (char*) "America/St_Kitts" , 0x03833C }, + { (char*) "America/St_Lucia" , 0x0383DC }, + { (char*) "America/St_Thomas" , 0x03849E }, + { (char*) "America/St_Vincent" , 0x03853E }, + { (char*) "America/Swift_Current" , 0x038600 }, + { (char*) "America/Tegucigalpa" , 0x03884E }, + { (char*) "America/Thule" , 0x038956 }, + { (char*) "America/Thunder_Bay" , 0x038F4E }, + { (char*) "America/Tijuana" , 0x03980E }, + { (char*) "America/Toronto" , 0x03A161 }, + { (char*) "America/Tortola" , 0x03AF30 }, + { (char*) "America/Vancouver" , 0x03AFD0 }, + { (char*) "America/Virgin" , 0x03BB41 }, + { (char*) "America/Whitehorse" , 0x03BBE1 }, + { (char*) "America/Winnipeg" , 0x03C24D }, + { (char*) "America/Yakutat" , 0x03CDAA }, + { (char*) "America/Yellowknife" , 0x03D6C7 }, + { (char*) "Antarctica/Casey" , 0x03DE98 }, + { (char*) "Antarctica/Davis" , 0x03E029 }, + { (char*) "Antarctica/DumontDUrville" , 0x03E163 }, + { (char*) "Antarctica/Macquarie" , 0x03E241 }, + { (char*) "Antarctica/Mawson" , 0x03EB31 }, + { (char*) "Antarctica/McMurdo" , 0x03EC0A }, + { (char*) "Antarctica/Palmer" , 0x03F405 }, + { (char*) "Antarctica/Rothera" , 0x03F9A1 }, + { (char*) "Antarctica/South_Pole" , 0x03FA58 }, + { (char*) "Antarctica/Syowa" , 0x04022D }, + { (char*) "Antarctica/Troll" , 0x0402E3 }, + { (char*) "Antarctica/Vostok" , 0x04077E }, + { (char*) "Arctic/Longyearbyen" , 0x040835 }, + { (char*) "Asia/Aden" , 0x0410F5 }, + { (char*) "Asia/Almaty" , 0x0411A6 }, + { (char*) "Asia/Amman" , 0x0415AE }, + { (char*) "Asia/Anadyr" , 0x041CF7 }, + { (char*) "Asia/Aqtau" , 0x0421BA }, + { (char*) "Asia/Aqtobe" , 0x0425B2 }, + { (char*) "Asia/Ashgabat" , 0x0429BE }, + { (char*) "Asia/Ashkhabad" , 0x042C35 }, + { (char*) "Asia/Atyrau" , 0x042EAC }, + { (char*) "Asia/Baghdad" , 0x0432AC }, + { (char*) "Asia/Bahrain" , 0x04368F }, + { (char*) "Asia/Baku" , 0x043788 }, + { (char*) "Asia/Bangkok" , 0x043C5F }, + { (char*) "Asia/Barnaul" , 0x043D32 }, + { (char*) "Asia/Beirut" , 0x044211 }, + { (char*) "Asia/Bishkek" , 0x044A87 }, + { (char*) "Asia/Brunei" , 0x044E6A }, + { (char*) "Asia/Calcutta" , 0x044F41 }, + { (char*) "Asia/Chita" , 0x04506A }, + { (char*) "Asia/Choibalsan" , 0x04554F }, + { (char*) "Asia/Chongqing" , 0x045922 }, + { (char*) "Asia/Chungking" , 0x045B5F }, + { (char*) "Asia/Colombo" , 0x045D9C }, + { (char*) "Asia/Dacca" , 0x045F1C }, + { (char*) "Asia/Damascus" , 0x046079 }, + { (char*) "Asia/Dhaka" , 0x04697B }, + { (char*) "Asia/Dili" , 0x046AD8 }, + { (char*) "Asia/Dubai" , 0x046BC7 }, + { (char*) "Asia/Dushanbe" , 0x046C78 }, + { (char*) "Asia/Famagusta" , 0x046ED3 }, + { (char*) "Asia/Gaza" , 0x0476DA }, + { (char*) "Asia/Harbin" , 0x048066 }, + { (char*) "Asia/Hebron" , 0x0482A3 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x048C4A }, + { (char*) "Asia/Hong_Kong" , 0x048DB5 }, + { (char*) "Asia/Hovd" , 0x049292 }, + { (char*) "Asia/Irkutsk" , 0x049644 }, + { (char*) "Asia/Istanbul" , 0x049B45 }, + { (char*) "Asia/Jakarta" , 0x04A2EC }, + { (char*) "Asia/Jayapura" , 0x04A484 }, + { (char*) "Asia/Jerusalem" , 0x04A5A3 }, + { (char*) "Asia/Kabul" , 0x04AF03 }, + { (char*) "Asia/Kamchatka" , 0x04AFDF }, + { (char*) "Asia/Karachi" , 0x04B48B }, + { (char*) "Asia/Kashgar" , 0x04B612 }, + { (char*) "Asia/Kathmandu" , 0x04B6C3 }, + { (char*) "Asia/Katmandu" , 0x04B7A3 }, + { (char*) "Asia/Khandyga" , 0x04B883 }, + { (char*) "Asia/Kolkata" , 0x04BDA4 }, + { (char*) "Asia/Krasnoyarsk" , 0x04BECD }, + { (char*) "Asia/Kuala_Lumpur" , 0x04C3A9 }, + { (char*) "Asia/Kuching" , 0x04C548 }, + { (char*) "Asia/Kuwait" , 0x04C745 }, + { (char*) "Asia/Macao" , 0x04C7F6 }, + { (char*) "Asia/Macau" , 0x04CCCD }, + { (char*) "Asia/Magadan" , 0x04D1A4 }, + { (char*) "Asia/Makassar" , 0x04D686 }, + { (char*) "Asia/Manila" , 0x04D7D9 }, + { (char*) "Asia/Muscat" , 0x04D92D }, + { (char*) "Asia/Nicosia" , 0x04D9DE }, + { (char*) "Asia/Novokuznetsk" , 0x04E1CF }, + { (char*) "Asia/Novosibirsk" , 0x04E679 }, + { (char*) "Asia/Omsk" , 0x04EB5E }, + { (char*) "Asia/Oral" , 0x04F02E }, + { (char*) "Asia/Phnom_Penh" , 0x04F436 }, + { (char*) "Asia/Pontianak" , 0x04F569 }, + { (char*) "Asia/Pyongyang" , 0x04F6EC }, + { (char*) "Asia/Qatar" , 0x04F7E5 }, + { (char*) "Asia/Qostanay" , 0x04F8B8 }, + { (char*) "Asia/Qyzylorda" , 0x04FCD1 }, + { (char*) "Asia/Rangoon" , 0x0500FB }, + { (char*) "Asia/Riyadh" , 0x050213 }, + { (char*) "Asia/Saigon" , 0x0502C4 }, + { (char*) "Asia/Sakhalin" , 0x05042F }, + { (char*) "Asia/Samarkand" , 0x050905 }, + { (char*) "Asia/Seoul" , 0x050B63 }, + { (char*) "Asia/Shanghai" , 0x050DD8 }, + { (char*) "Asia/Singapore" , 0x051021 }, + { (char*) "Asia/Srednekolymsk" , 0x0511AC }, + { (char*) "Asia/Taipei" , 0x051692 }, + { (char*) "Asia/Tashkent" , 0x051997 }, + { (char*) "Asia/Tbilisi" , 0x051C03 }, + { (char*) "Asia/Tehran" , 0x05201A }, + { (char*) "Asia/Tel_Aviv" , 0x052514 }, + { (char*) "Asia/Thimbu" , 0x052E74 }, + { (char*) "Asia/Thimphu" , 0x052F4B }, + { (char*) "Asia/Tokyo" , 0x053022 }, + { (char*) "Asia/Tomsk" , 0x053163 }, + { (char*) "Asia/Ujung_Pandang" , 0x053642 }, + { (char*) "Asia/Ulaanbaatar" , 0x05374C }, + { (char*) "Asia/Ulan_Bator" , 0x053AE8 }, + { (char*) "Asia/Urumqi" , 0x053E6F }, + { (char*) "Asia/Ust-Nera" , 0x053F2D }, + { (char*) "Asia/Vientiane" , 0x054431 }, + { (char*) "Asia/Vladivostok" , 0x054580 }, + { (char*) "Asia/Yakutsk" , 0x054A57 }, + { (char*) "Asia/Yangon" , 0x054F2D }, + { (char*) "Asia/Yekaterinburg" , 0x055045 }, + { (char*) "Asia/Yerevan" , 0x05553A }, + { (char*) "Atlantic/Azores" , 0x0559C5 }, + { (char*) "Atlantic/Bermuda" , 0x05678F }, + { (char*) "Atlantic/Canary" , 0x0570F7 }, + { (char*) "Atlantic/Cape_Verde" , 0x05787A }, + { (char*) "Atlantic/Faeroe" , 0x057994 }, + { (char*) "Atlantic/Faroe" , 0x0580B7 }, + { (char*) "Atlantic/Jan_Mayen" , 0x0587DA }, + { (char*) "Atlantic/Madeira" , 0x05909A }, + { (char*) "Atlantic/Reykjavik" , 0x059E64 }, + { (char*) "Atlantic/South_Georgia" , 0x05A2FA }, + { (char*) "Atlantic/St_Helena" , 0x05A3AA }, + { (char*) "Atlantic/Stanley" , 0x05A46C }, + { (char*) "Australia/ACT" , 0x05A936 }, + { (char*) "Australia/Adelaide" , 0x05B1D0 }, + { (char*) "Australia/Brisbane" , 0x05BA8B }, + { (char*) "Australia/Broken_Hill" , 0x05BC51 }, + { (char*) "Australia/Canberra" , 0x05C52E }, + { (char*) "Australia/Currie" , 0x05CDC8 }, + { (char*) "Australia/Darwin" , 0x05D70A }, + { (char*) "Australia/Eucla" , 0x05D86D }, + { (char*) "Australia/Hobart" , 0x05DA68 }, + { (char*) "Australia/LHI" , 0x05E3B2 }, + { (char*) "Australia/Lindeman" , 0x05EB02 }, + { (char*) "Australia/Lord_Howe" , 0x05ED08 }, + { (char*) "Australia/Melbourne" , 0x05F468 }, + { (char*) "Australia/North" , 0x05FD0A }, + { (char*) "Australia/NSW" , 0x05FE5B }, + { (char*) "Australia/Perth" , 0x0606F5 }, + { (char*) "Australia/Queensland" , 0x0608DD }, + { (char*) "Australia/South" , 0x060A8C }, + { (char*) "Australia/Sydney" , 0x061338 }, + { (char*) "Australia/Tasmania" , 0x061BEE }, + { (char*) "Australia/Victoria" , 0x062530 }, + { (char*) "Australia/West" , 0x062DCA }, + { (char*) "Australia/Yancowinna" , 0x062F94 }, + { (char*) "Brazil/Acre" , 0x063855 }, + { (char*) "Brazil/DeNoronha" , 0x063AD5 }, + { (char*) "Brazil/East" , 0x063DAD }, + { (char*) "Brazil/West" , 0x06435D }, + { (char*) "Canada/Atlantic" , 0x0645C5 }, + { (char*) "Canada/Central" , 0x065331 }, + { (char*) "Canada/Eastern" , 0x065E71 }, + { (char*) "Canada/Mountain" , 0x066C23 }, + { (char*) "Canada/Newfoundland" , 0x06754B }, + { (char*) "Canada/Pacific" , 0x06839E }, + { (char*) "Canada/Saskatchewan" , 0x068EF6 }, + { (char*) "Canada/Yukon" , 0x0692D6 }, + { (char*) "CET" , 0x069930 }, + { (char*) "Chile/Continental" , 0x06A16A }, + { (char*) "Chile/EasterIsland" , 0x06AB57 }, + { (char*) "CST6CDT" , 0x06B41C }, + { (char*) "Cuba" , 0x06BD2E }, + { (char*) "EET" , 0x06C6AA }, + { (char*) "Egypt" , 0x06CE2A }, + { (char*) "Eire" , 0x06D5D9 }, + { (char*) "EST" , 0x06E389 }, + { (char*) "EST5EDT" , 0x06E407 }, + { (char*) "Etc/GMT" , 0x06ED19 }, + { (char*) "Etc/GMT+0" , 0x06ED97 }, + { (char*) "Etc/GMT+1" , 0x06EE15 }, + { (char*) "Etc/GMT+10" , 0x06EE95 }, + { (char*) "Etc/GMT+11" , 0x06EF16 }, + { (char*) "Etc/GMT+12" , 0x06EF97 }, + { (char*) "Etc/GMT+2" , 0x06F018 }, + { (char*) "Etc/GMT+3" , 0x06F098 }, + { (char*) "Etc/GMT+4" , 0x06F118 }, + { (char*) "Etc/GMT+5" , 0x06F198 }, + { (char*) "Etc/GMT+6" , 0x06F218 }, + { (char*) "Etc/GMT+7" , 0x06F298 }, + { (char*) "Etc/GMT+8" , 0x06F318 }, + { (char*) "Etc/GMT+9" , 0x06F398 }, + { (char*) "Etc/GMT-0" , 0x06F418 }, + { (char*) "Etc/GMT-1" , 0x06F496 }, + { (char*) "Etc/GMT-10" , 0x06F517 }, + { (char*) "Etc/GMT-11" , 0x06F599 }, + { (char*) "Etc/GMT-12" , 0x06F61B }, + { (char*) "Etc/GMT-13" , 0x06F69D }, + { (char*) "Etc/GMT-14" , 0x06F71F }, + { (char*) "Etc/GMT-2" , 0x06F7A1 }, + { (char*) "Etc/GMT-3" , 0x06F822 }, + { (char*) "Etc/GMT-4" , 0x06F8A3 }, + { (char*) "Etc/GMT-5" , 0x06F924 }, + { (char*) "Etc/GMT-6" , 0x06F9A5 }, + { (char*) "Etc/GMT-7" , 0x06FA26 }, + { (char*) "Etc/GMT-8" , 0x06FAA7 }, + { (char*) "Etc/GMT-9" , 0x06FB28 }, + { (char*) "Etc/GMT0" , 0x06FBA9 }, + { (char*) "Etc/Greenwich" , 0x06FC27 }, + { (char*) "Etc/UCT" , 0x06FCA5 }, + { (char*) "Etc/Universal" , 0x06FD23 }, + { (char*) "Etc/UTC" , 0x06FDA1 }, + { (char*) "Etc/Zulu" , 0x06FE1F }, + { (char*) "Europe/Amsterdam" , 0x06FE9D }, + { (char*) "Europe/Andorra" , 0x070A07 }, + { (char*) "Europe/Astrakhan" , 0x0710E1 }, + { (char*) "Europe/Athens" , 0x07158C }, + { (char*) "Europe/Belfast" , 0x071E6E }, + { (char*) "Europe/Belgrade" , 0x072CCA }, + { (char*) "Europe/Berlin" , 0x073456 }, + { (char*) "Europe/Bratislava" , 0x073D70 }, + { (char*) "Europe/Brussels" , 0x074679 }, + { (char*) "Europe/Bucharest" , 0x0751FA }, + { (char*) "Europe/Budapest" , 0x075A8E }, + { (char*) "Europe/Busingen" , 0x0763DA }, + { (char*) "Europe/Chisinau" , 0x076B63 }, + { (char*) "Europe/Copenhagen" , 0x0774C5 }, + { (char*) "Europe/Dublin" , 0x077D2A }, + { (char*) "Europe/Gibraltar" , 0x078ADA }, + { (char*) "Europe/Guernsey" , 0x0796E2 }, + { (char*) "Europe/Helsinki" , 0x07A582 }, + { (char*) "Europe/Isle_of_Man" , 0x07ACFA }, + { (char*) "Europe/Istanbul" , 0x07BB46 }, + { (char*) "Europe/Jersey" , 0x07C2ED }, + { (char*) "Europe/Kaliningrad" , 0x07D18D }, + { (char*) "Europe/Kiev" , 0x07D782 }, + { (char*) "Europe/Kirov" , 0x07DFD6 }, + { (char*) "Europe/Kyiv" , 0x07E471 }, + { (char*) "Europe/Lisbon" , 0x07ECD9 }, + { (char*) "Europe/Ljubljana" , 0x07FAA1 }, + { (char*) "Europe/London" , 0x08022D }, + { (char*) "Europe/Luxembourg" , 0x081089 }, + { (char*) "Europe/Madrid" , 0x081C17 }, + { (char*) "Europe/Malta" , 0x082669 }, + { (char*) "Europe/Mariehamn" , 0x0830B1 }, + { (char*) "Europe/Minsk" , 0x083829 }, + { (char*) "Europe/Monaco" , 0x083D5E }, + { (char*) "Europe/Moscow" , 0x0848EA }, + { (char*) "Europe/Nicosia" , 0x084F09 }, + { (char*) "Europe/Oslo" , 0x0856E7 }, + { (char*) "Europe/Paris" , 0x085FA7 }, + { (char*) "Europe/Podgorica" , 0x086B45 }, + { (char*) "Europe/Prague" , 0x0872D1 }, + { (char*) "Europe/Riga" , 0x087BDA }, + { (char*) "Europe/Rome" , 0x08847C }, + { (char*) "Europe/Samara" , 0x088ED9 }, + { (char*) "Europe/San_Marino" , 0x0893BD }, + { (char*) "Europe/Sarajevo" , 0x089E1A }, + { (char*) "Europe/Saratov" , 0x08A5A6 }, + { (char*) "Europe/Simferopol" , 0x08AA61 }, + { (char*) "Europe/Skopje" , 0x08B030 }, + { (char*) "Europe/Sofia" , 0x08B7BC }, + { (char*) "Europe/Stockholm" , 0x08BFE5 }, + { (char*) "Europe/Tallinn" , 0x08C766 }, + { (char*) "Europe/Tirane" , 0x08CFD6 }, + { (char*) "Europe/Tiraspol" , 0x08D806 }, + { (char*) "Europe/Ulyanovsk" , 0x08E168 }, + { (char*) "Europe/Uzhgorod" , 0x08E679 }, + { (char*) "Europe/Vaduz" , 0x08EEA5 }, + { (char*) "Europe/Vatican" , 0x08F611 }, + { (char*) "Europe/Vienna" , 0x09006E }, + { (char*) "Europe/Vilnius" , 0x090912 }, + { (char*) "Europe/Volgograd" , 0x091190 }, + { (char*) "Europe/Warsaw" , 0x09163B }, + { (char*) "Europe/Zagreb" , 0x0920A5 }, + { (char*) "Europe/Zaporozhye" , 0x092831 }, + { (char*) "Europe/Zurich" , 0x0930B2 }, + { (char*) "Factory" , 0x093833 }, + { (char*) "GB" , 0x0938B3 }, + { (char*) "GB-Eire" , 0x09470F }, + { (char*) "GMT" , 0x09556B }, + { (char*) "GMT+0" , 0x0955E9 }, + { (char*) "GMT-0" , 0x095667 }, + { (char*) "GMT0" , 0x0956E5 }, + { (char*) "Greenwich" , 0x095763 }, + { (char*) "Hongkong" , 0x0957E1 }, + { (char*) "HST" , 0x095CBE }, + { (char*) "Iceland" , 0x095D3D }, + { (char*) "Indian/Antananarivo" , 0x0961D3 }, + { (char*) "Indian/Chagos" , 0x0962BA }, + { (char*) "Indian/Christmas" , 0x09638D }, + { (char*) "Indian/Cocos" , 0x09643E }, + { (char*) "Indian/Comoro" , 0x0964F8 }, + { (char*) "Indian/Kerguelen" , 0x096599 }, + { (char*) "Indian/Mahe" , 0x09664A }, + { (char*) "Indian/Maldives" , 0x0966FB }, + { (char*) "Indian/Mauritius" , 0x0967CE }, + { (char*) "Indian/Mayotte" , 0x0968CB }, + { (char*) "Indian/Reunion" , 0x09696C }, + { (char*) "Iran" , 0x096A1D }, + { (char*) "Israel" , 0x096F17 }, + { (char*) "Jamaica" , 0x097877 }, + { (char*) "Japan" , 0x097A65 }, + { (char*) "Kwajalein" , 0x097BA6 }, + { (char*) "Libya" , 0x097CEE }, + { (char*) "MET" , 0x097F6B }, + { (char*) "Mexico/BajaNorte" , 0x0987A5 }, + { (char*) "Mexico/BajaSur" , 0x0990D7 }, + { (char*) "Mexico/General" , 0x0996D9 }, + { (char*) "MST" , 0x099D15 }, + { (char*) "MST7MDT" , 0x099D93 }, + { (char*) "Navajo" , 0x09A6A5 }, + { (char*) "NZ" , 0x09B03D }, + { (char*) "NZ-CHAT" , 0x09B9CE }, + { (char*) "Pacific/Apia" , 0x09C1EE }, + { (char*) "Pacific/Auckland" , 0x09C45E }, + { (char*) "Pacific/Bougainville" , 0x09CE07 }, + { (char*) "Pacific/Chatham" , 0x09CF2B }, + { (char*) "Pacific/Chuuk" , 0x09D75A }, + { (char*) "Pacific/Easter" , 0x09D882 }, + { (char*) "Pacific/Efate" , 0x09E154 }, + { (char*) "Pacific/Enderbury" , 0x09E37A }, + { (char*) "Pacific/Fakaofo" , 0x09E470 }, + { (char*) "Pacific/Fiji" , 0x09E544 }, + { (char*) "Pacific/Funafuti" , 0x09E969 }, + { (char*) "Pacific/Galapagos" , 0x09EA1B }, + { (char*) "Pacific/Gambier" , 0x09EB26 }, + { (char*) "Pacific/Guadalcanal" , 0x09EBE5 }, + { (char*) "Pacific/Guam" , 0x09EC97 }, + { (char*) "Pacific/Honolulu" , 0x09EE91 }, + { (char*) "Pacific/Johnston" , 0x09EFEC }, + { (char*) "Pacific/Kanton" , 0x09F141 }, + { (char*) "Pacific/Kiritimati" , 0x09F246 }, + { (char*) "Pacific/Kosrae" , 0x09F34C }, + { (char*) "Pacific/Kwajalein" , 0x09F4BD }, + { (char*) "Pacific/Majuro" , 0x09F60E }, + { (char*) "Pacific/Marquesas" , 0x09F76D }, + { (char*) "Pacific/Midway" , 0x09F837 }, + { (char*) "Pacific/Nauru" , 0x09F926 }, + { (char*) "Pacific/Niue" , 0x09FA2E }, + { (char*) "Pacific/Norfolk" , 0x09FB05 }, + { (char*) "Pacific/Noumea" , 0x09FE81 }, + { (char*) "Pacific/Pago_Pago" , 0x09FFBD }, + { (char*) "Pacific/Palau" , 0x0A0078 }, + { (char*) "Pacific/Pitcairn" , 0x0A0138 }, + { (char*) "Pacific/Pohnpei" , 0x0A020E }, + { (char*) "Pacific/Ponape" , 0x0A0357 }, + { (char*) "Pacific/Port_Moresby" , 0x0A0492 }, + { (char*) "Pacific/Rarotonga" , 0x0A0575 }, + { (char*) "Pacific/Saipan" , 0x0A07DC }, + { (char*) "Pacific/Samoa" , 0x0A08D4 }, + { (char*) "Pacific/Tahiti" , 0x0A098F }, + { (char*) "Pacific/Tarawa" , 0x0A0A4F }, + { (char*) "Pacific/Tongatapu" , 0x0A0B10 }, + { (char*) "Pacific/Truk" , 0x0A0C90 }, + { (char*) "Pacific/Wake" , 0x0A0DA9 }, + { (char*) "Pacific/Wallis" , 0x0A0E66 }, + { (char*) "Pacific/Yap" , 0x0A0F18 }, + { (char*) "Poland" , 0x0A1031 }, + { (char*) "Portugal" , 0x0A1A9B }, + { (char*) "PRC" , 0x0A2850 }, + { (char*) "PST8PDT" , 0x0A2A8D }, + { (char*) "ROC" , 0x0A339F }, + { (char*) "ROK" , 0x0A36A4 }, + { (char*) "Singapore" , 0x0A3919 }, + { (char*) "Turkey" , 0x0A3AA4 }, + { (char*) "UCT" , 0x0A424B }, + { (char*) "Universal" , 0x0A42C9 }, + { (char*) "US/Alaska" , 0x0A4347 }, + { (char*) "US/Aleutian" , 0x0A4C96 }, + { (char*) "US/Arizona" , 0x0A55D6 }, + { (char*) "US/Central" , 0x0A572A }, + { (char*) "US/East-Indiana" , 0x0A652E }, + { (char*) "US/Eastern" , 0x0A6BBC }, + { (char*) "US/Hawaii" , 0x0A79A8 }, + { (char*) "US/Indiana-Starke" , 0x0A7AFD }, + { (char*) "US/Michigan" , 0x0A8485 }, + { (char*) "US/Mountain" , 0x0A8D47 }, + { (char*) "US/Pacific" , 0x0A96DF }, + { (char*) "US/Samoa" , 0x0AA1FF }, + { (char*) "UTC" , 0x0AA2BA }, + { (char*) "W-SU" , 0x0AA338 }, + { (char*) "WET" , 0x0AA943 }, + { (char*) "Zulu" , 0x0AB0C0 }, }; -const unsigned char timelib_timezone_db_data_builtin[703832] = { +const unsigned char timelib_timezone_db_data_builtin[700734] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24043,34 +23854,86 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Accra */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, +0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x9A, 0x1D, 0x94, 0x34, +0xA1, 0xC0, 0xB4, 0x80, 0xA1, 0xF2, 0xE4, 0xF0, 0xA3, 0x34, 0x97, 0xA0, 0xA3, 0xD5, 0x69, 0xF0, +0xA5, 0x15, 0xCB, 0x20, 0xA5, 0xB6, 0x9D, 0x70, 0xA6, 0xF6, 0xFE, 0xA0, 0xA7, 0x97, 0xD0, 0xF0, +0xA8, 0xD8, 0x32, 0x20, 0xA9, 0x79, 0x04, 0x70, 0xAA, 0xBA, 0xB7, 0x20, 0xAB, 0x5B, 0x89, 0x70, +0xAC, 0x9B, 0xEA, 0xA0, 0xAD, 0x3C, 0xBC, 0xF0, 0xAE, 0x7D, 0x1E, 0x20, 0xAF, 0x1D, 0xF0, 0x70, +0xB0, 0x5E, 0x51, 0xA0, 0xB0, 0xFF, 0x23, 0xF0, 0xB2, 0x40, 0xD6, 0xA0, 0xB2, 0xE1, 0xA8, 0xF0, +0xB4, 0x22, 0x0A, 0x20, 0xB4, 0xC2, 0xDC, 0x70, 0xB6, 0x03, 0x3D, 0xA0, 0xB6, 0xA4, 0x0F, 0xF0, +0xB7, 0xE4, 0x71, 0x20, 0xB8, 0x85, 0x43, 0x70, 0xB9, 0xC6, 0xF6, 0x20, 0xBA, 0x67, 0xC8, 0x70, +0xBB, 0xA8, 0x29, 0xA0, 0xBC, 0x48, 0xFB, 0xF0, 0xBD, 0x89, 0x5D, 0x20, 0xBE, 0x2A, 0x2F, 0x70, +0xBF, 0x6A, 0x90, 0xA0, 0xC0, 0x0B, 0x62, 0xF0, 0xC1, 0x4D, 0x15, 0xA0, 0xC1, 0xED, 0xE7, 0xF0, +0xC3, 0x2E, 0x49, 0x20, 0xC3, 0xCF, 0x1B, 0x70, 0xC5, 0x0F, 0x7C, 0xA0, 0xC5, 0xB0, 0x4E, 0xF0, +0xC6, 0xF0, 0xB0, 0x20, 0xC7, 0x91, 0x82, 0x70, 0xC8, 0x31, 0x0C, 0xA0, 0xC9, 0x74, 0x07, 0x70, +0xCA, 0x12, 0x40, 0x20, 0xCB, 0x55, 0x3A, 0xF0, 0xCB, 0x87, 0x3C, 0x80, 0xD2, 0xE1, 0xD3, 0x78, +0xDB, 0xA1, 0xDB, 0x20, 0xDC, 0x42, 0xAB, 0x18, 0xDD, 0x83, 0x0E, 0xA0, 0xDE, 0x23, 0xDE, 0x98, +0xDF, 0x65, 0x93, 0xA0, 0xE0, 0x06, 0x63, 0x98, 0xE1, 0x46, 0xC7, 0x20, 0xE1, 0xE7, 0x97, 0x18, +0xE3, 0x27, 0xFA, 0xA0, 0xE3, 0xC8, 0xCA, 0x98, 0xE5, 0x09, 0x2E, 0x20, 0xE5, 0xA9, 0xFE, 0x18, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, +0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, +0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, 0x07, 0x08, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, +0x30, 0x30, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, +0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x1D, 0x94, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC0, 0xB4, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x34, 0x97, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x69, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x15, 0xCB, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0x9D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0xF6, 0xFE, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x97, 0xD0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xD8, 0x32, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x79, 0x04, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xBA, 0xB7, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0x5B, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0x9B, 0xEA, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0x3C, 0xBC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x7D, 0x1E, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x1D, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x51, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xFF, 0x23, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x40, 0xD6, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0xE1, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x0A, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0xDC, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x3D, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA4, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x71, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x85, 0x43, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC6, 0xF6, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0xC8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x29, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x48, 0xFB, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x5D, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x90, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0B, 0x62, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x15, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xED, 0xE7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x49, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xCF, 0x1B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x7C, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0xB0, 0x4E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xB0, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x91, 0x82, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x31, 0x0C, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x74, 0x07, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x12, 0x40, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x55, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x87, 0x3C, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xE1, 0xD3, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xA1, 0xDB, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xAB, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x83, 0x0E, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x23, 0xDE, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x93, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x63, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x46, 0xC7, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xE7, 0x97, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x27, 0xFA, +0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xC8, 0xCA, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x09, 0x2E, +0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xFE, 0x18, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x07, 0x08, 0x00, 0x0E, 0x00, 0x00, +0x07, 0x08, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, +0x30, 0x32, 0x30, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x91, 0xCC, 0x38, 0x01, 0x12, 0x53, 0xDD, 0x00, 0x00, 0x00, 0x00, /* Africa/Addis_Ababa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, +0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, 0x00, 0x04, 0x00, +0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, 0x00, 0x45, 0x41, +0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x97, 0x1C, 0xE5, 0x01, 0x4D, 0xB5, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Algiers */ @@ -24125,86 +23988,80 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Asmara */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, 0x01, 0x4D, 0xFD, -0x4D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, +0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, +0x00, 0x00, 0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0xA0, 0xB9, 0xD5, +0x01, 0x4D, 0xFD, 0x4D, 0x00, 0x00, 0x00, 0x00, /* Africa/Asmera */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, +0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x00, 0x00, 0x24, 0x74, 0x00, 0x00, 0x00, 0x00, 0x24, 0x68, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0xE8, 0x19, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xB7, +0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xAF, 0xF2, 0x98, 0x01, 0x02, 0x03, 0x00, 0x00, 0x24, 0x74, +0x00, 0x00, 0x00, 0x00, 0x24, 0x74, 0x00, 0x04, 0x00, 0x00, 0x24, 0x68, 0x00, 0x08, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Bamako */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00, /* Africa/Bangui */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x7D, 0x14, +0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, -0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x7D, 0x14, 0x01, 0x00, 0x00, 0x11, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0xFD, 0xFA, 0x01, 0x2F, 0x03, 0x9D, 0x00, 0x00, 0x00, +0x00, /* Africa/Banjul */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x9E, 0x1C, +0xBA, 0xDE, 0x67, 0x9C, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, +0x00, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, +0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x67, 0x9C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x7E, 0x10, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x00, +0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40, 0x98, +0x00, 0x00, 0x00, 0x00, /* Africa/Bissau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24224,43 +24081,41 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Blantyre */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0x12, 0x2C, 0x30, +0x97, 0x97, 0x73, 0xEA, 0xAC, 0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x16, 0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0x12, 0x2C, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x97, 0x73, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, +0x49, 0xF0, 0x74, 0x01, 0x02, 0x03, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x16, +0x00, 0x04, 0x00, 0x00, 0x21, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, +0x54, 0x00, 0x5A, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, +0x0A, 0x00, 0x71, 0x3E, 0xE2, 0x01, 0x48, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, /* Africa/Brazzaville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x80, 0x2C, +0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, -0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x80, 0x2C, 0x01, 0x00, 0x00, 0x0E, 0x54, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xD1, 0x95, 0x01, 0x29, 0xFA, 0x8D, 0x00, 0x00, 0x00, +0x00, /* Africa/Bujumbura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xBF, 0xF8, 0x01, 0x00, 0x00, 0x1B, 0x88, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x84, 0x2A, 0xA2, 0x01, 0x3F, 0x77, 0xDA, 0x00, 0x00, 0x00, 0x00, @@ -24679,86 +24534,76 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Conakry */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9B, 0x5C, +0xBC, 0x92, 0xB8, 0x80, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x9B, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00, /* Africa/Dakar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9E, 0xD8, +0xCA, 0x3B, 0x10, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x9E, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x3B, 0x10, 0x90, +0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E, 0x9A, 0x00, 0x00, +0x00, 0x00, /* Africa/Dar_es_Salaam */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xB6, 0xA3, 0xD3, 0xAC, +0xD6, 0x9D, 0x7F, 0xD0, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, -0x8D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, +0xFF, 0xB6, 0xA3, 0xD3, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x9D, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, +0x00, /* Africa/Djibouti */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD2, 0x0C, +0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, -0xF8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD2, 0x0C, 0x01, 0x00, 0x00, 0x28, 0x74, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x9B, 0x07, 0x80, 0x01, 0x54, 0x7F, 0xF8, 0x00, 0x00, 0x00, +0x00, /* Africa/Douala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x85, 0x68, +0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, -0x21, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0x68, 0x01, 0x00, 0x00, 0x09, 0x18, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x82, 0x48, 0x01, 0x21, 0x75, 0x90, 0x00, 0x00, 0x00, +0x00, /* Africa/El_Aaiun */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x45, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -24910,38 +24755,65 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Freetown */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x80, 0x00, 0x00, 0x00, +0x95, 0xB7, 0xBF, 0x6C, 0xBA, 0x3E, 0xE0, 0x90, 0xBA, 0xDE, 0x61, 0x60, 0xBB, 0xA8, 0x1B, 0x90, +0xBC, 0xBF, 0x94, 0xE0, 0xBD, 0x89, 0x4F, 0x10, 0xBE, 0xA0, 0xC8, 0x60, 0xBF, 0x6A, 0x82, 0x90, +0xC0, 0x83, 0x4D, 0x60, 0xC1, 0x4D, 0x07, 0x90, 0xC2, 0x64, 0x80, 0xE0, 0xC3, 0x2E, 0x3B, 0x10, +0xC4, 0x45, 0xB4, 0x60, 0xC5, 0x0F, 0x6E, 0x90, 0xC6, 0x77, 0x53, 0x60, 0xC6, 0xF0, 0xA2, 0x10, +0xC6, 0xF5, 0xE3, 0x60, 0xCB, 0x34, 0x3C, 0x10, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x04, +0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, 0xFF, 0xFF, 0xF6, 0xA0, +0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, 0x01, 0x12, 0x4C, 0x4D, +0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, 0x2D, 0x30, 0x31, 0x00, +0x2B, 0x30, 0x31, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, +0xFF, 0xFF, 0xFF, 0xFF, 0x5A, 0x7A, 0xA8, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xB7, 0xBF, 0x6C, +0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x3E, 0xE0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xDE, 0x61, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xA8, 0x1B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xBF, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x89, 0x4F, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xA0, 0xC8, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x6A, 0x82, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x83, 0x4D, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x4D, 0x07, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x64, 0x80, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x2E, 0x3B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x45, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x0F, 0x6E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x77, 0x53, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF0, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0xF5, 0xE3, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x34, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, +0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x04, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x04, +0xFF, 0xFF, 0xF6, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x0E, 0x00, 0x00, 0x04, 0xB0, +0x01, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x30, 0x34, 0x30, 0x00, +0x2D, 0x30, 0x31, 0x00, 0x2B, 0x30, 0x31, 0x00, 0x0A, 0x58, 0x58, 0x58, 0x2D, 0x30, 0x3A, 0x34, +0x30, 0x3C, 0x2B, 0x30, 0x31, 0x3E, 0x2D, 0x30, 0x3A, 0x32, 0x30, 0x2C, 0x30, 0x2F, 0x30, 0x2C, +0x4A, 0x33, 0x36, 0x35, 0x2F, 0x32, 0x33, 0x3A, 0x34, 0x30, 0x0A, 0x00, 0x96, 0x4C, 0x90, 0x00, +0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00, /* Africa/Gaborone */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x80, 0x00, 0x00, 0x00, +0x82, 0x46, 0xCF, 0x68, 0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x03, 0x02, +0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, +0x00, 0x43, 0x41, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, 0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x1F, 0x70, 0x34, 0xFF, 0xFF, +0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x03, 0x02, 0x00, 0x00, 0x18, 0x4C, 0x00, 0x00, +0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x43, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x63, 0xB7, 0x57, 0x01, +0x3A, 0x34, 0x32, 0x00, 0x00, 0x00, 0x00, /* Africa/Harare */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC7, 0x64, +0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x64, 0x01, 0x00, 0x00, 0x1D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x6E, 0x1E, 0x1A, 0x01, 0x42, 0x09, 0x68, 0x00, 0x00, 0x00, 0x00, @@ -25014,22 +24886,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kampala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, -0x42, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xB1, 0xEE, 0xDF, 0x1C, +0xB4, 0xC2, 0x9A, 0xD0, 0xD6, 0x9D, 0x86, 0xD8, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, 0x03, 0x01, +0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, +0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x32, 0x34, +0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, +0xFF, 0xFF, 0xB1, 0xEE, 0xDF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC2, 0x9A, 0xD0, 0xFF, 0xFF, +0xFF, 0xFF, 0xD6, 0x9D, 0x86, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, +0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, +0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x2B, 0x30, +0x32, 0x34, 0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x89, 0xCF, 0xF2, 0x01, +0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, /* Africa/Khartoum */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25080,12 +24951,12 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kigali */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xBE, 0xF1, 0x0E, 0x50, +0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF1, 0x0E, 0x50, 0x01, 0x00, 0x00, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x86, 0x5A, 0x88, 0x01, 0x40, 0x89, 0x4A, 0x00, 0x00, 0x00, 0x00, @@ -25093,22 +24964,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Kinshasa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, -0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, -0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x2C, 0xA8, 0x01, 0x00, 0x00, 0x0E, 0x58, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x82, 0xC4, 0x90, 0x01, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, +0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, +0x6E, 0x67, 0x6F, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* Africa/Lagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25131,75 +24996,69 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Libreville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x85, 0xA4, +0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, -0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x85, 0xA4, 0x01, 0x00, 0x00, 0x08, 0xDC, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, +0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x89, 0xE9, 0xFD, 0x01, 0x21, 0x13, 0xE8, 0x00, 0x00, 0x00, +0x00, /* Africa/Lome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x2B, 0xC6, 0x5C, 0x01, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2, 0x00, 0x00, 0x00, 0x00, /* Africa/Luanda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0x80, 0x70, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, +0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x49, 0x36, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, +0x80, 0x70, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x00, 0x00, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x01, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x7B, 0xE6, 0xC0, 0x01, 0x26, 0xD9, 0xC5, 0x00, 0x00, 0x00, 0x00, /* Africa/Lubumbashi */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xA2, 0x8A, 0x5B, 0xF0, 0x01, 0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, -0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, 0x00, 0x00, -0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, 0x43, 0x6F, -0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x4D, 0x21, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x8A, 0x5B, 0xF0, +0x01, 0x02, 0x00, 0x00, 0x19, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, +0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x77, 0x86, 0xF5, 0x01, 0x3C, 0x91, 0xAA, 0x00, +0x00, 0x00, 0x19, 0x44, 0x65, 0x6D, 0x2E, 0x20, 0x52, 0x65, 0x70, 0x2E, 0x20, 0x6F, 0x66, 0x20, +0x43, 0x6F, 0x6E, 0x67, 0x6F, 0x20, 0x28, 0x65, 0x61, 0x73, 0x74, 0x29, /* Africa/Lusaka */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x5A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC5, 0xF4, -0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x82, 0x46, 0xC9, 0xFC, +0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC5, 0xF4, 0x01, 0x00, 0x00, 0x1E, 0x8C, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC9, 0xFC, 0x01, 0x00, 0x00, 0x1A, 0x84, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x0A, 0x43, 0x41, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x71, 0xCE, 0x1D, 0x01, 0x3D, 0xD0, 0xAD, 0x00, 0x00, 0x00, 0x00, @@ -25207,20 +25066,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Malabo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x86, 0x44, +0xF4, 0x9F, 0xBE, 0x80, 0x01, 0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, -0x20, 0x0F, 0x7D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x86, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x9F, 0xBE, 0x80, +0x01, 0x02, 0x00, 0x00, 0x08, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x8F, 0x0D, 0x18, 0x01, 0x20, 0x0F, 0x7D, 0x00, +0x00, 0x00, 0x00, /* Africa/Maputo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25238,60 +25094,47 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Maseru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, -0x82, 0x46, 0xCF, 0x68, 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, -0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, -0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xCA, 0xB8, +0xCE, 0x8E, 0x6E, 0x80, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, 0xC8, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, -0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, -0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x5C, 0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCA, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, +0x6E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x02, 0x01, 0x00, 0x00, 0x19, +0xC8, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x4C, +0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, +0x00, 0x5C, 0x5D, 0xD5, 0x01, 0x3C, 0x9E, 0xB0, 0x00, 0x00, 0x00, 0x00, /* Africa/Mbabane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, -0x82, 0x46, 0xCF, 0x68, 0xCC, 0xAE, 0x8C, 0x80, 0xCD, 0x9E, 0x6F, 0x70, 0xCE, 0x8E, 0x6E, 0x80, -0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, 0x40, 0x00, 0x00, -0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x82, 0x46, 0xC7, 0x58, +0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x6D, 0x7B, 0x41, 0x40, 0xFF, -0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xCF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xAE, 0x8C, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCD, 0x9E, 0x6F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x8E, 0x6E, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x7E, 0x51, 0x70, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x1A, -0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x18, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x53, -0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, +0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x82, 0x46, 0xC7, 0x58, 0x01, 0x00, 0x00, 0x1D, 0x28, 0x00, +0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, +0x0A, 0x53, 0x41, 0x53, 0x54, 0x2D, 0x32, 0x0A, 0x00, 0x61, 0x32, 0xD0, 0x01, 0x42, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, /* Africa/Mogadishu */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x80, 0x00, 0x00, 0x00, +0xB6, 0xA3, 0xCE, 0x50, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, -0xDA, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, +0xFF, 0x70, 0xBC, 0x64, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0xA3, 0xCE, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xE7, 0x8C, 0x4A, 0xD8, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x88, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, +0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x8C, 0x7B, 0x8A, 0x01, 0x57, 0xE1, 0xDA, 0x00, 0x00, 0x00, +0x00, /* Africa/Monrovia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25348,43 +25191,45 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Niamey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x8C, 0x84, +0xBC, 0x92, 0xC6, 0x90, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, +0x00, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, +0x10, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, +0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, -0x15, 0xE3, 0x52, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xC6, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x30, 0x08, 0x80, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, +0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, +0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x9D, 0xF4, 0x32, 0x01, 0x15, 0xE3, +0x52, 0x00, 0x00, 0x00, 0x00, /* Africa/Nouakchott */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9D, 0x74, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x9D, 0x74, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00, /* Africa/Ouagadougou */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x8F, 0xEC, +0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8F, 0xEC, 0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58, 0x0D, 0x00, 0x00, 0x00, 0x00, @@ -25392,20 +25237,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Porto-Novo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x86, 0xAB, 0x70, 0xD1, -0x8C, 0x50, 0x60, 0x00, 0x96, 0xAA, 0x43, 0xD1, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, -0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, -0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, 0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x8C, 0x0C, +0xBC, 0x92, 0xB8, 0x80, 0x01, 0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x57, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xAB, 0x70, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0x8C, 0x50, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xAA, 0x43, 0xD1, 0xFF, 0xFF, -0xFF, 0xFF, 0xA1, 0x51, 0xEF, 0x78, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x2F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x30, 0x33, 0x30, 0x00, -0x57, 0x41, 0x54, 0x00, 0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, -0x16, 0xA6, 0xA2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x8C, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, +0x01, 0x02, 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, +0x0A, 0x57, 0x41, 0x54, 0x2D, 0x31, 0x0A, 0x00, 0x93, 0x38, 0xCD, 0x01, 0x16, 0xA6, 0xA2, 0x00, +0x00, 0x00, 0x00, /* Africa/Sao_Tome */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25429,15 +25271,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Africa/Timbuktu */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00, +0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, +0xE6, 0x96, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0x92, 0xB8, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, +0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x31, 0x00, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Africa/Tripoli */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -25897,39 +25742,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Anguilla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x35, 0x20, +0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x35, 0x20, 0x01, 0xFF, 0xFF, 0xC4, 0xE0, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x19, 0xA0, 0x00, 0xB2, 0x6D, 0x15, 0x00, 0x00, 0x00, 0x00, + /* America/Antigua */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x93, 0x37, 0x33, 0xF0, +0xDC, 0x42, 0xDC, 0x50, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0xDC, 0x50, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0x58, 0x68, 0x00, 0xB4, 0x5B, 0xE0, 0x00, 0x00, 0x00, 0x00, @@ -26926,22 +26761,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Aruba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, 0xE5, 0xC5, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2F, 0x38, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2F, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBE, 0x48, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9C, 0x67, 0x10, 0x00, 0xA7, +0xE5, 0xC5, 0x00, 0x00, 0x00, 0x00, /* America/Asuncion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27076,20 +26907,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Atikokan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, -0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, -0x00, 0x21, 0x45, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, -0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, -0x20, 0x48, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0xA1, 0x80, 0x9F, 0xBA, 0xF9, 0x70, 0xC8, 0xF8, 0x57, 0x60, 0xCB, 0x88, 0xFE, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, +0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, +0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xB8, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, +0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, +0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, +0x04, 0x05, 0xFF, 0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, +0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0xD3, 0xBA, 0x95, 0x00, 0x86, 0xDA, 0xC9, 0x00, 0x00, 0x00, 0x21, 0x45, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x4F, 0x4E, 0x20, 0x28, 0x41, 0x74, 0x69, 0x6B, 0x6F, 0x6B, 0x61, 0x6E, 0x29, 0x3B, +0x20, 0x4E, 0x55, 0x20, 0x28, 0x43, 0x6F, 0x72, 0x61, 0x6C, 0x20, 0x48, 0x29, /* America/Atka */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27589,23 +27429,27 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Blanc-Sablon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, 0x81, 0x4D, 0x00, 0x00, -0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, 0x4C, 0x6F, 0x77, 0x65, -0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, 0x65, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0x85, 0x60, 0x9F, 0xBA, 0xDD, 0x50, 0xCB, 0x88, 0xE2, 0x60, 0xD2, 0x23, 0xF4, 0x70, +0xD2, 0x60, 0xED, 0xD0, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, +0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, +0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, +0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3D, 0x39, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, +0x85, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xDD, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, +0xE2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, +0xED, 0xD0, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, 0xFF, 0xFF, 0xCA, 0x74, 0x00, 0x00, 0xFF, 0xFF, +0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, +0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x41, 0x53, +0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xD7, 0xC8, 0xE2, 0x00, 0xBB, +0x81, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x51, 0x43, 0x20, 0x28, +0x4C, 0x6F, 0x77, 0x65, 0x72, 0x20, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x20, 0x53, 0x68, 0x6F, 0x72, +0x65, 0x29, /* America/Boa_Vista */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28290,14 +28134,14 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, +0x93, 0x0F, 0xB4, 0xFE, 0x01, 0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, +0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x27, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x0F, 0xB4, 0xFE, +0x01, 0x02, 0xFF, 0xFF, 0xB3, 0xB4, 0x00, 0x00, 0xFF, 0xFF, 0xB8, 0x02, 0x00, 0x04, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0xA6, 0xC7, 0x50, 0x00, 0x96, 0x7A, 0x22, 0x00, 0x00, 0x00, 0x00, @@ -28629,18 +28473,27 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0x8B, 0xF4, 0x61, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, -0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, -0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x26, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xF4, 0x61, 0xE8, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xB5, 0x18, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, -0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, +0x9E, 0xB8, 0xA1, 0x80, 0x9F, 0xBA, 0xF9, 0x70, 0xC8, 0xF8, 0x57, 0x60, 0xCB, 0x88, 0xFE, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, +0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, +0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, +0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x84, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xB8, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xF9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, +0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xFE, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, +0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x09, 0xF0, 0x02, 0x01, 0x02, 0x01, 0x03, +0x04, 0x05, 0xFF, 0xFF, 0xAA, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, +0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x43, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x0A, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Cordoba */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28739,27 +28592,19 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Creston */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0x9E, 0xA6, 0x3A, 0x90, 0x9F, 0xBB, 0x07, 0x80, 0xA0, 0x86, 0x1C, 0x90, 0xA1, 0x9A, 0xE9, 0x80, -0xCB, 0x89, 0x0C, 0x90, 0xCF, 0x17, 0xDF, 0x1C, 0xCF, 0x8F, 0xE5, 0xAC, 0xD0, 0x81, 0x1A, 0x1C, -0xFA, 0xF8, 0x75, 0x10, 0xFB, 0xE8, 0x58, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, -0x02, 0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, -0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x9B, 0xD6, 0x4B, 0x70, 0x9E, 0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, +0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, +0x90, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, -0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x04, 0x0C, 0xB0, 0xFF, -0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x3A, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBB, 0x07, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x1C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xE9, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x17, 0xDF, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCF, 0x8F, 0xE5, 0xAC, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x81, 0x1A, 0x1C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x75, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x58, 0x00, 0x02, -0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0x96, 0xEE, 0x00, 0x00, -0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x57, -0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, -0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, -0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, +0x3D, 0x70, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x4B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0xF9, 0x3B, 0x00, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0x92, 0xC4, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, +0x00, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0x4C, 0x4D, +0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, +0x00, 0xD4, 0x3F, 0xF0, 0x00, 0x60, 0xDE, 0x2D, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x53, 0x54, 0x20, +0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x6E, 0x29, /* America/Cuiaba */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28855,22 +28700,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Curacao */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, 0x5F, 0x60, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xEB, 0x5D, 0x00, 0xA9, +0x5F, 0x60, 0x00, 0x00, 0x00, 0x00, /* America/Danmarkshavn */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -29092,7 +28933,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xE4, 0x86, 0x9A, 0x00, 0x5B, +0x00, 0x00, 0x01, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xDE, 0x6C, 0x1A, 0x00, 0x5B, 0x32, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x53, 0x54, 0x20, 0x2D, 0x20, 0x42, 0x43, 0x20, 0x28, 0x44, 0x61, 0x77, 0x73, 0x6F, 0x6E, 0x20, 0x43, 0x72, 0x2C, 0x20, 0x46, 0x74, 0x20, 0x53, 0x74, 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x29, @@ -29400,22 +29241,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Dominica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x44, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x4C, +0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x4C, 0x01, 0xFF, 0xFF, 0xC6, 0x70, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA0, 0xAC, 0xD0, 0x00, 0xB4, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, + /* America/Edmonton */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30671,41 +30506,29 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Grenada */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x34, 0x64, +0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x34, 0x64, 0x01, 0xFF, 0xFF, 0xC6, 0x1C, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xB7, 0x48, 0x00, 0xB4, 0x6F, 0x68, 0x00, 0x00, 0x00, 0x00, + /* America/Guadeloupe */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xD5, 0xE1, 0xB0, +0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xD5, 0xE1, 0xB0, 0x01, 0xFF, 0xFF, 0xC6, 0x50, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0x19, 0x65, 0x00, 0xB4, 0xC4, 0x0A, 0x00, 0x00, 0x00, 0x00, + /* America/Guatemala */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33205,22 +33028,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Kralendijk */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, 0x79, 0xED, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9B, 0xDE, 0xAB, 0x00, 0xAA, +0x79, 0xED, 0x00, 0x00, 0x00, 0x00, /* America/La_Paz */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33629,22 +33448,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Lower_Princes */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, 0x74, 0xAD, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x93, 0x1E, 0x2E, 0x23, +0xF6, 0x98, 0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, +0x30, 0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x1E, 0x2E, 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x98, +0xEC, 0x48, 0x01, 0x02, 0xFF, 0xFF, 0xBF, 0x5D, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xB8, 0x00, 0x04, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x33, 0x30, 0x00, +0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xDF, 0x92, 0x00, 0xB2, +0x74, 0xAD, 0x00, 0x00, 0x00, 0x00, /* America/Maceio */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33771,22 +33586,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Marigot */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0xE5, 0x8A, 0x00, 0xB2, 0x66, 0x92, 0x00, 0x00, 0x00, 0x00, + /* America/Martinique */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -35236,249 +35045,174 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Montserrat */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x35, 0x10, +0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x35, 0x10, 0x01, 0xFF, 0xFF, 0xC5, 0xAC, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA2, 0xD6, 0x32, 0x00, 0xB3, 0xB9, 0x1D, 0x00, 0x00, 0x00, 0x00, + /* America/Nassau */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, -0x9E, 0xB8, 0x93, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x87, 0x2E, 0xC8, 0xA1, 0x9A, 0xB1, 0x40, -0xA2, 0x94, 0x06, 0xF0, 0xA3, 0x55, 0xA9, 0x40, 0xA4, 0x86, 0x5D, 0xF0, 0xA5, 0x28, 0x78, 0x60, -0xA6, 0x66, 0x3F, 0xF0, 0xA7, 0x0C, 0x4E, 0xE0, 0xA8, 0x46, 0x21, 0xF0, 0xA8, 0xEC, 0x30, 0xE0, -0xAA, 0x1C, 0xC9, 0x70, 0xAA, 0xD5, 0x4D, 0x60, 0xAB, 0xFC, 0xAB, 0x70, 0xAC, 0xB5, 0x2F, 0x60, -0xAD, 0xDC, 0x8D, 0x70, 0xAE, 0x95, 0x11, 0x60, 0xAF, 0xBC, 0x6F, 0x70, 0xB0, 0x7E, 0x2D, 0xE0, -0xB1, 0x9C, 0x51, 0x70, 0xB2, 0x67, 0x4A, 0x60, 0xB3, 0x7C, 0x33, 0x70, 0xB4, 0x47, 0x2C, 0x60, -0xB5, 0x5C, 0x15, 0x70, 0xB6, 0x27, 0x0E, 0x60, 0xB7, 0x3B, 0xF7, 0x70, 0xB8, 0x06, 0xF0, 0x60, -0xB9, 0x25, 0x13, 0xF0, 0xB9, 0xE6, 0xD2, 0x60, 0xBB, 0x04, 0xF5, 0xF0, 0xBB, 0xCF, 0xEE, 0xE0, -0xBC, 0xE4, 0xD7, 0xF0, 0xBD, 0xAF, 0xD0, 0xE0, 0xBE, 0xC4, 0xB9, 0xF0, 0xBF, 0x8F, 0xB2, 0xE0, -0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, -0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, -0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, -0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, -0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, -0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, -0xE6, 0x47, 0x2D, 0xF0, 0xE7, 0x12, 0x26, 0xE0, 0xE8, 0x27, 0x0F, 0xF0, 0xE9, 0x16, 0xF2, 0xE0, -0xEA, 0x06, 0xF1, 0xF0, 0xEA, 0xF6, 0xD4, 0xE0, 0xEB, 0xE6, 0xD3, 0xF0, 0xEC, 0xD6, 0xB6, 0xE0, -0xED, 0xC6, 0xB5, 0xF0, 0xEE, 0xBF, 0xD3, 0x60, 0xEF, 0xAF, 0xD2, 0x70, 0xF0, 0x9F, 0xB5, 0x60, -0xF1, 0x8F, 0xB4, 0x70, 0xF2, 0x7F, 0x97, 0x60, 0xF3, 0x6F, 0x96, 0x70, 0xF4, 0x5F, 0x79, 0x60, -0xF5, 0x4F, 0x78, 0x70, 0xF6, 0x3F, 0x5B, 0x60, 0xF7, 0x2F, 0x5A, 0x70, 0xF8, 0x28, 0x77, 0xE0, -0xF9, 0x0F, 0x3C, 0x70, 0xFA, 0x08, 0x59, 0xE0, 0xFA, 0xF8, 0x58, 0xF0, 0xFB, 0xE8, 0x3B, 0xE0, -0xFC, 0xD8, 0x3A, 0xF0, 0xFD, 0xC8, 0x1D, 0xE0, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x97, 0xFE, 0xF0, 0x01, 0x87, 0xE1, 0xE0, 0x02, 0x77, 0xE0, 0xF0, 0x03, 0x70, 0xFE, 0x60, -0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, 0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, -0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, 0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, -0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, 0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, -0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, 0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, -0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, -0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, -0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, -0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, -0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, -0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, -0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, -0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, -0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, -0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, -0x38, 0xE6, 0xEF, 0xF0, 0x39, 0xFB, 0xBC, 0xE0, 0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, -0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, -0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, -0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, -0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, -0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, -0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, -0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, -0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, -0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, -0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, -0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, -0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, -0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, -0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, -0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, -0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, -0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, -0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x94, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, -0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, -0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xEE, 0x78, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xB8, 0x93, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x87, 0x2E, -0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xB1, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x94, 0x06, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x55, 0xA9, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x86, 0x5D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x28, 0x78, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x66, 0x3F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x0C, 0x4E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x46, 0x21, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEC, 0x30, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x1C, 0xC9, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x4D, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xFC, 0xAB, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xB5, 0x2F, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xDC, 0x8D, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x95, 0x11, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xBC, 0x6F, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x25, 0x13, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xCF, 0xEE, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x29, 0x0A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x12, 0x26, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, -0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, -0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, -0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, -0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, -0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, -0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, -0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, -0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, -0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, -0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, -0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, -0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, -0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, -0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, -0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, -0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, -0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, -0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, -0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, -0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, -0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, -0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, -0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, -0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, -0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, -0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, -0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, -0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, -0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0xFF, 0xFF, 0xB5, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, -0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, -0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, -0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x93, 0x37, 0x42, 0x8A, +0xCB, 0xF4, 0xEF, 0x50, 0xD0, 0xFA, 0x47, 0xC0, 0xD1, 0x23, 0x34, 0x50, 0xD2, 0x23, 0xF4, 0x70, +0xD2, 0x78, 0x9A, 0xC0, 0xF5, 0x4F, 0x78, 0x70, 0xF6, 0x3F, 0x5B, 0x60, 0xF7, 0x2F, 0x5A, 0x70, +0xF8, 0x28, 0x77, 0xE0, 0xF9, 0x0F, 0x3C, 0x70, 0xFA, 0x08, 0x59, 0xE0, 0xFA, 0xF8, 0x58, 0xF0, +0xFB, 0xE8, 0x3B, 0xE0, 0xFC, 0xD8, 0x3A, 0xF0, 0xFD, 0xC8, 0x1D, 0xE0, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x97, 0xFE, 0xF0, 0x01, 0x87, 0xE1, 0xE0, 0x02, 0x77, 0xE0, 0xF0, +0x03, 0x70, 0xFE, 0x60, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, 0x06, 0x40, 0xDF, 0x70, +0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, 0x0A, 0x00, 0xA3, 0x70, +0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, 0x0D, 0xC0, 0x67, 0x70, +0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, 0x11, 0x89, 0x65, 0xF0, +0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, +0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, +0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, +0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, +0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, +0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, +0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, +0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, +0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, +0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, +0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xEF, 0xF0, 0x39, 0xFB, 0xBC, 0xE0, 0x3A, 0xC6, 0xD1, 0xF0, +0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, +0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, +0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, +0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, +0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, +0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, +0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, +0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, +0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, +0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, +0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, +0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, +0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, +0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, +0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, +0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, +0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, +0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, +0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFF, 0xFF, +0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x42, 0x8A, 0xFF, 0xFF, +0xFF, 0xFF, 0xCB, 0xF4, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xFA, 0x47, 0xC0, 0xFF, 0xFF, +0xFF, 0xFF, 0xD1, 0x23, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xD2, 0x78, 0x9A, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, +0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, +0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, 0x00, +0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, +0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, +0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, +0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, +0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, +0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, +0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, +0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, +0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, +0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, +0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, +0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, +0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, +0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, +0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, +0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, +0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, +0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, +0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, +0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, +0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, +0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, +0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, +0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, +0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, +0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, +0xFF, 0xFF, 0xB7, 0x76, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, +0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x44, +0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x45, 0x53, 0x54, +0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, +0x31, 0x2E, 0x30, 0x0A, 0x00, 0xAF, 0x9A, 0x6D, 0x00, 0x9C, 0xA1, 0xA8, 0x00, 0x00, 0x00, 0x00, + /* America/New_York */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x1E, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x86, 0x00, 0x70, 0xA1, 0x9A, 0xCD, 0x60, 0xA2, 0x65, 0xE2, 0x70, 0xA3, 0x83, 0xE9, 0xE0, 0xA4, 0x6A, 0xAE, 0x70, 0xA5, 0x35, 0xA7, 0x60, 0xA6, 0x53, 0xCA, 0xF0, 0xA7, 0x15, 0x89, 0x60, 0xA8, 0x33, 0xAC, 0xF0, 0xA8, 0xFE, 0xA5, 0xE0, @@ -35537,10 +35271,10 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, -0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, +0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, @@ -35553,149 +35287,150 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, -0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, -0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, -0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, -0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, -0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, -0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, -0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, -0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, -0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, -0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, -0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, -0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, -0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, +0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, +0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, +0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, +0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, +0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, +0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, +0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, +0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, +0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, +0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, +0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xC7, 0x74, 0x38, 0x00, 0xA1, 0xBB, 0xC1, 0x00, 0x00, 0x00, 0x14, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, @@ -37013,22 +36748,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Port_of_Spain */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x99, 0x94, 0x68, 0x00, 0xB4, 0xCA, 0x8D, 0x00, 0x00, 0x00, 0x00, + /* America/Porto_Acre */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37135,125 +36864,126 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Punta_Arenas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x8F, 0x30, 0x47, 0x45, 0x9B, 0x5C, 0xE5, 0x50, 0x9F, 0x7C, 0xE2, 0xC5, 0xA1, 0x00, 0x71, 0xC0, 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, -0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, -0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, -0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, 0x07, 0xDF, 0xEF, 0xB0, 0x08, 0xFE, 0x13, 0x40, -0x09, 0xBF, 0xD1, 0xB0, 0x0A, 0xDD, 0xF5, 0x40, 0x0B, 0xA8, 0xEE, 0x30, 0x0C, 0xBD, 0xD7, 0x40, -0x0D, 0x88, 0xD0, 0x30, 0x0E, 0x9D, 0xB9, 0x40, 0x0F, 0x68, 0xB2, 0x30, 0x10, 0x86, 0xD5, 0xC0, -0x11, 0x48, 0x94, 0x30, 0x12, 0x66, 0xB7, 0xC0, 0x13, 0x28, 0x76, 0x30, 0x14, 0x46, 0x99, 0xC0, -0x15, 0x11, 0x92, 0xB0, 0x16, 0x26, 0x7B, 0xC0, 0x16, 0xF1, 0x74, 0xB0, 0x18, 0x06, 0x5D, 0xC0, -0x18, 0xD1, 0x56, 0xB0, 0x19, 0xE6, 0x3F, 0xC0, 0x1A, 0xB1, 0x38, 0xB0, 0x1B, 0xCF, 0x5C, 0x40, -0x1C, 0x91, 0x1A, 0xB0, 0x1D, 0xAF, 0x3E, 0x40, 0x1E, 0x70, 0xFC, 0xB0, 0x1F, 0x8F, 0x20, 0x40, -0x20, 0x7F, 0x03, 0x30, 0x21, 0x6F, 0x02, 0x40, 0x22, 0x39, 0xFB, 0x30, 0x23, 0x4E, 0xE4, 0x40, -0x24, 0x19, 0xDD, 0x30, 0x25, 0x38, 0x00, 0xC0, 0x25, 0xF9, 0xBF, 0x30, 0x26, 0xF2, 0xF8, 0xC0, -0x27, 0xD9, 0xA1, 0x30, 0x28, 0xF7, 0xC4, 0xC0, 0x29, 0xC2, 0xBD, 0xB0, 0x2A, 0xD7, 0xA6, 0xC0, -0x2B, 0xA2, 0x9F, 0xB0, 0x2C, 0xB7, 0x88, 0xC0, 0x2D, 0x82, 0x81, 0xB0, 0x2E, 0x97, 0x6A, 0xC0, -0x2F, 0x62, 0x63, 0xB0, 0x30, 0x80, 0x87, 0x40, 0x31, 0x42, 0x45, 0xB0, 0x32, 0x60, 0x69, 0x40, -0x33, 0x3D, 0xD7, 0x30, 0x34, 0x40, 0x4B, 0x40, 0x35, 0x0B, 0x44, 0x30, 0x36, 0x0D, 0xB8, 0x40, -0x37, 0x06, 0xD5, 0xB0, 0x38, 0x00, 0x0F, 0x40, 0x38, 0xCB, 0x08, 0x30, 0x39, 0xE9, 0x2B, 0xC0, -0x3A, 0xAA, 0xEA, 0x30, 0x3B, 0xC9, 0x0D, 0xC0, 0x3C, 0x8A, 0xCC, 0x30, 0x3D, 0xA8, 0xEF, 0xC0, -0x3E, 0x6A, 0xAE, 0x30, 0x3F, 0x88, 0xD1, 0xC0, 0x40, 0x53, 0xCA, 0xB0, 0x41, 0x68, 0xB3, 0xC0, -0x42, 0x33, 0xAC, 0xB0, 0x43, 0x48, 0x95, 0xC0, 0x44, 0x13, 0x8E, 0xB0, 0x45, 0x31, 0xB2, 0x40, -0x45, 0xF3, 0x70, 0xB0, 0x47, 0x11, 0x94, 0x40, 0x47, 0xEF, 0x02, 0x30, 0x48, 0xF1, 0x76, 0x40, -0x49, 0xBC, 0x6F, 0x30, 0x4A, 0xD1, 0x58, 0x40, 0x4B, 0xB8, 0x00, 0xB0, 0x4C, 0xB1, 0x3A, 0x40, -0x4D, 0xC6, 0x07, 0x30, 0x4E, 0x50, 0x82, 0xC0, 0x4F, 0x9C, 0xAE, 0xB0, 0x50, 0x42, 0xD9, 0xC0, -0x51, 0x7C, 0x90, 0xB0, 0x52, 0x2B, 0xF6, 0x40, 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, -0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x58, 0x43, 0x86, 0xB0, 0x7F, 0xFF, 0xFF, 0xFF, -0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, -0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, -0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, -0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x1D, 0xFC, 0xFF, 0xFF, 0xFF, -0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, 0xE5, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, 0x71, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x77, 0x3D, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xB2, 0x41, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x70, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB4, 0x22, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x39, 0xA4, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xB6, 0x03, 0x67, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, -0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x02, 0x40, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x04, 0x20, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, -0x00, 0x06, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, -0x00, 0x07, 0xDF, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, -0x00, 0x09, 0xBF, 0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xA8, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0D, 0x88, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, -0x00, 0x0F, 0x68, 0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x11, 0x48, 0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x13, 0x28, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x15, 0x11, 0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x16, 0xF1, 0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x18, 0xD1, 0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xB1, 0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, -0x00, 0x1C, 0x91, 0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x70, 0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, -0x00, 0x20, 0x7F, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, -0x00, 0x22, 0x39, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, -0x00, 0x24, 0x19, 0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x25, 0xF9, 0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x27, 0xD9, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x29, 0xC2, 0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xA2, 0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x82, 0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x62, 0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, -0x00, 0x31, 0x42, 0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, -0x00, 0x35, 0x0B, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, -0x00, 0x37, 0x06, 0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, -0x00, 0x38, 0xCB, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xAA, 0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3C, 0x8A, 0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x6A, 0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x40, 0x53, 0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x42, 0x33, 0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x44, 0x13, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, -0x00, 0x45, 0xF3, 0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEF, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, -0x00, 0x49, 0xBC, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xB8, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, -0x00, 0x4D, 0xC6, 0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x9C, 0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x51, 0x7C, 0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, -0x00, 0x53, 0x5C, 0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, -0x00, 0x57, 0x37, 0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x58, 0x43, 0x86, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, -0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0xCC, 0x6C, 0xE7, 0xD0, 0xD4, 0x17, 0xE3, 0x40, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, +0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, +0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, +0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, 0x07, 0xDF, 0xEF, 0xB0, +0x08, 0xFE, 0x13, 0x40, 0x09, 0xBF, 0xD1, 0xB0, 0x0A, 0xDD, 0xF5, 0x40, 0x0B, 0xA8, 0xEE, 0x30, +0x0C, 0xBD, 0xD7, 0x40, 0x0D, 0x88, 0xD0, 0x30, 0x0E, 0x9D, 0xB9, 0x40, 0x0F, 0x68, 0xB2, 0x30, +0x10, 0x86, 0xD5, 0xC0, 0x11, 0x48, 0x94, 0x30, 0x12, 0x66, 0xB7, 0xC0, 0x13, 0x28, 0x76, 0x30, +0x14, 0x46, 0x99, 0xC0, 0x15, 0x11, 0x92, 0xB0, 0x16, 0x26, 0x7B, 0xC0, 0x16, 0xF1, 0x74, 0xB0, +0x18, 0x06, 0x5D, 0xC0, 0x18, 0xD1, 0x56, 0xB0, 0x19, 0xE6, 0x3F, 0xC0, 0x1A, 0xB1, 0x38, 0xB0, +0x1B, 0xCF, 0x5C, 0x40, 0x1C, 0x91, 0x1A, 0xB0, 0x1D, 0xAF, 0x3E, 0x40, 0x1E, 0x70, 0xFC, 0xB0, +0x1F, 0x8F, 0x20, 0x40, 0x20, 0x7F, 0x03, 0x30, 0x21, 0x6F, 0x02, 0x40, 0x22, 0x39, 0xFB, 0x30, +0x23, 0x4E, 0xE4, 0x40, 0x24, 0x19, 0xDD, 0x30, 0x25, 0x38, 0x00, 0xC0, 0x25, 0xF9, 0xBF, 0x30, +0x26, 0xF2, 0xF8, 0xC0, 0x27, 0xD9, 0xA1, 0x30, 0x28, 0xF7, 0xC4, 0xC0, 0x29, 0xC2, 0xBD, 0xB0, +0x2A, 0xD7, 0xA6, 0xC0, 0x2B, 0xA2, 0x9F, 0xB0, 0x2C, 0xB7, 0x88, 0xC0, 0x2D, 0x82, 0x81, 0xB0, +0x2E, 0x97, 0x6A, 0xC0, 0x2F, 0x62, 0x63, 0xB0, 0x30, 0x80, 0x87, 0x40, 0x31, 0x42, 0x45, 0xB0, +0x32, 0x60, 0x69, 0x40, 0x33, 0x3D, 0xD7, 0x30, 0x34, 0x40, 0x4B, 0x40, 0x35, 0x0B, 0x44, 0x30, +0x36, 0x0D, 0xB8, 0x40, 0x37, 0x06, 0xD5, 0xB0, 0x38, 0x00, 0x0F, 0x40, 0x38, 0xCB, 0x08, 0x30, +0x39, 0xE9, 0x2B, 0xC0, 0x3A, 0xAA, 0xEA, 0x30, 0x3B, 0xC9, 0x0D, 0xC0, 0x3C, 0x8A, 0xCC, 0x30, +0x3D, 0xA8, 0xEF, 0xC0, 0x3E, 0x6A, 0xAE, 0x30, 0x3F, 0x88, 0xD1, 0xC0, 0x40, 0x53, 0xCA, 0xB0, +0x41, 0x68, 0xB3, 0xC0, 0x42, 0x33, 0xAC, 0xB0, 0x43, 0x48, 0x95, 0xC0, 0x44, 0x13, 0x8E, 0xB0, +0x45, 0x31, 0xB2, 0x40, 0x45, 0xF3, 0x70, 0xB0, 0x47, 0x11, 0x94, 0x40, 0x47, 0xEF, 0x02, 0x30, +0x48, 0xF1, 0x76, 0x40, 0x49, 0xBC, 0x6F, 0x30, 0x4A, 0xD1, 0x58, 0x40, 0x4B, 0xB8, 0x00, 0xB0, +0x4C, 0xB1, 0x3A, 0x40, 0x4D, 0xC6, 0x07, 0x30, 0x4E, 0x50, 0x82, 0xC0, 0x4F, 0x9C, 0xAE, 0xB0, +0x50, 0x42, 0xD9, 0xC0, 0x51, 0x7C, 0x90, 0xB0, 0x52, 0x2B, 0xF6, 0x40, 0x53, 0x5C, 0x72, 0xB0, +0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x58, 0x43, 0x86, 0xB0, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, +0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, +0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, +0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, +0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x76, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, +0x1D, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0x47, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x5C, +0xE5, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x7C, 0xE2, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x00, +0x71, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x5E, 0x77, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x77, +0x3D, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x41, 0x00, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, +0x70, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x22, 0x34, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x39, +0xA4, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x03, 0x67, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x1A, +0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, +0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, +0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, +0xE3, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, +0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, +0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, +0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x75, 0x50, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, +0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x55, 0x32, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, +0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3E, 0x4F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0xBC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xDF, +0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0xBF, +0xD1, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDD, 0xF5, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA8, +0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xBD, 0xD7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x88, +0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x9D, 0xB9, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x68, +0xB2, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x86, 0xD5, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x48, +0x94, 0x30, 0x00, 0x00, 0x00, 0x00, 0x12, 0x66, 0xB7, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x28, +0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x14, 0x46, 0x99, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x11, +0x92, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x26, 0x7B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xF1, +0x74, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x5D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xD1, +0x56, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xE6, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xB1, +0x38, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xCF, 0x5C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x91, +0x1A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xAF, 0x3E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x70, +0xFC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x8F, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7F, +0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x39, +0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x23, 0x4E, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x24, 0x19, +0xDD, 0x30, 0x00, 0x00, 0x00, 0x00, 0x25, 0x38, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0xF9, +0xBF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x26, 0xF2, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xD9, +0xA1, 0x30, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF7, 0xC4, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, +0xBD, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xD7, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xA2, +0x9F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xB7, 0x88, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x82, +0x81, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x97, 0x6A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x62, +0x63, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x80, 0x87, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x42, +0x45, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x60, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, +0xD7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x4B, 0x40, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0B, +0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x36, 0x0D, 0xB8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x37, 0x06, +0xD5, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xCB, +0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x39, 0xE9, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xAA, +0xEA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xC9, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x8A, +0xCC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xA8, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x6A, +0xAE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x88, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x53, +0xCA, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x41, 0x68, 0xB3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x33, +0xAC, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x95, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x13, +0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x45, 0x31, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, +0x70, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x11, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEF, +0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x48, 0xF1, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0xBC, +0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xD1, 0x58, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB8, +0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xB1, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xC6, +0x07, 0x30, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x50, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x9C, +0xAE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x42, 0xD9, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x7C, +0x90, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2B, 0xF6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x53, 0x5C, +0x72, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0B, 0xD8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x57, 0x37, +0xE6, 0x30, 0x00, 0x00, 0x00, 0x00, 0x57, 0xAF, 0xEC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x43, +0x86, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, +0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x04, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x07, 0x07, 0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, -0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, -0x34, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, -0x3A, 0x88, 0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, -0x20, 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x07, +0xFF, 0xFF, 0xBD, 0x84, 0x00, 0x00, 0xFF, 0xFF, 0xBD, 0xBB, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xD5, 0xD0, 0x01, 0x10, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x10, +0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x2D, 0x30, 0x34, 0x00, +0x2D, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x0A, 0x00, 0x38, 0x3A, 0x88, +0x00, 0xA6, 0x72, 0xAD, 0x00, 0x00, 0x00, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6F, 0x6E, 0x20, 0x6F, +0x66, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x6C, 0x6C, 0x61, 0x6E, 0x65, 0x73, /* America/Rainy_River */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -38068,7 +37798,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x1B, 0xC9, 0xB0, 0xD5, 0x33, 0x55, 0xC0, +0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x17, 0xD5, 0x30, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, @@ -38095,7 +37825,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -38104,7 +37834,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x76, 0xFA, 0x38, 0xB0, 0x77, 0xC5, 0x4D, 0xC0, 0x78, 0xDA, 0x1A, 0xB0, 0x79, 0xA5, 0x2F, 0xC0, 0x7A, 0xC3, 0x37, 0x30, 0x7B, 0x85, 0x11, 0xC0, 0x7C, 0xA3, 0x19, 0x30, 0x7D, 0x6E, 0x2E, 0x40, 0x7E, 0x82, 0xFB, 0x30, 0x7F, 0x4E, 0x10, 0x40, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -38131,7 +37861,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, +0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, @@ -38186,7 +37916,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, @@ -38202,7 +37932,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x7B, 0x85, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA3, 0x19, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x6E, 0x2E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x4E, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -38784,22 +38514,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/St_Barthelemy */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x33, 0xAC, +0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x33, 0xAC, 0x01, 0xFF, 0xFF, 0xC6, 0x54, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA4, 0x9D, 0xED, 0x00, 0xB2, 0xC1, 0xB8, 0x00, 0x00, 0x00, 0x00, + /* America/St_Johns */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39037,77 +38761,57 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/St_Kitts */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x93, 0x37, 0x34, 0xCC, +0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x93, 0x37, 0x34, 0xCC, 0x01, 0xFF, 0xFF, 0xC5, 0x34, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA3, 0xBA, 0x10, 0x00, 0xB2, 0xF5, 0xCD, 0x00, 0x00, 0x00, 0x00, + /* America/St_Lucia */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0xC7, 0xB0, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xB0, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0xD0, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9E, 0xB7, 0x82, 0x00, 0xB5, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, /* America/St_Thomas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, +0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x54, 0x38, 0x00, 0xAF, 0x93, 0xEA, 0x00, 0x00, 0x00, 0x00, + /* America/St_Vincent */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0x92, 0xE6, 0xC7, 0xE8, 0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, +0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, +0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x87, 0x14, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0xC7, 0xE8, +0x01, 0x02, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xC6, 0x98, 0x00, 0x04, 0xFF, 0xFF, +0xC7, 0xC0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x9D, 0x64, 0xF8, 0x00, 0xB5, 0x39, 0x3A, 0x00, 0x00, 0x00, 0x00, @@ -39787,22 +39491,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Tortola */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x14, +0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x14, 0x01, 0xFF, 0xFF, 0xC3, 0x6C, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0xA5, 0x7B, 0x48, 0x00, 0xB0, 0x0F, 0x9D, 0x00, 0x00, 0x00, 0x00, + /* America/Vancouver */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39992,22 +39690,16 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* America/Virgin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0xCB, 0xF6, 0x32, 0xC0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, -0x7A, 0xE6, 0x95, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF6, 0x32, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0x01, 0x03, 0x02, 0x01, -0xFF, 0xFF, 0xC2, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x50, 0x54, 0x00, 0x41, 0x57, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, -0x0A, 0x41, 0x53, 0x54, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF4, 0x37, 0x60, +0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x41, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF4, 0x37, 0x60, 0x01, 0xFF, 0xFF, 0xC3, 0x20, 0x00, 0x00, +0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x0A, 0x41, +0x53, 0x54, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* America/Whitehorse */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40627,18 +40319,18 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/DumontDUrville */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD4, 0xBC, 0x76, 0x80, +0xDE, 0x34, 0x60, 0x60, 0xE7, 0x3C, 0x02, 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, +0x2B, 0x31, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, -0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x5A, 0x08, 0xFF, 0xFF, -0xFF, 0xFF, 0x72, 0xED, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, -0x02, 0x00, 0x00, 0x89, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xF0, 0x00, 0x04, 0x00, 0x00, 0x8C, -0xA0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4D, 0x4D, 0x54, 0x00, 0x2B, 0x31, 0x30, 0x00, -0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, -0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, 0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, -0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0xBC, 0x76, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x34, 0x60, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3C, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, +0x2D, 0x30, 0x30, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x31, 0x30, 0x3E, 0x2D, 0x31, +0x30, 0x0A, 0x00, 0x23, 0x9A, 0x95, 0x01, 0xE8, 0x4E, 0x82, 0x00, 0x00, 0x00, 0x10, 0x44, 0x75, +0x6D, 0x6F, 0x6E, 0x74, 0x2D, 0x64, 0x27, 0x55, 0x72, 0x76, 0x69, 0x6C, 0x6C, 0x65, /* Antarctica/Macquarie */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40804,15 +40496,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/McMurdo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, -0xB0, 0xB4, 0xB2, 0xE8, 0xB1, 0x51, 0x87, 0x58, 0xB2, 0x78, 0xE5, 0x68, 0xB3, 0x43, 0xE5, 0x60, -0xB4, 0x58, 0xC7, 0x68, 0xB5, 0x23, 0xC7, 0x60, 0xB6, 0x38, 0xA9, 0x68, 0xB7, 0x03, 0xA9, 0x60, -0xB8, 0x18, 0x8B, 0x68, 0xB8, 0xEC, 0xC5, 0xE0, 0xB9, 0xF8, 0x6D, 0x68, 0xBA, 0xCC, 0xA7, 0xE0, -0xBB, 0xD8, 0x4F, 0x68, 0xBC, 0xE3, 0xE8, 0xE0, 0xBD, 0xAE, 0xF6, 0xE8, 0xBE, 0xC3, 0xCA, 0xE0, -0xBF, 0x8E, 0xD8, 0xE8, 0xC0, 0xA3, 0xAC, 0xE0, 0xC1, 0x6E, 0xBA, 0xE8, 0xC2, 0x83, 0x8E, 0xE0, -0xC3, 0x4E, 0x9C, 0xE8, 0xC4, 0x63, 0x70, 0xE0, 0xC5, 0x2E, 0x7E, 0xE8, 0xC6, 0x4C, 0x8D, 0x60, -0xC7, 0x0E, 0x60, 0xE8, 0xC8, 0x2C, 0x6F, 0x60, 0xC8, 0xF7, 0x7D, 0x68, 0xD2, 0xDA, 0x9A, 0x40, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xE5, 0xA9, 0xE9, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0, 0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0, 0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0, @@ -40844,121 +40529,100 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x40, 0x92, 0x60, 0x73, 0x39, 0xBD, 0xE0, 0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0, 0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0, 0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, -0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, -0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, -0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, -0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x12, 0x78, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, -0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x23, 0x69, 0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, 0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, 0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, 0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, -0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, -0x00, 0x00, 0x00, 0x00, 0x32, 0x56, 0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x34, 0x36, 0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x36, 0x16, 0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, 0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, 0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, 0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, -0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, 0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x50, 0x66, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x52, 0x46, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0x26, 0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, 0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, 0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, 0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, 0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, 0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, -0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, -0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, 0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, 0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, 0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, 0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, 0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, -0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, -0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, -0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x44, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, -0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, 0xA0, 0x00, 0x00, 0x00, -0x26, 0x4E, 0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x74, 0x69, 0x6D, -0x65, 0x20, 0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, 0x20, 0x53, 0x6F, 0x75, -0x74, 0x68, 0x20, 0x50, 0x6F, 0x6C, 0x65, +0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, +0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, +0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, +0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, +0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, +0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x78, +0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, +0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, +0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, +0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, +0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, +0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, +0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, +0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, +0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x69, +0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, +0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, +0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, +0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, +0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, +0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, +0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, +0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, 0x00, 0x00, 0x00, 0x00, 0x32, 0x56, +0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x34, 0x36, +0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x36, 0x16, +0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, +0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, +0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, +0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, +0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, +0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, +0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, +0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, +0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, +0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, +0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, +0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, +0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, +0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x52, 0x46, +0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0x26, +0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, +0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, +0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, +0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, +0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, +0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, +0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, +0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, +0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, +0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, +0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, +0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, +0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, +0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, +0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, +0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, +0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, +0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, +0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, +0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, +0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, +0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, +0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, +0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, +0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, +0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x12, 0x90, 0x9A, 0x02, 0x10, 0xDE, +0xA0, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x65, 0x77, 0x20, 0x5A, 0x65, 0x61, 0x6C, 0x61, 0x6E, 0x64, +0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x4D, 0x63, 0x4D, 0x75, 0x72, 0x64, 0x6F, 0x2C, +0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x50, 0x6F, 0x6C, 0x65, /* Antarctica/Palmer */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -41068,15 +40732,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Antarctica/South_Pole */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, -0xB0, 0xB4, 0xB2, 0xE8, 0xB1, 0x51, 0x87, 0x58, 0xB2, 0x78, 0xE5, 0x68, 0xB3, 0x43, 0xE5, 0x60, -0xB4, 0x58, 0xC7, 0x68, 0xB5, 0x23, 0xC7, 0x60, 0xB6, 0x38, 0xA9, 0x68, 0xB7, 0x03, 0xA9, 0x60, -0xB8, 0x18, 0x8B, 0x68, 0xB8, 0xEC, 0xC5, 0xE0, 0xB9, 0xF8, 0x6D, 0x68, 0xBA, 0xCC, 0xA7, 0xE0, -0xBB, 0xD8, 0x4F, 0x68, 0xBC, 0xE3, 0xE8, 0xE0, 0xBD, 0xAE, 0xF6, 0xE8, 0xBE, 0xC3, 0xCA, 0xE0, -0xBF, 0x8E, 0xD8, 0xE8, 0xC0, 0xA3, 0xAC, 0xE0, 0xC1, 0x6E, 0xBA, 0xE8, 0xC2, 0x83, 0x8E, 0xE0, -0xC3, 0x4E, 0x9C, 0xE8, 0xC4, 0x63, 0x70, 0xE0, 0xC5, 0x2E, 0x7E, 0xE8, 0xC6, 0x4C, 0x8D, 0x60, -0xC7, 0x0E, 0x60, 0xE8, 0xC8, 0x2C, 0x6F, 0x60, 0xC8, 0xF7, 0x7D, 0x68, 0xD2, 0xDA, 0x9A, 0x40, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xE5, 0xA9, 0xE9, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0, 0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0, 0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0, @@ -41108,131 +40765,110 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x40, 0x92, 0x60, 0x73, 0x39, 0xBD, 0xE0, 0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0, 0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0, 0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, -0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, -0xAF, 0xC8, 0x01, 0x04, 0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, -0x00, 0x00, 0xB6, 0xD0, 0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, -0x4E, 0x5A, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0xB7, 0x4C, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0xB4, 0xB2, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x51, 0x87, 0x58, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x78, 0xE5, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x43, 0xE5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x58, 0xC7, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x23, 0xC7, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x38, 0xA9, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x03, 0xA9, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x18, 0x8B, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xEC, 0xC5, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xF8, 0x6D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xCC, 0xA7, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0x4F, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE3, 0xE8, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAE, 0xF6, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC3, 0xCA, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8E, 0xD8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA3, 0xAC, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6E, 0xBA, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x83, 0x8E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4E, 0x9C, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x63, 0x70, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2E, 0x7E, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4C, 0x8D, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0E, 0x60, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2C, 0x6F, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF7, 0x7D, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDA, 0x9A, 0x40, -0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, 0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, 0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x10, 0x98, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x12, 0x78, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, -0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x23, 0x69, 0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, 0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x28, 0xED, 0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, 0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, 0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, -0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, -0x00, 0x00, 0x00, 0x00, 0x32, 0x56, 0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x34, 0x36, 0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x36, 0x16, 0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, 0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, 0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, 0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, -0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, 0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x50, 0x66, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x52, 0x46, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0x26, 0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, 0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, 0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, 0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, 0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, 0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, 0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, -0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, -0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, 0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, 0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, 0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, 0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x70, 0x60, 0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, 0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, 0xFA, 0xE0, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0xA3, 0xD8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xC8, 0x01, 0x04, -0x00, 0x00, 0xA1, 0xB8, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x04, 0x00, 0x00, 0xB6, 0xD0, -0x01, 0x0E, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, -0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x4E, 0x5A, 0x4D, 0x54, 0x00, 0x4E, 0x5A, 0x44, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, 0x54, 0x2D, 0x31, 0x32, -0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x34, 0x2E, 0x31, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, +0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60, 0x7F, 0x68, 0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, 0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xA9, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, +0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAC, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xEF, +0xA5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x9E, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD8, +0xC1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7E, 0xDE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, +0xA3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x5E, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x98, +0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x3E, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x78, +0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, +0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFE, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, +0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE7, 0x83, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, +0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0xC7, 0x65, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, +0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xA7, 0x47, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, +0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x87, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC0, +0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x67, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, +0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, +0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0x09, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x69, +0xCE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x0F, 0xEB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x2E, +0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x42, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0D, +0xE3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE2, 0x24, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x28, 0xED, +0xC5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xC2, 0x06, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xCD, +0xA7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAB, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xAD, +0x89, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x05, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x8D, +0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6A, 0xE7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x6D, +0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x4A, 0xC9, 0x60, 0x00, 0x00, 0x00, 0x00, 0x32, 0x56, +0x69, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x2A, 0xAB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x34, 0x36, +0x4B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0A, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x36, 0x16, +0x2D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF3, 0xA9, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x37, 0xF6, +0x0F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD3, 0x8B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xD5, +0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB3, 0x6D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xBF, +0x0E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x93, 0x4F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, +0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x73, 0x31, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7E, +0xD2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0x4E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x41, 0x5E, +0xB4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3E, +0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x1C, 0x12, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0x1E, +0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFB, 0xF4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x46, 0xFE, +0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF7, 0x85, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDE, +0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD7, 0x67, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xBE, +0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xB7, 0x49, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x9E, +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x97, 0x2B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7D, +0xE2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x77, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, +0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x51, 0x60, 0x2A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x52, 0x46, +0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x53, 0x40, 0x0C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0x26, +0xC2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x55, 0x1F, 0xEE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, +0xA4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x56, 0xFF, 0xD0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE6, +0x86, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xDF, 0xB2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC6, +0x68, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBF, 0x94, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xAF, +0x85, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA8, 0xB0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x8F, +0x67, 0x60, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x92, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6F, +0x49, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x68, 0x74, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4F, +0x2B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, 0x56, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, +0x0D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0E, +0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x55, 0x60, 0x00, 0x00, 0x00, 0x00, 0x66, 0xF8, +0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0x37, 0x60, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD7, +0xED, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB7, +0xCF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xB0, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x97, +0xB1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x90, 0xDD, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x77, +0x93, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x70, 0xBF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x60, +0xB0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x71, 0x59, 0xDB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, +0x92, 0x60, 0x00, 0x00, 0x00, 0x00, 0x73, 0x39, 0xBD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, +0x74, 0x60, 0x00, 0x00, 0x00, 0x00, 0x75, 0x19, 0x9F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, +0x56, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF9, 0x81, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x77, 0xE0, +0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD9, 0x63, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, +0x1A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB9, 0x45, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xA9, +0x36, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x62, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x89, +0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0x44, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x68, +0xFA, 0xE0, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, +0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x4E, 0x5A, +0x44, 0x54, 0x00, 0x4E, 0x5A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x4E, 0x5A, 0x53, +0x54, 0x2D, 0x31, 0x32, 0x4E, 0x5A, 0x44, 0x54, 0x2C, 0x4D, 0x39, 0x2E, 0x35, 0x2E, 0x30, 0x2C, +0x4D, 0x34, 0x2E, 0x31, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, /* Antarctica/Syowa */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xE7, 0xB1, 0x58, 0x00, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, -0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xB1, 0x58, 0x00, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x00, 0x04, 0x2D, 0x30, 0x30, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x20, 0x08, 0xBC, 0x01, 0x4F, 0x11, 0x58, 0x00, 0x00, 0x00, 0x05, 0x53, 0x79, 0x6F, 0x77, 0x61, @@ -41472,13 +41108,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Aden */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x38, 0x56, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x38, 0x56, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0x9C, 0xC8, 0xB8, 0x01, 0x57, 0xA0, 0xC0, 0x00, 0x00, 0x00, 0x00, @@ -42100,18 +41736,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Bahrain */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xA1, 0xF2, 0x9D, 0x30, -0x04, 0x8A, 0x92, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x30, 0x50, 0x00, -0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xCA, 0x7B, 0x6C, 0x94, +0xCF, 0x17, 0x59, 0x48, 0x04, 0x8A, 0x92, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x03, +0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, +0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x9D, 0x30, 0x00, 0x00, 0x00, -0x00, 0x04, 0x8A, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x30, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, 0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, -0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x7B, 0x6C, 0x94, 0xFF, 0xFF, +0xFF, 0xFF, 0xCF, 0x17, 0x59, 0x48, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8A, 0x92, 0xC0, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x03, 0x00, 0x00, 0x2F, 0x6C, 0x00, 0x00, +0x00, 0x00, 0x31, 0x38, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB1, 0x96, +0x3D, 0x01, 0x5F, 0xD7, 0x9D, 0x00, 0x00, 0x00, 0x00, /* Asia/Baku */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -43527,23 +43165,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x80, +0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, 0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, +0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, -0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x64, -0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, +0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x63, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, @@ -43551,8 +43189,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Hong_Kong */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x48, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, 0xCA, 0x4D, 0x31, 0x30, 0xCA, 0xDB, 0x93, 0x30, 0xCB, 0x4B, 0x71, 0x78, 0xD2, 0xA0, 0xDE, 0x90, 0xD3, 0x6B, 0xD7, 0x80, 0xD4, 0x93, 0x58, 0xB8, 0xD5, 0x42, 0xB0, 0x38, 0xD6, 0x73, 0x3A, 0xB8, 0xD7, 0x3E, 0x41, 0xB8, 0xD8, 0x2E, 0x32, 0xB8, 0xD8, 0xF9, 0x39, 0xB8, 0xDA, 0x0E, 0x14, 0xB8, @@ -43570,62 +43208,64 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x4D, 0xE6, 0xB8, 0x05, 0x47, 0x04, 0x28, 0x06, 0x37, 0x03, 0x38, 0x07, 0x26, 0xE6, 0x28, 0x07, 0x83, 0x3D, 0x38, 0x09, 0x06, 0xC8, 0x28, 0x09, 0xF6, 0xC7, 0x38, 0x0A, 0xE6, 0xAA, 0x28, 0x0B, 0xD6, 0xA9, 0x38, 0x0C, 0xC6, 0x8C, 0x28, 0x11, 0x9B, 0x39, 0x38, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, -0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, -0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, -0x00, 0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, -0x00, 0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x48, 0x4B, 0x54, -0x2D, 0x38, 0x0A, 0x00, 0xAB, 0x54, 0xAD, 0x01, 0xC0, 0xD6, 0x57, 0x00, 0x00, 0x00, 0x00, +0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, +0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, +0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, 0x00, +0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, 0x00, +0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, 0x00, +0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, 0x00, +0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, 0x01, +0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, +0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, +0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, +0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, +0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x48, 0x4B, 0x54, 0x2D, 0x38, +0x0A, 0x00, 0xAB, 0x54, 0xAD, 0x01, 0xC0, 0xD6, 0x57, 0x00, 0x00, 0x00, 0x00, /* Asia/Hovd */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -43899,7 +43539,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Jakarta */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0xA9, 0x78, 0x85, 0xE0, 0xBA, 0x16, 0xDE, 0x60, 0xCB, 0xBF, 0x83, 0x88, 0xD2, 0x56, 0xEE, 0x70, 0xD7, 0x3C, 0xC6, 0x08, 0xDA, 0xFF, 0x26, 0x00, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, @@ -43907,21 +43547,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x67, 0x20, 0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, 0x00, 0x00, 0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, -0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x54, 0x5A, -0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x66, -0x49, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x78, 0x85, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x16, -0xDE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBF, 0x83, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x56, -0xEE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3C, 0xC6, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, -0x26, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, -0x03, 0x06, 0x00, 0x00, 0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x64, 0x20, 0x00, 0x04, 0x00, 0x00, -0x67, 0x20, 0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, -0x00, 0x00, 0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, -0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x0A, 0x57, 0x49, 0x42, -0x2D, 0x37, 0x0A, 0x00, 0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x4A, -0x61, 0x76, 0x61, 0x2C, 0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, +0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x66, 0x49, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x78, 0x85, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x16, 0xDE, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBF, 0x83, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x56, 0xEE, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3C, 0xC6, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, 0x26, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB5, 0xBE, 0x88, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x06, +0x00, 0x00, 0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x64, 0x20, 0x00, 0x04, 0x00, 0x00, 0x67, 0x20, +0x00, 0x08, 0x00, 0x00, 0x69, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x14, 0x00, 0x00, +0x70, 0x80, 0x00, 0x18, 0x00, 0x00, 0x62, 0x70, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, +0x54, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, +0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x57, 0x49, 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x57, 0x49, 0x42, 0x2D, 0x37, 0x0A, 0x00, +0x7F, 0xEB, 0x65, 0x01, 0xB5, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x4A, 0x61, 0x76, 0x61, 0x2C, +0x20, 0x53, 0x75, 0x6D, 0x61, 0x74, 0x72, 0x61, /* Asia/Jayapura */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44515,13 +44157,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Kuwait */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x35, 0x84, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1B, 0x36, 0xB4, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x61, 0x35, 0x84, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x2C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xB6, 0x16, 0x95, 0x01, 0x5B, 0xDF, 0xFD, 0x00, 0x00, 0x00, 0x00, @@ -44818,13 +44460,13 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Muscat */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4F, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xA1, 0xF2, 0x99, 0xA8, -0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xA1, 0xF2, 0x96, 0x90, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, -0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x99, 0xA8, 0x00, 0x00, -0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x33, 0xD8, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0x96, 0x90, 0x00, 0x00, +0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x36, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x34, 0x3E, 0x2D, 0x34, 0x0A, 0x00, 0xAD, 0x57, 0x00, 0x01, 0x6C, 0x0C, 0x9D, 0x00, 0x00, 0x00, 0x00, @@ -45267,16 +44909,22 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Phnom_Penh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0xA2, 0x6A, 0x67, 0xC4, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x45, 0x24, +0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, +0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x02, 0x00, 0x00, 0x62, 0x5C, 0x00, 0x00, +0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, +0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, +0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, +0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, 0x3C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, +0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x45, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, +0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, +0x02, 0x03, 0x04, 0x02, 0x02, 0x00, 0x00, 0x62, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, +0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, +0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, +0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0x9A, 0xF3, 0xF8, 0x01, 0xB2, 0xBF, 0x92, 0x00, 0x00, 0x00, 0x00, @@ -45515,23 +45163,23 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Saigon */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x80, +0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, 0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, -0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, +0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, +0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, -0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x64, -0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, +0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x63, +0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, @@ -46009,167 +45657,84 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Tehran */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, -0xD2, 0xDB, 0x12, 0xC8, 0x0E, 0xBB, 0xA2, 0x48, 0x0F, 0x74, 0x2D, 0x40, 0x10, 0x8E, 0x40, 0x30, -0x10, 0xED, 0x3A, 0x40, 0x11, 0x55, 0x67, 0xC8, 0x12, 0x45, 0x4A, 0xB8, 0x13, 0x37, 0xEC, 0xC8, -0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, 0x29, 0xCB, 0x9C, 0xC8, -0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, 0x2D, 0x8E, 0x03, 0xC8, -0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, 0x31, 0x50, 0x6A, 0xC8, -0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, 0x35, 0x14, 0x23, 0x48, -0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, 0x38, 0xD6, 0x8A, 0x48, -0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, 0x3C, 0x9A, 0x42, 0xC8, -0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, 0x40, 0x5C, 0xA9, 0xC8, -0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, 0x47, 0xE2, 0xC9, 0x48, -0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, 0x4B, 0xA6, 0x81, 0xC8, -0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, 0x4F, 0x68, 0xE8, 0xC8, -0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, 0x53, 0x2C, 0xA1, 0x48, -0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, 0x56, 0xEF, 0x08, 0x48, -0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, 0x5A, 0xB2, 0xC0, 0xC8, -0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, 0x5E, 0x75, 0x27, 0xC8, -0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, 0x62, 0x38, 0xE0, 0x48, -0x63, 0x2B, 0x66, 0x38, 0x64, 0x1A, 0x13, 0xC8, 0x65, 0x0C, 0x99, 0xB8, 0x65, 0xFB, 0x47, 0x48, -0x66, 0xED, 0xCD, 0x38, 0x67, 0xDD, 0xCC, 0x48, 0x68, 0xD0, 0x52, 0x38, 0x69, 0xBE, 0xFF, 0xC8, -0x6A, 0xB1, 0x85, 0xB8, 0x6B, 0xA0, 0x33, 0x48, 0x6C, 0x92, 0xB9, 0x38, 0x6D, 0x81, 0x66, 0xC8, -0x6E, 0x73, 0xEC, 0xB8, 0x6F, 0x62, 0x9A, 0x48, 0x70, 0x55, 0x20, 0x38, 0x71, 0x45, 0x1F, 0x48, -0x72, 0x37, 0xA5, 0x38, 0x73, 0x26, 0x52, 0xC8, 0x74, 0x18, 0xD8, 0xB8, 0x75, 0x07, 0x86, 0x48, -0x75, 0xFA, 0x0C, 0x38, 0x76, 0xE8, 0xB9, 0xC8, 0x77, 0xDB, 0x3F, 0xB8, 0x78, 0xCB, 0x3E, 0xC8, -0x79, 0xBD, 0xC4, 0xB8, 0x7A, 0xAC, 0x72, 0x48, 0x7B, 0x9E, 0xF8, 0x38, 0x7C, 0x8D, 0xA5, 0xC8, -0x7D, 0x80, 0x2B, 0xB8, 0x7E, 0x6E, 0xD9, 0x48, 0x7F, 0x61, 0x5F, 0x38, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, -0x12, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, -0x2D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, -0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, -0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, -0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, -0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, -0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, -0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, -0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, -0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, -0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, -0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, -0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, -0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, -0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, -0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, -0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, -0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, -0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, -0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, -0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, -0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, -0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, -0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, -0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, -0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, -0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, -0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, -0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, -0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, -0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, -0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, -0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, -0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, -0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, -0x99, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, -0xCD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, -0x52, 0x38, 0x00, 0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, -0x85, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, -0xB9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, -0xEC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, -0x20, 0x38, 0x00, 0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, -0xA5, 0x38, 0x00, 0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, -0xD8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, -0x0C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, -0x3F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, -0xC4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, -0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, -0x2B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, -0x5F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, -0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, -0x17, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, -0x4B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, -0x7E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, -0x03, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, -0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, -0x6A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, -0x9E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, -0x23, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, -0x56, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, -0x8A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, -0xBD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, -0x42, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, -0x76, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, -0xA9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, -0xDD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, -0x62, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, -0x95, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, -0xC9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, -0xFC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, -0x81, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, -0xB5, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, -0xE8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, -0x1C, 0x38, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, -0x4F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, -0xD4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, -0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, -0x3B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, -0x6F, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, -0xF4, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, -0x27, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, -0x5B, 0x38, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, -0x8E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, -0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, -0x47, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, -0x7A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, -0xAE, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, -0x33, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, -0x66, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, -0x9A, 0x38, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, -0xCD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, -0x52, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, -0x86, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, -0xB9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, -0xED, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, -0x72, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, -0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, -0xD9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, -0x0C, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, -0x91, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x4F, -0xC5, 0x38, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x00, 0x00, 0x30, 0x38, -0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x00, 0x00, -0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x16, -0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, -0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, -0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, -0x36, 0x33, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0xBF, 0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, +0xBF, 0x00, 0xCC, 0x48, 0x0D, 0x94, 0x44, 0x38, 0x0E, 0xAD, 0x13, 0xB8, 0x0F, 0x79, 0x73, 0x40, +0x10, 0x28, 0xCA, 0xC0, 0x10, 0xED, 0x3A, 0x40, 0x11, 0xAD, 0xBC, 0x48, 0x12, 0x45, 0x4A, 0xB8, +0x13, 0x37, 0xEC, 0xC8, 0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, +0x29, 0xCB, 0x9C, 0xC8, 0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, +0x2D, 0x8E, 0x03, 0xC8, 0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, +0x31, 0x50, 0x6A, 0xC8, 0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, +0x35, 0x14, 0x23, 0x48, 0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, +0x38, 0xD6, 0x8A, 0x48, 0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, +0x3C, 0x9A, 0x42, 0xC8, 0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, +0x40, 0x5C, 0xA9, 0xC8, 0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, +0x47, 0xE2, 0xC9, 0x48, 0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, +0x4B, 0xA6, 0x81, 0xC8, 0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, +0x4F, 0x68, 0xE8, 0xC8, 0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, +0x53, 0x2C, 0xA1, 0x48, 0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, +0x56, 0xEF, 0x08, 0x48, 0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, +0x5A, 0xB2, 0xC0, 0xC8, 0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, +0x5E, 0x75, 0x27, 0xC8, 0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, +0x62, 0x38, 0xE0, 0x48, 0x63, 0x2B, 0x66, 0x38, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, +0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, +0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, +0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, +0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, +0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, +0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, +0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, +0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x63, 0x2B, 0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0xBF, +0xC0, 0x8A, 0x01, 0x61, 0x23, 0xA5, 0x00, 0x00, 0x00, 0x00, /* Asia/Tel_Aviv */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -46697,18 +46262,25 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Asia/Vientiane */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4C, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, -0xA2, 0x6A, 0x67, 0xC4, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, 0x00, 0x00, 0x5E, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x4C, 0x4D, 0x54, -0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x47, 0x50, +0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0x51, 0x61, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, +0x02, 0x03, 0x02, 0x02, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, +0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, +0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x54, 0x5A, 0x69, +0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, -0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0x85, 0xC4, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x6A, 0x67, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x02, -0x00, 0x00, 0x5E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x3C, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, -0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x37, 0x3E, 0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, 0x00, -0x00, 0x00, 0x00, +0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x47, +0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, +0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x51, 0x61, +0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, +0x02, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, +0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, +0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x50, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, +0x37, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x37, 0x3E, +0x2D, 0x37, 0x0A, 0x00, 0xA4, 0xBE, 0x7A, 0x01, 0xAF, 0x36, 0xA0, 0x00, 0x00, 0x00, 0x00, /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -48259,15 +47831,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Atlantic/St_Helena */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48, -0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, -0x00, 0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xDC, 0x42, 0x9B, 0x58, 0x01, 0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, +0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0xE6, 0x92, 0x48, 0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x0A, 0x47, -0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, 0x00, 0x00, - +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, +0xFF, 0xFF, 0xFF, 0xFF, 0x69, 0x86, 0xE0, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x42, 0x9B, 0x58, +0x01, 0x02, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x04, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4A, 0x4D, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, +0x0A, 0x47, 0x4D, 0x54, 0x30, 0x0A, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5, 0xF0, 0x00, 0x00, +0x00, 0x00, /* Atlantic/Stanley */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -52421,7 +51995,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB0, 0x5E, 0x77, 0xC5, 0xB1, 0x77, 0x3D, 0x40, 0xB2, 0x41, 0x00, 0xD0, 0xB3, 0x58, 0x70, 0xC0, 0xB4, 0x22, 0x34, 0x50, 0xB5, 0x39, 0xA4, 0x40, 0xB6, 0x03, 0x67, 0xD0, 0xB7, 0x1A, 0xD7, 0xC0, 0xB7, 0xE4, 0x9B, 0x50, 0xB8, 0xFD, 0x5C, 0xC0, 0xB9, 0xC7, 0x20, 0x50, 0xCC, 0x1C, 0x6E, 0x40, -0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x1B, 0xC9, 0xB0, 0xD5, 0x33, 0x55, 0xC0, +0xCC, 0x6C, 0xE7, 0xD0, 0xD3, 0xDC, 0x8F, 0xC0, 0xD4, 0x17, 0xD5, 0x30, 0xD5, 0x33, 0x55, 0xC0, 0xD5, 0x76, 0x92, 0x40, 0xFD, 0xD1, 0x3C, 0x40, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x72, 0xDC, 0xB0, 0x01, 0x75, 0x50, 0xC0, 0x02, 0x40, 0x49, 0xB0, 0x03, 0x55, 0x32, 0xC0, 0x04, 0x20, 0x2B, 0xB0, 0x05, 0x3E, 0x4F, 0x40, 0x06, 0x00, 0x0D, 0xB0, 0x07, 0x0B, 0xBC, 0x40, @@ -52448,7 +52022,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -52457,7 +52031,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x76, 0xFA, 0x38, 0xB0, 0x77, 0xC5, 0x4D, 0xC0, 0x78, 0xDA, 0x1A, 0xB0, 0x79, 0xA5, 0x2F, 0xC0, 0x7A, 0xC3, 0x37, 0x30, 0x7B, 0x85, 0x11, 0xC0, 0x7C, 0xA3, 0x19, 0x30, 0x7D, 0x6E, 0x2E, 0x40, 0x7E, 0x82, 0xFB, 0x30, 0x7F, 0x4E, 0x10, 0x40, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -52484,7 +52058,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xB7, 0x1A, 0xD7, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xE4, 0x9B, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x5C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xC7, 0x20, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x1C, 0x6E, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xE7, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, -0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x1B, 0xC9, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, +0xD3, 0xDC, 0x8F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x17, 0xD5, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x33, 0x55, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x76, 0x92, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xD1, 0x3C, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x92, 0xFA, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCD, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0xDC, 0xB0, 0x00, 0x00, 0x00, 0x00, @@ -52539,7 +52113,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, +0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, 0x00, 0x00, 0x00, 0x00, @@ -52555,7 +52129,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x7B, 0x85, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA3, 0x19, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x6E, 0x2E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x82, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x4E, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x03, -0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x03, +0x01, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x02, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, @@ -52604,7 +52178,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -52683,7 +52257,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, +0x00, 0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, @@ -53342,7 +52916,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, +0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, @@ -53350,7 +52924,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, +0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, @@ -53478,7 +53052,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x24, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, @@ -54544,8 +54118,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/Belfast */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -54606,169 +54180,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -56157,7 +55732,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0xFF, 0xFF, 0xFA, 0x24, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, +0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x44, 0x4D, 0x54, 0x00, 0x49, 0x53, @@ -56165,7 +55740,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xDC, +0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xB3, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x0B, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, @@ -56293,7 +55868,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x24, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFA, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x08, 0x1F, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, @@ -56306,8 +55881,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/Gibraltar */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -56357,151 +55932,152 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, -0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, -0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x01, -0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0x04, -0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, -0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, -0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, -0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, -0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, -0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, -0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, -0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, -0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, -0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, -0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, -0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, -0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, -0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, -0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, -0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, -0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, -0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, -0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, -0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, -0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, -0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, -0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, -0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, -0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, -0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, +0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, +0x45, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1A, +0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xD1, 0x0A, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, +0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, +0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, +0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, +0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, +0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, +0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, +0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, +0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, +0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, +0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, +0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, +0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, +0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, +0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, +0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, +0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, +0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, +0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, +0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, +0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, +0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, +0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, +0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, +0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, +0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, +0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, +0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, +0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, +0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, +0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, +0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, +0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, +0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, +0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, +0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, +0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, +0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, +0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, +0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, +0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, -0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, -0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, -0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, -0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, +0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFA, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x0E, 0x10, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, +0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC0, 0x76, 0xD5, 0x01, 0x0A, 0x7E, 0xA8, 0x00, 0x00, 0x00, 0x00, /* Europe/Guernsey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x95, 0xA6, 0x91, 0xE1, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -56514,220 +56090,226 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, 0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, 0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, -0xC7, 0xDA, 0x09, 0xA0, 0xCA, 0x16, 0x26, 0x90, 0xCA, 0x97, 0x59, 0x90, 0xCB, 0xD1, 0x1E, 0x90, -0xCC, 0x77, 0x3B, 0x90, 0xCD, 0xB1, 0x00, 0x90, 0xCE, 0x60, 0x58, 0x10, 0xCF, 0x90, 0xE2, 0x90, -0xD0, 0x6E, 0x5E, 0x90, 0xD1, 0x72, 0x16, 0x10, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, -0xD3, 0x63, 0x29, 0xA0, 0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, -0xD5, 0xDF, 0xE0, 0x10, 0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, -0xD8, 0xF9, 0x95, 0x20, 0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, -0xDC, 0xCB, 0xCE, 0x20, 0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, -0xE0, 0x94, 0xCC, 0xA0, 0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, -0xE4, 0x54, 0x90, 0xA0, 0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, -0xE8, 0x14, 0x54, 0xA0, 0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, -0xEB, 0xDD, 0x53, 0x20, 0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, -0xEF, 0x81, 0x67, 0xA0, 0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, -0xF3, 0x4A, 0x66, 0x20, 0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, -0xF7, 0x00, 0xEF, 0xA0, 0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, -0xFA, 0xC0, 0xB3, 0xA0, 0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, -0x03, 0x70, 0xC6, 0x20, 0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, -0x07, 0x30, 0x8A, 0x20, 0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, -0x0A, 0xF0, 0x4E, 0x20, 0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, -0x0E, 0xB0, 0x12, 0x20, 0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, -0x12, 0x79, 0x10, 0xA0, 0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, -0x16, 0x38, 0xC6, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, -0x19, 0xF8, 0x8A, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, -0x1D, 0xC1, 0x89, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, -0x21, 0x81, 0x4D, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, -0x25, 0x4A, 0x4B, 0x90, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, -0x29, 0x0A, 0x0F, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, -0x2C, 0xC9, 0xD3, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, -0x30, 0x89, 0x97, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, -0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, -0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, -0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, -0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, -0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, -0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, -0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, -0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, -0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, -0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, -0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, -0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, -0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, -0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, -0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, -0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, -0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, -0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, -0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, -0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0xC7, 0xDA, 0x09, 0xA0, 0xC8, 0x82, 0x9F, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, +0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, +0xD1, 0xA1, 0x61, 0xE0, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, 0xD3, 0x63, 0x29, 0xA0, +0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, 0xD5, 0xDF, 0xE0, 0x10, +0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, 0xD8, 0xF9, 0x95, 0x20, +0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, 0xDC, 0xCB, 0xCE, 0x20, +0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, 0xE0, 0x94, 0xCC, 0xA0, +0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, 0xE4, 0x54, 0x90, 0xA0, +0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, 0xE8, 0x14, 0x54, 0xA0, +0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, 0xEB, 0xDD, 0x53, 0x20, +0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, 0xEF, 0x81, 0x67, 0xA0, +0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, 0xF3, 0x4A, 0x66, 0x20, +0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, 0xF7, 0x00, 0xEF, 0xA0, +0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, 0xFA, 0xC0, 0xB3, 0xA0, +0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, 0x03, 0x70, 0xC6, 0x20, +0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, 0x07, 0x30, 0x8A, 0x20, +0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, 0x0A, 0xF0, 0x4E, 0x20, +0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, 0x0E, 0xB0, 0x12, 0x20, +0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, 0x12, 0x79, 0x10, 0xA0, +0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x38, 0xC6, 0x90, +0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xF8, 0x8A, 0x90, +0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0xC1, 0x89, 0x10, +0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x81, 0x4D, 0x10, +0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x4A, 0x4B, 0x90, +0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x29, 0x0A, 0x0F, 0x90, +0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xC9, 0xD3, 0x90, +0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x89, 0x97, 0x90, +0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, +0x02, 0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x0B, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, +0x0B, 0xFF, 0xFF, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, +0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, +0x00, 0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, +0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0xA6, 0x91, 0xE1, 0xFF, +0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, +0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, +0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, +0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, +0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, +0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, +0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, +0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, +0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, +0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, +0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, +0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, +0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, +0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x03, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x0B, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, +0xFF, 0xFF, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, +0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0xCA, 0x80, 0x01, 0x0E, 0xC9, 0xD4, 0x00, 0x00, 0x00, 0x00, + /* Europe/Helsinki */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -56930,371 +56512,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, -0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xDB, 0xF4, 0x98, 0x01, 0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, - -/* Europe/Istanbul */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, -0x90, 0x8B, 0xF5, 0x98, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xBE, 0xD0, 0xA2, 0x65, 0x63, 0xE0, -0xA3, 0x7B, 0x82, 0x50, 0xA4, 0x4E, 0x80, 0x60, 0xA5, 0x3F, 0xB4, 0xD0, 0xA6, 0x25, 0x27, 0xE0, -0xA7, 0x27, 0x7F, 0xD0, 0xAA, 0x28, 0x28, 0x60, 0xAA, 0xE1, 0xFD, 0xD0, 0xAB, 0xF9, 0x89, 0xE0, -0xAC, 0xC3, 0x31, 0x50, 0xC8, 0x81, 0x3F, 0xE0, 0xC9, 0x01, 0x13, 0x50, 0xC9, 0x4A, 0xF5, 0x60, -0xCA, 0xCE, 0x80, 0x50, 0xCB, 0xCB, 0xAE, 0x60, 0xD2, 0x6B, 0x09, 0x50, 0xD3, 0xA2, 0x39, 0x60, -0xD4, 0x43, 0x02, 0x50, 0xD5, 0x4C, 0x0D, 0xE0, 0xD6, 0x29, 0x7B, 0xD0, 0xD7, 0x2B, 0xEF, 0xE0, -0xD8, 0x09, 0x5D, 0xD0, 0xD9, 0x02, 0x97, 0x60, 0xD9, 0xE9, 0x3F, 0xD0, 0xDA, 0xEB, 0xB3, 0xE0, -0xDB, 0xD2, 0x5C, 0x50, 0xDC, 0xD4, 0xD0, 0x60, 0xDD, 0xB2, 0x3E, 0x50, 0xF1, 0xF4, 0xB9, 0x60, -0xF4, 0x62, 0xEF, 0x50, 0xF5, 0x68, 0x06, 0x60, 0xF6, 0x1F, 0x38, 0xD0, 0x06, 0x6E, 0x93, 0x70, -0x07, 0x39, 0x9A, 0x70, 0x07, 0xFB, 0x75, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x09, 0xD0, 0xCB, 0x00, -0x0A, 0xF9, 0x5E, 0x70, 0x0B, 0xB1, 0xFE, 0x80, 0x0C, 0xD9, 0x40, 0x70, 0x0D, 0xA4, 0x55, 0x80, -0x0E, 0xA6, 0xAD, 0x70, 0x0F, 0x84, 0x37, 0x80, 0x0F, 0xF8, 0x11, 0x50, 0x19, 0x89, 0xB0, 0x70, -0x19, 0xDC, 0xB0, 0xE0, 0x1B, 0xE6, 0xD0, 0xF0, 0x1C, 0xC6, 0xEF, 0xF0, 0x1D, 0x9B, 0x31, 0x70, -0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, -0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, -0x26, 0x0B, 0xFB, 0xF0, 0x27, 0x05, 0x27, 0x70, 0x27, 0xF5, 0x18, 0x70, 0x28, 0xE5, 0x09, 0x70, -0x29, 0xD4, 0xFA, 0x70, 0x2A, 0xC4, 0xEB, 0x70, 0x2B, 0xB4, 0xDC, 0x70, 0x2C, 0xA4, 0xCD, 0x70, -0x2D, 0x8B, 0x83, 0xF0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, -0x31, 0x5D, 0xBC, 0xF0, 0x32, 0x72, 0x97, 0xF0, 0x33, 0x3D, 0x9E, 0xF0, 0x34, 0x52, 0x79, 0xF0, -0x35, 0x1D, 0x80, 0xF0, 0x36, 0x32, 0x5B, 0xF0, 0x36, 0xFD, 0x62, 0xF0, 0x38, 0x1B, 0x78, 0x70, -0x38, 0xDD, 0x44, 0xF0, 0x39, 0xFB, 0x5A, 0x70, 0x3A, 0xBD, 0x26, 0xF0, 0x3B, 0xDB, 0x3C, 0x70, -0x3C, 0xA6, 0x43, 0x70, 0x3D, 0xBB, 0x1E, 0x70, 0x3E, 0x86, 0x25, 0x70, 0x3F, 0x9B, 0x00, 0x70, -0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0, -0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, -0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, -0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8F, 0xDD, 0x90, 0x4E, 0xAC, 0xA1, 0x90, -0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, -0x53, 0x38, 0xBE, 0x10, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x3E, 0x9E, 0x90, -0x56, 0xF7, 0x30, 0x90, 0x57, 0xCF, 0x2E, 0x50, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, -0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, 0x04, -0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, 0x00, -0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, -0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, -0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, -0xFF, 0x56, 0xB6, 0xC8, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x8B, 0xF5, 0x98, 0xFF, 0xFF, 0xFF, -0xFF, 0x9B, 0x0C, 0x17, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD5, 0xBE, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xA2, 0x65, 0x63, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0x82, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xA4, 0x4E, 0x80, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xB4, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xA6, 0x25, 0x27, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xAA, 0x28, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xE1, 0xFD, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xAB, 0xF9, 0x89, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC3, 0x31, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xC8, 0x81, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x01, 0x13, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xC9, 0x4A, 0xF5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCE, 0x80, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xCB, 0xCB, 0xAE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x6B, 0x09, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xD3, 0xA2, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x43, 0x02, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xD5, 0x4C, 0x0D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x29, 0x7B, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD7, 0x2B, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x09, 0x5D, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xD9, 0x02, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE9, 0x3F, 0xD0, 0xFF, 0xFF, 0xFF, -0xFF, 0xDA, 0xEB, 0xB3, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xD2, 0x5C, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xDC, 0xD4, 0xD0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xB2, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xF1, 0xF4, 0xB9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x62, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, -0xFF, 0xF5, 0x68, 0x06, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x1F, 0x38, 0xD0, 0x00, 0x00, 0x00, -0x00, 0x06, 0x6E, 0x93, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x39, 0x9A, 0x70, 0x00, 0x00, 0x00, -0x00, 0x07, 0xFB, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x00, 0x00, 0x00, -0x00, 0x09, 0xD0, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF9, 0x5E, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0B, 0xB1, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0x40, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0D, 0xA4, 0x55, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA6, 0xAD, 0x70, 0x00, 0x00, 0x00, -0x00, 0x0F, 0x84, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x11, 0x50, 0x00, 0x00, 0x00, -0x00, 0x19, 0x89, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDC, 0xB0, 0xE0, 0x00, 0x00, 0x00, -0x00, 0x1B, 0xE6, 0xD0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC6, 0xEF, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x1D, 0x9B, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x27, 0x05, 0x27, 0x70, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x18, 0x70, 0x00, 0x00, 0x00, -0x00, 0x28, 0xE5, 0x09, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xFA, 0x70, 0x00, 0x00, 0x00, -0x00, 0x2A, 0xC4, 0xEB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xDC, 0x70, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xA4, 0xCD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x83, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, 0x00, 0x00, -0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xBC, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x32, 0x72, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x9E, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x34, 0x52, 0x79, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x80, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x36, 0x32, 0x5B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x62, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x38, 0x1B, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x44, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x39, 0xFB, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x26, 0xF0, 0x00, 0x00, 0x00, -0x00, 0x3B, 0xDB, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x43, 0x70, 0x00, 0x00, 0x00, -0x00, 0x3D, 0xBB, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x25, 0x70, 0x00, 0x00, 0x00, -0x00, 0x3F, 0x9B, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x07, 0x70, 0x00, 0x00, 0x00, -0x00, 0x41, 0x84, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x45, 0xE9, 0x70, 0x00, 0x00, 0x00, -0x00, 0x43, 0x63, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xCB, 0x70, 0x00, 0x00, 0x00, -0x00, 0x45, 0x43, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8F, 0xDD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, -0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x38, 0xBE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0x3E, 0x9E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, -0x00, 0x57, 0xCF, 0x2E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, -0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, -0x04, 0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, -0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, -0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, -0x0D, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, -0x45, 0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xC7, 0xEA, 0x62, 0x01, -0x3E, 0xDB, 0x9A, 0x00, 0x00, 0x00, 0x00, - -/* Europe/Jersey */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, -0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, -0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, -0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, -0xA6, 0x25, 0x60, 0x20, 0xA7, 0x27, 0xC6, 0x20, 0xA8, 0x2A, 0x2C, 0x20, 0xA8, 0xEB, 0xF8, 0xA0, -0xAA, 0x00, 0xD3, 0xA0, 0xAA, 0xD5, 0x15, 0x20, 0xAB, 0xE9, 0xF0, 0x20, 0xAC, 0xC7, 0x6C, 0x20, -0xAD, 0xC9, 0xD2, 0x20, 0xAE, 0xA7, 0x4E, 0x20, 0xAF, 0xA0, 0x79, 0xA0, 0xB0, 0x87, 0x30, 0x20, -0xB1, 0x92, 0xD0, 0xA0, 0xB2, 0x70, 0x4C, 0xA0, 0xB3, 0x72, 0xB2, 0xA0, 0xB4, 0x50, 0x2E, 0xA0, -0xB5, 0x49, 0x5A, 0x20, 0xB6, 0x30, 0x10, 0xA0, 0xB7, 0x32, 0x76, 0xA0, 0xB8, 0x0F, 0xF2, 0xA0, -0xB9, 0x12, 0x58, 0xA0, 0xB9, 0xEF, 0xD4, 0xA0, 0xBA, 0xE9, 0x00, 0x20, 0xBB, 0xD8, 0xF1, 0x20, -0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, -0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, -0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, -0xC7, 0xDA, 0x09, 0xA0, 0xCA, 0x16, 0x26, 0x90, 0xCA, 0x97, 0x59, 0x90, 0xCB, 0xD1, 0x1E, 0x90, -0xCC, 0x77, 0x3B, 0x90, 0xCD, 0xB1, 0x00, 0x90, 0xCE, 0x60, 0x58, 0x10, 0xCF, 0x90, 0xE2, 0x90, -0xD0, 0x6E, 0x5E, 0x90, 0xD1, 0x72, 0x16, 0x10, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, -0xD3, 0x63, 0x29, 0xA0, 0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, -0xD5, 0xDF, 0xE0, 0x10, 0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, -0xD8, 0xF9, 0x95, 0x20, 0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, -0xDC, 0xCB, 0xCE, 0x20, 0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, -0xE0, 0x94, 0xCC, 0xA0, 0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, -0xE4, 0x54, 0x90, 0xA0, 0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, -0xE8, 0x14, 0x54, 0xA0, 0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, -0xEB, 0xDD, 0x53, 0x20, 0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, -0xEF, 0x81, 0x67, 0xA0, 0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, -0xF3, 0x4A, 0x66, 0x20, 0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, -0xF7, 0x00, 0xEF, 0xA0, 0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, -0xFA, 0xC0, 0xB3, 0xA0, 0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, -0x03, 0x70, 0xC6, 0x20, 0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, -0x07, 0x30, 0x8A, 0x20, 0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, -0x0A, 0xF0, 0x4E, 0x20, 0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, -0x0E, 0xB0, 0x12, 0x20, 0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, -0x12, 0x79, 0x10, 0xA0, 0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, -0x16, 0x38, 0xC6, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, -0x19, 0xF8, 0x8A, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, -0x1D, 0xC1, 0x89, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, -0x21, 0x81, 0x4D, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, -0x25, 0x4A, 0x4B, 0x90, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, -0x29, 0x0A, 0x0F, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, -0x2C, 0xC9, 0xD3, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, -0x30, 0x89, 0x97, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, -0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, -0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, -0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, -0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, -0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, -0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, -0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, -0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, -0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, -0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, -0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, -0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, -0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, -0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, -0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, -0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, -0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, -0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, -0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, -0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, -0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFB, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, +0xCF, 0xD8, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, @@ -57429,14 +56655,376 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFB, +0xCD, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, -0x00, 0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, +0x00, 0xDB, 0xF4, 0x98, 0x01, 0x0B, 0xD7, 0xB5, 0x00, 0x00, 0x00, 0x00, + +/* Europe/Istanbul */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, +0x90, 0x8B, 0xF5, 0x98, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xBE, 0xD0, 0xA2, 0x65, 0x63, 0xE0, +0xA3, 0x7B, 0x82, 0x50, 0xA4, 0x4E, 0x80, 0x60, 0xA5, 0x3F, 0xB4, 0xD0, 0xA6, 0x25, 0x27, 0xE0, +0xA7, 0x27, 0x7F, 0xD0, 0xAA, 0x28, 0x28, 0x60, 0xAA, 0xE1, 0xFD, 0xD0, 0xAB, 0xF9, 0x89, 0xE0, +0xAC, 0xC3, 0x31, 0x50, 0xC8, 0x81, 0x3F, 0xE0, 0xC9, 0x01, 0x13, 0x50, 0xC9, 0x4A, 0xF5, 0x60, +0xCA, 0xCE, 0x80, 0x50, 0xCB, 0xCB, 0xAE, 0x60, 0xD2, 0x6B, 0x09, 0x50, 0xD3, 0xA2, 0x39, 0x60, +0xD4, 0x43, 0x02, 0x50, 0xD5, 0x4C, 0x0D, 0xE0, 0xD6, 0x29, 0x7B, 0xD0, 0xD7, 0x2B, 0xEF, 0xE0, +0xD8, 0x09, 0x5D, 0xD0, 0xD9, 0x02, 0x97, 0x60, 0xD9, 0xE9, 0x3F, 0xD0, 0xDA, 0xEB, 0xB3, 0xE0, +0xDB, 0xD2, 0x5C, 0x50, 0xDC, 0xD4, 0xD0, 0x60, 0xDD, 0xB2, 0x3E, 0x50, 0xF1, 0xF4, 0xB9, 0x60, +0xF4, 0x62, 0xEF, 0x50, 0xF5, 0x68, 0x06, 0x60, 0xF6, 0x1F, 0x38, 0xD0, 0x06, 0x6E, 0x93, 0x70, +0x07, 0x39, 0x9A, 0x70, 0x07, 0xFB, 0x75, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x09, 0xD0, 0xCB, 0x00, +0x0A, 0xF9, 0x5E, 0x70, 0x0B, 0xB1, 0xFE, 0x80, 0x0C, 0xD9, 0x40, 0x70, 0x0D, 0xA4, 0x55, 0x80, +0x0E, 0xA6, 0xAD, 0x70, 0x0F, 0x84, 0x37, 0x80, 0x0F, 0xF8, 0x11, 0x50, 0x19, 0x89, 0xB0, 0x70, +0x19, 0xDC, 0xB0, 0xE0, 0x1B, 0xE6, 0xD0, 0xF0, 0x1C, 0xC6, 0xEF, 0xF0, 0x1D, 0x9B, 0x31, 0x70, +0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, +0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, +0x26, 0x0B, 0xFB, 0xF0, 0x27, 0x05, 0x27, 0x70, 0x27, 0xF5, 0x18, 0x70, 0x28, 0xE5, 0x09, 0x70, +0x29, 0xD4, 0xFA, 0x70, 0x2A, 0xC4, 0xEB, 0x70, 0x2B, 0xB4, 0xDC, 0x70, 0x2C, 0xA4, 0xCD, 0x70, +0x2D, 0x8B, 0x83, 0xF0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, +0x31, 0x5D, 0xBC, 0xF0, 0x32, 0x72, 0x97, 0xF0, 0x33, 0x3D, 0x9E, 0xF0, 0x34, 0x52, 0x79, 0xF0, +0x35, 0x1D, 0x80, 0xF0, 0x36, 0x32, 0x5B, 0xF0, 0x36, 0xFD, 0x62, 0xF0, 0x38, 0x1B, 0x78, 0x70, +0x38, 0xDD, 0x44, 0xF0, 0x39, 0xFB, 0x5A, 0x70, 0x3A, 0xBD, 0x26, 0xF0, 0x3B, 0xDB, 0x3C, 0x70, +0x3C, 0xA6, 0x43, 0x70, 0x3D, 0xBB, 0x1E, 0x70, 0x3E, 0x86, 0x25, 0x70, 0x3F, 0x9B, 0x00, 0x70, +0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0, +0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8F, 0xDD, 0x90, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x38, 0xBE, 0x10, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x3E, 0x9E, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x57, 0xCF, 0x2E, 0x50, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, +0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, 0x04, +0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, 0x00, +0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, +0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, +0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, +0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, +0xFF, 0x56, 0xB6, 0xC8, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x8B, 0xF5, 0x98, 0xFF, 0xFF, 0xFF, +0xFF, 0x9B, 0x0C, 0x17, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD5, 0xBE, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xA2, 0x65, 0x63, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0x82, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xA4, 0x4E, 0x80, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xB4, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xA6, 0x25, 0x27, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0x7F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xAA, 0x28, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xE1, 0xFD, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xAB, 0xF9, 0x89, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC3, 0x31, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xC8, 0x81, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x01, 0x13, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xC9, 0x4A, 0xF5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCE, 0x80, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xCB, 0xCB, 0xAE, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x6B, 0x09, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xD3, 0xA2, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x43, 0x02, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xD5, 0x4C, 0x0D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x29, 0x7B, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xD7, 0x2B, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x09, 0x5D, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xD9, 0x02, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE9, 0x3F, 0xD0, 0xFF, 0xFF, 0xFF, +0xFF, 0xDA, 0xEB, 0xB3, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xD2, 0x5C, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xDC, 0xD4, 0xD0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xB2, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xF1, 0xF4, 0xB9, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x62, 0xEF, 0x50, 0xFF, 0xFF, 0xFF, +0xFF, 0xF5, 0x68, 0x06, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x1F, 0x38, 0xD0, 0x00, 0x00, 0x00, +0x00, 0x06, 0x6E, 0x93, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x39, 0x9A, 0x70, 0x00, 0x00, 0x00, +0x00, 0x07, 0xFB, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x19, 0x7C, 0x70, 0x00, 0x00, 0x00, +0x00, 0x09, 0xD0, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF9, 0x5E, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0B, 0xB1, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0x40, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0D, 0xA4, 0x55, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xA6, 0xAD, 0x70, 0x00, 0x00, 0x00, +0x00, 0x0F, 0x84, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x11, 0x50, 0x00, 0x00, 0x00, +0x00, 0x19, 0x89, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDC, 0xB0, 0xE0, 0x00, 0x00, 0x00, +0x00, 0x1B, 0xE6, 0xD0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC6, 0xEF, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x1D, 0x9B, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x27, 0x05, 0x27, 0x70, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x18, 0x70, 0x00, 0x00, 0x00, +0x00, 0x28, 0xE5, 0x09, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xFA, 0x70, 0x00, 0x00, 0x00, +0x00, 0x2A, 0xC4, 0xEB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xDC, 0x70, 0x00, 0x00, 0x00, +0x00, 0x2C, 0xA4, 0xCD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8B, 0x83, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, 0x70, 0x00, 0x00, 0x00, +0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xBC, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x32, 0x72, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x9E, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x34, 0x52, 0x79, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x80, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x36, 0x32, 0x5B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x62, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x38, 0x1B, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x44, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x39, 0xFB, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x26, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x3B, 0xDB, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x43, 0x70, 0x00, 0x00, 0x00, +0x00, 0x3D, 0xBB, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x25, 0x70, 0x00, 0x00, 0x00, +0x00, 0x3F, 0x9B, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x07, 0x70, 0x00, 0x00, 0x00, +0x00, 0x41, 0x84, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x42, 0x45, 0xE9, 0x70, 0x00, 0x00, 0x00, +0x00, 0x43, 0x63, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xCB, 0x70, 0x00, 0x00, 0x00, +0x00, 0x45, 0x43, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, +0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, +0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, +0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, +0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8F, 0xDD, 0x90, 0x00, 0x00, 0x00, +0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, +0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, +0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x38, 0xBE, 0x10, 0x00, 0x00, 0x00, +0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, +0x00, 0x56, 0x3E, 0x9E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, +0x00, 0x57, 0xCF, 0x2E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x03, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x08, 0x09, 0x08, 0x09, +0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x04, +0x04, 0x00, 0x00, 0x1B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x68, 0x00, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x11, 0x00, +0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x0D, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x49, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x45, 0x45, 0x54, 0x00, 0x2B, 0x30, 0x33, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x3E, 0x2D, 0x33, 0x0A, 0x00, 0xC7, 0xEA, 0x62, 0x01, +0x3E, 0xDB, 0x9A, 0x00, 0x00, 0x00, 0x00, + +/* Europe/Jersey */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, +0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, +0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, +0xA6, 0x25, 0x60, 0x20, 0xA7, 0x27, 0xC6, 0x20, 0xA8, 0x2A, 0x2C, 0x20, 0xA8, 0xEB, 0xF8, 0xA0, +0xAA, 0x00, 0xD3, 0xA0, 0xAA, 0xD5, 0x15, 0x20, 0xAB, 0xE9, 0xF0, 0x20, 0xAC, 0xC7, 0x6C, 0x20, +0xAD, 0xC9, 0xD2, 0x20, 0xAE, 0xA7, 0x4E, 0x20, 0xAF, 0xA0, 0x79, 0xA0, 0xB0, 0x87, 0x30, 0x20, +0xB1, 0x92, 0xD0, 0xA0, 0xB2, 0x70, 0x4C, 0xA0, 0xB3, 0x72, 0xB2, 0xA0, 0xB4, 0x50, 0x2E, 0xA0, +0xB5, 0x49, 0x5A, 0x20, 0xB6, 0x30, 0x10, 0xA0, 0xB7, 0x32, 0x76, 0xA0, 0xB8, 0x0F, 0xF2, 0xA0, +0xB9, 0x12, 0x58, 0xA0, 0xB9, 0xEF, 0xD4, 0xA0, 0xBA, 0xE9, 0x00, 0x20, 0xBB, 0xD8, 0xF1, 0x20, +0xBC, 0xDB, 0x57, 0x20, 0xBD, 0xB8, 0xD3, 0x20, 0xBE, 0xB1, 0xFE, 0xA0, 0xBF, 0x98, 0xB5, 0x20, +0xC0, 0x9B, 0x1B, 0x20, 0xC1, 0x78, 0x97, 0x20, 0xC2, 0x7A, 0xFD, 0x20, 0xC3, 0x58, 0x79, 0x20, +0xC4, 0x51, 0xA4, 0xA0, 0xC5, 0x38, 0x5B, 0x20, 0xC6, 0x3A, 0xC1, 0x20, 0xC7, 0x58, 0xD6, 0xA0, +0xC7, 0xDA, 0x09, 0xA0, 0xC8, 0x82, 0x9F, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, +0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, +0xD1, 0xA1, 0x61, 0xE0, 0xD1, 0xFB, 0x32, 0x10, 0xD2, 0x69, 0xFE, 0x20, 0xD3, 0x63, 0x29, 0xA0, +0xD4, 0x49, 0xE0, 0x20, 0xD5, 0x1E, 0x21, 0xA0, 0xD5, 0x42, 0xFD, 0x90, 0xD5, 0xDF, 0xE0, 0x10, +0xD6, 0x4E, 0xAC, 0x20, 0xD6, 0xFE, 0x03, 0xA0, 0xD8, 0x2E, 0x8E, 0x20, 0xD8, 0xF9, 0x95, 0x20, +0xDA, 0x0E, 0x70, 0x20, 0xDA, 0xEB, 0xEC, 0x20, 0xDB, 0xE5, 0x17, 0xA0, 0xDC, 0xCB, 0xCE, 0x20, +0xDD, 0xC4, 0xF9, 0xA0, 0xDE, 0xB4, 0xEA, 0xA0, 0xDF, 0xAE, 0x16, 0x20, 0xE0, 0x94, 0xCC, 0xA0, +0xE1, 0x72, 0x48, 0xA0, 0xE2, 0x6B, 0x74, 0x20, 0xE3, 0x52, 0x2A, 0xA0, 0xE4, 0x54, 0x90, 0xA0, +0xE5, 0x32, 0x0C, 0xA0, 0xE6, 0x3D, 0xAD, 0x20, 0xE7, 0x1B, 0x29, 0x20, 0xE8, 0x14, 0x54, 0xA0, +0xE8, 0xFB, 0x0B, 0x20, 0xE9, 0xFD, 0x71, 0x20, 0xEA, 0xDA, 0xED, 0x20, 0xEB, 0xDD, 0x53, 0x20, +0xEC, 0xBA, 0xCF, 0x20, 0xED, 0xB3, 0xFA, 0xA0, 0xEE, 0x9A, 0xB1, 0x20, 0xEF, 0x81, 0x67, 0xA0, +0xF0, 0x9F, 0x7D, 0x20, 0xF1, 0x61, 0x49, 0xA0, 0xF2, 0x7F, 0x5F, 0x20, 0xF3, 0x4A, 0x66, 0x20, +0xF4, 0x5F, 0x41, 0x20, 0xF5, 0x21, 0x0D, 0xA0, 0xF6, 0x3F, 0x23, 0x20, 0xF7, 0x00, 0xEF, 0xA0, +0xF8, 0x1F, 0x05, 0x20, 0xF8, 0xE0, 0xD1, 0xA0, 0xF9, 0xFE, 0xE7, 0x20, 0xFA, 0xC0, 0xB3, 0xA0, +0xFB, 0xE8, 0x03, 0xA0, 0xFC, 0x7B, 0xAB, 0xA0, 0xFD, 0xC7, 0xBB, 0x70, 0x03, 0x70, 0xC6, 0x20, +0x04, 0x29, 0x58, 0x20, 0x05, 0x50, 0xA8, 0x20, 0x06, 0x09, 0x3A, 0x20, 0x07, 0x30, 0x8A, 0x20, +0x07, 0xE9, 0x1C, 0x20, 0x09, 0x10, 0x6C, 0x20, 0x09, 0xC8, 0xFE, 0x20, 0x0A, 0xF0, 0x4E, 0x20, +0x0B, 0xB2, 0x1A, 0xA0, 0x0C, 0xD0, 0x30, 0x20, 0x0D, 0x91, 0xFC, 0xA0, 0x0E, 0xB0, 0x12, 0x20, +0x0F, 0x71, 0xDE, 0xA0, 0x10, 0x99, 0x2E, 0xA0, 0x11, 0x51, 0xC0, 0xA0, 0x12, 0x79, 0x10, 0xA0, +0x13, 0x31, 0xA2, 0xA0, 0x14, 0x58, 0xF2, 0xA0, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x38, 0xC6, 0x90, +0x17, 0x03, 0xCD, 0x90, 0x18, 0x18, 0xA8, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xF8, 0x8A, 0x90, +0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xE1, 0xA7, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0xC1, 0x89, 0x10, +0x1E, 0x8C, 0x90, 0x10, 0x1F, 0xA1, 0x6B, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x81, 0x4D, 0x10, +0x22, 0x4C, 0x54, 0x10, 0x23, 0x61, 0x2F, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x4A, 0x4B, 0x90, +0x26, 0x0C, 0x18, 0x10, 0x27, 0x2A, 0x2D, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x29, 0x0A, 0x0F, 0x90, +0x29, 0xD5, 0x16, 0x90, 0x2A, 0xE9, 0xF1, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xC9, 0xD3, 0x90, +0x2D, 0x94, 0xDA, 0x90, 0x2E, 0xA9, 0xB5, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x89, 0x97, 0x90, +0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x03, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, +0x03, 0xFF, 0xFF, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, +0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, +0x15, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, +0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, +0x00, 0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, +0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, +0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x79, 0x68, 0x3D, 0x00, 0xFF, +0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x82, 0x9F, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x61, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, +0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, +0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, +0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, +0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, +0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, +0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, +0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, +0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, +0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, +0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, +0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, +0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, +0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, +0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, +0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, +0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, +0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, +0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, +0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, +0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x03, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x01, 0x02, 0x01, 0x02, 0x01, 0x07, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x09, 0x03, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, 0x0A, 0x03, +0xFF, 0xFF, 0xFE, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, +0x00, 0x00, 0x1C, 0x20, 0x01, 0x15, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, +0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, +0x47, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x42, 0x44, 0x53, +0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, +0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD4, 0x60, 0x99, 0x01, 0x0F, 0x71, 0x95, 0x00, 0x00, 0x00, 0x00, + /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -57537,7 +57125,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, 0xAA, 0x19, 0xA7, 0x64, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0xCD, 0x2E, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, @@ -57669,9 +57257,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, -0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, 0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, -0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, -0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, /* Europe/Kirov */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -57749,6 +57336,143 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x0A, 0x00, 0xE2, 0xBE, 0xE0, 0x01, 0x5E, 0x6B, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x53, 0x4B, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x72, 0x6F, 0x76, +/* Europe/Kyiv */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, +0xAA, 0x19, 0xA7, 0x64, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0xCD, 0x2E, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, +0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, 0xCE, 0xCD, 0xA8, 0x70, 0x15, 0x27, 0xA7, 0xD0, +0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50, 0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0, +0x19, 0xDB, 0x43, 0x40, 0x1A, 0xCC, 0x93, 0xD0, 0x1B, 0xBC, 0xA0, 0xF0, 0x1C, 0xAC, 0x91, 0xF0, +0x1D, 0x9C, 0x82, 0xF0, 0x1E, 0x8C, 0x73, 0xF0, 0x1F, 0x7C, 0x64, 0xF0, 0x20, 0x6C, 0x55, 0xF0, +0x21, 0x5C, 0x46, 0xF0, 0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, +0x25, 0x1C, 0x0A, 0xF0, 0x26, 0x0B, 0xFB, 0xF0, 0x26, 0x8D, 0x20, 0xE0, 0x28, 0xE5, 0x17, 0x80, +0x29, 0xD5, 0x08, 0x80, 0x2A, 0xC4, 0xF9, 0x80, 0x2B, 0xB4, 0xEA, 0x80, 0x2C, 0xA4, 0xDB, 0x80, +0x2D, 0x94, 0xCC, 0x80, 0x2E, 0x84, 0xBD, 0x80, 0x2F, 0x74, 0xAE, 0x80, 0x30, 0x64, 0x9F, 0x80, +0x31, 0x5D, 0xCB, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, +0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, +0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, +0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, +0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, +0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, +0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, +0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, +0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, +0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, +0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, +0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, +0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, +0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, +0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, +0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, +0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, +0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, +0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, +0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, +0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, +0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, +0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, +0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x00, 0x00, +0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, +0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, +0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x1D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, +0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, +0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x22, 0xFF, +0xFF, 0xFF, 0xFF, 0x56, 0xB6, 0xC7, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0xA7, 0x64, 0xFF, +0xFF, 0xFF, 0xFF, 0xB5, 0xA4, 0x19, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xCD, 0x2E, 0xD0, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xCD, 0xA8, 0x70, 0x00, +0x00, 0x00, 0x00, 0x15, 0x27, 0xA7, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xDC, 0x40, 0x00, +0x00, 0x00, 0x00, 0x17, 0x08, 0xDB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x0F, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x18, 0xEA, 0x0E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x43, 0x40, 0x00, +0x00, 0x00, 0x00, 0x1A, 0xCC, 0x93, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xA0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1C, 0xAC, 0x91, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x82, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x8C, 0x73, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x64, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x20, 0x6C, 0x55, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x46, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x22, 0x4C, 0x37, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x28, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x24, 0x2C, 0x19, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x0A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x26, 0x0B, 0xFB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x8D, 0x20, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x28, 0xE5, 0x17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0x84, 0xBD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xAE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x64, 0x9F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xCB, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, +0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, +0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, +0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, +0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, +0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, +0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x03, 0x07, +0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, +0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, +0x00, 0x00, 0x1C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x9C, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x4D, +0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, +0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, +0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x2C, 0x4D, 0x31, +0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x34, 0x0A, 0x00, 0xD6, 0x48, 0xC5, 0x01, 0x41, 0x39, 0x12, +0x00, 0x00, 0x00, 0x14, 0x55, 0x6B, 0x72, 0x61, 0x69, 0x6E, 0x65, 0x20, 0x28, 0x6D, 0x6F, 0x73, +0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, + /* Europe/Lisbon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, @@ -57977,7 +57701,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -58013,17 +57737,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF5, 0xE4, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -58087,7 +57811,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0D, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -58097,8 +57821,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Europe/London */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -58159,169 +57883,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0xD7, 0xEC, 0xB1, 0x01, 0x12, 0x77, 0x90, 0x00, 0x00, 0x00, 0x00, @@ -58573,8 +58298,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, -0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0xB5, 0x00, 0xFF, 0xFF, 0xFF, @@ -58674,8 +58399,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x12, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x17, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x45, 0x53, 0x54, 0x00, 0x57, 0x45, 0x54, 0x00, 0x57, 0x45, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, -0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, +0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xC6, 0xF9, 0x80, 0x01, 0x0D, 0x09, 0xB2, 0x00, 0x00, 0x00, 0x10, 0x53, 0x70, 0x61, 0x69, 0x6E, 0x20, 0x28, 0x6D, 0x61, 0x69, 0x6E, 0x6C, 0x61, 0x6E, @@ -58727,7 +58452,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, @@ -58829,7 +58554,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, -0x7F, 0x90, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, +0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, @@ -60259,20 +59984,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -60361,21 +60086,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -60508,20 +60233,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -60610,21 +60335,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -60635,7 +60360,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -60671,17 +60396,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF2, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -60745,7 +60470,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -60843,7 +60568,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x20, 0x6C, 0x55, 0xF0, 0x21, 0x5C, 0x46, 0xF0, 0x22, 0x4C, 0x37, 0xF0, 0x23, 0x3C, 0x28, 0xF0, 0x24, 0x2C, 0x19, 0xF0, 0x25, 0x1C, 0x0A, 0xF0, 0x26, 0x8D, 0x2E, 0xF0, 0x29, 0xD5, 0x08, 0x80, 0x2A, 0xC4, 0xF9, 0x80, 0x2B, 0xB4, 0xEA, 0x80, 0x2C, 0xA4, 0xDB, 0x80, 0x2D, 0x94, 0xCC, 0x80, -0x2D, 0xC2, 0xC6, 0xD0, 0x2E, 0x84, 0x85, 0x40, 0x2F, 0x74, 0x84, 0x50, 0x30, 0x64, 0x67, 0x40, +0x2D, 0xC2, 0xC6, 0xD0, 0x2E, 0x84, 0xAF, 0x70, 0x2F, 0x74, 0xA0, 0x70, 0x30, 0x64, 0x91, 0x70, 0x31, 0x5D, 0xA0, 0xD0, 0x32, 0x72, 0xA6, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, @@ -60855,7 +60580,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x5E, 0x80, 0x54, 0x4C, 0x1D, 0x60, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, -0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x03, 0x07, 0x03, 0x09, 0x08, 0x0C, +0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x08, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x04, 0x00, @@ -60888,8 +60613,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xF9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xDB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xCC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xC2, 0xC6, -0xD0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, -0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, +0xD0, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xA0, +0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, @@ -60910,7 +60635,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x1D, 0x60, 0x01, 0x02, 0x03, 0x06, 0x04, 0x05, 0x04, 0x05, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x03, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, -0x09, 0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x03, 0x07, 0x03, 0x09, 0x08, +0x09, 0x08, 0x09, 0x08, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x07, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x08, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x04, @@ -60931,7 +60656,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -60967,17 +60692,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xEF, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -61041,7 +60766,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x14, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -61988,87 +61713,85 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, -0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, -0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0xF0, 0xEA, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x06, 0x86, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, -0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, -0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, -0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, -0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, -0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, -0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, -0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, -0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, -0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, -0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, -0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, -0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, -0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, -0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, -0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, -0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, -0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, -0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, -0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, -0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, -0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, -0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, -0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, -0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, -0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, -0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, -0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, -0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, -0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, -0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, -0x06, 0xFA, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, -0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, -0x42, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, -0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x33, 0x0A, 0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, -0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, +0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0xD4, 0x04, 0x94, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x17, 0x6A, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xE2, 0x71, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xF7, 0x4C, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC2, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, +0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, +0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, +0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, +0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, +0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, +0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, +0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, +0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, +0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, +0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, +0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, +0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, +0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, +0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, +0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, +0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, +0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, +0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, +0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, +0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, +0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, +0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, +0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, +0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, +0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, +0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, +0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, +0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, +0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, +0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, +0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, +0x00, 0x08, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, +0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, 0x0A, +0x00, 0xD1, 0x46, 0x38, 0x01, 0x21, 0x2D, 0xF2, 0x00, 0x00, 0x00, 0x00, /* Europe/Vatican */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -62116,20 +61839,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, +0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x04, 0x03, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, -0x10, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x01, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -62218,21 +61941,21 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, -0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, +0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB4, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x0E, 0x10, -0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, +0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x52, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x43, 0x45, 0x54, 0x2D, 0x31, 0x43, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x33, @@ -62768,7 +62491,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x00, 0xCA, 0x02, 0x35, 0xE0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, -0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0xA1, 0x8C, 0x10, 0xD2, 0x4E, 0x40, 0x90, +0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD1, 0x72, 0x16, 0x10, 0xD2, 0x4E, 0x40, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, @@ -62804,17 +62527,17 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF0, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x3C, 0xF4, 0x88, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x02, 0x35, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE7, 0x4B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xA9, 0x17, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0xA2, 0x43, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x92, 0x34, 0x10, -0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xA1, 0x8C, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x82, 0x25, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x4E, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, @@ -62878,7 +62601,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x00, -0x00, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, +0x00, 0x0E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, @@ -63161,8 +62884,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* GB */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -63223,177 +62946,178 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* GB-Eire */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, 0x9B, 0x26, 0xAD, 0xA0, 0x9B, 0xD6, 0x05, 0x20, 0x9C, 0xCF, 0x30, 0xA0, 0x9D, 0xA4, 0xC3, 0xA0, 0x9E, 0x9C, 0x9D, 0xA0, 0x9F, 0x97, 0x1A, 0xA0, 0xA0, 0x85, 0xBA, 0x20, 0xA1, 0x76, 0xFC, 0xA0, 0xA2, 0x65, 0x9C, 0x20, 0xA3, 0x7B, 0xC8, 0xA0, 0xA4, 0x4E, 0xB8, 0xA0, 0xA5, 0x3F, 0xFB, 0x20, @@ -63454,169 +63178,170 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, -0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x7F, 0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, +0x05, 0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, +0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, -0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, -0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, -0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, -0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, -0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, 0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, -0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, -0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, -0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, -0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, -0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, -0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, -0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, -0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, -0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, -0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, -0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, -0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, -0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, -0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, -0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, -0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, -0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, -0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, -0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, -0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, -0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, -0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, -0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, -0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, -0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, -0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, -0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, -0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, -0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, -0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, -0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, -0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, -0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, -0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, -0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, -0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, -0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, -0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, -0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, -0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, -0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, -0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, -0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, -0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, -0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, -0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, -0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, -0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, -0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, -0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, -0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, -0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, -0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, -0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, -0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, -0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, -0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, -0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, -0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, -0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, -0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, -0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, -0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, -0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, -0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, -0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, -0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, -0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, -0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, -0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, -0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, -0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, -0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, -0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, -0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, -0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, -0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, -0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, -0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, -0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, -0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, -0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, -0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, -0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, -0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, -0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, -0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, -0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, -0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, -0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, -0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, -0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, -0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, -0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, -0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, -0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, -0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, -0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, -0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, -0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, -0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, -0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, -0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, -0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, -0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, +0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x5D, 0x09, 0xCB, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, +0x26, 0xAD, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x9C, +0xCF, 0x30, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0xA4, 0xC3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, +0x9C, 0x9D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x97, 0x1A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, +0x85, 0xBA, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x76, 0xFC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, +0x65, 0x9C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x7B, 0xC8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, +0x4E, 0xB8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x3F, 0xFB, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, +0x25, 0x60, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x27, 0xC6, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, +0x2A, 0x2C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xEB, 0xF8, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x00, 0xD3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xD5, 0x15, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, +0xE9, 0xF0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xC7, 0x6C, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, +0xC9, 0xD2, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0xA7, 0x4E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, +0xA0, 0x79, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x87, 0x30, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, +0x92, 0xD0, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x70, 0x4C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, +0x72, 0xB2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x50, 0x2E, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, +0x49, 0x5A, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x30, 0x10, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, +0x32, 0x76, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0F, 0xF2, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, +0x12, 0x58, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xEF, 0xD4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, +0xE9, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xD8, 0xF1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, +0xDB, 0x57, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xB8, 0xD3, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, +0xB1, 0xFE, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x98, 0xB5, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, +0x9B, 0x1B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x78, 0x97, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, +0x7A, 0xFD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x58, 0x79, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, +0x51, 0xA4, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x38, 0x5B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, +0x3A, 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x58, 0xD6, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, +0xDA, 0x09, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x16, 0x26, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, +0x97, 0x59, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xD1, 0x1E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, +0x77, 0x3B, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xB1, 0x00, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, +0x60, 0x58, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x90, 0xE2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, +0x6E, 0x5E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x72, 0x16, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, +0xFB, 0x32, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x69, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, +0x63, 0x29, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x49, 0xE0, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0x1E, 0x21, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xFD, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, +0xDF, 0xE0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x4E, 0xAC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, +0xFE, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x8E, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, +0xF9, 0x95, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x70, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, +0xEB, 0xEC, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xE5, 0x17, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, +0xCB, 0xCE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xC4, 0xF9, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, +0xB4, 0xEA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xAE, 0x16, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, +0x94, 0xCC, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x72, 0x48, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, +0x6B, 0x74, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x52, 0x2A, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, +0x54, 0x90, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x32, 0x0C, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, +0x3D, 0xAD, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x1B, 0x29, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, +0x14, 0x54, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xFB, 0x0B, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, +0xFD, 0x71, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xDA, 0xED, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, +0xDD, 0x53, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBA, 0xCF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, +0xB3, 0xFA, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x9A, 0xB1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, +0x81, 0x67, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0x7D, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, +0x61, 0x49, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x5F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, +0x4A, 0x66, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x41, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, +0x21, 0x0D, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x23, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, +0x00, 0xEF, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0x05, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xE0, 0xD1, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFE, 0xE7, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, +0xC0, 0xB3, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x03, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +0x7B, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC7, 0xBB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, +0x70, 0xC6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x29, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, +0x50, 0xA8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x3A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, +0x30, 0x8A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE9, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, +0x10, 0x6C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC8, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0A, +0xF0, 0x4E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB2, 0x1A, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, +0xD0, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xFC, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, +0xB0, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x71, 0xDE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x10, +0x99, 0x2E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x51, 0xC0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x12, +0x79, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0xA2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x14, +0x58, 0xF2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, +0x38, 0xC6, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0x18, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, +0xF8, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, +0xE1, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, +0xC1, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, +0xA1, 0x6B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, +0x81, 0x4D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, +0x61, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, +0x4A, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, +0x2A, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, +0x0A, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xE9, 0xF1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xC9, 0xD3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, +0xA9, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, +0x89, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, +0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, +0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, +0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, +0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, +0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, +0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, +0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, +0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, +0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, +0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, +0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, +0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, +0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, +0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, +0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, +0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, +0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, +0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, +0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, +0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, +0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, +0x86, 0x35, 0x10, 0x00, 0x00, 0x00, 0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x66, 0x17, 0x10, 0x00, 0x00, 0x00, 0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, +0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, +0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, +0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x8E, 0x7F, 0x90, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, -0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, 0xFF, -0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, -0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, -0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, -0x4D, 0x54, 0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x05, +0x07, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, +0x07, 0x06, 0x07, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x01, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x47, 0x4D, 0x54, +0x00, 0x42, 0x44, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x47, 0x4D, 0x54, 0x30, 0x42, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x31, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63673,8 +63398,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Hongkong */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x85, 0x69, 0x63, 0x90, 0xCA, 0x4D, 0x31, 0x30, 0xCA, 0xDB, 0x93, 0x30, 0xCB, 0x4B, 0x71, 0x78, 0xD2, 0xA0, 0xDE, 0x90, 0xD3, 0x6B, 0xD7, 0x80, 0xD4, 0x93, 0x58, 0xB8, 0xD5, 0x42, 0xB0, 0x38, 0xD6, 0x73, 0x3A, 0xB8, 0xD7, 0x3E, 0x41, 0xB8, 0xD8, 0x2E, 0x32, 0xB8, 0xD8, 0xF9, 0x39, 0xB8, 0xDA, 0x0E, 0x14, 0xB8, @@ -63692,62 +63417,64 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x04, 0x4D, 0xE6, 0xB8, 0x05, 0x47, 0x04, 0x28, 0x06, 0x37, 0x03, 0x38, 0x07, 0x26, 0xE6, 0x28, 0x07, 0x83, 0x3D, 0x38, 0x09, 0x06, 0xC8, 0x28, 0x09, 0xF6, 0xC7, 0x38, 0x0A, 0xE6, 0xAA, 0x28, 0x0B, 0xD6, 0xA9, 0x38, 0x0C, 0xC6, 0x8C, 0x28, 0x11, 0x9B, 0x39, 0x38, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, -0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, -0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, -0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, -0x00, 0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, -0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, -0x00, 0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, -0x00, 0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, -0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, +0x07, 0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, -0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x4C, -0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, -0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0A, 0x48, 0x4B, 0x54, -0x2D, 0x38, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x90, 0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, +0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, +0x54, 0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, +0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x69, 0x63, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xCA, 0x4D, 0x31, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xDB, 0x93, 0x30, 0xFF, +0xFF, 0xFF, 0xFF, 0xCB, 0x4B, 0x71, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xA0, 0xDE, 0x90, 0xFF, +0xFF, 0xFF, 0xFF, 0xD3, 0x6B, 0xD7, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x93, 0x58, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0x42, 0xB0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x73, 0x3A, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD7, 0x3E, 0x41, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x2E, 0x32, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0xF9, 0x39, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x0E, 0x14, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0xD9, 0x1B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xED, 0xF6, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDC, 0xB8, 0xFD, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xD8, 0xB8, 0xFF, +0xFF, 0xFF, 0xFF, 0xDE, 0xA2, 0x1A, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB6, 0xF5, 0x38, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x81, 0xFC, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x96, 0xC9, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE2, 0x4F, 0x69, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x76, 0xAB, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xE4, 0x2F, 0x4B, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x5F, 0xC7, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE6, 0x0F, 0x2D, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x3F, 0xA9, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x49, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x1F, 0x8B, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xE9, 0xD8, 0x2B, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xFF, 0x6D, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xEB, 0xB8, 0x0D, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDF, 0x4F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xED, 0x97, 0xEF, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xC8, 0x6C, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xEF, 0x77, 0xD1, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xA8, 0x4E, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF1, 0x57, 0xB3, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x88, 0x30, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF3, 0x40, 0xD0, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x68, 0x12, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF5, 0x20, 0xB2, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x47, 0xF4, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF7, 0x25, 0x7E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x15, 0x61, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xF9, 0x05, 0x60, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF5, 0x43, 0x28, 0xFF, +0xFF, 0xFF, 0xFF, 0xFA, 0xE5, 0x42, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x5F, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFC, 0xCE, 0x5E, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBE, 0x41, 0xA8, 0xFF, +0xFF, 0xFF, 0xFF, 0xFE, 0xAE, 0x40, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x23, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x00, 0x8E, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7E, 0x05, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x02, 0x6E, 0x04, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x5D, 0xE7, 0xA8, 0x00, +0x00, 0x00, 0x00, 0x04, 0x4D, 0xE6, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x47, 0x04, 0x28, 0x00, +0x00, 0x00, 0x00, 0x06, 0x37, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x26, 0xE6, 0x28, 0x00, +0x00, 0x00, 0x00, 0x07, 0x83, 0x3D, 0x38, 0x00, 0x00, 0x00, 0x00, 0x09, 0x06, 0xC8, 0x28, 0x00, +0x00, 0x00, 0x00, 0x09, 0xF6, 0xC7, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE6, 0xAA, 0x28, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xD6, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xC6, 0x8C, 0x28, 0x00, +0x00, 0x00, 0x00, 0x11, 0x9B, 0x39, 0x38, 0x00, 0x00, 0x00, 0x00, 0x12, 0x6F, 0x6C, 0xA8, 0x01, +0x02, 0x03, 0x04, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, +0x02, 0x05, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, 0x02, 0x07, +0x02, 0x07, 0x02, 0x07, 0x00, 0x00, 0x6B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, +0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, 0x77, 0x88, 0x01, 0x0D, 0x00, 0x00, 0x7E, 0x90, +0x00, 0x12, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x08, 0x00, 0x00, +0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x48, 0x4B, 0x54, 0x00, 0x48, 0x4B, 0x53, 0x54, +0x00, 0x48, 0x4B, 0x57, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x48, 0x4B, 0x54, 0x2D, 0x38, +0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* HST */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63837,23 +63564,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Antananarivo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x6C, 0x76, 0xED, 0x01, 0x5B, 0x29, -0xB2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, 0x91, 0xF3, 0xCD, 0xF4, +0xE2, 0x33, 0xC0, 0xC0, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, +0x00, 0x00, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, +0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xCD, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x33, 0xC0, 0xC0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xAB, 0xB9, 0x40, 0x01, 0x02, 0x03, 0x00, 0x00, 0x2C, 0x8C, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x08, 0x00, 0x00, 0x2A, +0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x45, 0x41, 0x53, 0x54, 0x00, +0x00, 0x00, 0x01, 0x01, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x6C, 0x76, 0xED, 0x01, +0x5B, 0x29, 0xB2, 0x00, 0x00, 0x00, 0x00, /* Indian/Chagos */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x49, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63902,22 +63626,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Comoro */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD1, 0xF0, +0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, -0x8A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD1, 0xF0, 0x01, 0x00, 0x00, 0x28, 0x90, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x77, 0x80, 0x72, 0x01, 0x54, 0xAD, 0x8A, 0x00, 0x00, 0x00, +0x00, /* Indian/Kerguelen */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x54, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -63984,22 +63701,15 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Indian/Mayotte */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x59, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x8B, 0xFF, 0xD1, 0xFC, -0xB1, 0xEE, 0xDA, 0x58, 0xB4, 0xC7, 0xE0, 0xD0, 0xC1, 0xED, 0xAD, 0x58, 0xCC, 0x6C, 0x7A, 0xD4, -0x01, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, -0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, -0x30, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, -0x00, 0x2B, 0x30, 0x32, 0x34, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x91, 0xF3, 0xD0, 0x18, +0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, +0x00, 0x45, 0x41, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0xFF, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, -0xEE, 0xDA, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0xC7, 0xE0, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, -0xED, 0xAD, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0x7A, 0xD4, 0x01, 0x02, 0x01, 0x03, 0x02, -0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x23, 0x28, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, -0x00, 0x0A, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0A, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x32, 0x33, 0x30, 0x00, 0x45, 0x41, 0x54, 0x00, 0x2B, 0x30, 0x32, 0x34, -0x35, 0x00, 0x0A, 0x45, 0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, -0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xF3, 0xD0, 0x18, 0x01, 0x00, 0x00, 0x2A, 0x68, 0x00, 0x00, +0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x0A, 0x45, +0x41, 0x54, 0x2D, 0x33, 0x0A, 0x00, 0x75, 0xD2, 0xC2, 0x01, 0x57, 0xAD, 0xC5, 0x00, 0x00, 0x00, +0x00, /* Indian/Reunion */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -64018,167 +63728,84 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Iran */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, -0xD2, 0xDB, 0x12, 0xC8, 0x0E, 0xBB, 0xA2, 0x48, 0x0F, 0x74, 0x2D, 0x40, 0x10, 0x8E, 0x40, 0x30, -0x10, 0xED, 0x3A, 0x40, 0x11, 0x55, 0x67, 0xC8, 0x12, 0x45, 0x4A, 0xB8, 0x13, 0x37, 0xEC, 0xC8, -0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, 0x29, 0xCB, 0x9C, 0xC8, -0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, 0x2D, 0x8E, 0x03, 0xC8, -0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, 0x31, 0x50, 0x6A, 0xC8, -0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, 0x35, 0x14, 0x23, 0x48, -0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, 0x38, 0xD6, 0x8A, 0x48, -0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, 0x3C, 0x9A, 0x42, 0xC8, -0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, 0x40, 0x5C, 0xA9, 0xC8, -0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, 0x47, 0xE2, 0xC9, 0x48, -0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, 0x4B, 0xA6, 0x81, 0xC8, -0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, 0x4F, 0x68, 0xE8, 0xC8, -0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, 0x53, 0x2C, 0xA1, 0x48, -0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, 0x56, 0xEF, 0x08, 0x48, -0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, 0x5A, 0xB2, 0xC0, 0xC8, -0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, 0x5E, 0x75, 0x27, 0xC8, -0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, 0x62, 0x38, 0xE0, 0x48, -0x63, 0x2B, 0x66, 0x38, 0x64, 0x1A, 0x13, 0xC8, 0x65, 0x0C, 0x99, 0xB8, 0x65, 0xFB, 0x47, 0x48, -0x66, 0xED, 0xCD, 0x38, 0x67, 0xDD, 0xCC, 0x48, 0x68, 0xD0, 0x52, 0x38, 0x69, 0xBE, 0xFF, 0xC8, -0x6A, 0xB1, 0x85, 0xB8, 0x6B, 0xA0, 0x33, 0x48, 0x6C, 0x92, 0xB9, 0x38, 0x6D, 0x81, 0x66, 0xC8, -0x6E, 0x73, 0xEC, 0xB8, 0x6F, 0x62, 0x9A, 0x48, 0x70, 0x55, 0x20, 0x38, 0x71, 0x45, 0x1F, 0x48, -0x72, 0x37, 0xA5, 0x38, 0x73, 0x26, 0x52, 0xC8, 0x74, 0x18, 0xD8, 0xB8, 0x75, 0x07, 0x86, 0x48, -0x75, 0xFA, 0x0C, 0x38, 0x76, 0xE8, 0xB9, 0xC8, 0x77, 0xDB, 0x3F, 0xB8, 0x78, 0xCB, 0x3E, 0xC8, -0x79, 0xBD, 0xC4, 0xB8, 0x7A, 0xAC, 0x72, 0x48, 0x7B, 0x9E, 0xF8, 0x38, 0x7C, 0x8D, 0xA5, 0xC8, -0x7D, 0x80, 0x2B, 0xB8, 0x7E, 0x6E, 0xD9, 0x48, 0x7F, 0x61, 0x5F, 0x38, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, -0x00, 0x08, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, -0x3F, 0x48, 0x01, 0x16, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, -0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xDB, -0x12, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xBB, 0xA2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x74, -0x2D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x8E, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0xED, -0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x55, 0x67, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x12, 0x45, -0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x14, 0x2D, -0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x28, 0xDB, -0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xBE, -0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x9F, -0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x80, -0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, 0x30, 0x61, -0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x32, 0x42, -0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x34, 0x25, -0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, 0x36, 0x06, -0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x37, 0xE7, -0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC9, -0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xAB, -0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8C, -0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x6D, -0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4F, -0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x43, 0x31, -0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD5, -0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xB7, -0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x99, -0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x7A, -0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x5B, -0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x52, 0x3D, -0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x54, 0x1F, -0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, -0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, 0x57, 0xE1, -0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x59, 0xC4, -0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xA5, -0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x86, -0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x67, -0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x61, 0x4A, -0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2B, -0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1A, 0x13, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x65, 0x0C, -0x99, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x65, 0xFB, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x66, 0xED, -0xCD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x67, 0xDD, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x68, 0xD0, -0x52, 0x38, 0x00, 0x00, 0x00, 0x00, 0x69, 0xBE, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xB1, -0x85, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA0, 0x33, 0x48, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x92, -0xB9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x81, 0x66, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x73, -0xEC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x62, 0x9A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55, -0x20, 0x38, 0x00, 0x00, 0x00, 0x00, 0x71, 0x45, 0x1F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, -0xA5, 0x38, 0x00, 0x00, 0x00, 0x00, 0x73, 0x26, 0x52, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x74, 0x18, -0xD8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x86, 0x48, 0x00, 0x00, 0x00, 0x00, 0x75, 0xFA, -0x0C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x76, 0xE8, 0xB9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x77, 0xDB, -0x3F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCB, 0x3E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x79, 0xBD, -0xC4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xAC, 0x72, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x9E, -0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x8D, 0xA5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x80, -0x2B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x6E, 0xD9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x61, -0x5F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x5E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x81, 0x43, -0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x82, 0x32, 0x91, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x25, -0x17, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x84, 0x13, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x85, 0x06, -0x4B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x85, 0xF4, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x86, 0xE7, -0x7E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x87, 0xD7, 0x7D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x88, 0xCA, -0x03, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x89, 0xB8, 0xB1, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAB, -0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x99, 0xE4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, -0x6A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x7B, 0x18, 0x48, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x6D, -0x9E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x5D, 0x9D, 0x48, 0x00, 0x00, 0x00, 0x00, 0x90, 0x50, -0x23, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x3E, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x92, 0x31, -0x56, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x93, 0x20, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x94, 0x12, -0x8A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x95, 0x01, 0x37, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x95, 0xF3, -0xBD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE3, 0xBC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD6, -0x42, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC4, 0xF0, 0x48, 0x00, 0x00, 0x00, 0x00, 0x99, 0xB7, -0x76, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xA6, 0x23, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x98, -0xA9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x87, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x79, -0xDD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x69, 0xDC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x5C, -0x62, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x4B, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x3D, -0x95, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x2C, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x1E, -0xC9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x0D, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xFF, -0xFC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xEF, 0xFB, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xE2, -0x81, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD1, 0x2F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xC3, -0xB5, 0x38, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xB2, 0x62, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xA4, -0xE8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x93, 0x96, 0x48, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x86, -0x1C, 0x38, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x74, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x67, -0x4F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x57, 0x4E, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x49, -0xD4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x38, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x2B, -0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x19, 0xB5, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x0C, -0x3B, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xB4, 0xFA, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xED, -0x6F, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xDD, 0x6E, 0x48, 0x00, 0x00, 0x00, 0x00, 0xB7, 0xCF, -0xF4, 0x38, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xBE, 0xA1, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xB1, -0x27, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBA, 0x9F, 0xD5, 0x48, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x92, -0x5B, 0x38, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x81, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x73, -0x8E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x63, 0x8D, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x56, -0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xC1, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x37, -0x47, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x25, 0xF4, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x18, -0x7A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x07, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xF9, -0xAE, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xE9, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDC, -0x33, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xCA, 0xE0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBD, -0x66, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xAC, 0x14, 0x48, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x9E, -0x9A, 0x38, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x8D, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x7F, -0xCD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x6F, 0xCC, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x62, -0x52, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x51, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x43, -0x86, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x32, 0x33, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x24, -0xB9, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x13, 0x67, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x05, -0xED, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xF5, 0xEC, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xE8, -0x72, 0x38, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD7, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xC9, -0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xB8, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xAA, -0xD9, 0x38, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x99, 0x86, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x8C, -0x0C, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x0B, 0xC8, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x6E, -0x91, 0xB8, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x5D, 0x3F, 0x48, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x4F, -0xC5, 0x38, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, -0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x00, 0x00, 0x30, 0x38, -0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, 0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x00, 0x00, -0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x12, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x16, -0x00, 0x00, 0x31, 0x38, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, -0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x34, 0x33, -0x30, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x3C, -0x2B, 0x30, 0x34, 0x33, 0x30, 0x3E, 0x2C, 0x4A, 0x37, 0x39, 0x2F, 0x32, 0x34, 0x2C, 0x4A, 0x32, -0x36, 0x33, 0x2F, 0x32, 0x34, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x9A, 0x6C, 0x7D, 0xC8, +0xBF, 0x00, 0xCC, 0x48, 0x0D, 0x94, 0x44, 0x38, 0x0E, 0xAD, 0x13, 0xB8, 0x0F, 0x79, 0x73, 0x40, +0x10, 0x28, 0xCA, 0xC0, 0x10, 0xED, 0x3A, 0x40, 0x11, 0xAD, 0xBC, 0x48, 0x12, 0x45, 0x4A, 0xB8, +0x13, 0x37, 0xEC, 0xC8, 0x14, 0x2D, 0x15, 0xB8, 0x28, 0x20, 0x76, 0xC8, 0x28, 0xDB, 0x9D, 0xB8, +0x29, 0xCB, 0x9C, 0xC8, 0x2A, 0xBE, 0x22, 0xB8, 0x2B, 0xAC, 0xD0, 0x48, 0x2C, 0x9F, 0x56, 0x38, +0x2D, 0x8E, 0x03, 0xC8, 0x2E, 0x80, 0x89, 0xB8, 0x2F, 0x6F, 0x37, 0x48, 0x30, 0x61, 0xBD, 0x38, +0x31, 0x50, 0x6A, 0xC8, 0x32, 0x42, 0xF0, 0xB8, 0x33, 0x32, 0xEF, 0xC8, 0x34, 0x25, 0x75, 0xB8, +0x35, 0x14, 0x23, 0x48, 0x36, 0x06, 0xA9, 0x38, 0x36, 0xF5, 0x56, 0xC8, 0x37, 0xE7, 0xDC, 0xB8, +0x38, 0xD6, 0x8A, 0x48, 0x39, 0xC9, 0x10, 0x38, 0x3A, 0xB9, 0x0F, 0x48, 0x3B, 0xAB, 0x95, 0x38, +0x3C, 0x9A, 0x42, 0xC8, 0x3D, 0x8C, 0xC8, 0xB8, 0x3E, 0x7B, 0x76, 0x48, 0x3F, 0x6D, 0xFC, 0x38, +0x40, 0x5C, 0xA9, 0xC8, 0x41, 0x4F, 0x2F, 0xB8, 0x42, 0x3F, 0x2E, 0xC8, 0x43, 0x31, 0xB4, 0xB8, +0x47, 0xE2, 0xC9, 0x48, 0x48, 0xD5, 0x4F, 0x38, 0x49, 0xC5, 0x4E, 0x48, 0x4A, 0xB7, 0xD4, 0x38, +0x4B, 0xA6, 0x81, 0xC8, 0x4C, 0x99, 0x07, 0xB8, 0x4D, 0x87, 0xB5, 0x48, 0x4E, 0x7A, 0x3B, 0x38, +0x4F, 0x68, 0xE8, 0xC8, 0x50, 0x5B, 0x6E, 0xB8, 0x51, 0x4B, 0x6D, 0xC8, 0x52, 0x3D, 0xF3, 0xB8, +0x53, 0x2C, 0xA1, 0x48, 0x54, 0x1F, 0x27, 0x38, 0x55, 0x0D, 0xD4, 0xC8, 0x56, 0x00, 0x5A, 0xB8, +0x56, 0xEF, 0x08, 0x48, 0x57, 0xE1, 0x8E, 0x38, 0x58, 0xD1, 0x8D, 0x48, 0x59, 0xC4, 0x13, 0x38, +0x5A, 0xB2, 0xC0, 0xC8, 0x5B, 0xA5, 0x46, 0xB8, 0x5C, 0x93, 0xF4, 0x48, 0x5D, 0x86, 0x7A, 0x38, +0x5E, 0x75, 0x27, 0xC8, 0x5F, 0x67, 0xAD, 0xB8, 0x60, 0x57, 0xAC, 0xC8, 0x61, 0x4A, 0x32, 0xB8, +0x62, 0x38, 0xE0, 0x48, 0x63, 0x2B, 0x66, 0x38, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9A, 0x6C, 0x7D, 0xC8, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xCC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x0D, 0x94, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xAD, 0x13, 0xB8, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x79, 0x73, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0xCA, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x10, 0xED, 0x3A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0xAD, 0xBC, 0x48, 0x00, 0x00, 0x00, 0x00, +0x12, 0x45, 0x4A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x37, 0xEC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x14, 0x2D, 0x15, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x28, 0x20, 0x76, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x28, 0xDB, 0x9D, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x29, 0xCB, 0x9C, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xBE, 0x22, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xAC, 0xD0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x2C, 0x9F, 0x56, 0x38, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x8E, 0x03, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x80, 0x89, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x6F, 0x37, 0x48, 0x00, 0x00, 0x00, 0x00, +0x30, 0x61, 0xBD, 0x38, 0x00, 0x00, 0x00, 0x00, 0x31, 0x50, 0x6A, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x32, 0x42, 0xF0, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x33, 0x32, 0xEF, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x34, 0x25, 0x75, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x35, 0x14, 0x23, 0x48, 0x00, 0x00, 0x00, 0x00, +0x36, 0x06, 0xA9, 0x38, 0x00, 0x00, 0x00, 0x00, 0x36, 0xF5, 0x56, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x37, 0xE7, 0xDC, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x38, 0xD6, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, +0x39, 0xC9, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB9, 0x0F, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xAB, 0x95, 0x38, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x9A, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x3D, 0x8C, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7B, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x6D, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5C, 0xA9, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x41, 0x4F, 0x2F, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3F, 0x2E, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x43, 0x31, 0xB4, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE2, 0xC9, 0x48, 0x00, 0x00, 0x00, 0x00, +0x48, 0xD5, 0x4F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x49, 0xC5, 0x4E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xB7, 0xD4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xA6, 0x81, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x4C, 0x99, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x87, 0xB5, 0x48, 0x00, 0x00, 0x00, 0x00, +0x4E, 0x7A, 0x3B, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x68, 0xE8, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x50, 0x5B, 0x6E, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x51, 0x4B, 0x6D, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x52, 0x3D, 0xF3, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x53, 0x2C, 0xA1, 0x48, 0x00, 0x00, 0x00, 0x00, +0x54, 0x1F, 0x27, 0x38, 0x00, 0x00, 0x00, 0x00, 0x55, 0x0D, 0xD4, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x56, 0x00, 0x5A, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x56, 0xEF, 0x08, 0x48, 0x00, 0x00, 0x00, 0x00, +0x57, 0xE1, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD1, 0x8D, 0x48, 0x00, 0x00, 0x00, 0x00, +0x59, 0xC4, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB2, 0xC0, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xA5, 0x46, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x93, 0xF4, 0x48, 0x00, 0x00, 0x00, 0x00, +0x5D, 0x86, 0x7A, 0x38, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x27, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x67, 0xAD, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x60, 0x57, 0xAC, 0xC8, 0x00, 0x00, 0x00, 0x00, +0x61, 0x4A, 0x32, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x62, 0x38, 0xE0, 0x48, 0x00, 0x00, 0x00, 0x00, +0x63, 0x2B, 0x66, 0x38, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x02, 0x05, +0x04, 0x05, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x03, 0x00, 0x00, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x00, 0x04, +0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, 0x31, 0x38, 0x00, 0x0E, 0x00, 0x00, 0x46, 0x50, +0x01, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x18, 0x00, 0x00, 0x3F, 0x48, 0x01, 0x08, 0x00, 0x00, +0x31, 0x38, 0x00, 0x0E, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x33, +0x30, 0x00, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x0A, 0x3C, 0x2B, 0x30, 0x33, 0x33, 0x30, 0x3E, 0x2D, 0x33, 0x3A, 0x33, 0x30, 0x0A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Israel */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -65946,7 +65573,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x53, 0x5C, 0x72, 0xB0, 0x54, 0x0B, 0xD8, 0x40, 0x57, 0x37, 0xE6, 0x30, 0x57, 0xAF, 0xEC, 0xC0, 0x59, 0x17, 0xC8, 0x30, 0x59, 0x8F, 0xCE, 0xC0, 0x5A, 0xF7, 0xAA, 0x30, 0x5B, 0x6F, 0xB0, 0xC0, 0x5C, 0xA9, 0x67, 0xB0, 0x5D, 0x74, 0x7C, 0xC0, 0x5E, 0x89, 0x49, 0xB0, 0x5F, 0x54, 0x5E, 0xC0, -0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x14, 0x22, 0xC0, +0x60, 0x69, 0x2B, 0xB0, 0x61, 0x34, 0x40, 0xC0, 0x62, 0x49, 0x0D, 0xB0, 0x63, 0x1D, 0x5D, 0x40, 0x64, 0x28, 0xEF, 0xB0, 0x64, 0xF4, 0x04, 0xC0, 0x66, 0x12, 0x0C, 0x30, 0x66, 0xDD, 0x21, 0x40, 0x67, 0xF1, 0xEE, 0x30, 0x68, 0xBD, 0x03, 0x40, 0x69, 0xD1, 0xD0, 0x30, 0x6A, 0x9C, 0xE5, 0x40, 0x6B, 0xB1, 0xB2, 0x30, 0x6C, 0x7C, 0xC7, 0x40, 0x6D, 0x91, 0x94, 0x30, 0x6E, 0x5C, 0xA9, 0x40, @@ -66025,7 +65652,7 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x00, 0x00, 0x00, 0x00, 0x5D, 0x74, 0x7C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x89, 0x49, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x54, 0x5E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x69, 0x2B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x61, 0x34, 0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x62, 0x49, 0x0D, 0xB0, -0x00, 0x00, 0x00, 0x00, 0x63, 0x14, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, +0x00, 0x00, 0x00, 0x00, 0x63, 0x1D, 0x5D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0xEF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x12, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0xDD, 0x21, 0x40, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF1, 0xEE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0xBD, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x69, 0xD1, 0xD0, 0x30, @@ -66473,17 +66100,19 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Pacific/Midway */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, -0x91, 0x05, 0xFB, 0x08, 0x01, 0x02, 0x00, 0x00, 0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, -0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, +0xE6, 0x75, 0x8A, 0xB0, 0xE6, 0xED, 0x75, 0x20, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x01, +0xFF, 0xFF, 0x59, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, +0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x54, 0x5A, +0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, -0x6E, 0x3D, 0xC8, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x05, 0xFB, 0x08, 0x01, 0x02, 0x00, 0x00, -0xB1, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, -0x4C, 0x4D, 0x54, 0x00, 0x53, 0x53, 0x54, 0x00, 0x0A, 0x53, 0x53, 0x54, 0x31, 0x31, 0x0A, 0x00, -0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x69, 0x64, 0x77, 0x61, -0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, +0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x37, +0x5B, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x75, 0x8A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0xED, +0x75, 0x20, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0x02, 0x01, 0x01, 0xFF, 0xFF, +0x59, 0xB8, 0x00, 0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x08, +0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x31, 0x31, 0x00, 0x2D, 0x31, 0x30, 0x00, 0x0A, 0x3C, 0x2D, 0x31, +0x31, 0x3E, 0x31, 0x31, 0x0A, 0x00, 0xB4, 0x62, 0x62, 0x00, 0x04, 0x04, 0xA5, 0x00, 0x00, 0x00, +0x0E, 0x4D, 0x69, 0x64, 0x77, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73, /* Pacific/Nauru */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4E, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -66751,36 +66380,20 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* Pacific/Saipan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x80, 0x00, 0x00, 0x00, -0xCB, 0x37, 0x95, 0xE0, 0xD0, 0x2E, 0x89, 0xF0, 0xEC, 0x37, 0xBE, 0x00, 0xEF, 0x36, 0xF8, 0xF0, -0xFB, 0x9B, 0x00, 0x00, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0x5D, 0x58, 0xF0, -0x00, 0x97, 0x2C, 0x00, 0x01, 0x46, 0x75, 0x70, 0x02, 0x77, 0x0E, 0x00, 0x03, 0x26, 0x57, 0x70, -0x07, 0x70, 0x97, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x0C, 0x08, 0x91, 0x00, 0x0C, 0x7C, 0x87, 0x2C, -0x0D, 0xBF, 0x94, 0x80, 0x0E, 0x65, 0xA3, 0x70, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x01, 0x03, -0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, -0xFF, 0xFF, 0x36, 0x34, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, -0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, 0x4C, 0x4D, -0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, 0x43, 0x68, -0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC5, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2D, 0x4C, 0xFF, -0xFF, 0xFF, 0xFF, 0xCB, 0x37, 0x95, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x2E, 0x89, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xEC, 0x37, 0xBE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x36, 0xF8, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x9B, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x27, 0x8C, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5D, 0x58, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x97, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0x75, 0x70, 0x00, -0x00, 0x00, 0x00, 0x02, 0x77, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x26, 0x57, 0x70, 0x00, -0x00, 0x00, 0x00, 0x07, 0x70, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xCC, 0xD1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x0C, 0x08, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x7C, 0x87, 0x2C, 0x00, -0x00, 0x00, 0x00, 0x0D, 0xBF, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x65, 0xA3, 0x70, 0x00, -0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x05, 0xFF, 0xFF, 0x36, 0x34, -0x00, 0x00, 0x00, 0x00, 0x87, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, -0x7E, 0x90, 0x00, 0x08, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x10, -0x4C, 0x4D, 0x54, 0x00, 0x47, 0x53, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x47, 0x44, 0x54, 0x00, -0x43, 0x68, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, -0x85, 0xC0, 0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, 0x00, +0xFF, 0x86, 0x37, 0x70, 0x3A, 0x43, 0x5E, 0x60, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0x37, 0x24, 0x00, +0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, +0xA0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, +0x68, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, +0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0xE1, 0xC4, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x2C, 0x5C, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x43, 0x5E, 0x60, +0x01, 0x02, 0x03, 0x04, 0xFF, 0xFF, 0x37, 0x24, 0x00, 0x00, 0x00, 0x00, 0x88, 0xA4, 0x00, 0x00, +0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x8C, 0xA0, +0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x39, 0x00, 0x2B, 0x31, 0x30, 0x00, 0x43, 0x68, +0x53, 0x54, 0x00, 0x0A, 0x43, 0x68, 0x53, 0x54, 0x2D, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x85, 0xC0, +0x01, 0xF1, 0x0E, 0x18, 0x00, 0x00, 0x00, 0x00, /* Pacific/Samoa */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -68425,8 +68038,8 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { /* US/Eastern */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xA6, 0x1E, 0x70, 0x9F, 0xBA, 0xEB, 0x60, 0xA0, 0x86, 0x00, 0x70, 0xA1, 0x9A, 0xCD, 0x60, 0xA2, 0x65, 0xE2, 0x70, 0xA3, 0x83, 0xE9, 0xE0, 0xA4, 0x6A, 0xAE, 0x70, 0xA5, 0x35, 0xA7, 0x60, 0xA6, 0x53, 0xCA, 0xF0, 0xA7, 0x15, 0x89, 0x60, 0xA8, 0x33, 0xAC, 0xF0, 0xA8, 0xFE, 0xA5, 0xE0, @@ -68485,10 +68098,10 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, -0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x02, 0x01, 0x02, 0x01, +0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x04, 0x02, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, @@ -68501,149 +68114,150 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, -0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, -0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, -0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, -0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, -0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, -0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, -0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, -0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, -0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, -0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, -0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, -0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, -0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, -0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, -0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, -0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, -0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, -0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, -0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, -0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, -0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, -0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, -0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, -0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, -0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, -0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, -0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, -0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, -0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, -0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, -0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, -0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, -0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, -0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x03, 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, -0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, -0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, -0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, +0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, +0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, +0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x03, 0xF0, 0x90, +0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xA6, 0x1E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xBA, 0xEB, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x86, 0x00, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x9A, 0xCD, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x65, 0xE2, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0x83, 0xE9, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x6A, 0xAE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x35, 0xA7, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x53, 0xCA, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x15, 0x89, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x33, 0xAC, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0xFE, 0xA5, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x13, 0x8E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xDE, 0x87, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAB, 0xF3, 0x70, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC, 0xBE, 0x69, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xD3, 0x52, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x9E, 0x4B, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xB3, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x7E, 0x2D, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x9C, 0x51, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x67, 0x4A, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x33, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x47, 0x2C, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x5C, 0x15, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x27, 0x0E, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x3B, 0xF7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x06, 0xF0, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x1B, 0xD9, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0xE6, 0xD2, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0x04, 0xF5, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xC6, 0xB4, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xBC, 0xE4, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0xAF, 0xD0, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xC4, 0xB9, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x8F, 0xB2, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xA4, 0x9B, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x6F, 0x94, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x84, 0x7D, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x4F, 0x76, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x64, 0x5F, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x2F, 0x58, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x4D, 0x7C, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, +0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xF8, 0x57, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x0D, 0x40, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xD8, 0x39, 0x60, +0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0xE0, 0x83, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xC0, 0x65, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x69, 0x46, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x7E, 0x2F, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x49, 0x28, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x5E, 0x11, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x57, 0x2E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x47, 0x2D, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x37, 0x10, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x27, 0x0F, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x16, 0xF2, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x06, 0xF1, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xF6, 0xD4, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xE6, 0xD3, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xD6, 0xB6, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xC6, 0xB5, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xBF, 0xD3, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAF, 0xD2, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x9F, 0xB5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8F, 0xB4, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x7F, 0x97, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0x96, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x5F, 0x79, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x4F, 0x78, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x3F, 0x5B, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x0F, 0x3C, 0x70, +0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x08, 0x59, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xF8, 0x58, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE8, 0x3B, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xD8, 0x3A, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xC8, 0x1D, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x1C, 0xF0, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0xE1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x03, 0x70, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, +0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x07, 0x8D, 0x19, 0x70, +0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x09, 0xAD, 0x94, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, +0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xEF, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xBC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, +0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, +0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, +0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, +0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, +0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, +0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, +0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, +0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, +0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, +0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, +0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, +0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, +0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, +0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, +0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, +0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xBA, 0x9E, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, +0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, +0x45, 0x53, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x45, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -69563,4 +69177,4 @@ const unsigned char timelib_timezone_db_data_builtin[703832] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2022.1", 595, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2022.2", 596, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From 962d8bd0b68e29a00d333f967fc86f3ff4b7d529 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 11 Aug 2022 16:26:33 +0100 Subject: [PATCH 048/229] The data for Tehran has changed, update test --- ext/date/tests/bug33415-2.phpt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/date/tests/bug33415-2.phpt b/ext/date/tests/bug33415-2.phpt index 9c265851a7f3e..fb28c4878385b 100644 --- a/ext/date/tests/bug33415-2.phpt +++ b/ext/date/tests/bug33415-2.phpt @@ -95,7 +95,7 @@ $tStamp = mktime (17, 17, 17, 1, 2855, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Tuesday", $tStamp); print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; -print "wanted=Tuesday 00:30:00\n\n"; +print "wanted=Tuesday 00:00:00\n\n"; print "TZ=Pacific/Tarawa - Is it OK for this to be Midday? Note: does not appear to have a DST or timezone transition.\n"; @@ -250,9 +250,9 @@ result=Sunday 1981-03-29 02:00:00 +00 1 wanted=Sunday 02:00:00 TZ=Asia/Tehran - Is it OK for this to be 0:30 AM? yes -tStamp=Tuesday 1977-10-25 17:17:17 +0330 0 -result=Tuesday 1977-11-01 00:30:00 +04 0 -wanted=Tuesday 00:30:00 +tStamp=Tuesday 1977-10-25 17:17:17 +04 0 +result=Tuesday 1977-11-01 00:00:00 +04 0 +wanted=Tuesday 00:00:00 TZ=Pacific/Tarawa - Is it OK for this to be Midday? Note: does not appear to have a DST or timezone transition. From 15e3fcb468d7ef6faddc8f99f8f708fe8c2d8492 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 11 Aug 2022 14:41:22 +0100 Subject: [PATCH 049/229] Fixed GH-9200: setcookie has an obsolete expires date format --- NEWS | 1 + ext/standard/head.c | 8 +++----- ext/standard/tests/network/bug72071.phpt | 2 +- ext/standard/tests/network/setcookie.phpt | 14 +++++++------- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index 77954599d3b36..cf376832ae405 100644 --- a/NEWS +++ b/NEWS @@ -25,6 +25,7 @@ PHP NEWS - Standard: . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) + . Fixed GH-9200 (setcookie has an obsolete expires date format). (Derick) . Fixed GH-9244 (Segfault with array_multisort + array_shift). (cmb) 04 Aug 2022, PHP 8.2.0beta2 diff --git a/ext/standard/head.c b/ext/standard/head.c index ab64fecf381aa..608959adeb99c 100644 --- a/ext/standard/head.c +++ b/ext/standard/head.c @@ -118,7 +118,7 @@ PHPAPI zend_result php_setcookie(zend_string *name, zend_string *value, time_t e * so in order to force cookies to be deleted, even on MSIE, we * pick an expiry date in the past */ - dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, 1, 0); + dt = php_format_date("D, d M Y H:i:s \\G\\M\\T", sizeof("D, d M Y H:i:s \\G\\M\\T")-1, 1, 0); smart_str_appends(&buf, "Set-Cookie: "); smart_str_append(&buf, name); smart_str_appends(&buf, "=deleted; expires="); @@ -137,14 +137,12 @@ PHPAPI zend_result php_setcookie(zend_string *name, zend_string *value, time_t e smart_str_append(&buf, value); } if (expires > 0) { - const char *p; double diff; smart_str_appends(&buf, COOKIE_EXPIRES); - dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0); + dt = php_format_date("D, d M Y H:i:s \\G\\M\\T", sizeof("D, d M Y H:i:s \\G\\M\\T")-1, expires, 0); /* check to make sure that the year does not exceed 4 digits in length */ - p = zend_memrchr(ZSTR_VAL(dt), '-', ZSTR_LEN(dt)); - if (!p || *(p + 5) != ' ') { + if (php_idate('Y', expires, 0) > 9999) { zend_string_free(dt); smart_str_free(&buf); zend_value_error("%s(): \"expires\" option cannot have a year greater than 9999", diff --git a/ext/standard/tests/network/bug72071.phpt b/ext/standard/tests/network/bug72071.phpt index 6d19ab46e3767..3940083f06a61 100644 --- a/ext/standard/tests/network/bug72071.phpt +++ b/ext/standard/tests/network/bug72071.phpt @@ -11,4 +11,4 @@ setcookie("name", "value", $date); ?> --EXPECT-- --EXPECTHEADERS-- -Set-Cookie: name=value; expires=Sat, 01-Apr-2017 12:25:39 GMT; Max-Age=0 +Set-Cookie: name=value; expires=Sat, 01 Apr 2017 12:25:39 GMT; Max-Age=0 diff --git a/ext/standard/tests/network/setcookie.phpt b/ext/standard/tests/network/setcookie.phpt index aad67298f143f..f43680a5bceae 100644 --- a/ext/standard/tests/network/setcookie.phpt +++ b/ext/standard/tests/network/setcookie.phpt @@ -21,20 +21,20 @@ setcookie('name', 'value', ['expires' => $tsp]); setcookie('name', 'value', ['expires' => $tsn, 'path' => '/path/', 'domain' => 'domain.tld', 'secure' => true, 'httponly' => true, 'samesite' => 'Strict']); $expected = array( - 'Set-Cookie: name=deleted; expires='.date('D, d-M-Y H:i:s', 1).' GMT; Max-Age=0', - 'Set-Cookie: name=deleted; expires='.date('D, d-M-Y H:i:s', 1).' GMT; Max-Age=0', + 'Set-Cookie: name=deleted; expires='.date('D, d M Y H:i:s', 1).' GMT; Max-Age=0', + 'Set-Cookie: name=deleted; expires='.date('D, d M Y H:i:s', 1).' GMT; Max-Age=0', 'Set-Cookie: name=value', 'Set-Cookie: name=space%20value', 'Set-Cookie: name=value', - 'Set-Cookie: name=value; expires='.date('D, d-M-Y H:i:s', $tsp).' GMT; Max-Age=5', - 'Set-Cookie: name=value; expires='.date('D, d-M-Y H:i:s', $tsn).' GMT; Max-Age=0', - 'Set-Cookie: name=value; expires='.date('D, d-M-Y H:i:s', $tsc).' GMT; Max-Age=0', + 'Set-Cookie: name=value; expires='.date('D, d M Y H:i:s', $tsp).' GMT; Max-Age=5', + 'Set-Cookie: name=value; expires='.date('D, d M Y H:i:s', $tsn).' GMT; Max-Age=0', + 'Set-Cookie: name=value; expires='.date('D, d M Y H:i:s', $tsc).' GMT; Max-Age=0', 'Set-Cookie: name=value; path=/path/', 'Set-Cookie: name=value; domain=domain.tld', 'Set-Cookie: name=value; secure', 'Set-Cookie: name=value; HttpOnly', - 'Set-Cookie: name=value; expires='.date('D, d-M-Y H:i:s', $tsp).' GMT; Max-Age=5', - 'Set-Cookie: name=value; expires='.date('D, d-M-Y H:i:s', $tsn).' GMT; Max-Age=0; path=/path/; domain=domain.tld; secure; HttpOnly; SameSite=Strict' + 'Set-Cookie: name=value; expires='.date('D, d M Y H:i:s', $tsp).' GMT; Max-Age=5', + 'Set-Cookie: name=value; expires='.date('D, d M Y H:i:s', $tsn).' GMT; Max-Age=0; path=/path/; domain=domain.tld; secure; HttpOnly; SameSite=Strict' ); $headers = headers_list(); From a6a5d46704becde675c7430388077a49abc84ddf Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 11 Aug 2022 16:19:56 +0100 Subject: [PATCH 050/229] Simplify and move check for too high expiry time, which you can't reach on 32bit systems --- ext/standard/head.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ext/standard/head.c b/ext/standard/head.c index 608959adeb99c..5bdae98dfce56 100644 --- a/ext/standard/head.c +++ b/ext/standard/head.c @@ -110,6 +110,14 @@ PHPAPI zend_result php_setcookie(zend_string *name, zend_string *value, time_t e get_active_function_name()); return FAILURE; } +#ifdef ZEND_ENABLE_ZVAL_LONG64 + if (expires >= 253402300800) { + zend_value_error("%s(): \"expires\" option cannot have a year greater than 9999", + get_active_function_name()); + return FAILURE; + } +#endif + /* Should check value of SameSite? */ if (value == NULL || ZSTR_LEN(value) == 0) { @@ -136,19 +144,12 @@ PHPAPI zend_result php_setcookie(zend_string *name, zend_string *value, time_t e } else { smart_str_append(&buf, value); } + if (expires > 0) { double diff; smart_str_appends(&buf, COOKIE_EXPIRES); dt = php_format_date("D, d M Y H:i:s \\G\\M\\T", sizeof("D, d M Y H:i:s \\G\\M\\T")-1, expires, 0); - /* check to make sure that the year does not exceed 4 digits in length */ - if (php_idate('Y', expires, 0) > 9999) { - zend_string_free(dt); - smart_str_free(&buf); - zend_value_error("%s(): \"expires\" option cannot have a year greater than 9999", - get_active_function_name()); - return FAILURE; - } smart_str_append(&buf, dt); zend_string_free(dt); From 0028c242f06763285c5f9bec948b40a57dbac25b Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 11 Aug 2022 20:58:15 +0200 Subject: [PATCH 051/229] Add --[no-]progress option to run-tests.php (#9255) Previously, adding the -g argument would disable progress, even locally. Now it needs to be disabled explicitly. --- .cirrus.yml | 2 +- .github/actions/test-linux/action.yml | 1 + .github/actions/test-macos/action.yml | 1 + appveyor/test_task.bat | 2 +- azure/libmysqlclient_test.yml | 1 + azure/test.yml | 1 + run-tests.php | 33 +++++++++++++++++---------- travis/test.sh | 1 + 8 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 0aed3f6b23a10..1863cc0e5f342 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -25,4 +25,4 @@ task: tests_script: - export SKIP_IO_CAPTURE_TESTS=1 - export CI_NO_IPV6=1 - - sapi/cli/php run-tests.php -P -q -j2 -g FAIL,BORK,LEAK,XLEAK --offline --show-diff --show-slow 1000 --set-timeout 120 -d zend_extension=opcache.so + - sapi/cli/php run-tests.php -P -q -j2 -g FAIL,BORK,LEAK,XLEAK --no-progress --offline --show-diff --show-slow 1000 --set-timeout 120 -d zend_extension=opcache.so diff --git a/.github/actions/test-linux/action.yml b/.github/actions/test-linux/action.yml index a0ec94ed80c31..a4275006e6ce7 100644 --- a/.github/actions/test-linux/action.yml +++ b/.github/actions/test-linux/action.yml @@ -25,6 +25,7 @@ runs: sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \ -j$(/usr/bin/nproc) \ -g FAIL,BORK,LEAK,XLEAK \ + --no-progress \ --offline \ --show-diff \ --show-slow 1000 \ diff --git a/.github/actions/test-macos/action.yml b/.github/actions/test-macos/action.yml index 46c7d39444350..3deafde06200c 100644 --- a/.github/actions/test-macos/action.yml +++ b/.github/actions/test-macos/action.yml @@ -18,6 +18,7 @@ runs: sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \ -j$(sysctl -n hw.ncpu) \ -g FAIL,BORK,LEAK,XLEAK \ + --no-progress \ --offline \ --show-diff \ --show-slow 1000 \ diff --git a/appveyor/test_task.bat b/appveyor/test_task.bat index c092083651fbc..c55bd7ea0543f 100644 --- a/appveyor/test_task.bat +++ b/appveyor/test_task.bat @@ -136,7 +136,7 @@ mkdir c:\tests_tmp set TEST_PHP_JUNIT=c:\junit.out.xml cd "%APPVEYOR_BUILD_FOLDER%" -nmake test TESTS="%OPCACHE_OPTS% -q --offline --show-diff --show-slow 1000 --set-timeout 120 --temp-source c:\tests_tmp --temp-target c:\tests_tmp --bless %PARALLEL%" +nmake test TESTS="%OPCACHE_OPTS% -g FAIL,BORK,LEAK,XLEAK --no-progress -q --offline --show-diff --show-slow 1000 --set-timeout 120 --temp-source c:\tests_tmp --temp-target c:\tests_tmp --bless %PARALLEL%" set EXIT_CODE=%errorlevel% diff --git a/azure/libmysqlclient_test.yml b/azure/libmysqlclient_test.yml index 059be219e2fe1..34b091cee196f 100644 --- a/azure/libmysqlclient_test.yml +++ b/azure/libmysqlclient_test.yml @@ -35,6 +35,7 @@ steps: rm -rf junit.xml | true sapi/cli/php run-tests.php -P -q \ -g FAIL,BORK,LEAK,XLEAK \ + --no-progress \ --offline --show-diff --show-slow 1000 --set-timeout 120 \ ext/pdo_mysql displayName: 'Test ${{ parameters.configurationName }}' diff --git a/azure/test.yml b/azure/test.yml index 09028900ea21a..7f72d4624ae50 100644 --- a/azure/test.yml +++ b/azure/test.yml @@ -19,6 +19,7 @@ steps: sapi/cli/php run-tests.php -P -q \ -j$(/usr/bin/nproc) \ -g FAIL,BORK,LEAK,XLEAK \ + --no-progress \ --offline \ --show-diff \ --show-slow 1000 \ diff --git a/run-tests.php b/run-tests.php index 7e9b61b1c8594..7bf892337a5bb 100755 --- a/run-tests.php +++ b/run-tests.php @@ -127,6 +127,9 @@ function show_usage(): void --color --no-color Do/Don't colorize the result type in the test result. + --progress + --no-progress Do/Don't show the current progress. + --repeat [n] Run the tests multiple times in the same process and check the output of the last execution (CLI SAPI only). @@ -159,7 +162,7 @@ function main(): void $temp_source, $temp_target, $test_cnt, $test_dirs, $test_files, $test_idx, $test_list, $test_results, $testfile, $user_tests, $valgrind, $sum_results, $shuffle, $file_cache, $num_repeats, - $bless; + $bless, $show_progress; // Parallel testing global $workers, $workerID; global $context_line_count; @@ -360,6 +363,7 @@ function main(): void $workers = null; $context_line_count = 3; $num_repeats = 1; + $show_progress = true; $cfgtypes = ['show', 'keep']; $cfgfiles = ['skip', 'php', 'clean', 'out', 'diff', 'exp', 'mem']; @@ -600,6 +604,12 @@ function main(): void $repeat = true; } break; + case '--progress': + $show_progress = true; + break; + case '--no-progress': + $show_progress = false; + break; case '--version': echo '$Id$' . "\n"; exit(1); @@ -1331,7 +1341,7 @@ function run_all_tests(array $test_files, array $env, $redir_tested = null): voi */ function run_all_tests_parallel(array $test_files, array $env, $redir_tested): void { - global $workers, $test_idx, $test_cnt, $test_results, $failed_tests_file, $result_tests_file, $PHP_FAILED_TESTS, $shuffle, $SHOW_ONLY_GROUPS, $valgrind; + global $workers, $test_idx, $test_cnt, $test_results, $failed_tests_file, $result_tests_file, $PHP_FAILED_TESTS, $shuffle, $SHOW_ONLY_GROUPS, $valgrind, $show_progress; global $junit; @@ -1578,13 +1588,13 @@ function run_all_tests_parallel(array $test_files, array $env, $redir_tested): v } $test_idx++; - if (!$SHOW_ONLY_GROUPS) { + if ($show_progress) { clear_show_test(); } echo $resultText; - if (!$SHOW_ONLY_GROUPS) { + if ($show_progress) { show_test($test_idx, count($workerProcs) . "/$workers concurrent test workers running"); } @@ -1634,7 +1644,7 @@ function run_all_tests_parallel(array $test_files, array $env, $redir_tested): v } } - if (!$SHOW_ONLY_GROUPS) { + if ($show_progress) { clear_show_test(); } @@ -3223,22 +3233,22 @@ function show_summary(): void function show_redirect_start(string $tests, string $tested, string $tested_file): void { - global $SHOW_ONLY_GROUPS; + global $SHOW_ONLY_GROUPS, $show_progress; if (!$SHOW_ONLY_GROUPS || in_array('REDIRECT', $SHOW_ONLY_GROUPS)) { echo "REDIRECT $tests ($tested [$tested_file]) begin\n"; - } else { + } elseif ($show_progress) { clear_show_test(); } } function show_redirect_ends(string $tests, string $tested, string $tested_file): void { - global $SHOW_ONLY_GROUPS; + global $SHOW_ONLY_GROUPS, $show_progress; if (!$SHOW_ONLY_GROUPS || in_array('REDIRECT', $SHOW_ONLY_GROUPS)) { echo "REDIRECT $tests ($tested [$tested_file]) done\n"; - } else { + } elseif ($show_progress) { clear_show_test(); } } @@ -3280,7 +3290,7 @@ function show_result( string $extra = '', ?array $temp_filenames = null ): void { - global $SHOW_ONLY_GROUPS, $colorize; + global $SHOW_ONLY_GROUPS, $colorize, $show_progress; if (!$SHOW_ONLY_GROUPS || in_array($result, $SHOW_ONLY_GROUPS)) { if ($colorize) { @@ -3302,10 +3312,9 @@ function show_result( } else { echo "$result $tested [$tested_file] $extra\n"; } - } elseif (!$SHOW_ONLY_GROUPS) { + } elseif ($show_progress) { clear_show_test(); } - } class BorkageException extends Exception diff --git a/travis/test.sh b/travis/test.sh index 313651a2ead37..8aaab2d13417d 100755 --- a/travis/test.sh +++ b/travis/test.sh @@ -7,6 +7,7 @@ if [ -z "$ARM64" ]; then export JOBS=$(nproc); else export JOBS=16; fi export SKIP_IO_CAPTURE_TESTS=1 ./sapi/cli/php run-tests.php -P \ -g "FAIL,BORK,LEAK" --offline --show-diff --show-slow 1000 \ + --no-progress \ --set-timeout 120 -j$JOBS \ -d extension=`pwd`/modules/zend_test.so \ -d zend_extension=`pwd`/modules/opcache.so \ From cd1aed8eddd2dccbb55fb1bc3d67b23a8455248c Mon Sep 17 00:00:00 2001 From: Denis Vaksman Date: Thu, 11 Aug 2022 17:12:13 +0200 Subject: [PATCH 052/229] Fix GH-9296: `ksort` behaves incorrectly on arrays with mixed keys The comparator function used at ksort in SORT_REGULAR mode need to be consistent with basic comparison rules. These rules were changed in PHP-8.0 for numeric strings, but comparator used at ksort kept the old behaviour. It leads to inconsistent situations, when after ksort the first key is GREATER than some of the next ones by according to the basic comparison operators. Closes GH-9293. --- NEWS | 2 + ext/standard/array.c | 53 +++++++----------- ext/standard/tests/array/002.phpt | 20 +++---- ext/standard/tests/array/gh9296.phpt | 17 ++++++ .../tests/array/krsort_variation8.phpt | Bin 3121 -> 3121 bytes .../tests/array/krsort_variation9.phpt | 8 +-- .../tests/array/ksort_variation8.phpt | Bin 3107 -> 3107 bytes .../tests/array/ksort_variation9.phpt | 8 +-- 8 files changed, 56 insertions(+), 52 deletions(-) create mode 100644 ext/standard/tests/array/gh9296.phpt diff --git a/NEWS b/NEWS index d71a5c718c3f3..2f5bd4626bdf4 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,8 @@ PHP NEWS - Standard: . Fixed bug GH-9017 (php_stream_sock_open_from_socket could return NULL). (Heiko Weber) + . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). + (Denis Vaksman) - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have diff --git a/ext/standard/array.c b/ext/standard/array.c index 32ad1b0eaa6ed..d145661e3782e 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -166,40 +166,25 @@ static zend_never_inline ZEND_COLD int stable_sort_fallback(Bucket *a, Bucket *b static zend_always_inline int php_array_key_compare_unstable_i(Bucket *f, Bucket *s) /* {{{ */ { - zend_uchar t; - zend_long l1, l2; - double d; - - if (f->key == NULL) { - if (s->key == NULL) { - return (zend_long)f->h > (zend_long)s->h ? 1 : -1; - } else { - l1 = (zend_long)f->h; - t = is_numeric_string(s->key->val, s->key->len, &l2, &d, 1); - if (t == IS_LONG) { - /* pass */ - } else if (t == IS_DOUBLE) { - return ZEND_NORMALIZE_BOOL((double)l1 - d); - } else { - l2 = 0; - } - } - } else { - if (s->key) { - return zendi_smart_strcmp(f->key, s->key); - } else { - l2 = (zend_long)s->h; - t = is_numeric_string(f->key->val, f->key->len, &l1, &d, 1); - if (t == IS_LONG) { - /* pass */ - } else if (t == IS_DOUBLE) { - return ZEND_NORMALIZE_BOOL(d - (double)l2); - } else { - l1 = 0; - } - } - } - return ZEND_NORMALIZE_BOOL(l1 - l2); + zval first; + zval second; + + if (f->key == NULL && s->key == NULL) { + return (zend_long)f->h > (zend_long)s->h ? 1 : -1; + } else if (f->key && s->key) { + return zendi_smart_strcmp(f->key, s->key); + } + if (f->key) { + ZVAL_STR(&first, f->key); + } else { + ZVAL_LONG(&first, f->h); + } + if (s->key) { + ZVAL_STR(&second, s->key); + } else { + ZVAL_LONG(&second, s->h); + } + return zend_compare(&first, &second); } /* }}} */ diff --git a/ext/standard/tests/array/002.phpt b/ext/standard/tests/array/002.phpt index fdb838deb19dd..5cf377e2a3538 100644 --- a/ext/standard/tests/array/002.phpt +++ b/ext/standard/tests/array/002.phpt @@ -276,6 +276,8 @@ array(8) { -- Testing krsort() -- No second argument: array(8) { + ["test"]=> + int(27) [16777216]=> float(-0.3333333333333333) [1001]=> @@ -288,8 +290,6 @@ array(8) { string(4) "Test" [0]=> string(3) "PHP" - ["test"]=> - int(27) [-1000]=> array(2) { [0]=> @@ -300,6 +300,8 @@ array(8) { } Using SORT_REGULAR: array(8) { + ["test"]=> + int(27) [16777216]=> float(-0.3333333333333333) [1001]=> @@ -312,8 +314,6 @@ array(8) { string(4) "Test" [0]=> string(3) "PHP" - ["test"]=> - int(27) [-1000]=> array(2) { [0]=> @@ -334,10 +334,10 @@ array(8) { string(27) "PHP: Hypertext Preprocessor" [5]=> string(4) "Test" - [0]=> - string(3) "PHP" ["test"]=> int(27) + [0]=> + string(3) "PHP" [-1000]=> array(2) { [0]=> @@ -383,8 +383,6 @@ array(8) { } [0]=> string(3) "PHP" - ["test"]=> - int(27) [5]=> string(4) "Test" [17]=> @@ -395,6 +393,8 @@ array(8) { string(6) "monkey" [16777216]=> float(-0.3333333333333333) + ["test"]=> + int(27) } Using SORT_REGULAR: array(8) { @@ -407,8 +407,6 @@ array(8) { } [0]=> string(3) "PHP" - ["test"]=> - int(27) [5]=> string(4) "Test" [17]=> @@ -419,6 +417,8 @@ array(8) { string(6) "monkey" [16777216]=> float(-0.3333333333333333) + ["test"]=> + int(27) } Using SORT_NUMERIC: array(8) { diff --git a/ext/standard/tests/array/gh9296.phpt b/ext/standard/tests/array/gh9296.phpt new file mode 100644 index 0000000000000..cfbc5cbbb09ec --- /dev/null +++ b/ext/standard/tests/array/gh9296.phpt @@ -0,0 +1,17 @@ +--TEST-- +GH-9296: incorrect ksort(..., SORT_REGULAR) behaviour on arrays with numeric and string keys +--FILE-- + 0, 600 => 1]; +ksort($array, SORT_REGULAR); +var_dump($array); +var_dump(array_key_first($array) <=> array_key_last($array)); +?> +--EXPECT-- +array(2) { + [600]=> + int(1) + ["aaa"]=> + int(0) +} +int(-1) diff --git a/ext/standard/tests/array/krsort_variation8.phpt b/ext/standard/tests/array/krsort_variation8.phpt index 1483e6fd1bbc18abe1c129d73043254e66ee6dc7..39e72e2eb22211e4f3bb45963fc3ae7c3dab99d7 100644 GIT binary patch delta 107 zcmdleu~A}!DBEUdHhZSYqHKDTk8+z%7UGeRR8WXkQi`>;<5Ey4E-A{)OV=>aR8Ugl Zs-3)w)orpKrxu15d7N6fT=Mf$xd8tI8>j#P delta 113 zcmdleu~A}!DBI)^4!zByZ1zl(k8+z%7UdC@QBa81HHx*h<5Eya%gIkH(a<&0v$Oz0 bO|II>t61G8>v3vf=u*O`i_0ZHFO>@bu$dh& diff --git a/ext/standard/tests/array/krsort_variation9.phpt b/ext/standard/tests/array/krsort_variation9.phpt index 4364911b62127..b0309f373d362 100644 --- a/ext/standard/tests/array/krsort_variation9.phpt +++ b/ext/standard/tests/array/krsort_variation9.phpt @@ -82,22 +82,22 @@ array(5) { - With default sort flag - bool(true) array(3) { + ["c"]=> + string(5) "apple" ["a"]=> string(6) "orange" [0]=> string(6) "banana" - ["c"]=> - string(5) "apple" } - Sort flag = SORT_REGULAR - bool(true) array(3) { + ["c"]=> + string(5) "apple" ["a"]=> string(6) "orange" [0]=> string(6) "banana" - ["c"]=> - string(5) "apple" } -- Iteration 3 -- diff --git a/ext/standard/tests/array/ksort_variation8.phpt b/ext/standard/tests/array/ksort_variation8.phpt index 7b7e1c003e587897379970a72be8a1936fb5fce1..9a15c4dc3e75d7dd76ec29986cc84159096b381c 100644 GIT binary patch delta 91 zcmZ21u~=dQ2ixRSPKn80oHCQ^IAtd<*K`?!raf9G7y$XGjh9;@qQ R1x_u3O4)04FgRDC8f!goJx})aK>#e=32=prl1gQ w08x{clb=|kVW4MVV5m9Sg3EI9CQfa}+R5`+T_-DWYEi>9_F68N{Jc~y069b~q5uE@ diff --git a/ext/standard/tests/array/ksort_variation9.phpt b/ext/standard/tests/array/ksort_variation9.phpt index 9322af70f57fa..0023a9e0602ae 100644 --- a/ext/standard/tests/array/ksort_variation9.phpt +++ b/ext/standard/tests/array/ksort_variation9.phpt @@ -81,20 +81,20 @@ array(5) { - With default sort flag - bool(true) array(3) { - ["a"]=> - string(6) "orange" [0]=> string(6) "banana" + ["a"]=> + string(6) "orange" ["c"]=> string(5) "apple" } - Sort flag = SORT_REGULAR - bool(true) array(3) { - ["a"]=> - string(6) "orange" [0]=> string(6) "banana" + ["a"]=> + string(6) "orange" ["c"]=> string(5) "apple" } From 98bdb7f99b60d4976797e9764c1c265413ab7915 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Fri, 12 Aug 2022 12:21:14 +0200 Subject: [PATCH 053/229] Make pestr[n]dup infallible (#9295) Fixes GH-9128 Closes GH-9295 --- UPGRADING.INTERNALS | 2 ++ Zend/zend_alloc.c | 12 +++++++++++- Zend/zend_alloc.h | 3 ++- ext/standard/basic_functions.stub.php | 2 +- ext/standard/basic_functions_arginfo.h | 4 ++-- ext/standard/syslog.c | 3 --- sapi/cli/php_cli_server.c | 8 -------- 7 files changed, 18 insertions(+), 16 deletions(-) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 47c42d48d4274..162b145fcfa1a 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -52,6 +52,8 @@ PHP 8.2 INTERNALS UPGRADE NOTES avoid duplicates when processing the same value multiple times, pass or add IS_CALLABLE_SUPPRESS_DEPRECATIONS to the check_flags parameter. * Registered zend_observer_fcall_init handlers are now also called for internal functions. +* The pestrdup and pestrndup macros and zend_strndup function are now also infallible + for persistent strings, so checking for NULL is no longer necessary. ======================== 2. Build system changes diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index c7895a6624c60..d0e28dca0daab 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -2659,6 +2659,7 @@ ZEND_API char* ZEND_FASTCALL _estrndup(const char *s, size_t length ZEND_FILE_LI return p; } +static ZEND_COLD ZEND_NORETURN void zend_out_of_memory(void); ZEND_API char* ZEND_FASTCALL zend_strndup(const char *s, size_t length) { @@ -2669,7 +2670,7 @@ ZEND_API char* ZEND_FASTCALL zend_strndup(const char *s, size_t length) } p = (char *) malloc(length + 1); if (UNEXPECTED(p == NULL)) { - return p; + zend_out_of_memory(); } if (EXPECTED(length)) { memcpy(p, s, length); @@ -3111,6 +3112,15 @@ ZEND_API void * __zend_realloc(void *p, size_t len) zend_out_of_memory(); } +ZEND_API char * __zend_strdup(const char *s) +{ + char *tmp = strdup(s); + if (EXPECTED(tmp)) { + return tmp; + } + zend_out_of_memory(); +} + #ifdef ZTS size_t zend_mm_globals_size(void) { diff --git a/Zend/zend_alloc.h b/Zend/zend_alloc.h index 3df0a3ba719de..578d4c78cc5c5 100644 --- a/Zend/zend_alloc.h +++ b/Zend/zend_alloc.h @@ -182,6 +182,7 @@ ZEND_API void ZEND_FASTCALL _efree_huge(void *, size_t size); ZEND_API ZEND_ATTRIBUTE_MALLOC void * __zend_malloc(size_t len) ZEND_ATTRIBUTE_ALLOC_SIZE(1); ZEND_API ZEND_ATTRIBUTE_MALLOC void * __zend_calloc(size_t nmemb, size_t len) ZEND_ATTRIBUTE_ALLOC_SIZE2(1,2); ZEND_API void * __zend_realloc(void *p, size_t len) ZEND_ATTRIBUTE_ALLOC_SIZE(2); +ZEND_API ZEND_ATTRIBUTE_MALLOC char * __zend_strdup(const char *s); /* Selective persistent/non persistent allocation macros */ #define pemalloc(size, persistent) ((persistent)?__zend_malloc(size):emalloc(size)) @@ -201,7 +202,7 @@ ZEND_API void * __zend_realloc(void *p, size_t len) ZEND_ATTRIBUTE_ALLOC_SIZE(2) #define safe_perealloc(ptr, nmemb, size, offset, persistent) ((persistent)?_safe_realloc((ptr), (nmemb), (size), (offset)):safe_erealloc((ptr), (nmemb), (size), (offset))) #define perealloc_recoverable(ptr, size, persistent) ((persistent)?realloc((ptr), (size)):erealloc_recoverable((ptr), (size))) #define perealloc2_recoverable(ptr, size, persistent) ((persistent)?realloc((ptr), (size)):erealloc2_recoverable((ptr), (size), (copy_size))) -#define pestrdup(s, persistent) ((persistent)?strdup(s):estrdup(s)) +#define pestrdup(s, persistent) ((persistent)?__zend_strdup(s):estrdup(s)) #define pestrndup(s, length, persistent) ((persistent)?zend_strndup((s),(length)):estrndup((s),(length))) #define pemalloc_rel(size, persistent) ((persistent)?__zend_malloc(size):emalloc_rel(size)) diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index de6a7f06e2e44..541dfc464559a 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -682,7 +682,7 @@ function sha1_file(string $filename, bool $binary = false): string|false {} /* syslog.c */ #ifdef HAVE_SYSLOG_H -function openlog(string $prefix, int $flags, int $facility): bool {} +function openlog(string $prefix, int $flags, int $facility): true {} function closelog(): true {} diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 2ba05ada5500d..c01805f3a3ec6 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 2615114ae250af0329b861d82f4100c2757457da */ + * Stub hash: a4c98e83e51a9546a89797b80bdd8771ef0075f9 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -706,7 +706,7 @@ ZEND_END_ARG_INFO() #define arginfo_sha1_file arginfo_md5_file #if defined(HAVE_SYSLOG_H) -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openlog, 0, 3, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openlog, 0, 3, IS_TRUE, 0) ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, facility, IS_LONG, 0) diff --git a/ext/standard/syslog.c b/ext/standard/syslog.c index 37ea1def88cfb..e0120a5b603b3 100644 --- a/ext/standard/syslog.c +++ b/ext/standard/syslog.c @@ -143,9 +143,6 @@ PHP_FUNCTION(openlog) free(BG(syslog_device)); } BG(syslog_device) = zend_strndup(ident, ident_len); - if(BG(syslog_device) == NULL) { - RETURN_FALSE; - } php_openlog(BG(syslog_device), option, facility); RETURN_TRUE; } diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 7c69fdef1749e..52b1572884673 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -2490,10 +2490,6 @@ static zend_result php_cli_server_ctor(php_cli_server *server, const char *addr, { size_t document_root_len = strlen(document_root); _document_root = pestrndup(document_root, document_root_len, 1); - if (!_document_root) { - retval = FAILURE; - goto out; - } server->document_root = _document_root; server->document_root_len = document_root_len; } @@ -2501,10 +2497,6 @@ static zend_result php_cli_server_ctor(php_cli_server *server, const char *addr, if (router) { size_t router_len = strlen(router); _router = pestrndup(router, router_len, 1); - if (!_router) { - retval = FAILURE; - goto out; - } server->router = _router; server->router_len = router_len; } else { From 1f6baa776b8a57498aff0b04d574d4e585cb7f09 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Fri, 12 Aug 2022 12:22:55 +0200 Subject: [PATCH 054/229] Show function name when dumping fake closure (#9306) Fixes GH-8962 --- Zend/tests/bug75290.phpt | 4 +- .../first_class_callable_optimization.phpt | 8 +++- Zend/tests/gh8083.phpt | 4 +- Zend/tests/gh8962.phpt | 40 +++++++++++++++++++ Zend/zend_closures.c | 16 ++++++++ 5 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 Zend/tests/gh8962.phpt diff --git a/Zend/tests/bug75290.phpt b/Zend/tests/bug75290.phpt index 9d9d1a05619c1..948a56e172a14 100644 --- a/Zend/tests/bug75290.phpt +++ b/Zend/tests/bug75290.phpt @@ -9,7 +9,9 @@ var_dump(function ($someThing) {}); ?> --EXPECT-- -object(Closure)#2 (1) { +object(Closure)#2 (2) { + ["function"]=> + string(3) "sin" ["parameter"]=> array(1) { ["$num"]=> diff --git a/Zend/tests/first_class_callable_optimization.phpt b/Zend/tests/first_class_callable_optimization.phpt index 22ced0a8176c2..707b6a7299a4a 100644 --- a/Zend/tests/first_class_callable_optimization.phpt +++ b/Zend/tests/first_class_callable_optimization.phpt @@ -11,7 +11,11 @@ var_dump(test2(...)); ?> --EXPECT-- -object(Closure)#1 (0) { +object(Closure)#1 (1) { + ["function"]=> + string(5) "test1" } -object(Closure)#1 (0) { +object(Closure)#1 (1) { + ["function"]=> + string(5) "test2" } diff --git a/Zend/tests/gh8083.phpt b/Zend/tests/gh8083.phpt index a98de47cbf375..b3bcfa4579130 100644 --- a/Zend/tests/gh8083.phpt +++ b/Zend/tests/gh8083.phpt @@ -13,7 +13,9 @@ var_dump($x); ?> --EXPECT-- -object(Closure)#1 (1) { +object(Closure)#1 (2) { + ["function"]=> + string(4) "func" ["static"]=> array(1) { ["i"]=> diff --git a/Zend/tests/gh8962.phpt b/Zend/tests/gh8962.phpt new file mode 100644 index 0000000000000..ea963e1958a95 --- /dev/null +++ b/Zend/tests/gh8962.phpt @@ -0,0 +1,40 @@ +--TEST-- +GH-8962: Display function name when var_dumping fake closure +--FILE-- + +--EXPECT-- +object(Closure)#2 (2) { + ["function"]=> + string(12) "Foo\Bar::baz" + ["this"]=> + object(Foo\Bar)#1 (0) { + } +} +object(Closure)#2 (1) { + ["function"]=> + string(12) "Foo\Bar::qux" +} +object(Closure)#2 (1) { + ["function"]=> + string(12) "Foo\Bar::qux" +} +object(Closure)#2 (1) { + ["function"]=> + string(8) "Foo\quux" +} diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index 3a2c3b11d385c..f697f25a0f802 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -568,6 +568,22 @@ static HashTable *zend_closure_get_debug_info(zend_object *object, int *is_temp) debug_info = zend_new_array(8); + if (closure->func.op_array.fn_flags & ZEND_ACC_FAKE_CLOSURE) { + if (closure->func.common.scope) { + zend_string *class_name = closure->func.common.scope->name; + zend_string *func_name = closure->func.common.function_name; + zend_string *combined = zend_string_concat3( + ZSTR_VAL(class_name), ZSTR_LEN(class_name), + "::", strlen("::"), + ZSTR_VAL(func_name), ZSTR_LEN(func_name) + ); + ZVAL_STR(&val, combined); + } else { + ZVAL_STR_COPY(&val, closure->func.common.function_name); + } + zend_hash_update(debug_info, ZSTR_KNOWN(ZEND_STR_FUNCTION), &val); + } + if (closure->func.type == ZEND_USER_FUNCTION && closure->func.op_array.static_variables) { zval *var; zend_string *key; From c809a213f231eba7a10b1a61164bf2b1ea9df7b3 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Fri, 12 Aug 2022 12:50:25 +0200 Subject: [PATCH 055/229] Fix run-tests.php --no-progress flag for non-parallel testing --- run-tests.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run-tests.php b/run-tests.php index 7bf892337a5bb..157a821ddfeec 100755 --- a/run-tests.php +++ b/run-tests.php @@ -1790,6 +1790,7 @@ function run_test(string $php, $file, array $env): string global $num_repeats; // Parallel testing global $workerID; + global $show_progress; // Temporary /** @var JUnit */ @@ -1901,7 +1902,7 @@ function run_test(string $php, $file, array $env): string } } - if (!$SHOW_ONLY_GROUPS && !$workerID) { + if ($show_progress && !$workerID) { show_test($test_idx, $shortname); } From 393577ced9703d67ec3f53ddb05269df2e07cd56 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Fri, 12 Aug 2022 12:08:03 +0100 Subject: [PATCH 056/229] reallocarray using proper inline facility to check overflow on windows. (#9300) --- main/reallocarray.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/main/reallocarray.c b/main/reallocarray.c index beee4bfa09705..95500ebdd8591 100644 --- a/main/reallocarray.c +++ b/main/reallocarray.c @@ -26,9 +26,7 @@ PHPAPI void* php_reallocarray(void *p, size_t nmb, size_t siz) #ifndef _WIN32 if (__builtin_mul_overflow(nmb, siz, &r)) { #else - - r = siz * nmb; - if (siz != 0 && r / siz != nmb) { + if (SizeTMult(nmb, siz, &r) != S_OK) { #endif // EOVERFLOW may have been, arguably, more appropriate // but this is what other implementations set From 71c22efae78268decd77a06d7dba4399c5870464 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 12 Aug 2022 14:42:42 +0200 Subject: [PATCH 057/229] Fix GH-9309: Segfault when connection is used after imap_close() We actually need to check whether `php_imap_object.imap_stream` is `NULL` to detect that the connection has already been closed. Closes GH-9313. --- NEWS | 4 ++++ ext/imap/php_imap.c | 2 +- ext/imap/tests/gh9309.phpt | 28 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 ext/imap/tests/gh9309.phpt diff --git a/NEWS b/NEWS index a55214c7e0107..4595862578809 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,10 @@ PHP NEWS . Fixed bug GH-9155 (dba_open("non-existing", "c-", "flatfile") segfaults) (cmb) +- IMAP: + . Fixed bug GH-9309 (Segfault when connection is used after imap_close()). + (cmb) + - MBString: . Fixed bug GH-9008 (mb_detect_encoding(): wrong results with null $encodings). (cmb) diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index a543c1d78a21b..59244b664d7df 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -198,7 +198,7 @@ static void imap_object_destroy(zend_object *zobj) { #define GET_IMAP_STREAM(imap_conn_struct, zval_imap_obj) \ imap_conn_struct = imap_object_from_zend_object(Z_OBJ_P(zval_imap_obj)); \ - if (!imap_conn_struct) { \ + if (imap_conn_struct->imap_stream == NULL) { \ zend_throw_exception(zend_ce_value_error, "IMAP\\Connection is already closed", 0); \ RETURN_THROWS(); \ } diff --git a/ext/imap/tests/gh9309.phpt b/ext/imap/tests/gh9309.phpt new file mode 100644 index 0000000000000..663c6cc757f63 --- /dev/null +++ b/ext/imap/tests/gh9309.phpt @@ -0,0 +1,28 @@ +--TEST-- +Bug GH-9309 (Segfault when connection is used after imap_close()) +--EXTENSIONS-- +imap +--SKIPIF-- + +--FILE-- +getMessage(), PHP_EOL; +} +?> +--CLEAN-- + +--EXPECT-- +Create a temporary mailbox and add 0 msgs +New mailbox created +IMAP\Connection is already closed From d0527427be57957157aec5e26a28899b380140df Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 9 Aug 2022 15:41:47 +0100 Subject: [PATCH 058/229] Fix GH-8409: SSL handshake timeout persistent connections hanging This is not actually related to SSL handshake but stream socket creation which does not clean errors if the error handler is set. This fix prevents emitting errors until the stream is freed. --- NEWS | 2 ++ Zend/zend.c | 27 ++++++++++++++++++++++++-- Zend/zend.h | 2 ++ Zend/zend_globals.h | 4 +++- ext/opcache/ZendAccelerator.c | 7 +------ ext/standard/tests/streams/gh8409.phpt | 20 +++++++++++++++++++ main/streams/transports.c | 5 +++++ 7 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 ext/standard/tests/streams/gh8409.phpt diff --git a/NEWS b/NEWS index 4595862578809..e584e5420326a 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,8 @@ PHP NEWS - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have incorrect metadata). (Jakub Zelenka) + . Fixed bug GH-8409 (SSL handshake timeout leaves persistent connections + hanging). (Jakub Zelenka) 04 Aug 2022, PHP 8.1.9 diff --git a/Zend/zend.c b/Zend/zend.c index 808d7648fe805..5e830dad89c90 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1366,6 +1366,9 @@ ZEND_API ZEND_COLD void zend_error_zstr_at( EG(num_errors)++; EG(errors) = erealloc(EG(errors), sizeof(zend_error_info) * EG(num_errors)); EG(errors)[EG(num_errors)-1] = info; + if (EG(record_errors_without_emitting)) { + return; + } } /* Report about uncaught exception in case of fatal errors */ @@ -1619,14 +1622,34 @@ ZEND_API ZEND_COLD void zend_error_zstr(int type, zend_string *message) { zend_error_zstr_at(type, filename, lineno, message); } -ZEND_API void zend_begin_record_errors(void) +static zend_always_inline void zend_begin_record_errors_ex(bool no_emmitting) { - ZEND_ASSERT(!EG(record_errors) && "Error recoreding already enabled"); + ZEND_ASSERT(!EG(record_errors) && "Error recording already enabled"); EG(record_errors) = true; + EG(record_errors_without_emitting) = no_emmitting; EG(num_errors) = 0; EG(errors) = NULL; } +ZEND_API void zend_begin_record_errors(void) +{ + zend_begin_record_errors_ex(false); +} + +ZEND_API void zend_begin_record_errors_without_emitting(void) +{ + zend_begin_record_errors_ex(true); +} + +ZEND_API void zend_emit_recorded_errors(void) +{ + EG(record_errors) = false; + for (uint32_t i = 0; i < EG(num_errors); i++) { + zend_error_info *error = EG(errors)[i]; + zend_error_zstr_at(error->type, error->filename, error->lineno, error->message); + } +} + ZEND_API void zend_free_recorded_errors(void) { if (!EG(num_errors)) { diff --git a/Zend/zend.h b/Zend/zend.h index babc7540cc162..52e30141961a2 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -394,6 +394,8 @@ ZEND_API void zend_save_error_handling(zend_error_handling *current); ZEND_API void zend_replace_error_handling(zend_error_handling_t error_handling, zend_class_entry *exception_class, zend_error_handling *current); ZEND_API void zend_restore_error_handling(zend_error_handling *saved); ZEND_API void zend_begin_record_errors(void); +ZEND_API void zend_begin_record_errors_without_emitting(void); +ZEND_API void zend_emit_recorded_errors(void); ZEND_API void zend_free_recorded_errors(void); END_EXTERN_C() diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 1726dee9ac12a..83a7e7a62c43c 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -261,8 +261,10 @@ struct _zend_executor_globals { zend_long fiber_stack_size; /* If record_errors is enabled, all emitted diagnostics will be recorded, - * in addition to being processed as usual. */ + * in addition to being processed as usual unless record_errors_without_emitting + * is enabled which supresses processing when the errors are recorded. */ bool record_errors; + bool record_errors_without_emitting; uint32_t num_errors; zend_error_info **errors; diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 5f6b854d477d0..d19d3b1db6de2 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -3929,12 +3929,7 @@ static void preload_link(void) /* Inheritance successful, print out any warnings. */ zend_error_cb = orig_error_cb; - EG(record_errors) = false; - for (uint32_t i = 0; i < EG(num_errors); i++) { - zend_error_info *error = EG(errors)[i]; - zend_error_zstr_at( - error->type, error->filename, error->lineno, error->message); - } + zend_emit_recorded_errors(); } zend_catch { /* Clear variance obligations that were left behind on bailout. */ if (CG(delayed_variance_obligations)) { diff --git a/ext/standard/tests/streams/gh8409.phpt b/ext/standard/tests/streams/gh8409.phpt new file mode 100644 index 0000000000000..4ca9c13b58753 --- /dev/null +++ b/ext/standard/tests/streams/gh8409.phpt @@ -0,0 +1,20 @@ +--TEST-- +GH-8409: Error in socket creation when error handler does not clean persistent connection +--FILE-- + +--EXPECT-- +DONE diff --git a/main/streams/transports.c b/main/streams/transports.c index de6b968868ed9..1ccc92671a66b 100644 --- a/main/streams/transports.c +++ b/main/streams/transports.c @@ -131,6 +131,8 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in (char*)name, namelen, persistent_id, options, flags, timeout, context STREAMS_REL_CC); + zend_begin_record_errors_without_emitting(); + if (stream) { php_stream_context_set(stream, context); @@ -181,6 +183,9 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in stream = NULL; } + zend_emit_recorded_errors(); + zend_free_recorded_errors(); + return stream; } From b825756317dc4d317bcda96c51bb6deb97dfe37d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Fri, 12 Aug 2022 19:52:04 +0200 Subject: [PATCH 059/229] Update expires format for session cookie (#9304) * Update expires format for session cookie see GH-9200 see 15e3fcb468d7ef6faddc8f99f8f708fe8c2d8492 * Add ext/session/tests/gh9200.phpt --- NEWS | 3 +++ ext/session/session.c | 2 +- ext/session/tests/gh9200.phpt | 23 +++++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 ext/session/tests/gh9200.phpt diff --git a/NEWS b/NEWS index cf376832ae405..c0828bbd75050 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,9 @@ PHP NEWS . Added extension specific Exceptions/Errors (RandomException, RandomError, BrokenRandomEngineError). (timwolla) +- Session: + . Fixed GH-9200 (setcookie has an obsolete expires date format). (timwolla) + - Standard: . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) . Fixed GH-9200 (setcookie has an obsolete expires date format). (Derick) diff --git a/ext/session/session.c b/ext/session/session.c index 505347186e9b8..3a807fd0d9970 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1345,7 +1345,7 @@ static zend_result php_session_send_cookie(void) /* {{{ */ t = tv.tv_sec + PS(cookie_lifetime); if (t > 0) { - date_fmt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0); + date_fmt = php_format_date("D, d M Y H:i:s \\G\\M\\T", sizeof("D, d M Y H:i:s \\G\\M\\T")-1, t, 0); smart_str_appends(&ncookie, COOKIE_EXPIRES); smart_str_appendl(&ncookie, ZSTR_VAL(date_fmt), ZSTR_LEN(date_fmt)); zend_string_release_ex(date_fmt, 0); diff --git a/ext/session/tests/gh9200.phpt b/ext/session/tests/gh9200.phpt new file mode 100644 index 0000000000000..fd6e28ab8b908 --- /dev/null +++ b/ext/session/tests/gh9200.phpt @@ -0,0 +1,23 @@ +--TEST-- +GH-9200: setcookie has an obsolete expires date format +--INI-- +session.cookie_lifetime=3600 +--EXTENSIONS-- +session +--CGI-- +--FILE-- + +--EXPECT-- +Success From 897ca85d33ebeb25ba97793dc7ab9d1761c0a0a3 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 9 Aug 2022 22:41:47 +0800 Subject: [PATCH 060/229] Revert "Fix GH-8409: SSL handshake timeout persistent connections hanging" This reverts commit d0527427be57957157aec5e26a28899b380140df. This patch makes Swoole/Swow can not work anymore, because Coroutine will yield to another one during socket operation, EG(record_errors) assertion will always fail, and zend_begin_record_errors() was only used during compile time before. Note: zend_emit_recorded_errors() and the typo fix are reserved. --- NEWS | 2 -- Zend/zend.c | 16 +--------------- Zend/zend.h | 1 - Zend/zend_globals.h | 4 +--- ext/standard/tests/streams/gh8409.phpt | 20 -------------------- main/streams/transports.c | 5 ----- 6 files changed, 2 insertions(+), 46 deletions(-) delete mode 100644 ext/standard/tests/streams/gh8409.phpt diff --git a/NEWS b/NEWS index e584e5420326a..4595862578809 100644 --- a/NEWS +++ b/NEWS @@ -49,8 +49,6 @@ PHP NEWS - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have incorrect metadata). (Jakub Zelenka) - . Fixed bug GH-8409 (SSL handshake timeout leaves persistent connections - hanging). (Jakub Zelenka) 04 Aug 2022, PHP 8.1.9 diff --git a/Zend/zend.c b/Zend/zend.c index 5e830dad89c90..be7fa210fff70 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1366,9 +1366,6 @@ ZEND_API ZEND_COLD void zend_error_zstr_at( EG(num_errors)++; EG(errors) = erealloc(EG(errors), sizeof(zend_error_info) * EG(num_errors)); EG(errors)[EG(num_errors)-1] = info; - if (EG(record_errors_without_emitting)) { - return; - } } /* Report about uncaught exception in case of fatal errors */ @@ -1622,25 +1619,14 @@ ZEND_API ZEND_COLD void zend_error_zstr(int type, zend_string *message) { zend_error_zstr_at(type, filename, lineno, message); } -static zend_always_inline void zend_begin_record_errors_ex(bool no_emmitting) +ZEND_API void zend_begin_record_errors(void) { ZEND_ASSERT(!EG(record_errors) && "Error recording already enabled"); EG(record_errors) = true; - EG(record_errors_without_emitting) = no_emmitting; EG(num_errors) = 0; EG(errors) = NULL; } -ZEND_API void zend_begin_record_errors(void) -{ - zend_begin_record_errors_ex(false); -} - -ZEND_API void zend_begin_record_errors_without_emitting(void) -{ - zend_begin_record_errors_ex(true); -} - ZEND_API void zend_emit_recorded_errors(void) { EG(record_errors) = false; diff --git a/Zend/zend.h b/Zend/zend.h index 52e30141961a2..001bf329b9e49 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -394,7 +394,6 @@ ZEND_API void zend_save_error_handling(zend_error_handling *current); ZEND_API void zend_replace_error_handling(zend_error_handling_t error_handling, zend_class_entry *exception_class, zend_error_handling *current); ZEND_API void zend_restore_error_handling(zend_error_handling *saved); ZEND_API void zend_begin_record_errors(void); -ZEND_API void zend_begin_record_errors_without_emitting(void); ZEND_API void zend_emit_recorded_errors(void); ZEND_API void zend_free_recorded_errors(void); END_EXTERN_C() diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 83a7e7a62c43c..1726dee9ac12a 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -261,10 +261,8 @@ struct _zend_executor_globals { zend_long fiber_stack_size; /* If record_errors is enabled, all emitted diagnostics will be recorded, - * in addition to being processed as usual unless record_errors_without_emitting - * is enabled which supresses processing when the errors are recorded. */ + * in addition to being processed as usual. */ bool record_errors; - bool record_errors_without_emitting; uint32_t num_errors; zend_error_info **errors; diff --git a/ext/standard/tests/streams/gh8409.phpt b/ext/standard/tests/streams/gh8409.phpt deleted file mode 100644 index 4ca9c13b58753..0000000000000 --- a/ext/standard/tests/streams/gh8409.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -GH-8409: Error in socket creation when error handler does not clean persistent connection ---FILE-- - ---EXPECT-- -DONE diff --git a/main/streams/transports.c b/main/streams/transports.c index 1ccc92671a66b..de6b968868ed9 100644 --- a/main/streams/transports.c +++ b/main/streams/transports.c @@ -131,8 +131,6 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in (char*)name, namelen, persistent_id, options, flags, timeout, context STREAMS_REL_CC); - zend_begin_record_errors_without_emitting(); - if (stream) { php_stream_context_set(stream, context); @@ -183,9 +181,6 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in stream = NULL; } - zend_emit_recorded_errors(); - zend_free_recorded_errors(); - return stream; } From b8d07451d49f17cd0fc2c5d0e4e939edda456355 Mon Sep 17 00:00:00 2001 From: twosee Date: Sun, 14 Aug 2022 19:50:58 +0800 Subject: [PATCH 061/229] Re-fix GH-8409: SSL handshake timeout persistent connections hanging This fix is another solution to replace d0527427be57957157aec5e26a28899b380140df, use zend_try and zend_catch to make sure persistent stream will be released when error occurred. Closes GH-9332. --- NEWS | 2 + ext/standard/tests/streams/gh8409.phpt | 25 ++++++++++ main/streams/transports.c | 68 ++++++++++++++------------ 3 files changed, 65 insertions(+), 30 deletions(-) create mode 100644 ext/standard/tests/streams/gh8409.phpt diff --git a/NEWS b/NEWS index 2f5bd4626bdf4..ba942a7196e01 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,8 @@ PHP NEWS - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have incorrect metadata). (Jakub Zelenka) + . Fixed bug GH-8409 (SSL handshake timeout leaves persistent connections + hanging). (Jakub Zelenka, Twosee) 04 Aug 2022, PHP 8.0.22 diff --git a/ext/standard/tests/streams/gh8409.phpt b/ext/standard/tests/streams/gh8409.phpt new file mode 100644 index 0000000000000..7f0a28b183f81 --- /dev/null +++ b/ext/standard/tests/streams/gh8409.phpt @@ -0,0 +1,25 @@ +--TEST-- +GH-8409: Error in socket creation when error handler does not clean persistent connection +--FILE-- + +--EXPECTF-- +Fatal error: stream_socket_client(): %s in %sgh8409.php on line %d +OK: persistent stream closed diff --git a/main/streams/transports.c b/main/streams/transports.c index fcc3f293300e0..2e17969b9778c 100644 --- a/main/streams/transports.c +++ b/main/streams/transports.c @@ -61,7 +61,8 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in php_stream_transport_factory factory = NULL; const char *p, *protocol = NULL; size_t n = 0; - int failed = 0; + bool failed = false; + bool bailout = false; zend_string *error_text = NULL; struct timeval default_timeout = { 0, 0 }; @@ -132,46 +133,50 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in context STREAMS_REL_CC); if (stream) { - php_stream_context_set(stream, context); + zend_try { + php_stream_context_set(stream, context); - if ((flags & STREAM_XPORT_SERVER) == 0) { - /* client */ + if ((flags & STREAM_XPORT_SERVER) == 0) { + /* client */ - if (flags & (STREAM_XPORT_CONNECT|STREAM_XPORT_CONNECT_ASYNC)) { - if (-1 == php_stream_xport_connect(stream, name, namelen, - flags & STREAM_XPORT_CONNECT_ASYNC ? 1 : 0, - timeout, &error_text, error_code)) { + if (flags & (STREAM_XPORT_CONNECT|STREAM_XPORT_CONNECT_ASYNC)) { + if (-1 == php_stream_xport_connect(stream, name, namelen, + flags & STREAM_XPORT_CONNECT_ASYNC ? 1 : 0, + timeout, &error_text, error_code)) { - ERR_RETURN(error_string, error_text, "connect() failed: %s"); + ERR_RETURN(error_string, error_text, "connect() failed: %s"); - failed = 1; - } - } - - } else { - /* server */ - if (flags & STREAM_XPORT_BIND) { - if (0 != php_stream_xport_bind(stream, name, namelen, &error_text)) { - ERR_RETURN(error_string, error_text, "bind() failed: %s"); - failed = 1; - } else if (flags & STREAM_XPORT_LISTEN) { - zval *zbacklog = NULL; - int backlog = 32; - - if (PHP_STREAM_CONTEXT(stream) && (zbacklog = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "backlog")) != NULL) { - backlog = zval_get_long(zbacklog); + failed = true; } + } - if (0 != php_stream_xport_listen(stream, backlog, &error_text)) { - ERR_RETURN(error_string, error_text, "listen() failed: %s"); - failed = 1; + } else { + /* server */ + if (flags & STREAM_XPORT_BIND) { + if (0 != php_stream_xport_bind(stream, name, namelen, &error_text)) { + ERR_RETURN(error_string, error_text, "bind() failed: %s"); + failed = true; + } else if (flags & STREAM_XPORT_LISTEN) { + zval *zbacklog = NULL; + int backlog = 32; + + if (PHP_STREAM_CONTEXT(stream) && (zbacklog = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "backlog")) != NULL) { + backlog = zval_get_long(zbacklog); + } + + if (0 != php_stream_xport_listen(stream, backlog, &error_text)) { + ERR_RETURN(error_string, error_text, "listen() failed: %s"); + failed = true; + } } } } - } + } zend_catch { + bailout = true; + } zend_end_try(); } - if (failed) { + if (failed || bailout) { /* failure means that they don't get a stream to play with */ if (persistent_id) { php_stream_pclose(stream); @@ -179,6 +184,9 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in php_stream_close(stream); } stream = NULL; + if (bailout) { + zend_bailout(); + } } return stream; From 7f64a8d59f9dbc3353855eb7c7030fdca08c2181 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 14 Aug 2022 14:18:28 +0100 Subject: [PATCH 062/229] [skip ci] Add missing NEWS entry for GH-8409 fix to PHP-8.1 branch (skip-ci) --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 4595862578809..4107b7f1bb6b6 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,8 @@ PHP NEWS - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have incorrect metadata). (Jakub Zelenka) + . Fixed bug GH-8409 (SSL handshake timeout leaves persistent connections + hanging). (Jakub Zelenka, Twosee) 04 Aug 2022, PHP 8.1.9 From 3b48a2044d5f578e2674c9f2e0b10f839fb43413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Mon, 15 Aug 2022 11:06:03 +0200 Subject: [PATCH 063/229] Replace RuntimeException in Randomizer::nextInt() by RandomException (#9305) * Replace RuntimeException in Randomizer::nextInt() by RandomException * Add ext/random/tests/03_randomizer/nextint_error.phpt --- ext/random/randomizer.c | 3 +-- ext/random/tests/03_randomizer/basic.phpt | 2 +- .../03_randomizer/compatibility_user.phpt | 4 ++-- .../tests/03_randomizer/nextint_error.phpt | 18 ++++++++++++++++++ 4 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 ext/random/tests/03_randomizer/nextint_error.phpt diff --git a/ext/random/randomizer.c b/ext/random/randomizer.c index 41be98d266cdd..c94c9449db93d 100644 --- a/ext/random/randomizer.c +++ b/ext/random/randomizer.c @@ -24,7 +24,6 @@ #include "ext/standard/php_array.h" #include "ext/standard/php_string.h" -#include "ext/spl/spl_exceptions.h" #include "Zend/zend_exceptions.h" static inline void randomizer_common_init(php_random_randomizer *randomizer, zend_object *engine_object) { @@ -102,7 +101,7 @@ PHP_METHOD(Random_Randomizer, nextInt) RETURN_THROWS(); } if (randomizer->status->last_generated_size > sizeof(zend_long)) { - zend_throw_exception(spl_ce_RuntimeException, "Generated value exceeds size of int", 0); + zend_throw_exception(random_ce_Random_RandomException, "Generated value exceeds size of int", 0); RETURN_THROWS(); } diff --git a/ext/random/tests/03_randomizer/basic.phpt b/ext/random/tests/03_randomizer/basic.phpt index 077b9f5b780db..a2f6378a71eb1 100644 --- a/ext/random/tests/03_randomizer/basic.phpt +++ b/ext/random/tests/03_randomizer/basic.phpt @@ -31,7 +31,7 @@ foreach ($engines as $engine) { for ($i = 0; $i < 1000; $i++) { try { $randomizer->nextInt(); - } catch (\RuntimeException $e) { + } catch (\Random\RandomException $e) { if ($e->getMessage() !== 'Generated value exceeds size of int') { die($engine::class . ": nextInt: failure: {$e->getMessage()}"); } diff --git a/ext/random/tests/03_randomizer/compatibility_user.phpt b/ext/random/tests/03_randomizer/compatibility_user.phpt index 8336e7d569bd0..3b4251aecbe72 100644 --- a/ext/random/tests/03_randomizer/compatibility_user.phpt +++ b/ext/random/tests/03_randomizer/compatibility_user.phpt @@ -42,7 +42,7 @@ try { die("failure PcgOneseq128XslRr64 i: {$i} native: {$native} user: {$user}"); } } -} catch (\RuntimeException $e) { +} catch (\Random\RandomException $e) { if ($e->getMessage() !== 'Generated value exceeds size of int') { throw $e; } @@ -68,7 +68,7 @@ try { die("failure Xoshiro256StarStar i: {$i} native: {$native} user: {$user}"); } } -} catch (\RuntimeException $e) { +} catch (\Random\RandomException $e) { if ($e->getMessage() !== 'Generated value exceeds size of int') { throw $e; } diff --git a/ext/random/tests/03_randomizer/nextint_error.phpt b/ext/random/tests/03_randomizer/nextint_error.phpt new file mode 100644 index 0000000000000..5f9f8bdc77cf8 --- /dev/null +++ b/ext/random/tests/03_randomizer/nextint_error.phpt @@ -0,0 +1,18 @@ +--TEST-- +Random: Randomizer: nextInt() throws for too large values on 32 Bit +--SKIPIF-- + +--FILE-- +nextInt()); +} catch (\Random\RandomException $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECT-- +Generated value exceeds size of int From 0f29436a2f099eda50eca794b02a882e532e73ad Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Mon, 15 Aug 2022 14:21:02 +0200 Subject: [PATCH 064/229] Remove useless UNEXPECTED around RETURN_VALUE_USED in specialized RETVAL handler (#9329) This can lead to funny code like UNEXPECTED(1) which is non-sensical. --- Zend/zend_vm_def.h | 14 ++++----- Zend/zend_vm_execute.h | 64 +++++++++++++++++++++--------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index d604b3bfff564..1a2cbce6943cb 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1516,7 +1516,7 @@ ZEND_VM_HOT_HANDLER(34, ZEND_PRE_INC, VAR|CV, ANY, SPEC(RETVAL)) if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_increment_function(var_ptr); - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -1568,7 +1568,7 @@ ZEND_VM_HOT_HANDLER(35, ZEND_PRE_DEC, VAR|CV, ANY, SPEC(RETVAL)) if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_decrement_function(var_ptr); - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -2693,7 +2693,7 @@ ZEND_VM_HANDLER(22, ZEND_ASSIGN, VAR|CV, CONST|TMP|VAR|CV, SPEC(RETVAL)) variable_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_W); value = zend_assign_to_variable(variable_ptr, value, OP2_TYPE, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } FREE_OP1(); @@ -9611,7 +9611,7 @@ ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_PRE_INC, (res_info == MAY_BE_LONG && op1_info var_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW); Z_LVAL_P(var_ptr)++; - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_LONG(EX_VAR(opline->result.var), Z_LVAL_P(var_ptr)); } ZEND_VM_NEXT_OPCODE(); @@ -9624,7 +9624,7 @@ ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_PRE_INC, (op1_info == MAY_BE_LONG), ZEND_PRE_ var_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW); fast_long_increment_function(var_ptr); - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -9637,7 +9637,7 @@ ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, (res_info == MAY_BE_LONG && op1_info var_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW); Z_LVAL_P(var_ptr)--; - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_LONG(EX_VAR(opline->result.var), Z_LVAL_P(var_ptr)); } ZEND_VM_NEXT_OPCODE(); @@ -9650,7 +9650,7 @@ ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_PRE_DEC, (op1_info == MAY_BE_LONG), ZEND_PRE_ var_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW); fast_long_decrement_function(var_ptr); - if (UNEXPECTED(RETURN_VALUE_USED(opline))) { + if (RETURN_VALUE_USED(opline)) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 3bde248671c45..ff6dd8aadfcb0 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -21323,7 +21323,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_SPEC_VAR_R if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_increment_function(var_ptr); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -21341,7 +21341,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_SPEC_VAR_R if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_increment_function(var_ptr); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -21393,7 +21393,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_SPEC_VAR_R if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_decrement_function(var_ptr); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -21411,7 +21411,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_SPEC_VAR_R if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_decrement_function(var_ptr); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -24134,7 +24134,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CONST_RETVAL_U variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_CONST, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -24154,7 +24154,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CONST_RETVAL_U variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_CONST, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -27477,7 +27477,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_TMP_RETVAL_UNU variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_TMP_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -27497,7 +27497,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_TMP_RETVAL_USE variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_TMP_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -27561,7 +27561,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_VAR_RETVAL_UNU variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -27581,7 +27581,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_VAR_RETVAL_USE variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -31054,7 +31054,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CV_RETVAL_UNUS variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_CV, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -31074,7 +31074,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CV_RETVAL_USED variable_ptr = _get_zval_ptr_ptr_var(opline->op1.var EXECUTE_DATA_CC); value = zend_assign_to_variable(variable_ptr, value, IS_CV, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } zval_ptr_dtor_nogc(EX_VAR(opline->op1.var)); @@ -38123,7 +38123,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_SPEC_CV_RE if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_increment_function(var_ptr); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -38141,7 +38141,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_SPEC_CV_RE if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_increment_function(var_ptr); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -38192,7 +38192,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_SPEC_CV_RE if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_decrement_function(var_ptr); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -38210,7 +38210,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_SPEC_CV_RE if (EXPECTED(Z_TYPE_P(var_ptr) == IS_LONG)) { fast_long_decrement_function(var_ptr); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -39579,7 +39579,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_LONG_NO_OV var_ptr = EX_VAR(opline->op1.var); Z_LVAL_P(var_ptr)++; - if (UNEXPECTED(0)) { + if (0) { ZVAL_LONG(EX_VAR(opline->result.var), Z_LVAL_P(var_ptr)); } ZEND_VM_NEXT_OPCODE(); @@ -39592,7 +39592,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_LONG_NO_OV var_ptr = EX_VAR(opline->op1.var); Z_LVAL_P(var_ptr)++; - if (UNEXPECTED(1)) { + if (1) { ZVAL_LONG(EX_VAR(opline->result.var), Z_LVAL_P(var_ptr)); } ZEND_VM_NEXT_OPCODE(); @@ -39605,7 +39605,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_LONG_SPEC_ var_ptr = EX_VAR(opline->op1.var); fast_long_increment_function(var_ptr); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -39618,7 +39618,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_LONG_SPEC_ var_ptr = EX_VAR(opline->op1.var); fast_long_increment_function(var_ptr); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -39631,7 +39631,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_LONG_NO_OV var_ptr = EX_VAR(opline->op1.var); Z_LVAL_P(var_ptr)--; - if (UNEXPECTED(0)) { + if (0) { ZVAL_LONG(EX_VAR(opline->result.var), Z_LVAL_P(var_ptr)); } ZEND_VM_NEXT_OPCODE(); @@ -39644,7 +39644,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_LONG_NO_OV var_ptr = EX_VAR(opline->op1.var); Z_LVAL_P(var_ptr)--; - if (UNEXPECTED(1)) { + if (1) { ZVAL_LONG(EX_VAR(opline->result.var), Z_LVAL_P(var_ptr)); } ZEND_VM_NEXT_OPCODE(); @@ -39657,7 +39657,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_LONG_SPEC_ var_ptr = EX_VAR(opline->op1.var); fast_long_decrement_function(var_ptr); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -39670,7 +39670,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_LONG_SPEC_ var_ptr = EX_VAR(opline->op1.var); fast_long_decrement_function(var_ptr); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY_VALUE(EX_VAR(opline->result.var), var_ptr); } ZEND_VM_NEXT_OPCODE(); @@ -42162,7 +42162,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_CONST_RETVAL_UN variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_CONST, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -42182,7 +42182,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_CONST_RETVAL_US variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_CONST, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -46864,7 +46864,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_TMP_RETVAL_UNUS variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_TMP_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -46884,7 +46884,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_TMP_RETVAL_USED variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_TMP_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -46934,7 +46934,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_VAR_RETVAL_UNUS variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -46954,7 +46954,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_VAR_RETVAL_USED variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_VAR, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -51269,7 +51269,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_CV_RETVAL_UNUSE variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_CV, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(0)) { + if (0) { ZVAL_COPY(EX_VAR(opline->result.var), value); } @@ -51289,7 +51289,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_CV_CV_RETVAL_USED_ variable_ptr = EX_VAR(opline->op1.var); value = zend_assign_to_variable(variable_ptr, value, IS_CV, EX_USES_STRICT_TYPES()); - if (UNEXPECTED(1)) { + if (1) { ZVAL_COPY(EX_VAR(opline->result.var), value); } From 7eba683e2c4c04b13c0ce1a762472ad2dab8644c Mon Sep 17 00:00:00 2001 From: twosee Date: Mon, 15 Aug 2022 20:54:39 +0800 Subject: [PATCH 065/229] Fix unexpected deprecated dynamic property warning (#9324) Occurred when exit() with uncaught exception in finally block. --- Zend/tests/throw/exit_in_finally.phpt | 13 +++++++++++++ Zend/zend_vm_def.h | 7 ++++++- Zend/zend_vm_execute.h | 7 ++++++- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 Zend/tests/throw/exit_in_finally.phpt diff --git a/Zend/tests/throw/exit_in_finally.phpt b/Zend/tests/throw/exit_in_finally.phpt new file mode 100644 index 0000000000000..fc88d87c12da8 --- /dev/null +++ b/Zend/tests/throw/exit_in_finally.phpt @@ -0,0 +1,13 @@ +--TEST-- +Test exit with uncaught exception in finally block +--FILE-- + +--EXPECT-- +Done diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 1a2cbce6943cb..da1241804a311 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -7876,7 +7876,12 @@ ZEND_VM_HELPER(zend_dispatch_try_catch_finally_helper, ANY, ANY, uint32_t try_ca /* Chain potential exception from wrapping finally block */ if (Z_OBJ_P(fast_call)) { if (ex) { - zend_exception_set_previous(ex, Z_OBJ_P(fast_call)); + if (zend_is_unwind_exit(ex) || zend_is_graceful_exit(ex)) { + /* discard the previously thrown exception */ + OBJ_RELEASE(Z_OBJ_P(fast_call)); + } else { + zend_exception_set_previous(ex, Z_OBJ_P(fast_call)); + } } else { ex = EG(exception) = Z_OBJ_P(fast_call); } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index ff6dd8aadfcb0..73dfeaaa011d3 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -3130,7 +3130,12 @@ static zend_never_inline ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_dispatch_try /* Chain potential exception from wrapping finally block */ if (Z_OBJ_P(fast_call)) { if (ex) { - zend_exception_set_previous(ex, Z_OBJ_P(fast_call)); + if (zend_is_unwind_exit(ex) || zend_is_graceful_exit(ex)) { + /* discard the previously thrown exception */ + OBJ_RELEASE(Z_OBJ_P(fast_call)); + } else { + zend_exception_set_previous(ex, Z_OBJ_P(fast_call)); + } } else { ex = EG(exception) = Z_OBJ_P(fast_call); } From 05ed47ef127ab081907d8a67d096a861ce965a55 Mon Sep 17 00:00:00 2001 From: Gert de Pagter Date: Mon, 15 Aug 2022 14:25:59 +0200 Subject: [PATCH 066/229] Correct IntlDateFormatter::formatObject params Closes GH-9341. --- NEWS | 3 +++ ext/intl/dateformat/dateformat.stub.php | 2 +- ext/intl/dateformat/dateformat_arginfo.h | 2 +- ext/intl/dateformat/dateformat_format_object.cpp | 2 +- ext/intl/tests/dateformat_formatObject_error.phpt | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index ba942a7196e01..caf69a2627f8e 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,9 @@ PHP NEWS . Fixed bug GH-9155 (dba_open("non-existing", "c-", "flatfile") segfaults). (cmb) +- Intl: + . Fixed IntlDateFormatter::formatObject() parameter type. (Gert de Pagter) + - OPcache: . Fixed bug GH-9033 (Loading blacklist file can fail due to negative length). (cmb) diff --git a/ext/intl/dateformat/dateformat.stub.php b/ext/intl/dateformat/dateformat.stub.php index e6f9522dd4e31..36f77771d9090 100644 --- a/ext/intl/dateformat/dateformat.stub.php +++ b/ext/intl/dateformat/dateformat.stub.php @@ -104,7 +104,7 @@ public function isLenient() {} public function format($datetime) {} /** - * @param IntlCalendar|DateTime $datetime + * @param IntlCalendar|DateTimeInterface $datetime * @param array|int|string|null $format * @return string|false * @alias datefmt_format_object diff --git a/ext/intl/dateformat/dateformat_arginfo.h b/ext/intl/dateformat/dateformat_arginfo.h index 8830fa615e801..63a50733d86bd 100644 --- a/ext/intl/dateformat/dateformat_arginfo.h +++ b/ext/intl/dateformat/dateformat_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: faeef90c9c1324c6a25f0df36c7239ddc2b43ee4 */ + * Stub hash: 425a285b704e175ccd0313fe1be85c8abaf820b7 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlDateFormatter___construct, 0, 0, 3) ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1) diff --git a/ext/intl/dateformat/dateformat_format_object.cpp b/ext/intl/dateformat/dateformat_format_object.cpp index d569eb935d26b..c979dcce8f746 100644 --- a/ext/intl/dateformat/dateformat_format_object.cpp +++ b/ext/intl/dateformat/dateformat_format_object.cpp @@ -190,7 +190,7 @@ U_CFUNC PHP_FUNCTION(datefmt_format_object) } } else { intl_error_set(NULL, status, "datefmt_format_object: the passed object " - "must be an instance of either IntlCalendar or DateTime", + "must be an instance of either IntlCalendar or DateTimeInterface", 0); RETURN_FALSE; } diff --git a/ext/intl/tests/dateformat_formatObject_error.phpt b/ext/intl/tests/dateformat_formatObject_error.phpt index 29a8798e799ed..dcb5506c4d8a8 100644 --- a/ext/intl/tests/dateformat_formatObject_error.phpt +++ b/ext/intl/tests/dateformat_formatObject_error.phpt @@ -31,7 +31,7 @@ var_dump(IntlDateFormatter::formatObject($cal, "")); ?> --EXPECTF-- -Warning: IntlDateFormatter::formatObject(): datefmt_format_object: the passed object must be an instance of either IntlCalendar or DateTime in %s on line %d +Warning: IntlDateFormatter::formatObject(): datefmt_format_object: the passed object must be an instance of either IntlCalendar or DateTimeInterface in %s on line %d bool(false) Warning: IntlDateFormatter::formatObject(): datefmt_format_object: bad IntlCalendar instance: not initialized properly in %s on line %d From fa83e37e730dfc939dd156aed60f5ab1fa314230 Mon Sep 17 00:00:00 2001 From: twosee Date: Mon, 15 Aug 2022 23:59:26 +0800 Subject: [PATCH 067/229] [ci skip] Add missing NEWS entry for GH-9324 --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index c0828bbd75050..e570d73f0502c 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,9 @@ PHP NEWS . Added support for defining constants in traits. (sj-i) . Stop incorrectly emitting false positive deprecation notice alongside unsupported syntax fatal error for `"{$g{'h'}}"`. (TysonAndre) + . Fix unexpected deprecated dynamic property warning, which occurred when + exit() in finally block after an exception was thrown without catching. + (Twosee) - MBString: . Fixed bug GH-9248 (Segmentation fault in mb_strimwidth()). (cmb) From db64c1cb704bf066d1034aa8f4cb041d1b483b28 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 13 Aug 2022 12:29:08 +0100 Subject: [PATCH 068/229] zend introduce const GNUC attribute. sub optimisation where there is no pointers, nor particular memory layout, thread local/volatile ... involved. usage concealed for now into little pack helpers. Closes #9326. --- Zend/zend_portability.h | 6 ++++++ ext/standard/pack.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h index 5e0b0d69215ab..d0b272686e339 100644 --- a/Zend/zend_portability.h +++ b/Zend/zend_portability.h @@ -228,6 +228,12 @@ char *alloca(); # define ZEND_ATTRIBUTE_ALLOC_SIZE2(X,Y) #endif +#if ZEND_GCC_VERSION >= 3000 +# define ZEND_ATTRIBUTE_CONST __attribute__((const)) +#else +# define ZEND_ATTRIBUTE_CONST +#endif + #if ZEND_GCC_VERSION >= 2007 || __has_attribute(format) # define ZEND_ATTRIBUTE_FORMAT(type, idx, first) __attribute__ ((format(type, idx, first))) #else diff --git a/ext/standard/pack.c b/ext/standard/pack.c index a58925219482e..f61214ca7e5d6 100644 --- a/ext/standard/pack.c +++ b/ext/standard/pack.c @@ -102,13 +102,13 @@ static void php_pack(zval *val, size_t size, int *map, char *output) } /* }}} */ -static inline uint16_t php_pack_reverse_int16(uint16_t arg) +ZEND_ATTRIBUTE_CONST static inline uint16_t php_pack_reverse_int16(uint16_t arg) { return ((arg & 0xFF) << 8) | ((arg >> 8) & 0xFF); } /* {{{ php_pack_reverse_int32 */ -static inline uint32_t php_pack_reverse_int32(uint32_t arg) +ZEND_ATTRIBUTE_CONST static inline uint32_t php_pack_reverse_int32(uint32_t arg) { uint32_t result; result = ((arg & 0xFF) << 24) | ((arg & 0xFF00) << 8) | ((arg >> 8) & 0xFF00) | ((arg >> 24) & 0xFF); From 8e2d4e6b5249834e2a2bc31af5b771546eb00d39 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Tue, 16 Aug 2022 05:31:58 +0100 Subject: [PATCH 069/229] random left rotates annotating as const. (#9346) --- ext/random/engine_xoshiro256starstar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/random/engine_xoshiro256starstar.c b/ext/random/engine_xoshiro256starstar.c index 8d842143dbd0c..fa5fcea80d6eb 100644 --- a/ext/random/engine_xoshiro256starstar.c +++ b/ext/random/engine_xoshiro256starstar.c @@ -36,7 +36,7 @@ static inline uint64_t splitmix64(uint64_t *seed) return (r ^ (r >> 31)); } -static inline uint64_t rotl(const uint64_t x, int k) +ZEND_ATTRIBUTE_CONST static inline uint64_t rotl(const uint64_t x, int k) { return (x << k) | (x >> (64 - k)); } From 0c4c9fb93b33bf86e1f7b38b1ced738a050d0184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 16 Aug 2022 10:18:24 +0200 Subject: [PATCH 070/229] Declare et/zip constants in stubs (#9146) --- ext/zip/php_zip.c | 144 -------- ext/zip/php_zip.h | 6 + ext/zip/php_zip.stub.php | 573 ++++++++++++++++++++++++++++++++ ext/zip/php_zip_arginfo.h | 669 +++++++++++++++++++++++++++++++++++++- 4 files changed, 1247 insertions(+), 145 deletions(-) diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index f0b658426d383..095fa23fe7746 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -447,11 +447,6 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) } /* }}} */ -/* {{{ REGISTER_ZIP_CLASS_CONST_LONG */ -#define REGISTER_ZIP_CLASS_CONST_LONG(const_name, value) \ - zend_declare_class_constant_long(zip_class_entry, const_name, sizeof(const_name)-1, (zend_long)value); -/* }}} */ - /* {{{ ZIP_FROM_OBJECT */ #define ZIP_FROM_OBJECT(intern, object) \ { \ @@ -3115,145 +3110,6 @@ static PHP_MINIT_FUNCTION(zip) php_zip_register_prop_handler(&zip_prop_handlers, "filename", NULL, php_zipobj_get_filename, IS_STRING); php_zip_register_prop_handler(&zip_prop_handlers, "comment", NULL, php_zipobj_get_zip_comment, IS_STRING); - REGISTER_ZIP_CLASS_CONST_LONG("CREATE", ZIP_CREATE); - REGISTER_ZIP_CLASS_CONST_LONG("EXCL", ZIP_EXCL); - REGISTER_ZIP_CLASS_CONST_LONG("CHECKCONS", ZIP_CHECKCONS); - REGISTER_ZIP_CLASS_CONST_LONG("OVERWRITE", ZIP_OVERWRITE); -#ifdef ZIP_RDONLY - REGISTER_ZIP_CLASS_CONST_LONG("RDONLY", ZIP_RDONLY); -#endif - - REGISTER_ZIP_CLASS_CONST_LONG("FL_NOCASE", ZIP_FL_NOCASE); - REGISTER_ZIP_CLASS_CONST_LONG("FL_NODIR", ZIP_FL_NODIR); - REGISTER_ZIP_CLASS_CONST_LONG("FL_COMPRESSED", ZIP_FL_COMPRESSED); - REGISTER_ZIP_CLASS_CONST_LONG("FL_UNCHANGED", ZIP_FL_UNCHANGED); - REGISTER_ZIP_CLASS_CONST_LONG("FL_RECOMPRESS", ZIP_FL_RECOMPRESS); - REGISTER_ZIP_CLASS_CONST_LONG("FL_ENCRYPTED", ZIP_FL_ENCRYPTED); - REGISTER_ZIP_CLASS_CONST_LONG("FL_OVERWRITE", ZIP_FL_OVERWRITE); - REGISTER_ZIP_CLASS_CONST_LONG("FL_LOCAL", ZIP_FL_LOCAL); - REGISTER_ZIP_CLASS_CONST_LONG("FL_CENTRAL", ZIP_FL_CENTRAL); - - /* Default filename encoding policy. */ - REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_GUESS", ZIP_FL_ENC_GUESS); - REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_RAW", ZIP_FL_ENC_RAW); - REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_STRICT", ZIP_FL_ENC_STRICT); - REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_UTF_8", ZIP_FL_ENC_UTF_8); - REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_CP437", ZIP_FL_ENC_CP437); - - REGISTER_ZIP_CLASS_CONST_LONG("CM_DEFAULT", ZIP_CM_DEFAULT); - REGISTER_ZIP_CLASS_CONST_LONG("CM_STORE", ZIP_CM_STORE); - REGISTER_ZIP_CLASS_CONST_LONG("CM_SHRINK", ZIP_CM_SHRINK); - REGISTER_ZIP_CLASS_CONST_LONG("CM_REDUCE_1", ZIP_CM_REDUCE_1); - REGISTER_ZIP_CLASS_CONST_LONG("CM_REDUCE_2", ZIP_CM_REDUCE_2); - REGISTER_ZIP_CLASS_CONST_LONG("CM_REDUCE_3", ZIP_CM_REDUCE_3); - REGISTER_ZIP_CLASS_CONST_LONG("CM_REDUCE_4", ZIP_CM_REDUCE_4); - REGISTER_ZIP_CLASS_CONST_LONG("CM_IMPLODE", ZIP_CM_IMPLODE); - REGISTER_ZIP_CLASS_CONST_LONG("CM_DEFLATE", ZIP_CM_DEFLATE); - REGISTER_ZIP_CLASS_CONST_LONG("CM_DEFLATE64", ZIP_CM_DEFLATE64); - REGISTER_ZIP_CLASS_CONST_LONG("CM_PKWARE_IMPLODE", ZIP_CM_PKWARE_IMPLODE); - REGISTER_ZIP_CLASS_CONST_LONG("CM_BZIP2", ZIP_CM_BZIP2); - REGISTER_ZIP_CLASS_CONST_LONG("CM_LZMA", ZIP_CM_LZMA); -#ifdef ZIP_CM_LZMA2 - REGISTER_ZIP_CLASS_CONST_LONG("CM_LZMA2", ZIP_CM_LZMA2); -#endif -#ifdef ZIP_CM_ZSTD - REGISTER_ZIP_CLASS_CONST_LONG("CM_ZSTD", ZIP_CM_ZSTD); -#endif -#ifdef ZIP_CM_XZ - REGISTER_ZIP_CLASS_CONST_LONG("CM_XZ", ZIP_CM_XZ); -#endif - REGISTER_ZIP_CLASS_CONST_LONG("CM_TERSE", ZIP_CM_TERSE); - REGISTER_ZIP_CLASS_CONST_LONG("CM_LZ77", ZIP_CM_LZ77); - REGISTER_ZIP_CLASS_CONST_LONG("CM_WAVPACK", ZIP_CM_WAVPACK); - REGISTER_ZIP_CLASS_CONST_LONG("CM_PPMD", ZIP_CM_PPMD); - - /* Error code */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_OK", ZIP_ER_OK); /* N No error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_MULTIDISK", ZIP_ER_MULTIDISK); /* N Multi-disk zip archives not supported */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_RENAME", ZIP_ER_RENAME); /* S Renaming temporary file failed */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_CLOSE", ZIP_ER_CLOSE); /* S Closing zip archive failed */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_SEEK", ZIP_ER_SEEK); /* S Seek error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_READ", ZIP_ER_READ); /* S Read error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_WRITE", ZIP_ER_WRITE); /* S Write error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_CRC", ZIP_ER_CRC); /* N CRC error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_ZIPCLOSED", ZIP_ER_ZIPCLOSED); /* N Containing zip archive was closed */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_NOENT", ZIP_ER_NOENT); /* N No such file */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_EXISTS", ZIP_ER_EXISTS); /* N File already exists */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_OPEN", ZIP_ER_OPEN); /* S Can't open file */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_TMPOPEN", ZIP_ER_TMPOPEN); /* S Failure to create temporary file */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_ZLIB", ZIP_ER_ZLIB); /* Z Zlib error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_MEMORY", ZIP_ER_MEMORY); /* N Malloc failure */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_CHANGED", ZIP_ER_CHANGED); /* N Entry has been changed */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_COMPNOTSUPP", ZIP_ER_COMPNOTSUPP);/* N Compression method not supported */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_EOF", ZIP_ER_EOF); /* N Premature EOF */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_INVAL", ZIP_ER_INVAL); /* N Invalid argument */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_NOZIP", ZIP_ER_NOZIP); /* N Not a zip archive */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_INTERNAL", ZIP_ER_INTERNAL); /* N Internal error */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_INCONS", ZIP_ER_INCONS); /* N Zip archive inconsistent */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_REMOVE", ZIP_ER_REMOVE); /* S Can't remove file */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_DELETED", ZIP_ER_DELETED); /* N Entry has been deleted */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_ENCRNOTSUPP", ZIP_ER_ENCRNOTSUPP);/* N Encryption method not supported */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_RDONLY", ZIP_ER_RDONLY); /* N Read-only archive */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_NOPASSWD", ZIP_ER_NOPASSWD); /* N Entry has been deleted */ - REGISTER_ZIP_CLASS_CONST_LONG("ER_WRONGPASSWD", ZIP_ER_WRONGPASSWD);/* N Wrong password provided */ -/* since 1.0.0 */ -#ifdef ZIP_ER_OPNOTSUPP - REGISTER_ZIP_CLASS_CONST_LONG("ER_OPNOTSUPP", ZIP_ER_OPNOTSUPP); /* N Operation not supported */ -#endif -#ifdef ZIP_ER_INUSE - REGISTER_ZIP_CLASS_CONST_LONG("ER_INUSE", ZIP_ER_INUSE); /* N Resource still in use */ -#endif -#ifdef ZIP_ER_TELL - REGISTER_ZIP_CLASS_CONST_LONG("ER_TELL", ZIP_ER_TELL); /* S Tell error */ -#endif -/* since 1.6.0 */ -#ifdef ZIP_ER_COMPRESSED_DATA - REGISTER_ZIP_CLASS_CONST_LONG("ER_COMPRESSED_DATA", ZIP_ER_COMPRESSED_DATA);/* N Compressed data invalid */ -#endif -#ifdef ZIP_ER_CANCELLED - REGISTER_ZIP_CLASS_CONST_LONG("ER_CANCELLED", ZIP_ER_CANCELLED); /* N Operation cancelled */ -#endif - -#ifdef ZIP_OPSYS_DEFAULT - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_DOS", ZIP_OPSYS_DOS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_AMIGA", ZIP_OPSYS_AMIGA); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_OPENVMS", ZIP_OPSYS_OPENVMS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_UNIX", ZIP_OPSYS_UNIX); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_VM_CMS", ZIP_OPSYS_VM_CMS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_ATARI_ST", ZIP_OPSYS_ATARI_ST); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_OS_2", ZIP_OPSYS_OS_2); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_MACINTOSH", ZIP_OPSYS_MACINTOSH); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_Z_SYSTEM", ZIP_OPSYS_Z_SYSTEM); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_CPM", ZIP_OPSYS_CPM); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_WINDOWS_NTFS", ZIP_OPSYS_WINDOWS_NTFS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_MVS", ZIP_OPSYS_MVS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_VSE", ZIP_OPSYS_VSE); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_ACORN_RISC", ZIP_OPSYS_ACORN_RISC); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_VFAT", ZIP_OPSYS_VFAT); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_ALTERNATE_MVS", ZIP_OPSYS_ALTERNATE_MVS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_BEOS", ZIP_OPSYS_BEOS); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_TANDEM", ZIP_OPSYS_TANDEM); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_OS_400", ZIP_OPSYS_OS_400); - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_OS_X", ZIP_OPSYS_OS_X); - - REGISTER_ZIP_CLASS_CONST_LONG("OPSYS_DEFAULT", ZIP_OPSYS_DEFAULT); -#endif /* ifdef ZIP_OPSYS_DEFAULT */ - - REGISTER_ZIP_CLASS_CONST_LONG("EM_NONE", ZIP_EM_NONE); - REGISTER_ZIP_CLASS_CONST_LONG("EM_TRAD_PKWARE", ZIP_EM_TRAD_PKWARE); -#ifdef HAVE_ENCRYPTION - REGISTER_ZIP_CLASS_CONST_LONG("EM_AES_128", ZIP_EM_AES_128); - REGISTER_ZIP_CLASS_CONST_LONG("EM_AES_192", ZIP_EM_AES_192); - REGISTER_ZIP_CLASS_CONST_LONG("EM_AES_256", ZIP_EM_AES_256); -#endif - REGISTER_ZIP_CLASS_CONST_LONG("EM_UNKNOWN", ZIP_EM_UNKNOWN); - -#ifdef HAVE_LIBZIP_VERSION - zend_declare_class_constant_string(zip_class_entry, "LIBZIP_VERSION", sizeof("LIBZIP_VERSION")-1, zip_libzip_version()); -#else - zend_declare_class_constant_string(zip_class_entry, "LIBZIP_VERSION", sizeof("LIBZIP_VERSION")-1, LIBZIP_VERSION); -#endif - php_register_url_stream_wrapper("zip", &php_stream_zip_wrapper); le_zip_dir = zend_register_list_destructors_ex(php_zip_free_dir, NULL, le_zip_dir_name, module_number); diff --git a/ext/zip/php_zip.h b/ext/zip/php_zip.h index d13df678522d3..f725752c9afe0 100644 --- a/ext/zip/php_zip.h +++ b/ext/zip/php_zip.h @@ -33,6 +33,12 @@ extern zend_module_entry zip_module_entry; #define PHP_ZIP_VERSION "1.21.0" +#ifdef HAVE_LIBZIP_VERSION +#define LIBZIP_VERSION_STR zip_libzip_version() +#else +#define LIBZIP_VERSION_STR LIBZIP_VERSION +#endif + #define ZIP_OPENBASEDIR_CHECKPATH(filename) php_check_open_basedir(filename) typedef struct _ze_zip_rsrc { diff --git a/ext/zip/php_zip.stub.php b/ext/zip/php_zip.stub.php index aa7d783881035..c225d493cb3d4 100644 --- a/ext/zip/php_zip.stub.php +++ b/ext/zip/php_zip.stub.php @@ -66,6 +66,579 @@ function zip_entry_compressionmethod($zip_entry): string|false {} class ZipArchive implements Countable { + /** + * @var int + * @cvalue ZIP_CREATE + */ + public const CREATE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_EXCL + */ + public const EXCL = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CHECKCONS + */ + public const CHECKCONS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OVERWRITE + */ + public const OVERWRITE = UNKNOWN; +#ifdef ZIP_RDONLY + /** + * @var int + * @cvalue ZIP_RDONLY + */ + public const RDONLY = UNKNOWN; +#endif + + /** + * @var int + * @cvalue ZIP_FL_NOCASE + */ + public const FL_NOCASE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_NODIR + */ + public const FL_NODIR = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_COMPRESSED + */ + public const FL_COMPRESSED = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_UNCHANGED + */ + public const FL_UNCHANGED = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_RECOMPRESS + */ + public const FL_RECOMPRESS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_ENCRYPTED + */ + public const FL_ENCRYPTED = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_OVERWRITE + */ + public const FL_OVERWRITE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_LOCAL + */ + public const FL_LOCAL = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_CENTRAL + */ + public const FL_CENTRAL = UNKNOWN; + + /* Default filename encoding policy. */ + + /** + * @var int + * @cvalue ZIP_FL_ENC_GUESS + */ + public const FL_ENC_GUESS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_ENC_RAW + */ + public const FL_ENC_RAW = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_ENC_STRICT + */ + public const FL_ENC_STRICT = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_ENC_UTF_8 + */ + public const FL_ENC_UTF_8 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_FL_ENC_CP437 + */ + public const FL_ENC_CP437 = UNKNOWN; + + /** + * @var int + * @cvalue ZIP_CM_DEFAULT + */ + public const CM_DEFAULT = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_STORE + */ + public const CM_STORE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_SHRINK + */ + public const CM_SHRINK = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_REDUCE_1 + */ + public const CM_REDUCE_1 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_REDUCE_2 + */ + public const CM_REDUCE_2 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_REDUCE_3 + */ + public const CM_REDUCE_3 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_REDUCE_4 + */ + public const CM_REDUCE_4 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_IMPLODE + */ + public const CM_IMPLODE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_DEFLATE + */ + public const CM_DEFLATE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_DEFLATE64 + */ + public const CM_DEFLATE64 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_PKWARE_IMPLODE + */ + public const CM_PKWARE_IMPLODE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_BZIP2 + */ + public const CM_BZIP2 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_LZMA + */ + public const CM_LZMA = UNKNOWN; +#ifdef ZIP_CM_LZMA2 + /** + * @var int + * @cvalue ZIP_CM_LZMA2 + */ + public const CM_LZMA2 = UNKNOWN; +#endif + +#ifdef ZIP_CM_ZSTD + /** + * @var int + * @cvalue ZIP_CM_ZSTD + */ + public const CM_ZSTD = UNKNOWN; +#endif +#ifdef ZIP_CM_XZ + /** + * @var int + * @cvalue ZIP_CM_XZ + */ + public const CM_XZ = UNKNOWN; +#endif + /** + * @var int + * @cvalue ZIP_CM_TERSE + */ + public const CM_TERSE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_LZ77 + */ + public const CM_LZ77 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_WAVPACK + */ + public const CM_WAVPACK = UNKNOWN; + /** + * @var int + * @cvalue ZIP_CM_PPMD + */ + public const CM_PPMD = UNKNOWN; + + /* Error code */ + + /** + * N No error + * @var int + * @cvalue ZIP_ER_OK + */ + public const ER_OK = UNKNOWN; + /** + * N Multi-disk zip archives not supported + * @var int + * @cvalue ZIP_ER_MULTIDISK + */ + public const ER_MULTIDISK = UNKNOWN; + /** + * S Renaming temporary file failed + * @var int + * @cvalue ZIP_ER_RENAME + */ + public const ER_RENAME = UNKNOWN; + /** + * S Closing zip archive failed + * @var int + * @cvalue ZIP_ER_CLOSE + */ + public const ER_CLOSE = UNKNOWN; + /** + * S Seek error + * @var int + * @cvalue ZIP_ER_SEEK + */ + public const ER_SEEK = UNKNOWN; + /** + * S Read error + * @var int + * @cvalue ZIP_ER_READ + */ + public const ER_READ = UNKNOWN; + /** + * S Write error + * @var int + * @cvalue ZIP_ER_WRITE + */ + public const ER_WRITE = UNKNOWN; + /** + * N CRC error + * @var int + * @cvalue ZIP_ER_CRC + */ + public const ER_CRC = UNKNOWN; + /** + * N Containing zip archive was closed + * @var int + * @cvalue ZIP_ER_ZIPCLOSED + */ + public const ER_ZIPCLOSED = UNKNOWN; + /** + * N No such file + * @var int + * @cvalue ZIP_ER_NOENT + */ + public const ER_NOENT = UNKNOWN; + /** + * N File already exists + * @var int + * @cvalue ZIP_ER_EXISTS + */ + public const ER_EXISTS = UNKNOWN; + /** + * S Can't open file + * @var int + * @cvalue ZIP_ER_OPEN + */ + public const ER_OPEN = UNKNOWN; + /** + * S Failure to create temporary file + * @var int + * @cvalue ZIP_ER_TMPOPEN + */ + public const ER_TMPOPEN = UNKNOWN; + /** + * Z Zlib error + * @var int + * @cvalue ZIP_ER_ZLIB + */ + public const ER_ZLIB = UNKNOWN; + /** + * N Malloc failure + * @var int + * @cvalue ZIP_ER_MEMORY + */ + public const ER_MEMORY = UNKNOWN; + /** + * N Entry has been changed + * @var int + * @cvalue ZIP_ER_CHANGED + */ + public const ER_CHANGED = UNKNOWN; + /** + * N Compression method not supported + * @var int + * @cvalue ZIP_ER_COMPNOTSUPP + */ + public const ER_COMPNOTSUPP = UNKNOWN; + /** + * N Premature EOF + * @var int + * @cvalue ZIP_ER_EOF + */ + public const ER_EOF = UNKNOWN; + /** + * N Invalid argument + * @var int + * @cvalue ZIP_ER_INVAL + */ + public const ER_INVAL = UNKNOWN; + /** + * N Not a zip archive + * @var int + * @cvalue ZIP_ER_NOZIP + */ + public const ER_NOZIP = UNKNOWN; + /** + * N Internal error + * @var int + * @cvalue ZIP_ER_INTERNAL + */ + public const ER_INTERNAL = UNKNOWN; + /** + * N Zip archive inconsistent + * @var int + * @cvalue ZIP_ER_INCONS + */ + public const ER_INCONS = UNKNOWN; + /** + * S Can't remove file + * @var int + * @cvalue ZIP_ER_REMOVE + */ + public const ER_REMOVE = UNKNOWN; + /** + * N Entry has been deleted + * @var int + * @cvalue ZIP_ER_DELETED + */ + public const ER_DELETED = UNKNOWN; + /** + * N Encryption method not supported + * @var int + * @cvalue ZIP_ER_ENCRNOTSUPP + */ + public const ER_ENCRNOTSUPP = UNKNOWN; + /** + * N Read-only archive + * @var int + * @cvalue ZIP_ER_RDONLY + */ + public const ER_RDONLY = UNKNOWN; + /** + * N Entry has been deleted + * @var int + * @cvalue ZIP_ER_NOPASSWD + */ + public const ER_NOPASSWD = UNKNOWN; + /** + * N Wrong password provided + * @var int + * @cvalue ZIP_ER_WRONGPASSWD + */ + public const ER_WRONGPASSWD = UNKNOWN; + + /* since 1.0.0 */ + +#ifdef ZIP_ER_OPNOTSUPP + /** + * N Operation not supported + * @var int + * @cvalue ZIP_ER_OPNOTSUPP + */ + public const ER_OPNOTSUPP = UNKNOWN; +#endif +#ifdef ZIP_ER_INUSE + /** + * N Resource still in use + * @var int + * @cvalue ZIP_ER_INUSE + */ + public const ER_INUSE = UNKNOWN; +#endif +#ifdef ZIP_ER_TELL + /** + * S Tell error + * @var int + * @cvalue ZIP_ER_TELL + */ + public const ER_TELL = UNKNOWN; +#endif + + /* since 1.6.0 */ +#ifdef ZIP_ER_COMPRESSED_DATA + /** + * N Compressed data invalid + * @var int + * @cvalue ZIP_ER_COMPRESSED_DATA + */ + public const ER_COMPRESSED_DATA = UNKNOWN; +#endif +#ifdef ZIP_ER_CANCELLED + /** + * N Operation cancelled + * @var int + * @cvalue ZIP_ER_CANCELLED + */ + public const ER_CANCELLED = UNKNOWN; +#endif + +#ifdef ZIP_OPSYS_DEFAULT + /** + * @var int + * @cvalue ZIP_OPSYS_DOS + */ + public const OPSYS_DOS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_AMIGA + */ + public const OPSYS_AMIGA = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_OPENVMS + */ + public const OPSYS_OPENVMS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_UNIX + */ + public const OPSYS_UNIX = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_VM_CMS + */ + public const OPSYS_VM_CMS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_ATARI_ST + */ + public const OPSYS_ATARI_ST = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_OS_2 + */ + public const OPSYS_OS_2 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_MACINTOSH + */ + public const OPSYS_MACINTOSH = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_Z_SYSTEM + */ + public const OPSYS_Z_SYSTEM = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_CPM + */ + public const OPSYS_CPM = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_WINDOWS_NTFS + */ + public const OPSYS_WINDOWS_NTFS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_MVS + */ + public const OPSYS_MVS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_VSE + */ + public const OPSYS_VSE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_ACORN_RISC + */ + public const OPSYS_ACORN_RISC = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_VFAT + */ + public const OPSYS_VFAT = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_ALTERNATE_MVS + */ + public const OPSYS_ALTERNATE_MVS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_BEOS + */ + public const OPSYS_BEOS = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_TANDEM + */ + public const OPSYS_TANDEM = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_OS_400 + */ + public const OPSYS_OS_400 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_OS_X + */ + public const OPSYS_OS_X = UNKNOWN; + /** + * @var int + * @cvalue ZIP_OPSYS_DEFAULT + */ + public const OPSYS_DEFAULT = UNKNOWN; +#endif + + /** + * @var int + * @cvalue ZIP_EM_NONE + */ + public const EM_NONE = UNKNOWN; + /** + * @var int + * @cvalue ZIP_EM_TRAD_PKWARE + */ + public const EM_TRAD_PKWARE = UNKNOWN; +#ifdef HAVE_ENCRYPTION + /** + * @var int + * @cvalue ZIP_EM_AES_128 + */ + public const EM_AES_128 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_EM_AES_192 + */ + public const EM_AES_192 = UNKNOWN; + /** + * @var int + * @cvalue ZIP_EM_AES_256 + */ + public const EM_AES_256 = UNKNOWN; +#endif + /** + * @var int + * @cvalue ZIP_EM_UNKNOWN + */ + public const EM_UNKNOWN = UNKNOWN; + + /** + * @var string + * @cvalue LIBZIP_VERSION_STR + */ + public const LIBZIP_VERSION = UNKNOWN; + /** @readonly */ public int $lastId; /** @readonly */ diff --git a/ext/zip/php_zip_arginfo.h b/ext/zip/php_zip_arginfo.h index 8fb3bb983bdf4..208ccb9df692a 100644 --- a/ext/zip/php_zip_arginfo.h +++ b/ext/zip/php_zip_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 9c44d8bcf6b97804d539a9dd566d5faca60074ba */ + * Stub hash: d8c14dfe45c7eff2c18fd3c562488a827f658e12 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_zip_open, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) @@ -494,6 +494,673 @@ static zend_class_entry *register_class_ZipArchive(zend_class_entry *class_entry class_entry = zend_register_internal_class_ex(&ce, NULL); zend_class_implements(class_entry, 1, class_entry_Countable); + zval const_CREATE_value; + ZVAL_LONG(&const_CREATE_value, ZIP_CREATE); + zend_string *const_CREATE_name = zend_string_init_interned("CREATE", sizeof("CREATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CREATE_name, &const_CREATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CREATE_name); + + zval const_EXCL_value; + ZVAL_LONG(&const_EXCL_value, ZIP_EXCL); + zend_string *const_EXCL_name = zend_string_init_interned("EXCL", sizeof("EXCL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EXCL_name, &const_EXCL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EXCL_name); + + zval const_CHECKCONS_value; + ZVAL_LONG(&const_CHECKCONS_value, ZIP_CHECKCONS); + zend_string *const_CHECKCONS_name = zend_string_init_interned("CHECKCONS", sizeof("CHECKCONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CHECKCONS_name, &const_CHECKCONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CHECKCONS_name); + + zval const_OVERWRITE_value; + ZVAL_LONG(&const_OVERWRITE_value, ZIP_OVERWRITE); + zend_string *const_OVERWRITE_name = zend_string_init_interned("OVERWRITE", sizeof("OVERWRITE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OVERWRITE_name, &const_OVERWRITE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OVERWRITE_name); +#if defined(ZIP_RDONLY) + + zval const_RDONLY_value; + ZVAL_LONG(&const_RDONLY_value, ZIP_RDONLY); + zend_string *const_RDONLY_name = zend_string_init_interned("RDONLY", sizeof("RDONLY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_RDONLY_name, &const_RDONLY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_RDONLY_name); +#endif + + zval const_FL_NOCASE_value; + ZVAL_LONG(&const_FL_NOCASE_value, ZIP_FL_NOCASE); + zend_string *const_FL_NOCASE_name = zend_string_init_interned("FL_NOCASE", sizeof("FL_NOCASE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_NOCASE_name, &const_FL_NOCASE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_NOCASE_name); + + zval const_FL_NODIR_value; + ZVAL_LONG(&const_FL_NODIR_value, ZIP_FL_NODIR); + zend_string *const_FL_NODIR_name = zend_string_init_interned("FL_NODIR", sizeof("FL_NODIR") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_NODIR_name, &const_FL_NODIR_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_NODIR_name); + + zval const_FL_COMPRESSED_value; + ZVAL_LONG(&const_FL_COMPRESSED_value, ZIP_FL_COMPRESSED); + zend_string *const_FL_COMPRESSED_name = zend_string_init_interned("FL_COMPRESSED", sizeof("FL_COMPRESSED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_COMPRESSED_name, &const_FL_COMPRESSED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_COMPRESSED_name); + + zval const_FL_UNCHANGED_value; + ZVAL_LONG(&const_FL_UNCHANGED_value, ZIP_FL_UNCHANGED); + zend_string *const_FL_UNCHANGED_name = zend_string_init_interned("FL_UNCHANGED", sizeof("FL_UNCHANGED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_UNCHANGED_name, &const_FL_UNCHANGED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_UNCHANGED_name); + + zval const_FL_RECOMPRESS_value; + ZVAL_LONG(&const_FL_RECOMPRESS_value, ZIP_FL_RECOMPRESS); + zend_string *const_FL_RECOMPRESS_name = zend_string_init_interned("FL_RECOMPRESS", sizeof("FL_RECOMPRESS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_RECOMPRESS_name, &const_FL_RECOMPRESS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_RECOMPRESS_name); + + zval const_FL_ENCRYPTED_value; + ZVAL_LONG(&const_FL_ENCRYPTED_value, ZIP_FL_ENCRYPTED); + zend_string *const_FL_ENCRYPTED_name = zend_string_init_interned("FL_ENCRYPTED", sizeof("FL_ENCRYPTED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_ENCRYPTED_name, &const_FL_ENCRYPTED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_ENCRYPTED_name); + + zval const_FL_OVERWRITE_value; + ZVAL_LONG(&const_FL_OVERWRITE_value, ZIP_FL_OVERWRITE); + zend_string *const_FL_OVERWRITE_name = zend_string_init_interned("FL_OVERWRITE", sizeof("FL_OVERWRITE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_OVERWRITE_name, &const_FL_OVERWRITE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_OVERWRITE_name); + + zval const_FL_LOCAL_value; + ZVAL_LONG(&const_FL_LOCAL_value, ZIP_FL_LOCAL); + zend_string *const_FL_LOCAL_name = zend_string_init_interned("FL_LOCAL", sizeof("FL_LOCAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_LOCAL_name, &const_FL_LOCAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_LOCAL_name); + + zval const_FL_CENTRAL_value; + ZVAL_LONG(&const_FL_CENTRAL_value, ZIP_FL_CENTRAL); + zend_string *const_FL_CENTRAL_name = zend_string_init_interned("FL_CENTRAL", sizeof("FL_CENTRAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_CENTRAL_name, &const_FL_CENTRAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_CENTRAL_name); + + zval const_FL_ENC_GUESS_value; + ZVAL_LONG(&const_FL_ENC_GUESS_value, ZIP_FL_ENC_GUESS); + zend_string *const_FL_ENC_GUESS_name = zend_string_init_interned("FL_ENC_GUESS", sizeof("FL_ENC_GUESS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_ENC_GUESS_name, &const_FL_ENC_GUESS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_ENC_GUESS_name); + + zval const_FL_ENC_RAW_value; + ZVAL_LONG(&const_FL_ENC_RAW_value, ZIP_FL_ENC_RAW); + zend_string *const_FL_ENC_RAW_name = zend_string_init_interned("FL_ENC_RAW", sizeof("FL_ENC_RAW") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_ENC_RAW_name, &const_FL_ENC_RAW_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_ENC_RAW_name); + + zval const_FL_ENC_STRICT_value; + ZVAL_LONG(&const_FL_ENC_STRICT_value, ZIP_FL_ENC_STRICT); + zend_string *const_FL_ENC_STRICT_name = zend_string_init_interned("FL_ENC_STRICT", sizeof("FL_ENC_STRICT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_ENC_STRICT_name, &const_FL_ENC_STRICT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_ENC_STRICT_name); + + zval const_FL_ENC_UTF_8_value; + ZVAL_LONG(&const_FL_ENC_UTF_8_value, ZIP_FL_ENC_UTF_8); + zend_string *const_FL_ENC_UTF_8_name = zend_string_init_interned("FL_ENC_UTF_8", sizeof("FL_ENC_UTF_8") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_ENC_UTF_8_name, &const_FL_ENC_UTF_8_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_ENC_UTF_8_name); + + zval const_FL_ENC_CP437_value; + ZVAL_LONG(&const_FL_ENC_CP437_value, ZIP_FL_ENC_CP437); + zend_string *const_FL_ENC_CP437_name = zend_string_init_interned("FL_ENC_CP437", sizeof("FL_ENC_CP437") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_FL_ENC_CP437_name, &const_FL_ENC_CP437_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_FL_ENC_CP437_name); + + zval const_CM_DEFAULT_value; + ZVAL_LONG(&const_CM_DEFAULT_value, ZIP_CM_DEFAULT); + zend_string *const_CM_DEFAULT_name = zend_string_init_interned("CM_DEFAULT", sizeof("CM_DEFAULT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_DEFAULT_name, &const_CM_DEFAULT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_DEFAULT_name); + + zval const_CM_STORE_value; + ZVAL_LONG(&const_CM_STORE_value, ZIP_CM_STORE); + zend_string *const_CM_STORE_name = zend_string_init_interned("CM_STORE", sizeof("CM_STORE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_STORE_name, &const_CM_STORE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_STORE_name); + + zval const_CM_SHRINK_value; + ZVAL_LONG(&const_CM_SHRINK_value, ZIP_CM_SHRINK); + zend_string *const_CM_SHRINK_name = zend_string_init_interned("CM_SHRINK", sizeof("CM_SHRINK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_SHRINK_name, &const_CM_SHRINK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_SHRINK_name); + + zval const_CM_REDUCE_1_value; + ZVAL_LONG(&const_CM_REDUCE_1_value, ZIP_CM_REDUCE_1); + zend_string *const_CM_REDUCE_1_name = zend_string_init_interned("CM_REDUCE_1", sizeof("CM_REDUCE_1") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_REDUCE_1_name, &const_CM_REDUCE_1_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_REDUCE_1_name); + + zval const_CM_REDUCE_2_value; + ZVAL_LONG(&const_CM_REDUCE_2_value, ZIP_CM_REDUCE_2); + zend_string *const_CM_REDUCE_2_name = zend_string_init_interned("CM_REDUCE_2", sizeof("CM_REDUCE_2") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_REDUCE_2_name, &const_CM_REDUCE_2_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_REDUCE_2_name); + + zval const_CM_REDUCE_3_value; + ZVAL_LONG(&const_CM_REDUCE_3_value, ZIP_CM_REDUCE_3); + zend_string *const_CM_REDUCE_3_name = zend_string_init_interned("CM_REDUCE_3", sizeof("CM_REDUCE_3") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_REDUCE_3_name, &const_CM_REDUCE_3_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_REDUCE_3_name); + + zval const_CM_REDUCE_4_value; + ZVAL_LONG(&const_CM_REDUCE_4_value, ZIP_CM_REDUCE_4); + zend_string *const_CM_REDUCE_4_name = zend_string_init_interned("CM_REDUCE_4", sizeof("CM_REDUCE_4") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_REDUCE_4_name, &const_CM_REDUCE_4_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_REDUCE_4_name); + + zval const_CM_IMPLODE_value; + ZVAL_LONG(&const_CM_IMPLODE_value, ZIP_CM_IMPLODE); + zend_string *const_CM_IMPLODE_name = zend_string_init_interned("CM_IMPLODE", sizeof("CM_IMPLODE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_IMPLODE_name, &const_CM_IMPLODE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_IMPLODE_name); + + zval const_CM_DEFLATE_value; + ZVAL_LONG(&const_CM_DEFLATE_value, ZIP_CM_DEFLATE); + zend_string *const_CM_DEFLATE_name = zend_string_init_interned("CM_DEFLATE", sizeof("CM_DEFLATE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_DEFLATE_name, &const_CM_DEFLATE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_DEFLATE_name); + + zval const_CM_DEFLATE64_value; + ZVAL_LONG(&const_CM_DEFLATE64_value, ZIP_CM_DEFLATE64); + zend_string *const_CM_DEFLATE64_name = zend_string_init_interned("CM_DEFLATE64", sizeof("CM_DEFLATE64") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_DEFLATE64_name, &const_CM_DEFLATE64_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_DEFLATE64_name); + + zval const_CM_PKWARE_IMPLODE_value; + ZVAL_LONG(&const_CM_PKWARE_IMPLODE_value, ZIP_CM_PKWARE_IMPLODE); + zend_string *const_CM_PKWARE_IMPLODE_name = zend_string_init_interned("CM_PKWARE_IMPLODE", sizeof("CM_PKWARE_IMPLODE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_PKWARE_IMPLODE_name, &const_CM_PKWARE_IMPLODE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_PKWARE_IMPLODE_name); + + zval const_CM_BZIP2_value; + ZVAL_LONG(&const_CM_BZIP2_value, ZIP_CM_BZIP2); + zend_string *const_CM_BZIP2_name = zend_string_init_interned("CM_BZIP2", sizeof("CM_BZIP2") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_BZIP2_name, &const_CM_BZIP2_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_BZIP2_name); + + zval const_CM_LZMA_value; + ZVAL_LONG(&const_CM_LZMA_value, ZIP_CM_LZMA); + zend_string *const_CM_LZMA_name = zend_string_init_interned("CM_LZMA", sizeof("CM_LZMA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_LZMA_name, &const_CM_LZMA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_LZMA_name); +#if defined(ZIP_CM_LZMA2) + + zval const_CM_LZMA2_value; + ZVAL_LONG(&const_CM_LZMA2_value, ZIP_CM_LZMA2); + zend_string *const_CM_LZMA2_name = zend_string_init_interned("CM_LZMA2", sizeof("CM_LZMA2") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_LZMA2_name, &const_CM_LZMA2_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_LZMA2_name); +#endif +#if defined(ZIP_CM_ZSTD) + + zval const_CM_ZSTD_value; + ZVAL_LONG(&const_CM_ZSTD_value, ZIP_CM_ZSTD); + zend_string *const_CM_ZSTD_name = zend_string_init_interned("CM_ZSTD", sizeof("CM_ZSTD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_ZSTD_name, &const_CM_ZSTD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_ZSTD_name); +#endif +#if defined(ZIP_CM_XZ) + + zval const_CM_XZ_value; + ZVAL_LONG(&const_CM_XZ_value, ZIP_CM_XZ); + zend_string *const_CM_XZ_name = zend_string_init_interned("CM_XZ", sizeof("CM_XZ") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_XZ_name, &const_CM_XZ_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_XZ_name); +#endif + + zval const_CM_TERSE_value; + ZVAL_LONG(&const_CM_TERSE_value, ZIP_CM_TERSE); + zend_string *const_CM_TERSE_name = zend_string_init_interned("CM_TERSE", sizeof("CM_TERSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_TERSE_name, &const_CM_TERSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_TERSE_name); + + zval const_CM_LZ77_value; + ZVAL_LONG(&const_CM_LZ77_value, ZIP_CM_LZ77); + zend_string *const_CM_LZ77_name = zend_string_init_interned("CM_LZ77", sizeof("CM_LZ77") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_LZ77_name, &const_CM_LZ77_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_LZ77_name); + + zval const_CM_WAVPACK_value; + ZVAL_LONG(&const_CM_WAVPACK_value, ZIP_CM_WAVPACK); + zend_string *const_CM_WAVPACK_name = zend_string_init_interned("CM_WAVPACK", sizeof("CM_WAVPACK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_WAVPACK_name, &const_CM_WAVPACK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_WAVPACK_name); + + zval const_CM_PPMD_value; + ZVAL_LONG(&const_CM_PPMD_value, ZIP_CM_PPMD); + zend_string *const_CM_PPMD_name = zend_string_init_interned("CM_PPMD", sizeof("CM_PPMD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_CM_PPMD_name, &const_CM_PPMD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_CM_PPMD_name); + + zval const_ER_OK_value; + ZVAL_LONG(&const_ER_OK_value, ZIP_ER_OK); + zend_string *const_ER_OK_name = zend_string_init_interned("ER_OK", sizeof("ER_OK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_OK_name, &const_ER_OK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_OK_name); + + zval const_ER_MULTIDISK_value; + ZVAL_LONG(&const_ER_MULTIDISK_value, ZIP_ER_MULTIDISK); + zend_string *const_ER_MULTIDISK_name = zend_string_init_interned("ER_MULTIDISK", sizeof("ER_MULTIDISK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_MULTIDISK_name, &const_ER_MULTIDISK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_MULTIDISK_name); + + zval const_ER_RENAME_value; + ZVAL_LONG(&const_ER_RENAME_value, ZIP_ER_RENAME); + zend_string *const_ER_RENAME_name = zend_string_init_interned("ER_RENAME", sizeof("ER_RENAME") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_RENAME_name, &const_ER_RENAME_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_RENAME_name); + + zval const_ER_CLOSE_value; + ZVAL_LONG(&const_ER_CLOSE_value, ZIP_ER_CLOSE); + zend_string *const_ER_CLOSE_name = zend_string_init_interned("ER_CLOSE", sizeof("ER_CLOSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_CLOSE_name, &const_ER_CLOSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_CLOSE_name); + + zval const_ER_SEEK_value; + ZVAL_LONG(&const_ER_SEEK_value, ZIP_ER_SEEK); + zend_string *const_ER_SEEK_name = zend_string_init_interned("ER_SEEK", sizeof("ER_SEEK") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_SEEK_name, &const_ER_SEEK_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_SEEK_name); + + zval const_ER_READ_value; + ZVAL_LONG(&const_ER_READ_value, ZIP_ER_READ); + zend_string *const_ER_READ_name = zend_string_init_interned("ER_READ", sizeof("ER_READ") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_READ_name, &const_ER_READ_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_READ_name); + + zval const_ER_WRITE_value; + ZVAL_LONG(&const_ER_WRITE_value, ZIP_ER_WRITE); + zend_string *const_ER_WRITE_name = zend_string_init_interned("ER_WRITE", sizeof("ER_WRITE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_WRITE_name, &const_ER_WRITE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_WRITE_name); + + zval const_ER_CRC_value; + ZVAL_LONG(&const_ER_CRC_value, ZIP_ER_CRC); + zend_string *const_ER_CRC_name = zend_string_init_interned("ER_CRC", sizeof("ER_CRC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_CRC_name, &const_ER_CRC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_CRC_name); + + zval const_ER_ZIPCLOSED_value; + ZVAL_LONG(&const_ER_ZIPCLOSED_value, ZIP_ER_ZIPCLOSED); + zend_string *const_ER_ZIPCLOSED_name = zend_string_init_interned("ER_ZIPCLOSED", sizeof("ER_ZIPCLOSED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_ZIPCLOSED_name, &const_ER_ZIPCLOSED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_ZIPCLOSED_name); + + zval const_ER_NOENT_value; + ZVAL_LONG(&const_ER_NOENT_value, ZIP_ER_NOENT); + zend_string *const_ER_NOENT_name = zend_string_init_interned("ER_NOENT", sizeof("ER_NOENT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_NOENT_name, &const_ER_NOENT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_NOENT_name); + + zval const_ER_EXISTS_value; + ZVAL_LONG(&const_ER_EXISTS_value, ZIP_ER_EXISTS); + zend_string *const_ER_EXISTS_name = zend_string_init_interned("ER_EXISTS", sizeof("ER_EXISTS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_EXISTS_name, &const_ER_EXISTS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_EXISTS_name); + + zval const_ER_OPEN_value; + ZVAL_LONG(&const_ER_OPEN_value, ZIP_ER_OPEN); + zend_string *const_ER_OPEN_name = zend_string_init_interned("ER_OPEN", sizeof("ER_OPEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_OPEN_name, &const_ER_OPEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_OPEN_name); + + zval const_ER_TMPOPEN_value; + ZVAL_LONG(&const_ER_TMPOPEN_value, ZIP_ER_TMPOPEN); + zend_string *const_ER_TMPOPEN_name = zend_string_init_interned("ER_TMPOPEN", sizeof("ER_TMPOPEN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_TMPOPEN_name, &const_ER_TMPOPEN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_TMPOPEN_name); + + zval const_ER_ZLIB_value; + ZVAL_LONG(&const_ER_ZLIB_value, ZIP_ER_ZLIB); + zend_string *const_ER_ZLIB_name = zend_string_init_interned("ER_ZLIB", sizeof("ER_ZLIB") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_ZLIB_name, &const_ER_ZLIB_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_ZLIB_name); + + zval const_ER_MEMORY_value; + ZVAL_LONG(&const_ER_MEMORY_value, ZIP_ER_MEMORY); + zend_string *const_ER_MEMORY_name = zend_string_init_interned("ER_MEMORY", sizeof("ER_MEMORY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_MEMORY_name, &const_ER_MEMORY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_MEMORY_name); + + zval const_ER_CHANGED_value; + ZVAL_LONG(&const_ER_CHANGED_value, ZIP_ER_CHANGED); + zend_string *const_ER_CHANGED_name = zend_string_init_interned("ER_CHANGED", sizeof("ER_CHANGED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_CHANGED_name, &const_ER_CHANGED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_CHANGED_name); + + zval const_ER_COMPNOTSUPP_value; + ZVAL_LONG(&const_ER_COMPNOTSUPP_value, ZIP_ER_COMPNOTSUPP); + zend_string *const_ER_COMPNOTSUPP_name = zend_string_init_interned("ER_COMPNOTSUPP", sizeof("ER_COMPNOTSUPP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_COMPNOTSUPP_name, &const_ER_COMPNOTSUPP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_COMPNOTSUPP_name); + + zval const_ER_EOF_value; + ZVAL_LONG(&const_ER_EOF_value, ZIP_ER_EOF); + zend_string *const_ER_EOF_name = zend_string_init_interned("ER_EOF", sizeof("ER_EOF") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_EOF_name, &const_ER_EOF_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_EOF_name); + + zval const_ER_INVAL_value; + ZVAL_LONG(&const_ER_INVAL_value, ZIP_ER_INVAL); + zend_string *const_ER_INVAL_name = zend_string_init_interned("ER_INVAL", sizeof("ER_INVAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_INVAL_name, &const_ER_INVAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_INVAL_name); + + zval const_ER_NOZIP_value; + ZVAL_LONG(&const_ER_NOZIP_value, ZIP_ER_NOZIP); + zend_string *const_ER_NOZIP_name = zend_string_init_interned("ER_NOZIP", sizeof("ER_NOZIP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_NOZIP_name, &const_ER_NOZIP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_NOZIP_name); + + zval const_ER_INTERNAL_value; + ZVAL_LONG(&const_ER_INTERNAL_value, ZIP_ER_INTERNAL); + zend_string *const_ER_INTERNAL_name = zend_string_init_interned("ER_INTERNAL", sizeof("ER_INTERNAL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_INTERNAL_name, &const_ER_INTERNAL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_INTERNAL_name); + + zval const_ER_INCONS_value; + ZVAL_LONG(&const_ER_INCONS_value, ZIP_ER_INCONS); + zend_string *const_ER_INCONS_name = zend_string_init_interned("ER_INCONS", sizeof("ER_INCONS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_INCONS_name, &const_ER_INCONS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_INCONS_name); + + zval const_ER_REMOVE_value; + ZVAL_LONG(&const_ER_REMOVE_value, ZIP_ER_REMOVE); + zend_string *const_ER_REMOVE_name = zend_string_init_interned("ER_REMOVE", sizeof("ER_REMOVE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_REMOVE_name, &const_ER_REMOVE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_REMOVE_name); + + zval const_ER_DELETED_value; + ZVAL_LONG(&const_ER_DELETED_value, ZIP_ER_DELETED); + zend_string *const_ER_DELETED_name = zend_string_init_interned("ER_DELETED", sizeof("ER_DELETED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_DELETED_name, &const_ER_DELETED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_DELETED_name); + + zval const_ER_ENCRNOTSUPP_value; + ZVAL_LONG(&const_ER_ENCRNOTSUPP_value, ZIP_ER_ENCRNOTSUPP); + zend_string *const_ER_ENCRNOTSUPP_name = zend_string_init_interned("ER_ENCRNOTSUPP", sizeof("ER_ENCRNOTSUPP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_ENCRNOTSUPP_name, &const_ER_ENCRNOTSUPP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_ENCRNOTSUPP_name); + + zval const_ER_RDONLY_value; + ZVAL_LONG(&const_ER_RDONLY_value, ZIP_ER_RDONLY); + zend_string *const_ER_RDONLY_name = zend_string_init_interned("ER_RDONLY", sizeof("ER_RDONLY") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_RDONLY_name, &const_ER_RDONLY_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_RDONLY_name); + + zval const_ER_NOPASSWD_value; + ZVAL_LONG(&const_ER_NOPASSWD_value, ZIP_ER_NOPASSWD); + zend_string *const_ER_NOPASSWD_name = zend_string_init_interned("ER_NOPASSWD", sizeof("ER_NOPASSWD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_NOPASSWD_name, &const_ER_NOPASSWD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_NOPASSWD_name); + + zval const_ER_WRONGPASSWD_value; + ZVAL_LONG(&const_ER_WRONGPASSWD_value, ZIP_ER_WRONGPASSWD); + zend_string *const_ER_WRONGPASSWD_name = zend_string_init_interned("ER_WRONGPASSWD", sizeof("ER_WRONGPASSWD") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_WRONGPASSWD_name, &const_ER_WRONGPASSWD_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_WRONGPASSWD_name); +#if defined(ZIP_ER_OPNOTSUPP) + + zval const_ER_OPNOTSUPP_value; + ZVAL_LONG(&const_ER_OPNOTSUPP_value, ZIP_ER_OPNOTSUPP); + zend_string *const_ER_OPNOTSUPP_name = zend_string_init_interned("ER_OPNOTSUPP", sizeof("ER_OPNOTSUPP") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_OPNOTSUPP_name, &const_ER_OPNOTSUPP_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_OPNOTSUPP_name); +#endif +#if defined(ZIP_ER_INUSE) + + zval const_ER_INUSE_value; + ZVAL_LONG(&const_ER_INUSE_value, ZIP_ER_INUSE); + zend_string *const_ER_INUSE_name = zend_string_init_interned("ER_INUSE", sizeof("ER_INUSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_INUSE_name, &const_ER_INUSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_INUSE_name); +#endif +#if defined(ZIP_ER_TELL) + + zval const_ER_TELL_value; + ZVAL_LONG(&const_ER_TELL_value, ZIP_ER_TELL); + zend_string *const_ER_TELL_name = zend_string_init_interned("ER_TELL", sizeof("ER_TELL") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_TELL_name, &const_ER_TELL_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_TELL_name); +#endif +#if defined(ZIP_ER_COMPRESSED_DATA) + + zval const_ER_COMPRESSED_DATA_value; + ZVAL_LONG(&const_ER_COMPRESSED_DATA_value, ZIP_ER_COMPRESSED_DATA); + zend_string *const_ER_COMPRESSED_DATA_name = zend_string_init_interned("ER_COMPRESSED_DATA", sizeof("ER_COMPRESSED_DATA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_COMPRESSED_DATA_name, &const_ER_COMPRESSED_DATA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_COMPRESSED_DATA_name); +#endif +#if defined(ZIP_ER_CANCELLED) + + zval const_ER_CANCELLED_value; + ZVAL_LONG(&const_ER_CANCELLED_value, ZIP_ER_CANCELLED); + zend_string *const_ER_CANCELLED_name = zend_string_init_interned("ER_CANCELLED", sizeof("ER_CANCELLED") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_ER_CANCELLED_name, &const_ER_CANCELLED_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_ER_CANCELLED_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_DOS_value; + ZVAL_LONG(&const_OPSYS_DOS_value, ZIP_OPSYS_DOS); + zend_string *const_OPSYS_DOS_name = zend_string_init_interned("OPSYS_DOS", sizeof("OPSYS_DOS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_DOS_name, &const_OPSYS_DOS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_DOS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_AMIGA_value; + ZVAL_LONG(&const_OPSYS_AMIGA_value, ZIP_OPSYS_AMIGA); + zend_string *const_OPSYS_AMIGA_name = zend_string_init_interned("OPSYS_AMIGA", sizeof("OPSYS_AMIGA") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_AMIGA_name, &const_OPSYS_AMIGA_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_AMIGA_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_OPENVMS_value; + ZVAL_LONG(&const_OPSYS_OPENVMS_value, ZIP_OPSYS_OPENVMS); + zend_string *const_OPSYS_OPENVMS_name = zend_string_init_interned("OPSYS_OPENVMS", sizeof("OPSYS_OPENVMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_OPENVMS_name, &const_OPSYS_OPENVMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_OPENVMS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_UNIX_value; + ZVAL_LONG(&const_OPSYS_UNIX_value, ZIP_OPSYS_UNIX); + zend_string *const_OPSYS_UNIX_name = zend_string_init_interned("OPSYS_UNIX", sizeof("OPSYS_UNIX") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_UNIX_name, &const_OPSYS_UNIX_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_UNIX_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_VM_CMS_value; + ZVAL_LONG(&const_OPSYS_VM_CMS_value, ZIP_OPSYS_VM_CMS); + zend_string *const_OPSYS_VM_CMS_name = zend_string_init_interned("OPSYS_VM_CMS", sizeof("OPSYS_VM_CMS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_VM_CMS_name, &const_OPSYS_VM_CMS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_VM_CMS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_ATARI_ST_value; + ZVAL_LONG(&const_OPSYS_ATARI_ST_value, ZIP_OPSYS_ATARI_ST); + zend_string *const_OPSYS_ATARI_ST_name = zend_string_init_interned("OPSYS_ATARI_ST", sizeof("OPSYS_ATARI_ST") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_ATARI_ST_name, &const_OPSYS_ATARI_ST_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_ATARI_ST_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_OS_2_value; + ZVAL_LONG(&const_OPSYS_OS_2_value, ZIP_OPSYS_OS_2); + zend_string *const_OPSYS_OS_2_name = zend_string_init_interned("OPSYS_OS_2", sizeof("OPSYS_OS_2") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_OS_2_name, &const_OPSYS_OS_2_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_OS_2_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_MACINTOSH_value; + ZVAL_LONG(&const_OPSYS_MACINTOSH_value, ZIP_OPSYS_MACINTOSH); + zend_string *const_OPSYS_MACINTOSH_name = zend_string_init_interned("OPSYS_MACINTOSH", sizeof("OPSYS_MACINTOSH") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_MACINTOSH_name, &const_OPSYS_MACINTOSH_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_MACINTOSH_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_Z_SYSTEM_value; + ZVAL_LONG(&const_OPSYS_Z_SYSTEM_value, ZIP_OPSYS_Z_SYSTEM); + zend_string *const_OPSYS_Z_SYSTEM_name = zend_string_init_interned("OPSYS_Z_SYSTEM", sizeof("OPSYS_Z_SYSTEM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_Z_SYSTEM_name, &const_OPSYS_Z_SYSTEM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_Z_SYSTEM_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_CPM_value; + ZVAL_LONG(&const_OPSYS_CPM_value, ZIP_OPSYS_CPM); + zend_string *const_OPSYS_CPM_name = zend_string_init_interned("OPSYS_CPM", sizeof("OPSYS_CPM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_CPM_name, &const_OPSYS_CPM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_CPM_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_WINDOWS_NTFS_value; + ZVAL_LONG(&const_OPSYS_WINDOWS_NTFS_value, ZIP_OPSYS_WINDOWS_NTFS); + zend_string *const_OPSYS_WINDOWS_NTFS_name = zend_string_init_interned("OPSYS_WINDOWS_NTFS", sizeof("OPSYS_WINDOWS_NTFS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_WINDOWS_NTFS_name, &const_OPSYS_WINDOWS_NTFS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_WINDOWS_NTFS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_MVS_value; + ZVAL_LONG(&const_OPSYS_MVS_value, ZIP_OPSYS_MVS); + zend_string *const_OPSYS_MVS_name = zend_string_init_interned("OPSYS_MVS", sizeof("OPSYS_MVS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_MVS_name, &const_OPSYS_MVS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_MVS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_VSE_value; + ZVAL_LONG(&const_OPSYS_VSE_value, ZIP_OPSYS_VSE); + zend_string *const_OPSYS_VSE_name = zend_string_init_interned("OPSYS_VSE", sizeof("OPSYS_VSE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_VSE_name, &const_OPSYS_VSE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_VSE_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_ACORN_RISC_value; + ZVAL_LONG(&const_OPSYS_ACORN_RISC_value, ZIP_OPSYS_ACORN_RISC); + zend_string *const_OPSYS_ACORN_RISC_name = zend_string_init_interned("OPSYS_ACORN_RISC", sizeof("OPSYS_ACORN_RISC") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_ACORN_RISC_name, &const_OPSYS_ACORN_RISC_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_ACORN_RISC_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_VFAT_value; + ZVAL_LONG(&const_OPSYS_VFAT_value, ZIP_OPSYS_VFAT); + zend_string *const_OPSYS_VFAT_name = zend_string_init_interned("OPSYS_VFAT", sizeof("OPSYS_VFAT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_VFAT_name, &const_OPSYS_VFAT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_VFAT_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_ALTERNATE_MVS_value; + ZVAL_LONG(&const_OPSYS_ALTERNATE_MVS_value, ZIP_OPSYS_ALTERNATE_MVS); + zend_string *const_OPSYS_ALTERNATE_MVS_name = zend_string_init_interned("OPSYS_ALTERNATE_MVS", sizeof("OPSYS_ALTERNATE_MVS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_ALTERNATE_MVS_name, &const_OPSYS_ALTERNATE_MVS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_ALTERNATE_MVS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_BEOS_value; + ZVAL_LONG(&const_OPSYS_BEOS_value, ZIP_OPSYS_BEOS); + zend_string *const_OPSYS_BEOS_name = zend_string_init_interned("OPSYS_BEOS", sizeof("OPSYS_BEOS") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_BEOS_name, &const_OPSYS_BEOS_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_BEOS_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_TANDEM_value; + ZVAL_LONG(&const_OPSYS_TANDEM_value, ZIP_OPSYS_TANDEM); + zend_string *const_OPSYS_TANDEM_name = zend_string_init_interned("OPSYS_TANDEM", sizeof("OPSYS_TANDEM") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_TANDEM_name, &const_OPSYS_TANDEM_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_TANDEM_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_OS_400_value; + ZVAL_LONG(&const_OPSYS_OS_400_value, ZIP_OPSYS_OS_400); + zend_string *const_OPSYS_OS_400_name = zend_string_init_interned("OPSYS_OS_400", sizeof("OPSYS_OS_400") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_OS_400_name, &const_OPSYS_OS_400_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_OS_400_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_OS_X_value; + ZVAL_LONG(&const_OPSYS_OS_X_value, ZIP_OPSYS_OS_X); + zend_string *const_OPSYS_OS_X_name = zend_string_init_interned("OPSYS_OS_X", sizeof("OPSYS_OS_X") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_OS_X_name, &const_OPSYS_OS_X_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_OS_X_name); +#endif +#if defined(ZIP_OPSYS_DEFAULT) + + zval const_OPSYS_DEFAULT_value; + ZVAL_LONG(&const_OPSYS_DEFAULT_value, ZIP_OPSYS_DEFAULT); + zend_string *const_OPSYS_DEFAULT_name = zend_string_init_interned("OPSYS_DEFAULT", sizeof("OPSYS_DEFAULT") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_OPSYS_DEFAULT_name, &const_OPSYS_DEFAULT_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_OPSYS_DEFAULT_name); +#endif + + zval const_EM_NONE_value; + ZVAL_LONG(&const_EM_NONE_value, ZIP_EM_NONE); + zend_string *const_EM_NONE_name = zend_string_init_interned("EM_NONE", sizeof("EM_NONE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EM_NONE_name, &const_EM_NONE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EM_NONE_name); + + zval const_EM_TRAD_PKWARE_value; + ZVAL_LONG(&const_EM_TRAD_PKWARE_value, ZIP_EM_TRAD_PKWARE); + zend_string *const_EM_TRAD_PKWARE_name = zend_string_init_interned("EM_TRAD_PKWARE", sizeof("EM_TRAD_PKWARE") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EM_TRAD_PKWARE_name, &const_EM_TRAD_PKWARE_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EM_TRAD_PKWARE_name); +#if defined(HAVE_ENCRYPTION) + + zval const_EM_AES_128_value; + ZVAL_LONG(&const_EM_AES_128_value, ZIP_EM_AES_128); + zend_string *const_EM_AES_128_name = zend_string_init_interned("EM_AES_128", sizeof("EM_AES_128") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EM_AES_128_name, &const_EM_AES_128_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EM_AES_128_name); +#endif +#if defined(HAVE_ENCRYPTION) + + zval const_EM_AES_192_value; + ZVAL_LONG(&const_EM_AES_192_value, ZIP_EM_AES_192); + zend_string *const_EM_AES_192_name = zend_string_init_interned("EM_AES_192", sizeof("EM_AES_192") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EM_AES_192_name, &const_EM_AES_192_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EM_AES_192_name); +#endif +#if defined(HAVE_ENCRYPTION) + + zval const_EM_AES_256_value; + ZVAL_LONG(&const_EM_AES_256_value, ZIP_EM_AES_256); + zend_string *const_EM_AES_256_name = zend_string_init_interned("EM_AES_256", sizeof("EM_AES_256") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EM_AES_256_name, &const_EM_AES_256_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EM_AES_256_name); +#endif + + zval const_EM_UNKNOWN_value; + ZVAL_LONG(&const_EM_UNKNOWN_value, ZIP_EM_UNKNOWN); + zend_string *const_EM_UNKNOWN_name = zend_string_init_interned("EM_UNKNOWN", sizeof("EM_UNKNOWN") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_EM_UNKNOWN_name, &const_EM_UNKNOWN_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_EM_UNKNOWN_name); + + zval const_LIBZIP_VERSION_value; + zend_string *const_LIBZIP_VERSION_value_str = zend_string_init(LIBZIP_VERSION_STR, sizeof(LIBZIP_VERSION_STR) - 1, 1); + ZVAL_STR(&const_LIBZIP_VERSION_value, const_LIBZIP_VERSION_value_str); + zend_string *const_LIBZIP_VERSION_name = zend_string_init_interned("LIBZIP_VERSION", sizeof("LIBZIP_VERSION") - 1, 1); + zend_declare_class_constant_ex(class_entry, const_LIBZIP_VERSION_name, &const_LIBZIP_VERSION_value, ZEND_ACC_PUBLIC, NULL); + zend_string_release(const_LIBZIP_VERSION_name); + zval property_lastId_default_value; ZVAL_UNDEF(&property_lastId_default_value); zend_string *property_lastId_name = zend_string_init("lastId", sizeof("lastId") - 1, 1); From 98e5c4e3a3b241998dfb639a33245ffed16f6c57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 16 Aug 2022 13:18:31 +0200 Subject: [PATCH 071/229] Declare ext/sockets constants in stubs (#9349) --- ext/sockets/php_sockets.h | 269 +++++ ext/sockets/sendrecvmsg.c | 46 - ext/sockets/sendrecvmsg.h | 5 + ext/sockets/sockets.c | 275 +---- ext/sockets/sockets.stub.php | 1677 ++++++++++++++++++++++++++ ext/sockets/sockets_arginfo.h | 649 +++++++++- ext/sockets/unix_socket_constants.h | 422 ------- ext/sockets/win32_socket_constants.h | 70 -- 8 files changed, 2600 insertions(+), 813 deletions(-) delete mode 100644 ext/sockets/unix_socket_constants.h delete mode 100644 ext/sockets/win32_socket_constants.h diff --git a/ext/sockets/php_sockets.h b/ext/sockets/php_sockets.h index 459b9677a9889..0e4623846ed8b 100644 --- a/ext/sockets/php_sockets.h +++ b/ext/sockets/php_sockets.h @@ -136,4 +136,273 @@ PHP_SOCKETS_API int socket_import_file_descriptor(PHP_SOCKET socket, php_socket # define ss_family __ss_family #endif +#ifndef MSG_EOF +#ifdef MSG_FIN +#define MSG_EOF MSG_FIN +#endif +#endif + +#ifndef MSG_WAITALL +#ifdef LINUX +#define MSG_WAITALL 0x00000100 +#else +#define MSG_WAITALL 0x00000000 +#endif +#endif + +#define PHP_NORMAL_READ 0x0001 +#define PHP_BINARY_READ 0x0002 + +#ifdef WIN32 +#define PHP_SOCKET_EINTR WSAEINTR +#elif defined(EINTR) +#define PHP_SOCKET_EINTR EINTR +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EBADF WSAEBADF +#elif defined(EBADF) +#define PHP_SOCKET_EBADF EBADF +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EACCES WSAEACCES +#elif defined(EACCES) +#define PHP_SOCKET_EACCES EACCES +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EFAULT WSAEFAULT +#elif defined(EFAULT) +#define PHP_SOCKET_EFAULT EFAULT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EINVAL WSAEINVAL +#elif defined(EINVAL) +#define PHP_SOCKET_EINVAL EINVAL +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EMFILE WSAEMFILE +#elif defined(EMFILE) +#define PHP_SOCKET_ENFILE EMFILE +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EWOULDBLOCK WSAEWOULDBLOCK +#elif defined(EWOULDBLOCK) +#define PHP_SOCKET_EWOULDBLOCK EWOULDBLOCK +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EINPROGRESS WSAEINPROGRESS +#elif defined(EINPROGRESS) +#define PHP_SOCKET_EINPROGRESS EINPROGRESS +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EALREADY WSAEALREADY +#elif defined(EALREADY) +#define PHP_SOCKET_EALREADY EALREADY +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENOTSOCK WSAENOTSOCK +#elif defined(ENOTSOCK) +#define PHP_SOCKET_ENOTSOCK ENOTSOCK +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EDESTADDRREQ WSAEDESTADDRREQ +#elif defined(EDESTADDRREQ) +#define PHP_SOCKET_EDESTADDRREQ EDESTADDRREQ +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EMSGSIZE WSAEMSGSIZE +#elif defined(EMSGSIZE) +#define PHP_SOCKET_EMSGSIZE EMSGSIZE +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EPROTOTYPE WSAEPROTOTYPE +#elif defined(EPROTOTYPE) +#define PHP_SOCKET_EPROTOTYPE EPROTOTYPE +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENOPROTOOPT WSAENOPROTOOPT +#elif defined(ENOPROTOOPT) +#define PHP_SOCKET_ENOPROTOOPT ENOPROTOOPT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EPROTONOSUPPORT WSAEPROTONOSUPPORT +#elif defined(EPROTONOSUPPORT) +#define PHP_SOCKET_EPROTONOSUPPORT EPROTONOSUPPORT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT +#elif defined(ESOCKTNOSUPPORT) +#define PHP_SOCKET_ESOCKTNOSUPPORT ESOCKTNOSUPPORT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EOPNOTSUPP WSAEOPNOTSUPP +#elif defined(EOPNOTSUPP) +#define PHP_SOCKET_EOPNOTSUPP EOPNOTSUPP +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EPFNOSUPPORT WSAEPFNOSUPPORT +#elif defined(EOPNOTSUPP) +#define PHP_SOCKET_EPFNOSUPPORT EPFNOSUPPORT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EAFNOSUPPORT WSAEAFNOSUPPORT +#elif defined(EAFNOSUPPORT) +#define PHP_SOCKET_EAFNOSUPPORT EAFNOSUPPORT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EADDRINUSE WSAEADDRINUSE +#elif defined(EADDRINUSE) +#define PHP_SOCKET_EADDRINUSE EADDRINUSE +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EADDRNOTAVAIL WSAEADDRNOTAVAIL +#elif defined(EADDRNOTAVAIL) +#define PHP_SOCKET_EADDRNOTAVAIL EADDRNOTAVAIL +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENETDOWN WSAENETDOWN +#elif defined(ENETDOWN) +#define PHP_SOCKET_ENETDOWN ENETDOWN +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENETUNREACH WSAENETUNREACH +#elif defined(ENETUNREACH) +#define PHP_SOCKET_ENETUNREACH ENETUNREACH +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENETRESET WSAENETRESET +#elif defined(WSAENETRESET) +#define PHP_SOCKET_ENETRESET ENETUNREACH +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ECONNABORTED WSAECONNABORTED +#elif defined(ECONNABORTED) +#define PHP_SOCKET_ECONNABORTED ECONNABORTED +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ECONNRESET WSAECONNABORTED +#elif defined(ECONNABORTED) +#define PHP_SOCKET_ECONNRESET ECONNABORTED +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENOBUFS WSAENOBUFS +#elif defined(ENOBUFS) +#define PHP_SOCKET_ENOBUFS ENOBUFS +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EISCONN WSAEISCONN +#elif defined(EISCONN) +#define PHP_SOCKET_EISCONN EISCONN +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENOTCONN WSAENOTCONN +#elif defined(ENOTCONN) +#define PHP_SOCKET_ENOTCONN ENOTCONN +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ESHUTDOWN WSAESHUTDOWN +#elif defined(EISCONN) +#define PHP_SOCKET_ESHUTDOWN ESHUTDOWN +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ETOOMANYREFS WSAETOOMANYREFS +#elif defined(EISCONN) +#define PHP_SOCKET_ETOOMANYREFS ETOOMANYREFS +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ETOOMANYREFS WSAETOOMANYREFS +#elif defined(ETOOMANYREFS) +#define PHP_SOCKET_ETOOMANYREFS ETOOMANYREFS +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ETIMEDOUT WSAETIMEDOUT +#elif defined(ETIMEDOUT) +#define PHP_SOCKET_ETIMEDOUT ETIMEDOUT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ECONNREFUSED WSAECONNREFUSED +#elif defined(ECONNREFUSED) +#define PHP_SOCKET_ECONNREFUSED ECONNREFUSED +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ELOOP WSAELOOP +#elif defined(ELOOP) +#define PHP_SOCKET_ELOOP ELOOP +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENAMETOOLONG WSAENAMETOOLONG +#elif defined(ENAMETOOLONG) +#define PHP_SOCKET_ENAMETOOLONG ENAMETOOLONG +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EHOSTDOWN WSAEHOSTDOWN +#elif defined(EHOSTDOWN) +#define PHP_SOCKET_EHOSTDOWN EHOSTDOWN +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EHOSTUNREACH WSAEHOSTUNREACH +#elif defined(EHOSTUNREACH) +#define PHP_SOCKET_EHOSTUNREACH EHOSTUNREACH +#endif + +#ifdef WIN32 +#define PHP_SOCKET_ENOTEMPTY WSAENOTEMPTY +#elif defined(ENOTEMPTY) +#define PHP_SOCKET_ENOTEMPTY ENOTEMPTY +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EUSERS WSAEUSERS +#elif defined(EUSERS) +#define PHP_SOCKET_EUSERS EUSERS +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EDQUOT WSAEDQUOT +#elif defined(EDQUOT) +#define PHP_SOCKET_EDQUOT EDQUOT +#endif + +#ifdef WIN32 +#define PHP_SOCKET_EREMOTE WSAEREMOTE +#elif defined(EREMOTE) +#define PHP_SOCKET_EREMOTE EREMOTE +#endif + #endif diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c index bf882dea76eac..5623b556aa000 100644 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@ -35,8 +35,6 @@ #ifdef PHP_WIN32 #include "windows_common.h" #include -#define IPV6_RECVPKTINFO IPV6_PKTINFO -#define IPV6_RECVHOPLIMIT IPV6_HOPLIMIT #define msghdr _WSAMSG static GUID WSARecvMsg_GUID = WSAID_WSARECVMSG; @@ -424,50 +422,6 @@ int php_do_getsockopt_ipv6_rfc3542(php_socket *php_sock, int level, int optname, void php_socket_sendrecvmsg_init(INIT_FUNC_ARGS) { - /* IPv6 ancillary data */ -#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_RECVPKTINFO", IPV6_RECVPKTINFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_PKTINFO", IPV6_PKTINFO, CONST_CS | CONST_PERSISTENT); -#endif -#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_RECVHOPLIMIT", IPV6_RECVHOPLIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_HOPLIMIT", IPV6_HOPLIMIT, CONST_CS | CONST_PERSISTENT); -#endif - /* would require some effort: - REGISTER_LONG_CONSTANT("IPV6_RECVRTHDR", IPV6_RECVRTHDR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_RECVHOPOPTS", IPV6_RECVHOPOPTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_RECVDSTOPTS", IPV6_RECVDSTOPTS, CONST_CS | CONST_PERSISTENT); - */ -#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_RECVTCLASS", IPV6_RECVTCLASS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_TCLASS", IPV6_TCLASS, CONST_CS | CONST_PERSISTENT); -#endif - - /* - REGISTER_LONG_CONSTANT("IPV6_RTHDR", IPV6_RTHDR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_HOPOPTS", IPV6_HOPOPTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_DSTOPTS", IPV6_DSTOPTS, CONST_CS | CONST_PERSISTENT); - */ - -#ifdef SCM_RIGHTS - REGISTER_LONG_CONSTANT("SCM_RIGHTS", SCM_RIGHTS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_PASSCRED -#ifdef SCM_CREDENTIALS - REGISTER_LONG_CONSTANT("SCM_CREDENTIALS", SCM_CREDENTIALS, CONST_CS | CONST_PERSISTENT); -#else - REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SO_PASSCRED", SO_PASSCRED, CONST_CS | CONST_PERSISTENT); -#endif -#if defined(LOCAL_CREDS_PERSISTENT) - REGISTER_LONG_CONSTANT("SCM_CREDS2", SCM_CREDS2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCAL_CREDS_PERSISTENT", LOCAL_CREDS_PERSISTENT, CONST_CS | CONST_PERSISTENT); -#elif defined(LOCAL_CREDS) - REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCAL_CREDS", LOCAL_CREDS, CONST_CS | CONST_PERSISTENT); -#endif - #ifdef ZTS ancillary_mutex = tsrm_mutex_alloc(); #endif diff --git a/ext/sockets/sendrecvmsg.h b/ext/sockets/sendrecvmsg.h index 1d651458adb6e..fd68b178ce5c3 100644 --- a/ext/sockets/sendrecvmsg.h +++ b/ext/sockets/sendrecvmsg.h @@ -6,6 +6,11 @@ /* for sockets.c */ +#ifdef PHP_WIN32 +#define IPV6_RECVPKTINFO IPV6_PKTINFO +#define IPV6_RECVHOPLIMIT IPV6_HOPLIMIT +#endif + void php_socket_sendrecvmsg_init(INIT_FUNC_ARGS); void php_socket_sendrecvmsg_shutdown(SHUTDOWN_FUNC_ARGS); diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 3b69e058ecc80..b54859ad4a20d 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -76,20 +76,6 @@ ZEND_DECLARE_MODULE_GLOBALS(sockets) -#ifndef MSG_WAITALL -#ifdef LINUX -#define MSG_WAITALL 0x00000100 -#else -#define MSG_WAITALL 0x00000000 -#endif -#endif - -#ifndef MSG_EOF -#ifdef MSG_FIN -#define MSG_EOF MSG_FIN -#endif -#endif - #ifndef SUN_LEN #define SUN_LEN(su) (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path)) #endif @@ -98,9 +84,6 @@ ZEND_DECLARE_MODULE_GLOBALS(sockets) #define PF_INET AF_INET #endif -#define PHP_NORMAL_READ 0x0001 -#define PHP_BINARY_READ 0x0002 - static PHP_GINIT_FUNCTION(sockets); static PHP_GSHUTDOWN_FUNCTION(sockets); static PHP_MINIT_FUNCTION(sockets); @@ -464,263 +447,7 @@ static PHP_MINIT_FUNCTION(sockets) address_info_object_handlers.clone_obj = NULL; address_info_object_handlers.compare = zend_objects_not_comparable; - REGISTER_LONG_CONSTANT("AF_UNIX", AF_UNIX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AF_INET", AF_INET, CONST_CS | CONST_PERSISTENT); -#if HAVE_IPV6 - REGISTER_LONG_CONSTANT("AF_INET6", AF_INET6, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SOCK_STREAM", SOCK_STREAM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOCK_DGRAM", SOCK_DGRAM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOCK_RAW", SOCK_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOCK_SEQPACKET",SOCK_SEQPACKET, CONST_CS | CONST_PERSISTENT); -#ifdef SOCK_RDM - REGISTER_LONG_CONSTANT("SOCK_RDM", SOCK_RDM, CONST_CS | CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("MSG_OOB", MSG_OOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_WAITALL", MSG_WAITALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_CTRUNC", MSG_CTRUNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_TRUNC", MSG_TRUNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_PEEK", MSG_PEEK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_DONTROUTE", MSG_DONTROUTE, CONST_CS | CONST_PERSISTENT); -#ifdef MSG_EOR - REGISTER_LONG_CONSTANT("MSG_EOR", MSG_EOR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_EOF - REGISTER_LONG_CONSTANT("MSG_EOF", MSG_EOF, CONST_CS | CONST_PERSISTENT); -#endif - -#ifdef MSG_CONFIRM - REGISTER_LONG_CONSTANT("MSG_CONFIRM", MSG_CONFIRM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_ERRQUEUE - REGISTER_LONG_CONSTANT("MSG_ERRQUEUE", MSG_ERRQUEUE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_NOSIGNAL - REGISTER_LONG_CONSTANT("MSG_NOSIGNAL", MSG_NOSIGNAL, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_DONTWAIT - REGISTER_LONG_CONSTANT("MSG_DONTWAIT", MSG_DONTWAIT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_MORE - REGISTER_LONG_CONSTANT("MSG_MORE", MSG_MORE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_WAITFORONE - REGISTER_LONG_CONSTANT("MSG_WAITFORONE",MSG_WAITFORONE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_CMSG_CLOEXEC - REGISTER_LONG_CONSTANT("MSG_CMSG_CLOEXEC",MSG_CMSG_CLOEXEC,CONST_CS | CONST_PERSISTENT); -#endif -#ifdef MSG_ZEROCOPY - REGISTER_LONG_CONSTANT("MSG_ZEROCOPY", MSG_ZEROCOPY, CONST_CS | CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("SO_DEBUG", SO_DEBUG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_REUSEADDR", SO_REUSEADDR, CONST_CS | CONST_PERSISTENT); -#ifdef SO_REUSEPORT - REGISTER_LONG_CONSTANT("SO_REUSEPORT", SO_REUSEPORT, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SO_KEEPALIVE", SO_KEEPALIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_DONTROUTE", SO_DONTROUTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_LINGER", SO_LINGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_BROADCAST", SO_BROADCAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_OOBINLINE", SO_OOBINLINE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_SNDBUF", SO_SNDBUF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_RCVBUF", SO_RCVBUF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_SNDLOWAT", SO_SNDLOWAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_RCVLOWAT", SO_RCVLOWAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_SNDTIMEO", SO_SNDTIMEO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_RCVTIMEO", SO_RCVTIMEO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_TYPE", SO_TYPE, CONST_CS | CONST_PERSISTENT); -#ifdef SO_FAMILY - REGISTER_LONG_CONSTANT("SO_FAMILY", SO_FAMILY, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SO_ERROR", SO_ERROR, CONST_CS | CONST_PERSISTENT); -#ifdef SO_BINDTODEVICE - REGISTER_LONG_CONSTANT("SO_BINDTODEVICE", SO_BINDTODEVICE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_USER_COOKIE - REGISTER_LONG_CONSTANT("SO_LABEL", SO_LABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_PEERLABEL", SO_PEERLABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_LISTENQLIMIT", SO_LISTENQLIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_LISTENQLEN", SO_LISTENQLEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_USER_COOKIE", SO_USER_COOKIE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_SETFIB - REGISTER_LONG_CONSTANT("SO_SETFIB", SO_SETFIB, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_ACCEPTFILTER - REGISTER_LONG_CONSTANT("SO_ACCEPTFILTER", SO_ACCEPTFILTER, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SOL_FILTER - REGISTER_LONG_CONSTANT("SOL_FILTER", SOL_FILTER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FIL_ATTACH", FIL_ATTACH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FIL_DETACH", FIL_DETACH, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_DONTTRUNC - REGISTER_LONG_CONSTANT("SO_DONTTRUNC", SO_DONTTRUNC, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_WANTMORE - REGISTER_LONG_CONSTANT("SO_WANTMORE", SO_WANTMORE, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SOL_SOCKET", SOL_SOCKET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOMAXCONN", SOMAXCONN, CONST_CS | CONST_PERSISTENT); -#ifdef SO_MARK - REGISTER_LONG_CONSTANT("SO_MARK", SO_MARK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_RTABLE - REGISTER_LONG_CONSTANT("SO_RTABLE", SO_RTABLE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_INCOMING_CPU - REGISTER_LONG_CONSTANT("SO_INCOMING_CPU", SO_INCOMING_CPU, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_MEMINFO - REGISTER_LONG_CONSTANT("SO_MEMINFO", SO_MEMINFO, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_BPF_EXTENSIONS - REGISTER_LONG_CONSTANT("SO_BPF_EXTENSIONS", SO_BPF_EXTENSIONS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_OFF - REGISTER_LONG_CONSTANT("SKF_AD_OFF", SKF_AD_OFF, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_PROTOCOL - REGISTER_LONG_CONSTANT("SKF_AD_PROTOCOL", SKF_AD_PROTOCOL, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_PKTTYPE - REGISTER_LONG_CONSTANT("SKF_AD_PKTTYPE", SKF_AD_PKTTYPE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_IFINDEX - REGISTER_LONG_CONSTANT("SKF_AD_IFINDEX", SKF_AD_IFINDEX, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_NLATTR - REGISTER_LONG_CONSTANT("SKF_AD_NLATTR", SKF_AD_NLATTR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_NLATTR_NEST - REGISTER_LONG_CONSTANT("SKF_AD_NLATTR_NEST", SKF_AD_NLATTR_NEST, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_MARK - REGISTER_LONG_CONSTANT("SKF_AD_MARK", SKF_AD_MARK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_QUEUE - REGISTER_LONG_CONSTANT("SKF_AD_QUEUE", SKF_AD_QUEUE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_HATYPE - REGISTER_LONG_CONSTANT("SKF_AD_HATYPE", SKF_AD_HATYPE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_RXHASH - REGISTER_LONG_CONSTANT("SKF_AD_RXHASH", SKF_AD_RXHASH, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_CPU - REGISTER_LONG_CONSTANT("SKF_AD_CPU", SKF_AD_CPU, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_ALU_XOR_X - REGISTER_LONG_CONSTANT("SKF_AD_ALU_XOR_X", SKF_AD_ALU_XOR_X, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_VLAN_TAG - REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG", SKF_AD_VLAN_TAG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_VLAN_TAG_PRESENT - REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG_PRESENT", SKF_AD_VLAN_TAG_PRESENT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_PAY_OFFSET - REGISTER_LONG_CONSTANT("SKF_AD_PAY_OFFSET", SKF_AD_PAY_OFFSET, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_RANDOM - REGISTER_LONG_CONSTANT("SKF_AD_RANDOM", SKF_AD_RANDOM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_VLAN_TPID - REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TPID", SKF_AD_VLAN_TPID, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SKF_AD_MAX - REGISTER_LONG_CONSTANT("SKF_AD_MAX", SKF_AD_MAX, CONST_CS | CONST_PERSISTENT); -#endif - -#ifdef TCP_CONGESTION - REGISTER_LONG_CONSTANT("TCP_CONGESTION", TCP_CONGESTION, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SO_ZEROCOPY - REGISTER_LONG_CONSTANT("SO_ZEROCOPY", SO_ZEROCOPY, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef TCP_NODELAY - REGISTER_LONG_CONSTANT("TCP_NODELAY", TCP_NODELAY, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef TCP_NOTSENT_LOWAT - REGISTER_LONG_CONSTANT("TCP_NOTSENT_LOWAT", TCP_NOTSENT_LOWAT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef TCP_DEFER_ACCEPT - REGISTER_LONG_CONSTANT("TCP_DEFER_ACCEPT", TCP_DEFER_ACCEPT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef TCP_KEEPALIVE - REGISTER_LONG_CONSTANT("TCP_KEEPALIVE", TCP_KEEPALIVE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef TCP_KEEPIDLE - REGISTER_LONG_CONSTANT("TCP_KEEPIDLE", TCP_KEEPIDLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TCP_KEEPINTVL", TCP_KEEPINTVL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TCP_KEEPCNT", TCP_KEEPCNT, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("PHP_NORMAL_READ", PHP_NORMAL_READ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_BINARY_READ", PHP_BINARY_READ, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("MCAST_JOIN_GROUP", PHP_MCAST_JOIN_GROUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MCAST_LEAVE_GROUP", PHP_MCAST_LEAVE_GROUP, CONST_CS | CONST_PERSISTENT); -#ifdef HAS_MCAST_EXT - REGISTER_LONG_CONSTANT("MCAST_BLOCK_SOURCE", PHP_MCAST_BLOCK_SOURCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MCAST_UNBLOCK_SOURCE", PHP_MCAST_UNBLOCK_SOURCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MCAST_JOIN_SOURCE_GROUP", PHP_MCAST_JOIN_SOURCE_GROUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MCAST_LEAVE_SOURCE_GROUP", PHP_MCAST_LEAVE_SOURCE_GROUP, CONST_CS | CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("IP_MULTICAST_IF", IP_MULTICAST_IF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IP_MULTICAST_TTL", IP_MULTICAST_TTL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IP_MULTICAST_LOOP", IP_MULTICAST_LOOP, CONST_CS | CONST_PERSISTENT); -#if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_MULTICAST_IF", IPV6_MULTICAST_IF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_MULTICAST_HOPS", IPV6_MULTICAST_HOPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IPV6_MULTICAST_LOOP", IPV6_MULTICAST_LOOP, CONST_CS | CONST_PERSISTENT); -#endif - -#ifdef IPV6_V6ONLY - REGISTER_LONG_CONSTANT("IPV6_V6ONLY", IPV6_V6ONLY, CONST_CS | CONST_PERSISTENT); -#endif - -#ifndef WIN32 -# include "unix_socket_constants.h" -#else -# include "win32_socket_constants.h" -#endif - - REGISTER_LONG_CONSTANT("IPPROTO_IP", IPPROTO_IP, CONST_CS | CONST_PERSISTENT); -#if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPPROTO_IPV6", IPPROTO_IPV6, CONST_CS | CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("SOL_TCP", IPPROTO_TCP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOL_UDP", IPPROTO_UDP, CONST_CS | CONST_PERSISTENT); - -#if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_UNICAST_HOPS", IPV6_UNICAST_HOPS, CONST_CS | CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("AI_PASSIVE", AI_PASSIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AI_CANONNAME", AI_CANONNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AI_NUMERICHOST", AI_NUMERICHOST, CONST_CS | CONST_PERSISTENT); -#if HAVE_AI_V4MAPPED - REGISTER_LONG_CONSTANT("AI_V4MAPPED", AI_V4MAPPED, CONST_CS | CONST_PERSISTENT); -#endif -#if HAVE_AI_ALL - REGISTER_LONG_CONSTANT("AI_ALL", AI_ALL, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("AI_ADDRCONFIG", AI_ADDRCONFIG, CONST_CS | CONST_PERSISTENT); -#if HAVE_AI_IDN - REGISTER_LONG_CONSTANT("AI_IDN", AI_IDN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AI_CANONIDN", AI_CANONIDN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef AI_NUMERICSERV - REGISTER_LONG_CONSTANT("AI_NUMERICSERV", AI_NUMERICSERV, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef SOL_LOCAL - REGISTER_LONG_CONSTANT("SOL_LOCAL", SOL_LOCAL, CONST_CS | CONST_PERSISTENT); -#endif + register_sockets_symbols(module_number); php_socket_sendrecvmsg_init(INIT_FUNC_ARGS_PASSTHRU); diff --git a/ext/sockets/sockets.stub.php b/ext/sockets/sockets.stub.php index 188fdefa3e923..86492c8c2ae11 100644 --- a/ext/sockets/sockets.stub.php +++ b/ext/sockets/sockets.stub.php @@ -2,6 +2,1683 @@ /** @generate-class-entries */ +/** + * @var int + * @cvalue AF_UNIX + */ +const AF_UNIX = UNKNOWN; +/** + * @var int + * @cvalue AF_INET + */ +const AF_INET = UNKNOWN; +#if HAVE_IPV6 +/** + * @var int + * @cvalue AF_INET6 + */ +const AF_INET6 = UNKNOWN; +#endif +/** + * @var int + * @cvalue SOCK_STREAM + */ +const SOCK_STREAM = UNKNOWN; +/** + * @var int + * @cvalue SOCK_DGRAM + */ +const SOCK_DGRAM = UNKNOWN; +/** + * @var int + * @cvalue SOCK_RAW + */ +const SOCK_RAW = UNKNOWN; +/** + * @var int + * @cvalue SOCK_SEQPACKET + */ +const SOCK_SEQPACKET = UNKNOWN; +#ifdef SOCK_RDM +/** + * @var int + * @cvalue SOCK_RDM + */ +const SOCK_RDM = UNKNOWN; +#endif + +/** + * @var int + * @cvalue MSG_OOB + */ +const MSG_OOB = UNKNOWN; +/** + * @var int + * @cvalue MSG_WAITALL + */ +const MSG_WAITALL = UNKNOWN; +/** + * @var int + * @cvalue MSG_CTRUNC + */ +const MSG_CTRUNC = UNKNOWN; +/** + * @var int + * @cvalue MSG_TRUNC + */ +const MSG_TRUNC = UNKNOWN; +/** + * @var int + * @cvalue MSG_PEEK + */ +const MSG_PEEK = UNKNOWN; +/** + * @var int + * @cvalue MSG_DONTROUTE + */ +const MSG_DONTROUTE = UNKNOWN; +#ifdef MSG_EOR +/** + * @var int + * @cvalue MSG_EOR + */ +const MSG_EOR = UNKNOWN; +#endif +#ifdef MSG_EOF +/** + * @var int + * @cvalue MSG_EOF + */ +const MSG_EOF = UNKNOWN; +#endif + +#ifdef MSG_CONFIRM +/** + * @var int + * @cvalue MSG_CONFIRM + */ +const MSG_CONFIRM = UNKNOWN; +#endif +#ifdef MSG_ERRQUEUE +/** + * @var int + * @cvalue MSG_ERRQUEUE + */ +const MSG_ERRQUEUE = UNKNOWN; +#endif +#ifdef MSG_NOSIGNAL +/** + * @var int + * @cvalue MSG_NOSIGNAL + */ +const MSG_NOSIGNAL = UNKNOWN; +#endif +#ifdef MSG_DONTWAIT +/** + * @var int + * @cvalue MSG_DONTWAIT + */ +const MSG_DONTWAIT = UNKNOWN; +#endif +#ifdef MSG_MORE +/** + * @var int + * @cvalue MSG_MORE + */ +const MSG_MORE = UNKNOWN; +#endif +#ifdef MSG_WAITFORONE +/** + * @var int + * @cvalue MSG_WAITFORONE + */ +const MSG_WAITFORONE = UNKNOWN; +#endif +#ifdef MSG_CMSG_CLOEXEC +/** + * @var int + * @cvalue MSG_CMSG_CLOEXEC + */ +const MSG_CMSG_CLOEXEC = UNKNOWN; +#endif +#ifdef MSG_ZEROCOPY +/** + * @var int + * @cvalue MSG_ZEROCOPY + */ +const MSG_ZEROCOPY = UNKNOWN; +#endif + +/** + * @var int + * @cvalue SO_DEBUG + */ +const SO_DEBUG = UNKNOWN; +/** + * @var int + * @cvalue SO_REUSEADDR + */ +const SO_REUSEADDR = UNKNOWN; +#ifdef SO_REUSEPORT +/** + * @var int + * @cvalue SO_REUSEPORT + */ +const SO_REUSEPORT = UNKNOWN; +#endif +/** + * @var int + * @cvalue SO_KEEPALIVE + */ +const SO_KEEPALIVE = UNKNOWN; +/** + * @var int + * @cvalue SO_DONTROUTE + */ +const SO_DONTROUTE = UNKNOWN; +/** + * @var int + * @cvalue SO_LINGER + */ +const SO_LINGER = UNKNOWN; +/** + * @var int + * @cvalue SO_BROADCAST + */ +const SO_BROADCAST = UNKNOWN; +/** + * @var int + * @cvalue SO_OOBINLINE + */ +const SO_OOBINLINE = UNKNOWN; +/** + * @var int + * @cvalue SO_SNDBUF + */ +const SO_SNDBUF = UNKNOWN; +/** + * @var int + * @cvalue SO_RCVBUF + */ +const SO_RCVBUF = UNKNOWN; +/** + * @var int + * @cvalue SO_SNDLOWAT + */ +const SO_SNDLOWAT = UNKNOWN; +/** + * @var int + * @cvalue SO_RCVLOWAT + */ +const SO_RCVLOWAT = UNKNOWN; +/** + * @var int + * @cvalue SO_SNDTIMEO + */ +const SO_SNDTIMEO = UNKNOWN; +/** + * @var int + * @cvalue SO_RCVTIMEO + */ +const SO_RCVTIMEO = UNKNOWN; +/** + * @var int + * @cvalue SO_TYPE + */ +const SO_TYPE = UNKNOWN; +#ifdef SO_FAMILY +/** + * @var int + * @cvalue SO_FAMILY + */ +const SO_FAMILY = UNKNOWN; +#endif +/** + * @var int + * @cvalue SO_ERROR + */ +const SO_ERROR = UNKNOWN; +#ifdef SO_BINDTODEVICE +/** + * @var int + * @cvalue SO_BINDTODEVICE + */ +const SO_BINDTODEVICE = UNKNOWN; +#endif +#ifdef SO_USER_COOKIE +/** + * @var int + * @cvalue SO_LABEL + */ +const SO_LABEL = UNKNOWN; +/** + * @var int + * @cvalue SO_PEERLABEL + */ +const SO_PEERLABEL = UNKNOWN; +/** + * @var int + * @cvalue SO_LISTENQLIMIT + */ +const SO_LISTENQLIMIT = UNKNOWN; +/** + * @var int + * @cvalue SO_LISTENQLEN + */ +const SO_LISTENQLEN = UNKNOWN; +/** + * @var int + * @cvalue SO_USER_COOKIE + */ +const SO_USER_COOKIE = UNKNOWN; +#endif +#ifdef SO_SETFIB +/** + * @var int + * @cvalue SO_SETFIB + */ +const SO_SETFIB = UNKNOWN; +#endif +#ifdef SO_ACCEPTFILTER +/** + * @var int + * @cvalue SO_ACCEPTFILTER + */ +const SO_ACCEPTFILTER = UNKNOWN; +#endif +#ifdef SOL_FILTER +/** + * @var int + * @cvalue SOL_FILTER + */ +const SOL_FILTER = UNKNOWN; +/** + * @var int + * @cvalue FIL_ATTACH + */ +const FIL_ATTACH = UNKNOWN; +/** + * @var int + * @cvalue FIL_DETACH + */ +const FIL_DETACH = UNKNOWN; +#endif +#ifdef SO_DONTTRUNC +/** + * @var int + * @cvalue SO_DONTTRUNC + */ +const SO_DONTTRUNC = UNKNOWN; +#endif +#ifdef SO_WANTMORE +/** + * @var int + * @cvalue SO_WANTMORE + */ +const SO_WANTMORE = UNKNOWN; +#endif +/** + * @var int + * @cvalue SOL_SOCKET + */ +const SOL_SOCKET = UNKNOWN; +/** + * @var int + * @cvalue SOMAXCONN + */ +const SOMAXCONN = UNKNOWN; +#ifdef SO_MARK +/** + * @var int + * @cvalue SO_MARK + */ +const SO_MARK = UNKNOWN; +#endif +#ifdef SO_RTABLE +/** + * @var int + * @cvalue SO_RTABLE + */ +const SO_RTABLE = UNKNOWN; +#endif +#ifdef SO_INCOMING_CPU +/** + * @var int + * @cvalue SO_INCOMING_CPU + */ +const SO_INCOMING_CPU = UNKNOWN; +#endif +#ifdef SO_MEMINFO +/** + * @var int + * @cvalue SO_MEMINFO + */ +const SO_MEMINFO = UNKNOWN; +#endif +#ifdef SO_BPF_EXTENSIONS +/** + * @var int + * @cvalue SO_BPF_EXTENSIONS + */ +const SO_BPF_EXTENSIONS = UNKNOWN; +#endif +#ifdef SKF_AD_OFF +/** + * @var int + * @cvalue SKF_AD_OFF + */ +const SKF_AD_OFF = UNKNOWN; +#endif +#ifdef SKF_AD_PROTOCOL +/** + * @var int + * @cvalue SKF_AD_PROTOCOL + */ +const SKF_AD_PROTOCOL = UNKNOWN; +#endif +#ifdef SKF_AD_PKTTYPE +/** + * @var int + * @cvalue SKF_AD_PKTTYPE + */ +const SKF_AD_PKTTYPE = UNKNOWN; +#endif +#ifdef SKF_AD_IFINDEX +/** + * @var int + * @cvalue SKF_AD_IFINDEX + */ +const SKF_AD_IFINDEX = UNKNOWN; +#endif +#ifdef SKF_AD_NLATTR +/** + * @var int + * @cvalue SKF_AD_NLATTR + */ +const SKF_AD_NLATTR = UNKNOWN; +#endif +#ifdef SKF_AD_NLATTR_NEST +/** + * @var int + * @cvalue SKF_AD_NLATTR_NEST + */ +const SKF_AD_NLATTR_NEST = UNKNOWN; +#endif +#ifdef SKF_AD_MARK +/** + * @var int + * @cvalue SKF_AD_MARK + */ +const SKF_AD_MARK = UNKNOWN; +#endif +#ifdef SKF_AD_QUEUE +/** + * @var int + * @cvalue SKF_AD_QUEUE + */ +const SKF_AD_QUEUE = UNKNOWN; +#endif +#ifdef SKF_AD_HATYPE +/** + * @var int + * @cvalue SKF_AD_HATYPE + */ +const SKF_AD_HATYPE = UNKNOWN; +#endif +#ifdef SKF_AD_RXHASH +/** + * @var int + * @cvalue SKF_AD_RXHASH + */ +const SKF_AD_RXHASH = UNKNOWN; +#endif +#ifdef SKF_AD_CPU +/** + * @var int + * @cvalue SKF_AD_CPU + */ +const SKF_AD_CPU = UNKNOWN; +#endif +#ifdef SKF_AD_ALU_XOR_X +/** + * @var int + * @cvalue SKF_AD_ALU_XOR_X + */ +const SKF_AD_ALU_XOR_X = UNKNOWN; +#endif +#ifdef SKF_AD_VLAN_TAG +/** + * @var int + * @cvalue SKF_AD_VLAN_TAG + */ +const SKF_AD_VLAN_TAG = UNKNOWN; +#endif +#ifdef SKF_AD_VLAN_TAG_PRESENT +/** + * @var int + * @cvalue SKF_AD_VLAN_TAG_PRESENT + */ +const SKF_AD_VLAN_TAG_PRESENT = UNKNOWN; +#endif +#ifdef SKF_AD_PAY_OFFSET +/** + * @var int + * @cvalue SKF_AD_PAY_OFFSET + */ +const SKF_AD_PAY_OFFSET = UNKNOWN; +#endif +#ifdef SKF_AD_RANDOM +/** + * @var int + * @cvalue SKF_AD_RANDOM + */ +const SKF_AD_RANDOM = UNKNOWN; +#endif +#ifdef SKF_AD_VLAN_TPID +/** + * @var int + * @cvalue SKF_AD_VLAN_TPID + */ +const SKF_AD_VLAN_TPID = UNKNOWN; +#endif +#ifdef SKF_AD_MAX +/** + * @var int + * @cvalue SKF_AD_MAX + */ +const SKF_AD_MAX = UNKNOWN; +#endif + +#ifdef TCP_CONGESTION +/** + * @var int + * @cvalue TCP_CONGESTION + */ +const TCP_CONGESTION = UNKNOWN; +#endif +#ifdef SO_ZEROCOPY +/** + * @var int + * @cvalue SO_ZEROCOPY + */ +const SO_ZEROCOPY = UNKNOWN; +#endif +#ifdef TCP_NODELAY +/** + * @var int + * @cvalue TCP_NODELAY + */ +const TCP_NODELAY = UNKNOWN; +#endif +#ifdef TCP_NOTSENT_LOWAT +/** + * @var int + * @cvalue TCP_NOTSENT_LOWAT + */ +const TCP_NOTSENT_LOWAT = UNKNOWN; +#endif +#ifdef TCP_DEFER_ACCEPT +/** + * @var int + * @cvalue TCP_DEFER_ACCEPT + */ +const TCP_DEFER_ACCEPT = UNKNOWN; +#endif +#ifdef TCP_KEEPALIVE +/** + * @var int + * @cvalue TCP_KEEPALIVE + */ +const TCP_KEEPALIVE = UNKNOWN; +#endif +#ifdef TCP_KEEPIDLE +/** + * @var int + * @cvalue TCP_KEEPIDLE + */ +const TCP_KEEPIDLE = UNKNOWN; +/** + * @var int + * @cvalue TCP_KEEPINTVL + */ +const TCP_KEEPINTVL = UNKNOWN; +/** + * @var int + * @cvalue TCP_KEEPCNT + */ +const TCP_KEEPCNT = UNKNOWN; +#endif +/** + * @var int + * @cvalue PHP_NORMAL_READ + */ +const PHP_NORMAL_READ = UNKNOWN; +/** + * @var int + * @cvalue PHP_BINARY_READ + */ +const PHP_BINARY_READ = UNKNOWN; + +/** + * @var int + * @cvalue PHP_MCAST_JOIN_GROUP + */ +const MCAST_JOIN_GROUP = UNKNOWN; +/** + * @var int + * @cvalue PHP_MCAST_LEAVE_GROUP + */ +const MCAST_LEAVE_GROUP = UNKNOWN; +#ifdef HAS_MCAST_EXT +/** + * @var int + * @cvalue PHP_MCAST_BLOCK_SOURCE + */ +const MCAST_BLOCK_SOURCE = UNKNOWN; +/** + * @var int + * @cvalue PHP_MCAST_UNBLOCK_SOURCE + */ +const MCAST_UNBLOCK_SOURCE = UNKNOWN; +/** + * @var int + * @cvalue PHP_MCAST_JOIN_SOURCE_GROUP + */ +const MCAST_JOIN_SOURCE_GROUP = UNKNOWN; +/** + * @var int + * @cvalue PHP_MCAST_LEAVE_SOURCE_GROUP + */ +const MCAST_LEAVE_SOURCE_GROUP = UNKNOWN; +#endif + +/** + * @var int + * @cvalue IP_MULTICAST_IF + */ +const IP_MULTICAST_IF = UNKNOWN; +/** + * @var int + * @cvalue IP_MULTICAST_TTL + */ +const IP_MULTICAST_TTL = UNKNOWN; +/** + * @var int + * @cvalue IP_MULTICAST_LOOP + */ +const IP_MULTICAST_LOOP = UNKNOWN; +#if HAVE_IPV6 +/** + * @var int + * @cvalue IPV6_MULTICAST_IF + */ +const IPV6_MULTICAST_IF = UNKNOWN; +/** + * @var int + * @cvalue IPV6_MULTICAST_HOPS + */ +const IPV6_MULTICAST_HOPS = UNKNOWN; +/** + * @var int + * @cvalue IPV6_MULTICAST_LOOP + */ +const IPV6_MULTICAST_LOOP = UNKNOWN; +#endif + +#ifdef IPV6_V6ONLY +/** + * @var int + * @cvalue IPV6_V6ONLY + */ +const IPV6_V6ONLY = UNKNOWN; +#endif + +#ifdef EPERM +/** + * Operation not permitted + * @var int + * @cvalue EPERM + */ +const SOCKET_EPERM = UNKNOWN; +#endif +#ifdef ENOENT +/** + * No such file or directory + * @var int + * @cvalue ENOENT + */ +const SOCKET_ENOENT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EINTR +/** + * Interrupted system call + * @var int + * @cvalue PHP_SOCKET_EINTR + */ +const SOCKET_EINTR = UNKNOWN; +#endif +#ifdef EIO +/** + * I/O error + * @var int + * @cvalue EIO + */ +const SOCKET_EIO = UNKNOWN; +#endif +#ifdef ENXIO +/** + * No such device or address + * @var int + * @cvalue ENXIO + */ +const SOCKET_ENXIO = UNKNOWN; +#endif +#ifdef E2BIG +/** + * Arg list too long + * @var int + * @cvalue E2BIG + */ +const SOCKET_E2BIG = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EBADF +/** + * Bad file number + * @var int + * @cvalue PHP_SOCKET_EBADF + */ +const SOCKET_EBADF = UNKNOWN; +#endif +#ifdef EAGAIN +/** + * Try again + * @var int + * @cvalue EAGAIN + */ +const SOCKET_EAGAIN = UNKNOWN; +#endif +#ifdef ENOMEM +/** + * Out of memory + * @var int + * @cvalue ENOMEM + */ +const SOCKET_ENOMEM = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EACCES +/** + * Permission denied + * @var int + * @cvalue PHP_SOCKET_EACCES + */ +const SOCKET_EACCES = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EFAULT +/** + * Bad address + * @var int + * @cvalue PHP_SOCKET_EFAULT + */ +const SOCKET_EFAULT = UNKNOWN; +#endif +#ifdef ENOTBLK +/** + * Block device required + * @var int + * @cvalue ENOTBLK + */ +const SOCKET_ENOTBLK = UNKNOWN; +#endif +#ifdef EBUSY +/** + * Device or resource busy + * @var int + * @cvalue EBUSY + */ +const SOCKET_EBUSY = UNKNOWN; +#endif +#ifdef EEXIST +/** + * File exists + * @var int + * @cvalue EEXIST + */ +const SOCKET_EEXIST = UNKNOWN; +#endif +#ifdef EXDEV +/** + * Cross-device link + * @var int + * @cvalue EXDEV + */ +const SOCKET_EXDEV = UNKNOWN; +#endif +#ifdef ENODEV +/** + * No such device + * @var int + * @cvalue ENODEV + */ +const SOCKET_ENODEV = UNKNOWN; +#endif +#ifdef ENOTDIR +/** + * Not a directory + * @var int + * @cvalue ENOTDIR + */ +const SOCKET_ENOTDIR = UNKNOWN; +#endif +#ifdef EISDIR +/** + * Is a directory + * @var int + * @cvalue EISDIR + */ +const SOCKET_EISDIR = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EINVAL +/** + * Invalid argument + * @var int + * @cvalue PHP_SOCKET_EINVAL + */ +const SOCKET_EINVAL = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENFILE +/** + * File table overflow + * @var int + * @cvalue PHP_SOCKET_ENFILE + */ +const SOCKET_ENFILE = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EMFILE +/** + * Too many open files + * @var int + * @cvalue PHP_SOCKET_EMFILE + */ +const SOCKET_EMFILE = UNKNOWN; +#endif +#ifdef ENOTTY +/** + * Not a typewriter + * @var int + * @cvalue ENOTTY + */ +const SOCKET_ENOTTY = UNKNOWN; +#endif +#ifdef ENOSPC +/** + * No space left on device + * @var int + * @cvalue ENOSPC + */ +const SOCKET_ENOSPC = UNKNOWN; +#endif +#ifdef ESPIPE +/** + * Illegal seek + * @var int + * @cvalue ESPIPE + */ +const SOCKET_ESPIPE = UNKNOWN; +#endif +#ifdef EROFS +/** + * Read-only file system + * @var int + * @cvalue EROFS + */ +const SOCKET_EROFS = UNKNOWN; +#endif +#ifdef EMLINK +/** + * Too many links + * @var int + * @cvalue EMLINK + */ +const SOCKET_EMLINK = UNKNOWN; +#endif +#ifdef EPIPE +/** + * Broken pipe + * @var int + * @cvalue EPIPE + */ +const SOCKET_EPIPE = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENAMETOOLONG +/** + * File name too long + * @var int + * @cvalue PHP_SOCKET_ENAMETOOLONG + */ +const SOCKET_ENAMETOOLONG = UNKNOWN; +#endif +#ifdef ENOLCK +/** + * No record locks available + * @var int + * @cvalue ENOLCK + */ +const SOCKET_ENOLCK = UNKNOWN; +#endif +#ifdef ENOSYS +/** + * Function not implemented + * @var int + * @cvalue ENOSYS + */ +const SOCKET_ENOSYS = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENOTEMPTY +/** + * Directory not empty + * @var int + * @cvalue PHP_SOCKET_ENOTEMPTY + */ +const SOCKET_ENOTEMPTY = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ELOOP +/** + * Too many symbolic links encountered + * @var int + * @cvalue PHP_SOCKET_ELOOP + */ +const SOCKET_ELOOP = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EWOULDBLOCK +/** + * Operation would block + * @var int + * @cvalue PHP_SOCKET_EWOULDBLOCK + */ +const SOCKET_EWOULDBLOCK = UNKNOWN; +#endif +#ifdef ENOMSG +/** + * No message of desired type + * @var int + * @cvalue ENOMSG + */ +const SOCKET_ENOMSG = UNKNOWN; +#endif +#ifdef EIDRM +/** + * Identifier removed + * @var int + * @cvalue EIDRM + */ +const SOCKET_EIDRM = UNKNOWN; +#endif +#ifdef ECHRNG +/** + * Channel number out of range + * @var int + * @cvalue ECHRNG + */ +const SOCKET_ECHRNG = UNKNOWN; +#endif +#ifdef EL2NSYNC +/** + * Level 2 not synchronized + * @var int + * @cvalue EL2NSYNC + */ +const SOCKET_EL2NSYNC = UNKNOWN; +#endif +#ifdef EL3HLT +/** + * Level 3 halted + * @var int + * @cvalue EL3HLT + */ +const SOCKET_EL3HLT = UNKNOWN; +#endif +#ifdef EL3RST +/** + * Level 3 reset + * @var int + * @cvalue EL3RST + */ +const SOCKET_EL3RST = UNKNOWN; +#endif +#ifdef ELNRNG +/** + * Link number out of range + * @var int + * @cvalue ELNRNG + */ +const SOCKET_ELNRNG = UNKNOWN; +#endif +#ifdef EUNATCH +/** + * Protocol driver not attached + * @var int + * @cvalue EUNATCH + */ +const SOCKET_EUNATCH = UNKNOWN; +#endif +#ifdef ENOCSI +/** + * No CSI structure available + * @var int + * @cvalue ENOCSI + */ +const SOCKET_ENOCSI = UNKNOWN; +#endif +#ifdef EL2HLT +/** + * Level 2 halted + * @var int + * @cvalue EL2HLT + */ +const SOCKET_EL2HLT = UNKNOWN; +#endif +#ifdef EBADE +/** + * Invalid exchange + * @var int + * @cvalue EBADE + */ +const SOCKET_EBADE = UNKNOWN; +#endif +#ifdef EBADR +/** + * Invalid request descriptor + * @var int + * @cvalue EBADR + */ +const SOCKET_EBADR = UNKNOWN; +#endif +#ifdef EXFULL +/** + * Exchange full + * @var int + * @cvalue EXFULL + */ +const SOCKET_EXFULL = UNKNOWN; +#endif +#ifdef ENOANO +/** + * No anode + * @var int + * @cvalue ENOANO + */ +const SOCKET_ENOANO = UNKNOWN; +#endif +#ifdef EBADRQC +/** + * Invalid request code + * @var int + * @cvalue EBADRQC + */ +const SOCKET_EBADRQC = UNKNOWN; +#endif +#ifdef EBADSLT +/** + * Invalid slot + * @var int + * @cvalue EBADSLT + */ +const SOCKET_EBADSLT = UNKNOWN; +#endif +#ifdef ENOSTR +/** + * Device not a stream + * @var int + * @cvalue ENOSTR + */ +const SOCKET_ENOSTR = UNKNOWN; +#endif +#ifdef ENODATA +/** + * No data available + * @var int + * @cvalue ENODATA + */ +const SOCKET_ENODATA = UNKNOWN; +#endif +#ifdef ETIME +/** + * Timer expired + * @var int + * @cvalue ETIME + */ +const SOCKET_ETIME = UNKNOWN; +#endif +#ifdef ENOSR +/** + * Out of streams resources + * @var int + * @cvalue ENOSR + */ +const SOCKET_ENOSR = UNKNOWN; +#endif +#ifdef ENONET +/** + * Machine is not on the network + * @var int + * @cvalue ENONET + */ +const SOCKET_ENONET = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EREMOTE +/** + * Object is remote + * @var int + * @cvalue PHP_SOCKET_EREMOTE + */ +const SOCKET_EREMOTE = UNKNOWN; +#endif +#ifdef ENOLINK +/** + * Link has been severed + * @var int + * @cvalue ENOLINK + */ +const SOCKET_ENOLINK = UNKNOWN; +#endif +#ifdef EADV +/** + * Advertise error + * @var int + * @cvalue EADV + */ +const SOCKET_EADV = UNKNOWN; +#endif +#ifdef ESRMNT +/** + * Srmount error + * @var int + * @cvalue ESRMNT + */ +const SOCKET_ESRMNT = UNKNOWN; +#endif +#ifdef ECOMM +/** + * Communication error on send + * @var int + * @cvalue ECOMM + */ +const SOCKET_ECOMM = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EPROTO +/** + * Protocol error + * @var int + * @cvalue PHP_SOCKET_EPROTO + */ +const SOCKET_EPROTO = UNKNOWN; +#endif +#ifdef EMULTIHOP +/** + * Multihop attempted + * @var int + * @cvalue EMULTIHOP + */ +const SOCKET_EMULTIHOP = UNKNOWN; +#endif +#ifdef EBADMSG +/** + * Not a data message + * @var int + * @cvalue EBADMSG + */ +const SOCKET_EBADMSG = UNKNOWN; +#endif +#ifdef ENOTUNIQ +/** + * Name not unique on network + * @var int + * @cvalue ENOTUNIQ + */ +const SOCKET_ENOTUNIQ = UNKNOWN; +#endif +#ifdef EBADFD +/** + * File descriptor in bad state + * @var int + * @cvalue EBADFD + */ +const SOCKET_EBADFD = UNKNOWN; +#endif +#ifdef EREMCHG +/** + * Remote address changed + * @var int + * @cvalue EREMCHG + */ +const SOCKET_EREMCHG = UNKNOWN; +#endif +#ifdef ERESTART +/** + * Interrupted system call should be restarted + * @var int + * @cvalue ERESTART + */ +const SOCKET_ERESTART = UNKNOWN; +#endif +#ifdef ESTRPIPE +/** + * Streams pipe error + * @var int + * @cvalue ESTRPIPE + */ +const SOCKET_ESTRPIPE = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EUSERS +/** + * Too many users + * @var int + * @cvalue PHP_SOCKET_EUSERS + */ +const SOCKET_EUSERS = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENOTSOCK +/** + * Socket operation on non-socket + * @var int + * @cvalue PHP_SOCKET_ENOTSOCK + */ +const SOCKET_ENOTSOCK = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EDESTADDRREQ +/** + * Destination address required + * @var int + * @cvalue PHP_SOCKET_EDESTADDRREQ + */ +const SOCKET_EDESTADDRREQ = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EMSGSIZE +/** + * Message too long + * @var int + * @cvalue PHP_SOCKET_EMSGSIZE + */ +const SOCKET_EMSGSIZE = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EPROTOTYPE +/** + * Protocol wrong type for socket + * @var int + * @cvalue PHP_SOCKET_EPROTOTYPE + */ +const SOCKET_EPROTOTYPE = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENOPROTOOPT +/** + * Protocol not available + * @var int + * @cvalue PHP_SOCKET_ENOPROTOOPT + */ +const SOCKET_ENOPROTOOPT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EPROTONOSUPPORT +/** + * Protocol not supported + * @var int + * @cvalue PHP_SOCKET_EPROTONOSUPPORT + */ +const SOCKET_EPROTONOSUPPORT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ESOCKTNOSUPPORT +/** + * Socket type not supported + * @var int + * @cvalue PHP_SOCKET_ESOCKTNOSUPPORT + */ +const SOCKET_ESOCKTNOSUPPORT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EOPNOTSUPP +/** + * Operation not supported on transport endpoint + * @var int + * @cvalue PHP_SOCKET_EOPNOTSUPP + */ +const SOCKET_EOPNOTSUPP = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EPFNOSUPPORT +/** + * Protocol family not supported + * @var int + * @cvalue PHP_SOCKET_EPFNOSUPPORT + */ +const SOCKET_EPFNOSUPPORT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EAFNOSUPPORT +/** + * Address family not supported by protocol + * @var int + * @cvalue PHP_SOCKET_EAFNOSUPPORT + */ +const SOCKET_EAFNOSUPPORT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EADDRINUSE +/** + * Address already in use + * @var int + * @cvalue PHP_SOCKET_EADDRINUSE + */ +const SOCKET_EADDRINUSE = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EADDRNOTAVAIL +/** + * Cannot assign requested address + * @var int + * @cvalue PHP_SOCKET_EADDRNOTAVAIL + */ +const SOCKET_EADDRNOTAVAIL = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENETDOWN +/** + * Network is down + * @var int + * @cvalue PHP_SOCKET_ENETDOWN + */ +const SOCKET_ENETDOWN = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENETUNREACH +/** + * Network is unreachable + * @var int + * @cvalue PHP_SOCKET_ENETUNREACH + */ +const SOCKET_ENETUNREACH = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENETRESET +/** + * Network dropped connection because of reset + * @var int + * @cvalue PHP_SOCKET_ENETRESET + */ +const SOCKET_ENETRESET = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ECONNABORTED +/** + * Software caused connection abort + * @var int + * @cvalue PHP_SOCKET_ECONNABORTED + */ +const SOCKET_ECONNABORTED = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ECONNRESET +/** + * Connection reset by peer + * @var int + * @cvalue PHP_SOCKET_ECONNRESET + */ +const SOCKET_ECONNRESET = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENOBUFS +/** + * No buffer space available + * @var int + * @cvalue PHP_SOCKET_ENOBUFS + */ +const SOCKET_ENOBUFS = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EISCONN +/** + * Transport endpoint is already connected + * @var int + * @cvalue PHP_SOCKET_EISCONN + */ +const SOCKET_EISCONN = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ENOTCONN +/** + * Transport endpoint is not connected + * @var int + * @cvalue PHP_SOCKET_ENOTCONN + */ +const SOCKET_ENOTCONN = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ESHUTDOWN +/** + * Cannot send after transport endpoint shutdown + * @var int + * @cvalue PHP_SOCKET_ESHUTDOWN + */ +const SOCKET_ESHUTDOWN = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ETOOMANYREFS +/** + * Too many references: cannot splice + * @var int + * @cvalue PHP_SOCKET_ETOOMANYREFS + */ +const SOCKET_ETOOMANYREFS = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ETIMEDOUT +/** + * Connection timed out + * @var int + * @cvalue PHP_SOCKET_ETIMEDOUT + */ +const SOCKET_ETIMEDOUT = UNKNOWN; +#endif +#ifdef PHP_SOCKET_ECONNREFUSED +/** + * Connection refused + * @var int + * @cvalue PHP_SOCKET_ECONNREFUSED + */ +const SOCKET_ECONNREFUSED = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EHOSTDOWN +/** + * Host is down + * @var int + * @cvalue PHP_SOCKET_EHOSTDOWN + */ +const SOCKET_EHOSTDOWN = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EHOSTUNREACH +/** + * No route to host + * @var int + * @cvalue PHP_SOCKET_EHOSTUNREACH + */ +const SOCKET_EHOSTUNREACH = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EALREADY +/** + * Operation already in progress + * @var int + * @cvalue PHP_SOCKET_EALREADY + */ +const SOCKET_EALREADY = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EINPROGRESS +/** + * Operation now in progress + * @var int + * @cvalue PHP_SOCKET_EINPROGRESS + */ +const SOCKET_EINPROGRESS = UNKNOWN; +#endif +#ifdef EISNAM +/** + * Is a named type file + * @var int + * @cvalue EISNAM + */ +const SOCKET_EISNAM = UNKNOWN; +#endif +#ifdef EREMOTEIO +/** + * Remote I/O error + * @var int + * @cvalue EREMOTEIO + */ +const SOCKET_EREMOTEIO = UNKNOWN; +#endif +#ifdef PHP_SOCKET_EDQUOT +/** + * Quota exceeded + * @var int + * @cvalue PHP_SOCKET_EDQUOT + */ +const SOCKET_EDQUOT = UNKNOWN; +#endif +#ifdef ENOMEDIUM +/** + * No medium found + * @var int + * @cvalue ENOMEDIUM + */ +const SOCKET_ENOMEDIUM = UNKNOWN; +#endif +#ifdef EMEDIUMTYPE +/** + * Wrong medium type + * @var int + * @cvalue EMEDIUMTYPE + */ +const SOCKET_EMEDIUMTYPE = UNKNOWN; +#endif + +#ifdef WIN32 +/** + * @var int + * @cvalue WSAESTALE + */ +const SOCKET_ESTALE = UNKNOWN; +/** + * @var int + * @cvalue WSAEDISCON + */ +const SOCKET_EDISCON = UNKNOWN; +/** + * @var int + * @cvalue WSASYSNOTREADY + */ +const SOCKET_SYSNOTREADY = UNKNOWN; +/** + * @var int + * @cvalue WSAVERNOTSUPPORTED + */ +const SOCKET_VERNOTSUPPORTED = UNKNOWN; +/** + * @var int + * @cvalue WSANOTINITIALISED + */ +const SOCKET_NOTINITIALISED = UNKNOWN; +/** + * @var int + * @cvalue WSAHOST_NOT_FOUND + */ +const SOCKET_HOST_NOT_FOUND = UNKNOWN; +/** + * @var int + * @cvalue WSATRY_AGAIN + */ +const SOCKET_TRY_AGAIN = UNKNOWN; +/** + * @var int + * @cvalue WSANO_RECOVERY + */ +const SOCKET_NO_RECOVERY = UNKNOWN; +/** + * @var int + * @cvalue WSANO_DATA + */ +const SOCKET_NO_DATA = UNKNOWN; +/** + * @var int + * @cvalue WSANO_ADDRESS + */ +const SOCKET_NO_ADDRESS = UNKNOWN; +#endif + +/** + * @var int + * @cvalue IPPROTO_IP + */ +const IPPROTO_IP = UNKNOWN; +#if HAVE_IPV6 +/** + * @var int + * @cvalue IPPROTO_IPV6 + */ +const IPPROTO_IPV6 = UNKNOWN; +#endif + +/** + * @var int + * @cvalue IPPROTO_TCP + */ +const SOL_TCP = UNKNOWN; +/** + * @var int + * @cvalue IPPROTO_UDP + */ +const SOL_UDP = UNKNOWN; + +#if HAVE_IPV6 +/** + * @var int + * @cvalue IPV6_UNICAST_HOPS + */ +const IPV6_UNICAST_HOPS = UNKNOWN; +#endif + +/** + * @var int + * @cvalue AI_PASSIVE + */ +const AI_PASSIVE = UNKNOWN; +/** + * @var int + * @cvalue AI_CANONNAME + */ +const AI_CANONNAME = UNKNOWN; +/** + * @var int + * @cvalue AI_NUMERICHOST + */ +const AI_NUMERICHOST = UNKNOWN; +#if HAVE_AI_V4MAPPED +/** + * @var int + * @cvalue AI_V4MAPPED + */ +const AI_V4MAPPED = UNKNOWN; +#endif +#if HAVE_AI_ALL +/** + * @var int + * @cvalue AI_ALL + */ +const AI_ALL = UNKNOWN; +#endif +/** + * @var int + * @cvalue AI_ADDRCONFIG + */ +const AI_ADDRCONFIG = UNKNOWN; +#if HAVE_AI_IDN +/** + * @var int + * @cvalue AI_IDN + */ +const AI_IDN = UNKNOWN; +/** + * @var int + * @cvalue AI_CANONIDN + */ +const AI_CANONIDN = UNKNOWN; +#endif +#ifdef AI_NUMERICSERV +/** + * @var int + * @cvalue AI_NUMERICSERV + */ +const AI_NUMERICSERV = UNKNOWN; +#endif +#ifdef SOL_LOCAL +/** + * @var int + * @cvalue SOL_LOCAL + */ +const SOL_LOCAL = UNKNOWN; +#endif + +#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 +/** + * IPv6 ancillary data + * @var int + * @cvalue IPV6_RECVPKTINFO + */ +const IPV6_RECVPKTINFO = UNKNOWN; +/** + * @var int + * @cvalue IPV6_PKTINFO + */ +const IPV6_PKTINFO = UNKNOWN; +#endif +#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 +/** + * @var int + * @cvalue IPV6_RECVHOPLIMIT + */ +const IPV6_RECVHOPLIMIT = UNKNOWN; +/** + * @var int + * @cvalue IPV6_HOPLIMIT + */ +const IPV6_HOPLIMIT = UNKNOWN; +#endif + +#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 +/** + * @var int + * @cvalue IPV6_RECVTCLASS + */ +const IPV6_RECVTCLASS = UNKNOWN; +/** + * @var int + * @cvalue IPV6_TCLASS + */ +const IPV6_TCLASS = UNKNOWN; +#endif + +#ifdef SCM_RIGHTS +/** + * @var int + * @cvalue SCM_RIGHTS + */ +const SCM_RIGHTS = UNKNOWN; +#endif +#ifdef SO_PASSCRED +#ifdef SCM_CREDENTIALS +/** + * @var int + * @cvalue SCM_CREDENTIALS + */ +const SCM_CREDENTIALS = UNKNOWN; +#else +/** + * @var int + * @cvalue SCM_CREDS + */ +const SCM_CREDS = UNKNOWN; +#endif +/** + * @var int + * @cvalue SO_PASSCRED + */ +const SO_PASSCRED = UNKNOWN; +#endif +#if defined(LOCAL_CREDS_PERSISTENT) +/** + * @var int + * @cvalue SCM_CREDS2 + */ +const SCM_CREDS2 = UNKNOWN; +/** + * @var int + * @cvalue LOCAL_CREDS_PERSISTENT + */ +const LOCAL_CREDS_PERSISTENT = UNKNOWN; +#endif +#if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS)) +/** + * @var int + * @cvalue SCM_CREDS + */ +const SCM_CREDS = UNKNOWN; +/** + * @var int + * @cvalue LOCAL_CREDS + */ +const LOCAL_CREDS = UNKNOWN; +#endif + /** * @strict-properties * @not-serializable diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index 41ce30ec65299..462a59e5db710 100644 --- a/ext/sockets/sockets_arginfo.h +++ b/ext/sockets/sockets_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: bc0f8cd2cab1e077231ed74a9be15a88f5a08e4b */ + * Stub hash: f89c10cc9feb4c7c3d3fc5172412e9f0ffb476a4 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_select, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1) @@ -322,6 +322,653 @@ static const zend_function_entry class_AddressInfo_methods[] = { ZEND_FE_END }; +static void register_sockets_symbols(int module_number) +{ + REGISTER_LONG_CONSTANT("AF_UNIX", AF_UNIX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AF_INET", AF_INET, CONST_CS | CONST_PERSISTENT); +#if HAVE_IPV6 + REGISTER_LONG_CONSTANT("AF_INET6", AF_INET6, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SOCK_STREAM", SOCK_STREAM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_DGRAM", SOCK_DGRAM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_RAW", SOCK_RAW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_SEQPACKET", SOCK_SEQPACKET, CONST_CS | CONST_PERSISTENT); +#if defined(SOCK_RDM) + REGISTER_LONG_CONSTANT("SOCK_RDM", SOCK_RDM, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("MSG_OOB", MSG_OOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_WAITALL", MSG_WAITALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_CTRUNC", MSG_CTRUNC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_TRUNC", MSG_TRUNC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_PEEK", MSG_PEEK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_DONTROUTE", MSG_DONTROUTE, CONST_CS | CONST_PERSISTENT); +#if defined(MSG_EOR) + REGISTER_LONG_CONSTANT("MSG_EOR", MSG_EOR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_EOF) + REGISTER_LONG_CONSTANT("MSG_EOF", MSG_EOF, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_CONFIRM) + REGISTER_LONG_CONSTANT("MSG_CONFIRM", MSG_CONFIRM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_ERRQUEUE) + REGISTER_LONG_CONSTANT("MSG_ERRQUEUE", MSG_ERRQUEUE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_NOSIGNAL) + REGISTER_LONG_CONSTANT("MSG_NOSIGNAL", MSG_NOSIGNAL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_DONTWAIT) + REGISTER_LONG_CONSTANT("MSG_DONTWAIT", MSG_DONTWAIT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_MORE) + REGISTER_LONG_CONSTANT("MSG_MORE", MSG_MORE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_WAITFORONE) + REGISTER_LONG_CONSTANT("MSG_WAITFORONE", MSG_WAITFORONE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_CMSG_CLOEXEC) + REGISTER_LONG_CONSTANT("MSG_CMSG_CLOEXEC", MSG_CMSG_CLOEXEC, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(MSG_ZEROCOPY) + REGISTER_LONG_CONSTANT("MSG_ZEROCOPY", MSG_ZEROCOPY, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SO_DEBUG", SO_DEBUG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_REUSEADDR", SO_REUSEADDR, CONST_CS | CONST_PERSISTENT); +#if defined(SO_REUSEPORT) + REGISTER_LONG_CONSTANT("SO_REUSEPORT", SO_REUSEPORT, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SO_KEEPALIVE", SO_KEEPALIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_DONTROUTE", SO_DONTROUTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_LINGER", SO_LINGER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_BROADCAST", SO_BROADCAST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_OOBINLINE", SO_OOBINLINE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SNDBUF", SO_SNDBUF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RCVBUF", SO_RCVBUF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SNDLOWAT", SO_SNDLOWAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RCVLOWAT", SO_RCVLOWAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SNDTIMEO", SO_SNDTIMEO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RCVTIMEO", SO_RCVTIMEO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_TYPE", SO_TYPE, CONST_CS | CONST_PERSISTENT); +#if defined(SO_FAMILY) + REGISTER_LONG_CONSTANT("SO_FAMILY", SO_FAMILY, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SO_ERROR", SO_ERROR, CONST_CS | CONST_PERSISTENT); +#if defined(SO_BINDTODEVICE) + REGISTER_LONG_CONSTANT("SO_BINDTODEVICE", SO_BINDTODEVICE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_USER_COOKIE) + REGISTER_LONG_CONSTANT("SO_LABEL", SO_LABEL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_USER_COOKIE) + REGISTER_LONG_CONSTANT("SO_PEERLABEL", SO_PEERLABEL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_USER_COOKIE) + REGISTER_LONG_CONSTANT("SO_LISTENQLIMIT", SO_LISTENQLIMIT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_USER_COOKIE) + REGISTER_LONG_CONSTANT("SO_LISTENQLEN", SO_LISTENQLEN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_USER_COOKIE) + REGISTER_LONG_CONSTANT("SO_USER_COOKIE", SO_USER_COOKIE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_SETFIB) + REGISTER_LONG_CONSTANT("SO_SETFIB", SO_SETFIB, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_ACCEPTFILTER) + REGISTER_LONG_CONSTANT("SO_ACCEPTFILTER", SO_ACCEPTFILTER, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SOL_FILTER) + REGISTER_LONG_CONSTANT("SOL_FILTER", SOL_FILTER, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SOL_FILTER) + REGISTER_LONG_CONSTANT("FIL_ATTACH", FIL_ATTACH, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SOL_FILTER) + REGISTER_LONG_CONSTANT("FIL_DETACH", FIL_DETACH, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_DONTTRUNC) + REGISTER_LONG_CONSTANT("SO_DONTTRUNC", SO_DONTTRUNC, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_WANTMORE) + REGISTER_LONG_CONSTANT("SO_WANTMORE", SO_WANTMORE, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SOL_SOCKET", SOL_SOCKET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOMAXCONN", SOMAXCONN, CONST_CS | CONST_PERSISTENT); +#if defined(SO_MARK) + REGISTER_LONG_CONSTANT("SO_MARK", SO_MARK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_RTABLE) + REGISTER_LONG_CONSTANT("SO_RTABLE", SO_RTABLE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_INCOMING_CPU) + REGISTER_LONG_CONSTANT("SO_INCOMING_CPU", SO_INCOMING_CPU, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_MEMINFO) + REGISTER_LONG_CONSTANT("SO_MEMINFO", SO_MEMINFO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_BPF_EXTENSIONS) + REGISTER_LONG_CONSTANT("SO_BPF_EXTENSIONS", SO_BPF_EXTENSIONS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_OFF) + REGISTER_LONG_CONSTANT("SKF_AD_OFF", SKF_AD_OFF, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_PROTOCOL) + REGISTER_LONG_CONSTANT("SKF_AD_PROTOCOL", SKF_AD_PROTOCOL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_PKTTYPE) + REGISTER_LONG_CONSTANT("SKF_AD_PKTTYPE", SKF_AD_PKTTYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_IFINDEX) + REGISTER_LONG_CONSTANT("SKF_AD_IFINDEX", SKF_AD_IFINDEX, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_NLATTR) + REGISTER_LONG_CONSTANT("SKF_AD_NLATTR", SKF_AD_NLATTR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_NLATTR_NEST) + REGISTER_LONG_CONSTANT("SKF_AD_NLATTR_NEST", SKF_AD_NLATTR_NEST, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_MARK) + REGISTER_LONG_CONSTANT("SKF_AD_MARK", SKF_AD_MARK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_QUEUE) + REGISTER_LONG_CONSTANT("SKF_AD_QUEUE", SKF_AD_QUEUE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_HATYPE) + REGISTER_LONG_CONSTANT("SKF_AD_HATYPE", SKF_AD_HATYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_RXHASH) + REGISTER_LONG_CONSTANT("SKF_AD_RXHASH", SKF_AD_RXHASH, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_CPU) + REGISTER_LONG_CONSTANT("SKF_AD_CPU", SKF_AD_CPU, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_ALU_XOR_X) + REGISTER_LONG_CONSTANT("SKF_AD_ALU_XOR_X", SKF_AD_ALU_XOR_X, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_VLAN_TAG) + REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG", SKF_AD_VLAN_TAG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_VLAN_TAG_PRESENT) + REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG_PRESENT", SKF_AD_VLAN_TAG_PRESENT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_PAY_OFFSET) + REGISTER_LONG_CONSTANT("SKF_AD_PAY_OFFSET", SKF_AD_PAY_OFFSET, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_RANDOM) + REGISTER_LONG_CONSTANT("SKF_AD_RANDOM", SKF_AD_RANDOM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_VLAN_TPID) + REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TPID", SKF_AD_VLAN_TPID, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SKF_AD_MAX) + REGISTER_LONG_CONSTANT("SKF_AD_MAX", SKF_AD_MAX, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_CONGESTION) + REGISTER_LONG_CONSTANT("TCP_CONGESTION", TCP_CONGESTION, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_ZEROCOPY) + REGISTER_LONG_CONSTANT("SO_ZEROCOPY", SO_ZEROCOPY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_NODELAY) + REGISTER_LONG_CONSTANT("TCP_NODELAY", TCP_NODELAY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_NOTSENT_LOWAT) + REGISTER_LONG_CONSTANT("TCP_NOTSENT_LOWAT", TCP_NOTSENT_LOWAT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_DEFER_ACCEPT) + REGISTER_LONG_CONSTANT("TCP_DEFER_ACCEPT", TCP_DEFER_ACCEPT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_KEEPALIVE) + REGISTER_LONG_CONSTANT("TCP_KEEPALIVE", TCP_KEEPALIVE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_KEEPIDLE) + REGISTER_LONG_CONSTANT("TCP_KEEPIDLE", TCP_KEEPIDLE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_KEEPIDLE) + REGISTER_LONG_CONSTANT("TCP_KEEPINTVL", TCP_KEEPINTVL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(TCP_KEEPIDLE) + REGISTER_LONG_CONSTANT("TCP_KEEPCNT", TCP_KEEPCNT, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("PHP_NORMAL_READ", PHP_NORMAL_READ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_BINARY_READ", PHP_BINARY_READ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_JOIN_GROUP", PHP_MCAST_JOIN_GROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_LEAVE_GROUP", PHP_MCAST_LEAVE_GROUP, CONST_CS | CONST_PERSISTENT); +#if defined(HAS_MCAST_EXT) + REGISTER_LONG_CONSTANT("MCAST_BLOCK_SOURCE", PHP_MCAST_BLOCK_SOURCE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAS_MCAST_EXT) + REGISTER_LONG_CONSTANT("MCAST_UNBLOCK_SOURCE", PHP_MCAST_UNBLOCK_SOURCE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAS_MCAST_EXT) + REGISTER_LONG_CONSTANT("MCAST_JOIN_SOURCE_GROUP", PHP_MCAST_JOIN_SOURCE_GROUP, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAS_MCAST_EXT) + REGISTER_LONG_CONSTANT("MCAST_LEAVE_SOURCE_GROUP", PHP_MCAST_LEAVE_SOURCE_GROUP, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("IP_MULTICAST_IF", IP_MULTICAST_IF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IP_MULTICAST_TTL", IP_MULTICAST_TTL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IP_MULTICAST_LOOP", IP_MULTICAST_LOOP, CONST_CS | CONST_PERSISTENT); +#if HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_MULTICAST_IF", IPV6_MULTICAST_IF, CONST_CS | CONST_PERSISTENT); +#endif +#if HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_MULTICAST_HOPS", IPV6_MULTICAST_HOPS, CONST_CS | CONST_PERSISTENT); +#endif +#if HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_MULTICAST_LOOP", IPV6_MULTICAST_LOOP, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_V6ONLY) + REGISTER_LONG_CONSTANT("IPV6_V6ONLY", IPV6_V6ONLY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EPERM) + REGISTER_LONG_CONSTANT("SOCKET_EPERM", EPERM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOENT) + REGISTER_LONG_CONSTANT("SOCKET_ENOENT", ENOENT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EINTR) + REGISTER_LONG_CONSTANT("SOCKET_EINTR", PHP_SOCKET_EINTR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EIO) + REGISTER_LONG_CONSTANT("SOCKET_EIO", EIO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENXIO) + REGISTER_LONG_CONSTANT("SOCKET_ENXIO", ENXIO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(E2BIG) + REGISTER_LONG_CONSTANT("SOCKET_E2BIG", E2BIG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EBADF) + REGISTER_LONG_CONSTANT("SOCKET_EBADF", PHP_SOCKET_EBADF, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EAGAIN) + REGISTER_LONG_CONSTANT("SOCKET_EAGAIN", EAGAIN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOMEM) + REGISTER_LONG_CONSTANT("SOCKET_ENOMEM", ENOMEM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EACCES) + REGISTER_LONG_CONSTANT("SOCKET_EACCES", PHP_SOCKET_EACCES, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EFAULT) + REGISTER_LONG_CONSTANT("SOCKET_EFAULT", PHP_SOCKET_EFAULT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOTBLK) + REGISTER_LONG_CONSTANT("SOCKET_ENOTBLK", ENOTBLK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBUSY) + REGISTER_LONG_CONSTANT("SOCKET_EBUSY", EBUSY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EEXIST) + REGISTER_LONG_CONSTANT("SOCKET_EEXIST", EEXIST, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EXDEV) + REGISTER_LONG_CONSTANT("SOCKET_EXDEV", EXDEV, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENODEV) + REGISTER_LONG_CONSTANT("SOCKET_ENODEV", ENODEV, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOTDIR) + REGISTER_LONG_CONSTANT("SOCKET_ENOTDIR", ENOTDIR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EISDIR) + REGISTER_LONG_CONSTANT("SOCKET_EISDIR", EISDIR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EINVAL) + REGISTER_LONG_CONSTANT("SOCKET_EINVAL", PHP_SOCKET_EINVAL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENFILE) + REGISTER_LONG_CONSTANT("SOCKET_ENFILE", PHP_SOCKET_ENFILE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EMFILE) + REGISTER_LONG_CONSTANT("SOCKET_EMFILE", PHP_SOCKET_EMFILE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOTTY) + REGISTER_LONG_CONSTANT("SOCKET_ENOTTY", ENOTTY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOSPC) + REGISTER_LONG_CONSTANT("SOCKET_ENOSPC", ENOSPC, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ESPIPE) + REGISTER_LONG_CONSTANT("SOCKET_ESPIPE", ESPIPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EROFS) + REGISTER_LONG_CONSTANT("SOCKET_EROFS", EROFS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EMLINK) + REGISTER_LONG_CONSTANT("SOCKET_EMLINK", EMLINK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EPIPE) + REGISTER_LONG_CONSTANT("SOCKET_EPIPE", EPIPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENAMETOOLONG) + REGISTER_LONG_CONSTANT("SOCKET_ENAMETOOLONG", PHP_SOCKET_ENAMETOOLONG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOLCK) + REGISTER_LONG_CONSTANT("SOCKET_ENOLCK", ENOLCK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOSYS) + REGISTER_LONG_CONSTANT("SOCKET_ENOSYS", ENOSYS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENOTEMPTY) + REGISTER_LONG_CONSTANT("SOCKET_ENOTEMPTY", PHP_SOCKET_ENOTEMPTY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ELOOP) + REGISTER_LONG_CONSTANT("SOCKET_ELOOP", PHP_SOCKET_ELOOP, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EWOULDBLOCK) + REGISTER_LONG_CONSTANT("SOCKET_EWOULDBLOCK", PHP_SOCKET_EWOULDBLOCK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOMSG) + REGISTER_LONG_CONSTANT("SOCKET_ENOMSG", ENOMSG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EIDRM) + REGISTER_LONG_CONSTANT("SOCKET_EIDRM", EIDRM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ECHRNG) + REGISTER_LONG_CONSTANT("SOCKET_ECHRNG", ECHRNG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EL2NSYNC) + REGISTER_LONG_CONSTANT("SOCKET_EL2NSYNC", EL2NSYNC, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EL3HLT) + REGISTER_LONG_CONSTANT("SOCKET_EL3HLT", EL3HLT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EL3RST) + REGISTER_LONG_CONSTANT("SOCKET_EL3RST", EL3RST, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ELNRNG) + REGISTER_LONG_CONSTANT("SOCKET_ELNRNG", ELNRNG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EUNATCH) + REGISTER_LONG_CONSTANT("SOCKET_EUNATCH", EUNATCH, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOCSI) + REGISTER_LONG_CONSTANT("SOCKET_ENOCSI", ENOCSI, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EL2HLT) + REGISTER_LONG_CONSTANT("SOCKET_EL2HLT", EL2HLT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBADE) + REGISTER_LONG_CONSTANT("SOCKET_EBADE", EBADE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBADR) + REGISTER_LONG_CONSTANT("SOCKET_EBADR", EBADR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EXFULL) + REGISTER_LONG_CONSTANT("SOCKET_EXFULL", EXFULL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOANO) + REGISTER_LONG_CONSTANT("SOCKET_ENOANO", ENOANO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBADRQC) + REGISTER_LONG_CONSTANT("SOCKET_EBADRQC", EBADRQC, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBADSLT) + REGISTER_LONG_CONSTANT("SOCKET_EBADSLT", EBADSLT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOSTR) + REGISTER_LONG_CONSTANT("SOCKET_ENOSTR", ENOSTR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENODATA) + REGISTER_LONG_CONSTANT("SOCKET_ENODATA", ENODATA, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ETIME) + REGISTER_LONG_CONSTANT("SOCKET_ETIME", ETIME, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOSR) + REGISTER_LONG_CONSTANT("SOCKET_ENOSR", ENOSR, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENONET) + REGISTER_LONG_CONSTANT("SOCKET_ENONET", ENONET, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EREMOTE) + REGISTER_LONG_CONSTANT("SOCKET_EREMOTE", PHP_SOCKET_EREMOTE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOLINK) + REGISTER_LONG_CONSTANT("SOCKET_ENOLINK", ENOLINK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EADV) + REGISTER_LONG_CONSTANT("SOCKET_EADV", EADV, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ESRMNT) + REGISTER_LONG_CONSTANT("SOCKET_ESRMNT", ESRMNT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ECOMM) + REGISTER_LONG_CONSTANT("SOCKET_ECOMM", ECOMM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EPROTO) + REGISTER_LONG_CONSTANT("SOCKET_EPROTO", PHP_SOCKET_EPROTO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EMULTIHOP) + REGISTER_LONG_CONSTANT("SOCKET_EMULTIHOP", EMULTIHOP, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBADMSG) + REGISTER_LONG_CONSTANT("SOCKET_EBADMSG", EBADMSG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOTUNIQ) + REGISTER_LONG_CONSTANT("SOCKET_ENOTUNIQ", ENOTUNIQ, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EBADFD) + REGISTER_LONG_CONSTANT("SOCKET_EBADFD", EBADFD, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EREMCHG) + REGISTER_LONG_CONSTANT("SOCKET_EREMCHG", EREMCHG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ERESTART) + REGISTER_LONG_CONSTANT("SOCKET_ERESTART", ERESTART, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ESTRPIPE) + REGISTER_LONG_CONSTANT("SOCKET_ESTRPIPE", ESTRPIPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EUSERS) + REGISTER_LONG_CONSTANT("SOCKET_EUSERS", PHP_SOCKET_EUSERS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENOTSOCK) + REGISTER_LONG_CONSTANT("SOCKET_ENOTSOCK", PHP_SOCKET_ENOTSOCK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EDESTADDRREQ) + REGISTER_LONG_CONSTANT("SOCKET_EDESTADDRREQ", PHP_SOCKET_EDESTADDRREQ, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EMSGSIZE) + REGISTER_LONG_CONSTANT("SOCKET_EMSGSIZE", PHP_SOCKET_EMSGSIZE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EPROTOTYPE) + REGISTER_LONG_CONSTANT("SOCKET_EPROTOTYPE", PHP_SOCKET_EPROTOTYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENOPROTOOPT) + REGISTER_LONG_CONSTANT("SOCKET_ENOPROTOOPT", PHP_SOCKET_ENOPROTOOPT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EPROTONOSUPPORT) + REGISTER_LONG_CONSTANT("SOCKET_EPROTONOSUPPORT", PHP_SOCKET_EPROTONOSUPPORT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ESOCKTNOSUPPORT) + REGISTER_LONG_CONSTANT("SOCKET_ESOCKTNOSUPPORT", PHP_SOCKET_ESOCKTNOSUPPORT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EOPNOTSUPP) + REGISTER_LONG_CONSTANT("SOCKET_EOPNOTSUPP", PHP_SOCKET_EOPNOTSUPP, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EPFNOSUPPORT) + REGISTER_LONG_CONSTANT("SOCKET_EPFNOSUPPORT", PHP_SOCKET_EPFNOSUPPORT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EAFNOSUPPORT) + REGISTER_LONG_CONSTANT("SOCKET_EAFNOSUPPORT", PHP_SOCKET_EAFNOSUPPORT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EADDRINUSE) + REGISTER_LONG_CONSTANT("SOCKET_EADDRINUSE", PHP_SOCKET_EADDRINUSE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EADDRNOTAVAIL) + REGISTER_LONG_CONSTANT("SOCKET_EADDRNOTAVAIL", PHP_SOCKET_EADDRNOTAVAIL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENETDOWN) + REGISTER_LONG_CONSTANT("SOCKET_ENETDOWN", PHP_SOCKET_ENETDOWN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENETUNREACH) + REGISTER_LONG_CONSTANT("SOCKET_ENETUNREACH", PHP_SOCKET_ENETUNREACH, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENETRESET) + REGISTER_LONG_CONSTANT("SOCKET_ENETRESET", PHP_SOCKET_ENETRESET, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ECONNABORTED) + REGISTER_LONG_CONSTANT("SOCKET_ECONNABORTED", PHP_SOCKET_ECONNABORTED, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ECONNRESET) + REGISTER_LONG_CONSTANT("SOCKET_ECONNRESET", PHP_SOCKET_ECONNRESET, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENOBUFS) + REGISTER_LONG_CONSTANT("SOCKET_ENOBUFS", PHP_SOCKET_ENOBUFS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EISCONN) + REGISTER_LONG_CONSTANT("SOCKET_EISCONN", PHP_SOCKET_EISCONN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ENOTCONN) + REGISTER_LONG_CONSTANT("SOCKET_ENOTCONN", PHP_SOCKET_ENOTCONN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ESHUTDOWN) + REGISTER_LONG_CONSTANT("SOCKET_ESHUTDOWN", PHP_SOCKET_ESHUTDOWN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ETOOMANYREFS) + REGISTER_LONG_CONSTANT("SOCKET_ETOOMANYREFS", PHP_SOCKET_ETOOMANYREFS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ETIMEDOUT) + REGISTER_LONG_CONSTANT("SOCKET_ETIMEDOUT", PHP_SOCKET_ETIMEDOUT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_ECONNREFUSED) + REGISTER_LONG_CONSTANT("SOCKET_ECONNREFUSED", PHP_SOCKET_ECONNREFUSED, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EHOSTDOWN) + REGISTER_LONG_CONSTANT("SOCKET_EHOSTDOWN", PHP_SOCKET_EHOSTDOWN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EHOSTUNREACH) + REGISTER_LONG_CONSTANT("SOCKET_EHOSTUNREACH", PHP_SOCKET_EHOSTUNREACH, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EALREADY) + REGISTER_LONG_CONSTANT("SOCKET_EALREADY", PHP_SOCKET_EALREADY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EINPROGRESS) + REGISTER_LONG_CONSTANT("SOCKET_EINPROGRESS", PHP_SOCKET_EINPROGRESS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EISNAM) + REGISTER_LONG_CONSTANT("SOCKET_EISNAM", EISNAM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EREMOTEIO) + REGISTER_LONG_CONSTANT("SOCKET_EREMOTEIO", EREMOTEIO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(PHP_SOCKET_EDQUOT) + REGISTER_LONG_CONSTANT("SOCKET_EDQUOT", PHP_SOCKET_EDQUOT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(ENOMEDIUM) + REGISTER_LONG_CONSTANT("SOCKET_ENOMEDIUM", ENOMEDIUM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(EMEDIUMTYPE) + REGISTER_LONG_CONSTANT("SOCKET_EMEDIUMTYPE", EMEDIUMTYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_ESTALE", WSAESTALE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_EDISCON", WSAEDISCON, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_SYSNOTREADY", WSASYSNOTREADY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_VERNOTSUPPORTED", WSAVERNOTSUPPORTED, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_NOTINITIALISED", WSANOTINITIALISED, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_HOST_NOT_FOUND", WSAHOST_NOT_FOUND, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_TRY_AGAIN", WSATRY_AGAIN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_NO_RECOVERY", WSANO_RECOVERY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_NO_DATA", WSANO_DATA, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(WIN32) + REGISTER_LONG_CONSTANT("SOCKET_NO_ADDRESS", WSANO_ADDRESS, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("IPPROTO_IP", IPPROTO_IP, CONST_CS | CONST_PERSISTENT); +#if HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPPROTO_IPV6", IPPROTO_IPV6, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SOL_TCP", IPPROTO_TCP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOL_UDP", IPPROTO_UDP, CONST_CS | CONST_PERSISTENT); +#if HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_UNICAST_HOPS", IPV6_UNICAST_HOPS, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("AI_PASSIVE", AI_PASSIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_CANONNAME", AI_CANONNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_NUMERICHOST", AI_NUMERICHOST, CONST_CS | CONST_PERSISTENT); +#if HAVE_AI_V4MAPPED + REGISTER_LONG_CONSTANT("AI_V4MAPPED", AI_V4MAPPED, CONST_CS | CONST_PERSISTENT); +#endif +#if HAVE_AI_ALL + REGISTER_LONG_CONSTANT("AI_ALL", AI_ALL, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("AI_ADDRCONFIG", AI_ADDRCONFIG, CONST_CS | CONST_PERSISTENT); +#if HAVE_AI_IDN + REGISTER_LONG_CONSTANT("AI_IDN", AI_IDN, CONST_CS | CONST_PERSISTENT); +#endif +#if HAVE_AI_IDN + REGISTER_LONG_CONSTANT("AI_CANONIDN", AI_CANONIDN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(AI_NUMERICSERV) + REGISTER_LONG_CONSTANT("AI_NUMERICSERV", AI_NUMERICSERV, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SOL_LOCAL) + REGISTER_LONG_CONSTANT("SOL_LOCAL", SOL_LOCAL, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_RECVPKTINFO", IPV6_RECVPKTINFO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_PKTINFO", IPV6_PKTINFO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_RECVHOPLIMIT", IPV6_RECVHOPLIMIT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_HOPLIMIT", IPV6_HOPLIMIT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_RECVTCLASS", IPV6_RECVTCLASS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 + REGISTER_LONG_CONSTANT("IPV6_TCLASS", IPV6_TCLASS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SCM_RIGHTS) + REGISTER_LONG_CONSTANT("SCM_RIGHTS", SCM_RIGHTS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_PASSCRED) && defined(SCM_CREDENTIALS) + REGISTER_LONG_CONSTANT("SCM_CREDENTIALS", SCM_CREDENTIALS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_PASSCRED) && !(defined(SCM_CREDENTIALS)) + REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(SO_PASSCRED) + REGISTER_LONG_CONSTANT("SO_PASSCRED", SO_PASSCRED, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(LOCAL_CREDS_PERSISTENT) + REGISTER_LONG_CONSTANT("SCM_CREDS2", SCM_CREDS2, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(LOCAL_CREDS_PERSISTENT) + REGISTER_LONG_CONSTANT("LOCAL_CREDS_PERSISTENT", LOCAL_CREDS_PERSISTENT, CONST_CS | CONST_PERSISTENT); +#endif +#if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS)) + REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_CS | CONST_PERSISTENT); +#endif +#if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS)) + REGISTER_LONG_CONSTANT("LOCAL_CREDS", LOCAL_CREDS, CONST_CS | CONST_PERSISTENT); +#endif +} + static zend_class_entry *register_class_Socket(void) { zend_class_entry ce, *class_entry; diff --git a/ext/sockets/unix_socket_constants.h b/ext/sockets/unix_socket_constants.h deleted file mode 100644 index 27b51ae0c3268..0000000000000 --- a/ext/sockets/unix_socket_constants.h +++ /dev/null @@ -1,422 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | Copyright (c) The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Jason Greene | - +----------------------------------------------------------------------+ -*/ - -/* This file is to be included by sockets.c */ - -#ifdef EPERM - /* Operation not permitted */ - REGISTER_LONG_CONSTANT("SOCKET_EPERM", EPERM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOENT - /* No such file or directory */ - REGISTER_LONG_CONSTANT("SOCKET_ENOENT", ENOENT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EINTR - /* Interrupted system call */ - REGISTER_LONG_CONSTANT("SOCKET_EINTR", EINTR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EIO - /* I/O error */ - REGISTER_LONG_CONSTANT("SOCKET_EIO", EIO, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENXIO - /* No such device or address */ - REGISTER_LONG_CONSTANT("SOCKET_ENXIO", ENXIO, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef E2BIG - /* Arg list too long */ - REGISTER_LONG_CONSTANT("SOCKET_E2BIG", E2BIG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADF - /* Bad file number */ - REGISTER_LONG_CONSTANT("SOCKET_EBADF", EBADF, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EAGAIN - /* Try again */ - REGISTER_LONG_CONSTANT("SOCKET_EAGAIN", EAGAIN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOMEM - /* Out of memory */ - REGISTER_LONG_CONSTANT("SOCKET_ENOMEM", ENOMEM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EACCES - /* Permission denied */ - REGISTER_LONG_CONSTANT("SOCKET_EACCES", EACCES, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EFAULT - /* Bad address */ - REGISTER_LONG_CONSTANT("SOCKET_EFAULT", EFAULT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTBLK - /* Block device required */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTBLK", ENOTBLK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBUSY - /* Device or resource busy */ - REGISTER_LONG_CONSTANT("SOCKET_EBUSY", EBUSY, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EEXIST - /* File exists */ - REGISTER_LONG_CONSTANT("SOCKET_EEXIST", EEXIST, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EXDEV - /* Cross-device link */ - REGISTER_LONG_CONSTANT("SOCKET_EXDEV", EXDEV, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENODEV - /* No such device */ - REGISTER_LONG_CONSTANT("SOCKET_ENODEV", ENODEV, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTDIR - /* Not a directory */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTDIR", ENOTDIR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EISDIR - /* Is a directory */ - REGISTER_LONG_CONSTANT("SOCKET_EISDIR", EISDIR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EINVAL - /* Invalid argument */ - REGISTER_LONG_CONSTANT("SOCKET_EINVAL", EINVAL, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENFILE - /* File table overflow */ - REGISTER_LONG_CONSTANT("SOCKET_ENFILE", ENFILE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EMFILE - /* Too many open files */ - REGISTER_LONG_CONSTANT("SOCKET_EMFILE", EMFILE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTTY - /* Not a typewriter */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTTY", ENOTTY, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOSPC - /* No space left on device */ - REGISTER_LONG_CONSTANT("SOCKET_ENOSPC", ENOSPC, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ESPIPE - /* Illegal seek */ - REGISTER_LONG_CONSTANT("SOCKET_ESPIPE", ESPIPE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EROFS - /* Read-only file system */ - REGISTER_LONG_CONSTANT("SOCKET_EROFS", EROFS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EMLINK - /* Too many links */ - REGISTER_LONG_CONSTANT("SOCKET_EMLINK", EMLINK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EPIPE - /* Broken pipe */ - REGISTER_LONG_CONSTANT("SOCKET_EPIPE", EPIPE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENAMETOOLONG - /* File name too long */ - REGISTER_LONG_CONSTANT("SOCKET_ENAMETOOLONG", ENAMETOOLONG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOLCK - /* No record locks available */ - REGISTER_LONG_CONSTANT("SOCKET_ENOLCK", ENOLCK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOSYS - /* Function not implemented */ - REGISTER_LONG_CONSTANT("SOCKET_ENOSYS", ENOSYS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTEMPTY - /* Directory not empty */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTEMPTY", ENOTEMPTY, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ELOOP - /* Too many symbolic links encountered */ - REGISTER_LONG_CONSTANT("SOCKET_ELOOP", ELOOP, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EWOULDBLOCK - /* Operation would block */ - REGISTER_LONG_CONSTANT("SOCKET_EWOULDBLOCK", EWOULDBLOCK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOMSG - /* No message of desired type */ - REGISTER_LONG_CONSTANT("SOCKET_ENOMSG", ENOMSG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EIDRM - /* Identifier removed */ - REGISTER_LONG_CONSTANT("SOCKET_EIDRM", EIDRM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ECHRNG - /* Channel number out of range */ - REGISTER_LONG_CONSTANT("SOCKET_ECHRNG", ECHRNG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EL2NSYNC - /* Level 2 not synchronized */ - REGISTER_LONG_CONSTANT("SOCKET_EL2NSYNC", EL2NSYNC, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EL3HLT - /* Level 3 halted */ - REGISTER_LONG_CONSTANT("SOCKET_EL3HLT", EL3HLT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EL3RST - /* Level 3 reset */ - REGISTER_LONG_CONSTANT("SOCKET_EL3RST", EL3RST, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ELNRNG - /* Link number out of range */ - REGISTER_LONG_CONSTANT("SOCKET_ELNRNG", ELNRNG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EUNATCH - /* Protocol driver not attached */ - REGISTER_LONG_CONSTANT("SOCKET_EUNATCH", EUNATCH, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOCSI - /* No CSI structure available */ - REGISTER_LONG_CONSTANT("SOCKET_ENOCSI", ENOCSI, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EL2HLT - /* Level 2 halted */ - REGISTER_LONG_CONSTANT("SOCKET_EL2HLT", EL2HLT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADE - /* Invalid exchange */ - REGISTER_LONG_CONSTANT("SOCKET_EBADE", EBADE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADR - /* Invalid request descriptor */ - REGISTER_LONG_CONSTANT("SOCKET_EBADR", EBADR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EXFULL - /* Exchange full */ - REGISTER_LONG_CONSTANT("SOCKET_EXFULL", EXFULL, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOANO - /* No anode */ - REGISTER_LONG_CONSTANT("SOCKET_ENOANO", ENOANO, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADRQC - /* Invalid request code */ - REGISTER_LONG_CONSTANT("SOCKET_EBADRQC", EBADRQC, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADSLT - /* Invalid slot */ - REGISTER_LONG_CONSTANT("SOCKET_EBADSLT", EBADSLT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOSTR - /* Device not a stream */ - REGISTER_LONG_CONSTANT("SOCKET_ENOSTR", ENOSTR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENODATA - /* No data available */ - REGISTER_LONG_CONSTANT("SOCKET_ENODATA", ENODATA, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ETIME - /* Timer expired */ - REGISTER_LONG_CONSTANT("SOCKET_ETIME", ETIME, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOSR - /* Out of streams resources */ - REGISTER_LONG_CONSTANT("SOCKET_ENOSR", ENOSR, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENONET - /* Machine is not on the network */ - REGISTER_LONG_CONSTANT("SOCKET_ENONET", ENONET, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EREMOTE - /* Object is remote */ - REGISTER_LONG_CONSTANT("SOCKET_EREMOTE", EREMOTE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOLINK - /* Link has been severed */ - REGISTER_LONG_CONSTANT("SOCKET_ENOLINK", ENOLINK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EADV - /* Advertise error */ - REGISTER_LONG_CONSTANT("SOCKET_EADV", EADV, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ESRMNT - /* Srmount error */ - REGISTER_LONG_CONSTANT("SOCKET_ESRMNT", ESRMNT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ECOMM - /* Communication error on send */ - REGISTER_LONG_CONSTANT("SOCKET_ECOMM", ECOMM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EPROTO - /* Protocol error */ - REGISTER_LONG_CONSTANT("SOCKET_EPROTO", EPROTO, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EMULTIHOP - /* Multihop attempted */ - REGISTER_LONG_CONSTANT("SOCKET_EMULTIHOP", EMULTIHOP, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADMSG - /* Not a data message */ - REGISTER_LONG_CONSTANT("SOCKET_EBADMSG", EBADMSG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTUNIQ - /* Name not unique on network */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTUNIQ", ENOTUNIQ, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EBADFD - /* File descriptor in bad state */ - REGISTER_LONG_CONSTANT("SOCKET_EBADFD", EBADFD, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EREMCHG - /* Remote address changed */ - REGISTER_LONG_CONSTANT("SOCKET_EREMCHG", EREMCHG, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ERESTART - /* Interrupted system call should be restarted */ - REGISTER_LONG_CONSTANT("SOCKET_ERESTART", ERESTART, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ESTRPIPE - /* Streams pipe error */ - REGISTER_LONG_CONSTANT("SOCKET_ESTRPIPE", ESTRPIPE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EUSERS - /* Too many users */ - REGISTER_LONG_CONSTANT("SOCKET_EUSERS", EUSERS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTSOCK - /* Socket operation on non-socket */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTSOCK", ENOTSOCK, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EDESTADDRREQ - /* Destination address required */ - REGISTER_LONG_CONSTANT("SOCKET_EDESTADDRREQ", EDESTADDRREQ, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EMSGSIZE - /* Message too long */ - REGISTER_LONG_CONSTANT("SOCKET_EMSGSIZE", EMSGSIZE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EPROTOTYPE - /* Protocol wrong type for socket */ - REGISTER_LONG_CONSTANT("SOCKET_EPROTOTYPE", EPROTOTYPE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOPROTOOPT - /* Protocol not available */ - REGISTER_LONG_CONSTANT("SOCKET_ENOPROTOOPT", ENOPROTOOPT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EPROTONOSUPPORT - /* Protocol not supported */ - REGISTER_LONG_CONSTANT("SOCKET_EPROTONOSUPPORT", EPROTONOSUPPORT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ESOCKTNOSUPPORT - /* Socket type not supported */ - REGISTER_LONG_CONSTANT("SOCKET_ESOCKTNOSUPPORT", ESOCKTNOSUPPORT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EOPNOTSUPP - /* Operation not supported on transport endpoint */ - REGISTER_LONG_CONSTANT("SOCKET_EOPNOTSUPP", EOPNOTSUPP, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EPFNOSUPPORT - /* Protocol family not supported */ - REGISTER_LONG_CONSTANT("SOCKET_EPFNOSUPPORT", EPFNOSUPPORT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EAFNOSUPPORT - /* Address family not supported by protocol */ - REGISTER_LONG_CONSTANT("SOCKET_EAFNOSUPPORT", EAFNOSUPPORT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EADDRINUSE - /* Address already in use */ - REGISTER_LONG_CONSTANT("SOCKET_EADDRINUSE", EADDRINUSE, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EADDRNOTAVAIL - /* Cannot assign requested address */ - REGISTER_LONG_CONSTANT("SOCKET_EADDRNOTAVAIL", EADDRNOTAVAIL, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENETDOWN - /* Network is down */ - REGISTER_LONG_CONSTANT("SOCKET_ENETDOWN", ENETDOWN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENETUNREACH - /* Network is unreachable */ - REGISTER_LONG_CONSTANT("SOCKET_ENETUNREACH", ENETUNREACH, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENETRESET - /* Network dropped connection because of reset */ - REGISTER_LONG_CONSTANT("SOCKET_ENETRESET", ENETRESET, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ECONNABORTED - /* Software caused connection abort */ - REGISTER_LONG_CONSTANT("SOCKET_ECONNABORTED", ECONNABORTED, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ECONNRESET - /* Connection reset by peer */ - REGISTER_LONG_CONSTANT("SOCKET_ECONNRESET", ECONNRESET, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOBUFS - /* No buffer space available */ - REGISTER_LONG_CONSTANT("SOCKET_ENOBUFS", ENOBUFS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EISCONN - /* Transport endpoint is already connected */ - REGISTER_LONG_CONSTANT("SOCKET_EISCONN", EISCONN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOTCONN - /* Transport endpoint is not connected */ - REGISTER_LONG_CONSTANT("SOCKET_ENOTCONN", ENOTCONN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ESHUTDOWN - /* Cannot send after transport endpoint shutdown */ - REGISTER_LONG_CONSTANT("SOCKET_ESHUTDOWN", ESHUTDOWN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ETOOMANYREFS - /* Too many references: cannot splice */ - REGISTER_LONG_CONSTANT("SOCKET_ETOOMANYREFS", ETOOMANYREFS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ETIMEDOUT - /* Connection timed out */ - REGISTER_LONG_CONSTANT("SOCKET_ETIMEDOUT", ETIMEDOUT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ECONNREFUSED - /* Connection refused */ - REGISTER_LONG_CONSTANT("SOCKET_ECONNREFUSED", ECONNREFUSED, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EHOSTDOWN - /* Host is down */ - REGISTER_LONG_CONSTANT("SOCKET_EHOSTDOWN", EHOSTDOWN, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EHOSTUNREACH - /* No route to host */ - REGISTER_LONG_CONSTANT("SOCKET_EHOSTUNREACH", EHOSTUNREACH, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EALREADY - /* Operation already in progress */ - REGISTER_LONG_CONSTANT("SOCKET_EALREADY", EALREADY, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EINPROGRESS - /* Operation now in progress */ - REGISTER_LONG_CONSTANT("SOCKET_EINPROGRESS", EINPROGRESS, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EISNAM - /* Is a named type file */ - REGISTER_LONG_CONSTANT("SOCKET_EISNAM", EISNAM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EREMOTEIO - /* Remote I/O error */ - REGISTER_LONG_CONSTANT("SOCKET_EREMOTEIO", EREMOTEIO, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EDQUOT - /* Quota exceeded */ - REGISTER_LONG_CONSTANT("SOCKET_EDQUOT", EDQUOT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef ENOMEDIUM - /* No medium found */ - REGISTER_LONG_CONSTANT("SOCKET_ENOMEDIUM", ENOMEDIUM, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef EMEDIUMTYPE - /* Wrong medium type */ - REGISTER_LONG_CONSTANT("SOCKET_EMEDIUMTYPE", EMEDIUMTYPE, CONST_CS | CONST_PERSISTENT); -#endif diff --git a/ext/sockets/win32_socket_constants.h b/ext/sockets/win32_socket_constants.h deleted file mode 100644 index bb8a10713e0f4..0000000000000 --- a/ext/sockets/win32_socket_constants.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | Copyright (c) The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Jason Greene | - +----------------------------------------------------------------------+ -*/ - -/* This file is to be included by sockets.c */ - -REGISTER_LONG_CONSTANT("SOCKET_EINTR", WSAEINTR, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EBADF", WSAEBADF, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EACCES", WSAEACCES, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EFAULT", WSAEFAULT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EINVAL", WSAEINVAL, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EMFILE", WSAEMFILE, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EWOULDBLOCK", WSAEWOULDBLOCK, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EINPROGRESS", WSAEINPROGRESS, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EALREADY", WSAEALREADY, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENOTSOCK", WSAENOTSOCK, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EDESTADDRREQ", WSAEDESTADDRREQ, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EMSGSIZE", WSAEMSGSIZE, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EPROTOTYPE", WSAEPROTOTYPE, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENOPROTOOPT", WSAENOPROTOOPT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EPROTONOSUPPORT", WSAEPROTONOSUPPORT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EOPNOTSUPP", WSAEOPNOTSUPP, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EPFNOSUPPORT", WSAEPFNOSUPPORT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EAFNOSUPPORT", WSAEAFNOSUPPORT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EADDRINUSE", WSAEADDRINUSE, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EADDRNOTAVAIL", WSAEADDRNOTAVAIL, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENETDOWN", WSAENETDOWN, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENETUNREACH", WSAENETUNREACH, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENETRESET", WSAENETRESET, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ECONNABORTED", WSAECONNABORTED, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ECONNRESET", WSAECONNRESET, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENOBUFS", WSAENOBUFS, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EISCONN", WSAEISCONN, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENOTCONN", WSAENOTCONN, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ESHUTDOWN", WSAESHUTDOWN, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ETOOMANYREFS", WSAETOOMANYREFS, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ETIMEDOUT", WSAETIMEDOUT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ECONNREFUSED", WSAECONNREFUSED, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ELOOP", WSAELOOP, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENAMETOOLONG", WSAENAMETOOLONG, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EHOSTDOWN", WSAEHOSTDOWN, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EHOSTUNREACH", WSAEHOSTUNREACH, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ENOTEMPTY", WSAENOTEMPTY, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EPROCLIM", WSAEPROCLIM, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EUSERS", WSAEUSERS, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EDQUOT", WSAEDQUOT, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_ESTALE", WSAESTALE, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EREMOTE", WSAEREMOTE, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_EDISCON", WSAEDISCON, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_SYSNOTREADY", WSASYSNOTREADY, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_VERNOTSUPPORTED", WSAVERNOTSUPPORTED, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_NOTINITIALISED", WSANOTINITIALISED, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_HOST_NOT_FOUND", WSAHOST_NOT_FOUND, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_TRY_AGAIN", WSATRY_AGAIN, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_NO_RECOVERY", WSANO_RECOVERY, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_NO_DATA", WSANO_DATA, CONST_CS | CONST_PERSISTENT); -REGISTER_LONG_CONSTANT("SOCKET_NO_ADDRESS", WSANO_ADDRESS, CONST_CS | CONST_PERSISTENT); From aeccb139c3566c0c177a7cd52471f5c2f14d1bf9 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 3 Aug 2022 09:21:36 +0200 Subject: [PATCH 072/229] Use new encoding conversion filters for mb_parse_str and php_mb_post_handler When micro-benchmarking on relatively short ASCII strings, the new implementation was about 30% faster than the old one. --- ext/mbstring/mb_gpc.c | 99 ++++++++-------------- ext/mbstring/tests/mb_parse_str_error.phpt | 30 +++++++ 2 files changed, 63 insertions(+), 66 deletions(-) create mode 100644 ext/mbstring/tests/mb_parse_str_error.phpt diff --git a/ext/mbstring/mb_gpc.c b/ext/mbstring/mb_gpc.c index cc87543357609..4d706e9aa66ba 100644 --- a/ext/mbstring/mb_gpc.c +++ b/ext/mbstring/mb_gpc.c @@ -27,7 +27,6 @@ #include "main/php_output.h" #include "ext/standard/info.h" -#include "php_variables.h" #include "php_globals.h" #include "rfc1867.h" #include "php_content_types.h" @@ -173,33 +172,23 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data) /* }}} */ /* {{{ mbfl_no_encoding _php_mb_encoding_handler_ex() */ -const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_info_t *info, zval *arg, char *res) +const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_info_t *info, zval *array_ptr, char *res) { char *var, *val; - const char *s1, *s2; char *strtok_buf = NULL, **val_list = NULL; - zval *array_ptr = (zval *) arg; - size_t n, num, *len_list = NULL; - size_t val_len, new_val_len; - mbfl_string string, resvar, resval; + size_t n, num = 1, *len_list = NULL; + size_t new_val_len; const mbfl_encoding *from_encoding = NULL; mbfl_encoding_detector *identd = NULL; - mbfl_buffer_converter *convd = NULL; - - mbfl_string_init_set(&string, info->to_encoding); - mbfl_string_init_set(&resvar, info->to_encoding); - mbfl_string_init_set(&resval, info->to_encoding); if (!res || *res == '\0') { goto out; } - /* count the variables(separators) contained in the "res". - * separator may contain multiple separator chars. - */ - num = 1; - for (s1=res; *s1 != '\0'; s1++) { - for (s2=info->separator; *s2 != '\0'; s2++) { + /* count variables contained in `res`. + * separator may contain multiple separator chars; ANY of them demarcate variables */ + for (char *s1 = res; *s1; s1++) { + for (const char *s2 = info->separator; *s2; s2++) { if (*s1 == *s2) { num++; } @@ -212,7 +201,6 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i /* split and decode the query */ n = 0; - strtok_buf = NULL; var = php_strtok_r(res, info->separator, &strtok_buf); while (var) { val = strchr(var, '='); @@ -255,6 +243,7 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i if (identd != NULL) { n = 0; while (n < num) { + mbfl_string string; string.val = (unsigned char *)val_list[n]; string.len = len_list[n]; if (mbfl_encoding_detector_feed(identd, &string)) { @@ -273,62 +262,40 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i } } - convd = NULL; - if (from_encoding != &mbfl_encoding_pass) { - convd = mbfl_buffer_converter_new(from_encoding, info->to_encoding, 0); - if (convd != NULL) { - mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode)); - mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar)); - } else { - if (info->report_errors) { - php_error_docref(NULL, E_WARNING, "Unable to create converter"); - } - goto out; - } - } - /* convert encoding */ - string.encoding = from_encoding; - n = 0; while (n < num) { - string.val = (unsigned char *)val_list[n]; - string.len = len_list[n]; - if (convd != NULL && mbfl_buffer_converter_feed_result(convd, &string, &resvar) != NULL) { - var = (char *)resvar.val; - } else { - var = val_list[n]; - } - n++; - string.val = (unsigned char *)val_list[n]; - string.len = len_list[n]; - if (convd != NULL && mbfl_buffer_converter_feed_result(convd, &string, &resval) != NULL) { - val = (char *)resval.val; - val_len = resval.len; + if (from_encoding != &mbfl_encoding_pass && info->to_encoding != &mbfl_encoding_pass) { + unsigned int num_errors = 0; + zend_string *converted_var = mb_fast_convert((unsigned char*)val_list[n], len_list[n], from_encoding, info->to_encoding, MBSTRG(current_filter_illegal_substchar), MBSTRG(current_filter_illegal_mode), &num_errors); + MBSTRG(illegalchars) += num_errors; + n++; + + num_errors = 0; + zend_string *converted_val = mb_fast_convert((unsigned char*)val_list[n], len_list[n], from_encoding, info->to_encoding, MBSTRG(current_filter_illegal_substchar), MBSTRG(current_filter_illegal_mode), &num_errors); + MBSTRG(illegalchars) += num_errors; + n++; + + /* `val` must be a pointer returned by `emalloc` */ + val = estrndup(ZSTR_VAL(converted_val), ZSTR_LEN(converted_val)); + if (sapi_module.input_filter(info->data_type, ZSTR_VAL(converted_var), &val, ZSTR_LEN(converted_val), &new_val_len)) { + /* add variable to symbol table */ + php_register_variable_safe(ZSTR_VAL(converted_var), val, new_val_len, array_ptr); + } + zend_string_free(converted_var); + zend_string_free(converted_val); } else { - val = val_list[n]; - val_len = len_list[n]; - } - n++; - /* we need val to be emalloc()ed */ - val = estrndup(val, val_len); - if (sapi_module.input_filter(info->data_type, var, &val, val_len, &new_val_len)) { - /* add variable to symbol table */ - php_register_variable_safe(var, val, new_val_len, array_ptr); + var = val_list[n++]; + val = estrndup(val_list[n], len_list[n]); + if (sapi_module.input_filter(info->data_type, var, &val, len_list[n], &new_val_len)) { + php_register_variable_safe(var, val, new_val_len, array_ptr); + } + n++; } efree(val); - - if (convd != NULL){ - mbfl_string_clear(&resvar); - mbfl_string_clear(&resval); - } } out: - if (convd != NULL) { - MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd); - mbfl_buffer_converter_delete(convd); - } if (val_list != NULL) { efree((void *)val_list); } diff --git a/ext/mbstring/tests/mb_parse_str_error.phpt b/ext/mbstring/tests/mb_parse_str_error.phpt new file mode 100644 index 0000000000000..43d8e626aafbc --- /dev/null +++ b/ext/mbstring/tests/mb_parse_str_error.phpt @@ -0,0 +1,30 @@ +--TEST-- +mb_parse_str() error handling +--EXTENSIONS-- +mbstring +--FILE-- + $value) { + echo bin2hex($key) . "=>" . bin2hex($value) . "\n"; + } +} + +?> +--EXPECT-- +Query: 808080 +3f3f3f=> +Query: ff3dff +3f=>3f From 8df515555b64104ef290ff11beb1cbecc6f949b7 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 3 Aug 2022 19:40:46 +0200 Subject: [PATCH 073/229] Remove unused 'to_language' and 'from_language' struct fields --- ext/mbstring/mb_gpc.c | 8 ++------ ext/mbstring/mb_gpc.h | 4 +--- ext/mbstring/mbstring.c | 4 +--- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/ext/mbstring/mb_gpc.c b/ext/mbstring/mb_gpc.c index 4d706e9aa66ba..99a8ff903a1e4 100644 --- a/ext/mbstring/mb_gpc.c +++ b/ext/mbstring/mb_gpc.c @@ -132,12 +132,10 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data) info.data_type = arg; info.separator = separator; - info.report_errors = 0; + info.report_errors = false; info.to_encoding = MBSTRG(internal_encoding); - info.to_language = MBSTRG(language); info.from_encodings = MBSTRG(http_input_list); info.num_from_encodings = MBSTRG(http_input_list_size); - info.from_language = MBSTRG(language); MBSTRG(illegalchars) = 0; @@ -318,12 +316,10 @@ SAPI_POST_HANDLER_FUNC(php_mb_post_handler) info.data_type = PARSE_POST; info.separator = "&"; - info.report_errors = 0; + info.report_errors = false; info.to_encoding = MBSTRG(internal_encoding); - info.to_language = MBSTRG(language); info.from_encodings = MBSTRG(http_input_list); info.num_from_encodings = MBSTRG(http_input_list_size); - info.from_language = MBSTRG(language); php_stream_rewind(SG(request_info).request_body); post_data_str = php_stream_copy_to_mem(SG(request_info).request_body, PHP_STREAM_COPY_ALL, 0); diff --git a/ext/mbstring/mb_gpc.h b/ext/mbstring/mb_gpc.h index 85d0dc1a6a26e..63337755cdea0 100644 --- a/ext/mbstring/mb_gpc.h +++ b/ext/mbstring/mb_gpc.h @@ -26,9 +26,7 @@ typedef struct _php_mb_encoding_handler_info_t { const mbfl_encoding **from_encodings; size_t num_from_encodings; int data_type; - unsigned int report_errors : 1; - enum mbfl_no_language to_language; - enum mbfl_no_language from_language; + bool report_errors; } php_mb_encoding_handler_info_t; /* }}}*/ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 24712c8817227..9735bfef80bb2 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1531,12 +1531,10 @@ PHP_FUNCTION(mb_parse_str) info.data_type = PARSE_STRING; info.separator = PG(arg_separator).input; - info.report_errors = 1; + info.report_errors = true; info.to_encoding = MBSTRG(current_internal_encoding); - info.to_language = MBSTRG(language); info.from_encodings = MBSTRG(http_input_list); info.num_from_encodings = MBSTRG(http_input_list_size); - info.from_language = MBSTRG(language); detected = _php_mb_encoding_handler_ex(&info, track_vars_array, encstr); From 88d13491de8282311f8baf11cff6cb0281362c3c Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 4 Aug 2022 21:37:04 +0200 Subject: [PATCH 074/229] Make control flow in mb_wchar_to_cp50220 a bit clearer --- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index faa04f4eaa715..b44e0df8482b2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -1041,7 +1041,6 @@ static void mb_wchar_to_cp50220(uint32_t *in, size_t len, mb_convert_buf *buf, b MB_CONVERT_BUF_LOAD(buf, out, limit); MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - bool consumed = false; uint32_t w; if (buf->state & 0xFFFF00) { @@ -1060,10 +1059,10 @@ static void mb_wchar_to_cp50220(uint32_t *in, size_t len, mb_convert_buf *buf, b * but the 'next one' will come in a separate buffer */ buf->state |= w << 8; break; - } else { - w = mb_convert_kana_codepoint(w, len ? *in : 0, &consumed, NULL, MBFL_HAN2ZEN_KATAKANA | MBFL_HAN2ZEN_GLUE); } + bool consumed = false; + w = mb_convert_kana_codepoint(w, len ? *in : 0, &consumed, NULL, MBFL_HAN2ZEN_KATAKANA | MBFL_HAN2ZEN_GLUE); if (consumed) { /* Two successive codepoints were converted into one */ in++; len--; consumed = false; From a4656895ddccc7bf9c11e2062e1280799e0df4f7 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 4 Aug 2022 22:00:07 +0200 Subject: [PATCH 075/229] Imitate legacy behavior when converting non-encodings using mbstring Fuzzing revealed that something was missed here when making the new encoding conversion code match the behavior of the old code. In the next major release of PHP, support for these non-encodings will be dropped, but in the meantime, it is better to match the legacy behavior. --- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 6 ++++++ ext/mbstring/tests/other_encodings.phpt | 2 ++ 2 files changed, 8 insertions(+) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index c6f75893ed738..8b629b7954707 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -353,6 +353,12 @@ zend_string* mb_fast_convert(unsigned char *in, size_t in_len, const mbfl_encodi uint32_t wchar_buf[128]; unsigned int state = 0; + if (to == &mbfl_encoding_base64 || to == &mbfl_encoding_qprint || to == &mbfl_encoding_7bit) { + from = &mbfl_encoding_8bit; + } else if (from == &mbfl_encoding_base64 || from == &mbfl_encoding_qprint || from == &mbfl_encoding_uuencode || from == &mbfl_encoding_7bit) { + to = &mbfl_encoding_8bit; + } + mb_convert_buf buf; mb_convert_buf_init(&buf, in_len, replacement_char, error_mode); diff --git a/ext/mbstring/tests/other_encodings.phpt b/ext/mbstring/tests/other_encodings.phpt index 14b63fc809f88..c2b71c6d051f9 100644 --- a/ext/mbstring/tests/other_encodings.phpt +++ b/ext/mbstring/tests/other_encodings.phpt @@ -15,6 +15,7 @@ var_dump(mb_convert_encoding("ABC", "7bit", "ASCII")); var_dump(mb_convert_encoding("\x80", "7bit", "ASCII")); var_dump(mb_convert_encoding("ABC", "8bit", "7bit")); var_dump(mb_check_encoding(chr(255), '7bit')); +var_dump(mb_convert_encoding("\xAC\xAC", '7bit', 'UHC')); echo "7bit done\n"; // "8bit" @@ -27,6 +28,7 @@ string(3) "ABC" string(1) "%" string(3) "ABC" bool(false) +string(2) "%%" 7bit done string(1) "%" 8bit done From 128768a4503c8bc5c6ccf564061f9dc8b307f57f Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 5 Aug 2022 21:06:37 +0200 Subject: [PATCH 076/229] Adjust number of error markers emitted for truncated UTF-8 code units In 04e59c916f, I amended the UTF-8 conversion code, so that when given invalid input, it would emit a number of errors markers harmonizing with the WHATWG's specification of the standard UTF-8 decoding algorithm. (Which, gentle reader of commit logs, you can find online at https://encoding.spec.whatwg.org/#utf-8-decoder.) However, the code in 04e59c916f was faulty in the case that a truncated UTF-8 code unit starts with 0xF1. Then, in dc1ba61d09, when making a small refactoring to a different part of the UTF-8 conversion code, I inexplicably broke part of the working code, causing the same fault which was already present with truncated UTF-8 code units starting with 0xF1 to also occur with 0xF2 and 0xF3 as well. I don't remember what inane thoughts I was thinking when I pulled off this feat of utter mental confusion. None of these cases were covered by unit tests, by the way. Thankfully, my trusty fuzzer picked up on this when testing the new implementation of mb_parse_str (since the legacy UTF-8 conversion filter did not suffer from the same problem, and I was fuzzing to find any differences in behavior between the old and new implementations). Fortuitously, the fuzzer also picked up another issue which was present in 04e59c916f. I was emitting only one error marker for truncated code units starting with 0xE0 or 0xED, in cases where the WHATWG standard indicates two should be emitted. Examples are 0xE0 0x9F or 0xED 0xA0 . Code units starting with 0xE0-0xED should have 3 bytes. If the first byte is 0xE0, the second MUST be 0xA0 or greater. (Otherwise, the codepoint could have fit in a two-byte code unit.) And if the first byte is 0xED, the second MUST be 0x9F or less. According to the WHATWG algorithm, step 4, if the second byte is outside the legal range, then the decoder should emit an error... AND reprocess the out-of-range byte. The reprocessing will then cause another error. That's why the decoder should indicate two errors and not one. --- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 7 +++++-- ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c | 7 +++++-- ext/mbstring/tests/utf8_mobile_encodings.phpt | 8 ++++++++ ext/mbstring/tests/utf_encodings.phpt | 8 ++++++++ 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index fc18076ba68b3..428fb4428acad 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -256,8 +256,11 @@ static size_t mb_utf8_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf } } else { *out++ = MBFL_BAD_INPUT; - while (p < e && (*p & 0xC0) == 0x80) { + if (p < e && (c != 0xE0 || *p >= 0xA0) && (c != 0xED || *p < 0xA0) && (*p & 0xC0) == 0x80) { p++; + if (p < e && (*p & 0xC0) == 0x80) { + p++; + } } } } else if (c >= 0xF0 && c <= 0xF4) { /* 4 byte character */ @@ -285,7 +288,7 @@ static size_t mb_utf8_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf *out++ = MBFL_BAD_INPUT; if (p < e) { unsigned char c2 = *p; - if ((c == 0xF0 && c2 >= 0x90) || (c == 0xF4 && c2 < 0x90)) { + if ((c == 0xF0 && c2 >= 0x90) || (c == 0xF4 && c2 < 0x90) || (c >= 0xF1 && c <= 0xF3)) { while (p < e && (*p & 0xC0) == 0x80) { p++; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index d6c64e1b7780d..c573ec70f3bc9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -362,8 +362,11 @@ static size_t mb_mobile_utf8_to_wchar(unsigned char **in, size_t *in_len, uint32 } else if (c >= 0xE0 && c <= 0xEF) { if ((e - p) < 2) { *out++ = MBFL_BAD_INPUT; - while (p < e && (*p & 0xC0) == 0x80) { + if (p < e && (c != 0xE0 || *p >= 0xA0) && (c != 0xED || *p < 0xA0) && (*p & 0xC0) == 0x80) { p++; + if (p < e && (*p & 0xC0) == 0x80) { + p++; + } } continue; } @@ -386,7 +389,7 @@ static size_t mb_mobile_utf8_to_wchar(unsigned char **in, size_t *in_len, uint32 *out++ = MBFL_BAD_INPUT; if (p < e) { unsigned char c2 = *p; - if ((c == 0xF0 && c2 >= 0x90) || (c == 0xF4 && c2 < 0x90)) { + if ((c == 0xF0 && c2 >= 0x90) || (c == 0xF4 && c2 < 0x90) || (c >= 0xF1 && c <= 0xF3)) { while (p < e && (*p & 0xC0) == 0x80) { p++; } diff --git a/ext/mbstring/tests/utf8_mobile_encodings.phpt b/ext/mbstring/tests/utf8_mobile_encodings.phpt index 21107ce5f0873..084a4224977a2 100644 --- a/ext/mbstring/tests/utf8_mobile_encodings.phpt +++ b/ext/mbstring/tests/utf8_mobile_encodings.phpt @@ -27,6 +27,14 @@ $badUTF8 = array( "\xDF" => "\x00\x00\x00%", // should have been 2-byte "\xEF\xBF" => "\x00\x00\x00%", // should have been 3-byte "\xF0\xBF\xBF" => "\x00\x00\x00%", // should have been 4-byte + "\xF1\x96" => "\x00\x00\x00%", + "\xF1\x96\x80" => "\x00\x00\x00%", + "\xF2\x94" => "\x00\x00\x00%", + "\xF2\x94\x80" => "\x00\x00\x00%", + "\xF3\x94" => "\x00\x00\x00%", + "\xF3\x94\x80" => "\x00\x00\x00%", + "\xE0\x9F" => "\x00\x00\x00%\x00\x00\x00%", + "\xED\xA6" => "\x00\x00\x00%\x00\x00\x00%", // Multi-byte characters which end too soon and go to ASCII "\xDFA" => "\x00\x00\x00%\x00\x00\x00A", diff --git a/ext/mbstring/tests/utf_encodings.phpt b/ext/mbstring/tests/utf_encodings.phpt index 37fd7f32426c0..da2b8d07c5aa7 100644 --- a/ext/mbstring/tests/utf_encodings.phpt +++ b/ext/mbstring/tests/utf_encodings.phpt @@ -774,6 +774,14 @@ $invalid = array( "\xDF" => "\x00\x00\x00%", // should have been 2-byte "\xEF\xBF" => "\x00\x00\x00%", // should have been 3-byte "\xF0\xBF\xBF" => "\x00\x00\x00%", // should have been 4-byte + "\xF1\x96" => "\x00\x00\x00%", + "\xF1\x96\x80" => "\x00\x00\x00%", + "\xF2\x94" => "\x00\x00\x00%", + "\xF2\x94\x80" => "\x00\x00\x00%", + "\xF3\x94" => "\x00\x00\x00%", + "\xF3\x94\x80" => "\x00\x00\x00%", + "\xE0\x9F" => "\x00\x00\x00%\x00\x00\x00%", + "\xED\xA6" => "\x00\x00\x00%\x00\x00\x00%", // Multi-byte characters which end too soon and go to ASCII "\xDFA" => "\x00\x00\x00%\x00\x00\x00A", From c6bd08530eb6a022286cdd52925ed4a2cfa613c4 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 6 Aug 2022 11:08:04 +0200 Subject: [PATCH 077/229] Adjust number of error markers emitted for truncated ISO-2022-JP escape sequence Fuzzing revealed a small difference between the number of error markers which the legacy ISO-2022-JP and JIS7/8 conversion code emitted for truncated escape sequences and those emitted by the new code. The behavior of the old code seems more reasonable here, so we will imitate it. --- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 2 ++ ext/mbstring/tests/iso2022jp_encoding.phpt | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 536020fe2c809..2c6be15a7367c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -480,6 +480,8 @@ static size_t mb_iso2022jp_to_wchar(unsigned char **in, size_t *in_len, uint32_t /* ESC seen; this is an escape sequence */ if ((e - p) < 2) { *out++ = MBFL_BAD_INPUT; + if (p != e && (*p == '$' || *p == '(')) + p++; continue; } diff --git a/ext/mbstring/tests/iso2022jp_encoding.phpt b/ext/mbstring/tests/iso2022jp_encoding.phpt index 166470a44cf5a..f3a6e9e850b90 100644 --- a/ext/mbstring/tests/iso2022jp_encoding.phpt +++ b/ext/mbstring/tests/iso2022jp_encoding.phpt @@ -196,6 +196,13 @@ for ($i = 0; $i <= 0xFF; $i++) { identifyInvalidString("\x1B", 'JIS'); identifyInvalidString("\x1B", 'ISO-2022-JP'); +convertInvalidString("\x1B$", "%", "JIS", "UTF-8"); +convertInvalidString("\x1B$", "%", "ISO-2022-JP", "UTF-8"); +convertInvalidString("\x1B(", "%", "JIS", "UTF-8"); +convertInvalidString("\x1B(", "%", "ISO-2022-JP", "UTF-8"); +convertInvalidString("\x1B,", "%,", "JIS", "UTF-8"); +convertInvalidString("\x1B,", "%,", "ISO-2022-JP", "UTF-8"); + echo "All escape sequences work as expected\n"; foreach (['JIS', 'ISO-2022-JP'] as $encoding) { From 4b370330d441f212727008538c821f801e2fa93f Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 7 Aug 2022 13:14:31 +0200 Subject: [PATCH 078/229] Ensure that Base64 output always wraps lines in the same manner as legacy implementation The legacy Base64 conversion code in mbstring automatically wrapped the output to 72 columns, and the new code imitates this behavior. Frankly, I'm not sure if this is a good idea or not (people could easily manually wrap it if they want to), but have stuck with this behavior for backwards compatibility. However, fuzzing revealed one case where we were not wrapping to 72 columns; if the input string is not a multiple of 3 characters, meaning that the output must be padded, and the point where we must add the final (padded) output happens to be just beyond 72 columns. --- ext/mbstring/libmbfl/filters/mbfilter_base64.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 41d91ef6daf6c..ede3eef18ce7c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -337,6 +337,10 @@ static void mb_wchar_to_base64(uint32_t *in, size_t len, mb_convert_buf *buf, bo } if (end && bits) { + if (chars_output > 72) { + out = mb_convert_buf_add2(out, '\r', '\n'); + chars_output = 0; + } if (bits == 8) { out = mb_convert_buf_add4(out, mbfl_base64_table[(cache >> 2) & 0x3F], mbfl_base64_table[(cache & 0x3) << 4], '=', '='); } else { From 3517a70f93e9bb3d229f22cf3ef09c6ae864b9e5 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 4 Aug 2022 21:35:54 +0200 Subject: [PATCH 079/229] Fix legacy text conversion filter for CP50220 CP50220 converts some codepoints which represent kana (hiragana/katakana) to a different form. This is the only difference between CP50220 and CP50221 (which doesn't perform such conversion). In some cases, this conversion means collapsing two codepoints to a single output byte sequence. Since the legacy text conversion filters only worked a byte at a time, the legacy filter had to cache a byte, then wait until it was called again with the next byte to compare the cached byte with the following one. That was all fine, but it didn't work as intended when there were errors (invalid byte sequences) in the input. Our code (both old and new) for emitting error markers recursively calls the same conversion filter. When the old CP50220 filter was called recursively, the logic for managing cached bytes did not behave as intended. As a result, the error markers could be reordered with other characters in the output. I used an ugly hack to fix this in 6938e3512; when making a recursive call to emit an error marker, temporarily swap out `filter->filter_function` to bypass the byte-caching code, so the error marker immediately goes through to the output. This worked, but I overlooked the fact that the very same problem can occur if an invalid byte sequence is detected *in the flush function*. Apply the same (ugly) fix. --- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index b44e0df8482b2..13f2c79cdca3d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -555,7 +555,9 @@ static int mbfl_filt_conv_wchar_cp50220_flush(mbfl_convert_filter *filter) if (filter->cache) { int s = mb_convert_kana_codepoint(filter->cache, 0, NULL, NULL, mode); + filter->filter_function = mbfl_filt_conv_wchar_cp50221; mbfl_filt_conv_wchar_cp50221(s, filter); + filter->filter_function = mbfl_filt_conv_wchar_cp50220; filter->cache = 0; } From 18e526cb51183054b6ce767fdf949249ca83dc0c Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 6 Aug 2022 14:36:51 +0200 Subject: [PATCH 080/229] Fix legacy text conversion filter for SJIS-2004 EUC-JP-2004 includes special byte sequences starting with 0x8E for kana. The legacy output routine for EUC-JP-2004 emits these sequences if the value of the output variable `s` is between 0x80 and 0xFF. Since the same routine was also used for SJIS-2004 and ISO-2022-JP-2004, before 8a915ed26c, the same 0x8E sequences would be emitted when converting to those text encodings as well. But that is completely wrong. 0x8E 0x__ does not mean the same in SJIS-2004 or ISO-2022-JP-2004 as it does in EUC-JP-2004. Therefore, in 8a915ed26c, I fixed the legacy conversion routine by checking whether the output encoding is EUC-JP-2004 or not. If it's not, and `s` is 0x80-0xFF, I made it emit an error. Well, it turns out that single bytes with values from 0xA1 to 0xDF are meaningful in SJIS-2004. To emit these bytes when appropriate, I had to amend the legacy conversion routine again. (For clarity, this does NOT mean reverting to the behavior prior to 8a915ed26c. We were right not to emit sequences starting with 0x8E in SJIS-2004. But in SJIS-2004, we *do* sometimes need to emit single bytes from 0xA1-0xDF.) --- ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 4f09af3b73663..0f369b56bd81b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -633,6 +633,8 @@ int mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { CK((*filter->output_function)(0x8e, filter->data)); CK((*filter->output_function)(s1, filter->data)); + } else if (filter->to->no_encoding == mbfl_no_encoding_sjis2004 && (s1 >= 0xA1 && s1 <= 0xDF)) { + CK((*filter->output_function)(s1, filter->data)); } else { CK(mbfl_filt_conv_illegal_output(c, filter)); } From f3c8efd711f47893b89baf6e9bb18f8f728e210b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 4 Aug 2022 11:04:02 +0200 Subject: [PATCH 081/229] In legacy text conversion filters, reset filter state in 'flush' function Up until now, I believed that mbstring had been designed such that (legacy) text conversion filter objects should not be re-used after the 'flush' function is called to complete a text conversion operation. However, it turns out that the implementation of _php_mb_encoding_handler_ex DID re-use filter objects after flush. That means that functions which were based on _php_mb_encoding_handler_ex, including mb_parse_str and php_mb_post_handler, would break in some cases; state left over from converting one substring (perhaps a variable name) would affect the results of converting another substring (perhaps the value of the same variable), and could cause extraneous characters to get inserted into the output. All this code should be deleted soon, but fixing it helps me to avoid spurious failures when fuzzing the new/old code to look for differences in behavior. --- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 3 ++- ext/mbstring/libmbfl/filters/mbfilter_cp51932.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_gb18030.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_hz.c | 2 ++ ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c | 2 ++ ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c | 2 ++ ext/mbstring/libmbfl/filters/mbfilter_jis.c | 3 ++- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c | 2 ++ ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 2 ++ ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c | 1 + ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 1 + 28 files changed, 35 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index 7d389efc79e91..58f89d1b5759e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -257,6 +257,7 @@ static int mbfl_filt_conv_big5_wchar_flush(mbfl_convert_filter *filter) { if (filter->status == 1) { /* 2-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 13f2c79cdca3d..32a8bdf15f59a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -322,6 +322,7 @@ static int mbfl_filt_conv_cp5022x_wchar_flush(mbfl_convert_filter *filter) * escape sequence was truncated */ CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); @@ -824,7 +825,7 @@ static int mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) CK((*filter->output_function)(0x28, filter->data)); /* '(' */ CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ } - filter->status &= 0xff; + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index 7d1a739f3369e..6311f9b72139a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -178,6 +178,7 @@ static int mbfl_filt_conv_cp51932_wchar_flush(mbfl_convert_filter *filter) if (filter->status) { /* Input string was truncated */ (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index ef7c47e967415..0cc63eebecef8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -217,6 +217,7 @@ static int mbfl_filt_conv_cp932_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index 5591608afa87d..40ae8c86f9119 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -166,6 +166,7 @@ static int mbfl_filt_conv_cp936_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { /* 2-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index f179d602505a2..50a0368a923f4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -209,6 +209,7 @@ static int mbfl_filt_conv_euccn_wchar_flush(mbfl_convert_filter *filter) { if (filter->status == 1) { /* 2-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index d83c47bd67006..2b0ae77534d56 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -180,6 +180,7 @@ static int mbfl_filt_conv_eucjp_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index 4845abda5c280..09287a9d8f634 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -226,6 +226,7 @@ static int mbfl_filt_conv_eucjpwin_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index fd7bb3b9f7c1e..69e6811922e30 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -193,6 +193,7 @@ static int mbfl_filt_conv_euckr_wchar_flush(mbfl_convert_filter *filter) { if (filter->status == 1) { /* 2-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 571b711bdf6c7..de1deb47705f1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -245,6 +245,7 @@ static int mbfl_filt_conv_euctw_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { /* 2-byte or 4-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index c95fd1ebd8491..492df6046244f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -231,6 +231,7 @@ static int mbfl_filt_conv_gb18030_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { /* multi-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index 8dc74c531d231..72e5963acfc18 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -154,6 +154,8 @@ static int mbfl_filt_conv_hz_wchar_flush(mbfl_convert_filter *filter) CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->status = 0; + if (filter->flush_function) { (*filter->flush_function)(filter->data); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 94e2e4bd84844..65b6d66d2ec2e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -219,6 +219,7 @@ static int mbfl_filt_conv_2022jpms_wchar_flush(mbfl_convert_filter *filter) if (filter->status & 0xF) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); @@ -354,6 +355,7 @@ int mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) CK((*filter->output_function)('(', filter->data)); CK((*filter->output_function)('B', filter->data)); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index e858025eb75ab..94fe35f9423e1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -178,6 +178,7 @@ static int mbfl_filt_conv_2022kr_wchar_flush(mbfl_convert_filter *filter) /* 2-byte character was truncated */ CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 91bf0f30a56e7..ded492cafc13a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -313,6 +313,7 @@ static int mbfl_filt_conv_2022jp_mobile_wchar_flush(mbfl_convert_filter *filter) if (filter->status & 0xF) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); @@ -483,6 +484,7 @@ static int mbfl_filt_conv_wchar_2022jp_mobile_flush(mbfl_convert_filter *filter) if ((filter->status & 0xFF) == 1 && (c1 == '#' || (c1 >= '0' && c1 <= '9'))) { (*filter->output_function)(c1, filter->data); } + filter->status = filter->cache = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 2c6be15a7367c..af3c24ea6366f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -271,6 +271,7 @@ static int mbfl_filt_conv_jis_wchar_flush(mbfl_convert_filter *filter) * or else escape sequence was truncated */ CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); @@ -451,7 +452,7 @@ mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) CK((*filter->output_function)(0x28, filter->data)); /* '(' */ CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ } - filter->status &= 0xff; + filter->status = 0; if (filter->flush_function != NULL) { return (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 420c027b4cea0..1f52e0aa97786 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -183,6 +183,7 @@ static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 0f369b56bd81b..a62a9764145ce 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -491,6 +491,7 @@ int mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter) if (filter->status & 0xF) { CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->status = 0; if (filter->flush_function) { return (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 7962639d34191..0cb93cc38e8c7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -266,6 +266,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) { if (filter->status == 1) { + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index b47b783627b86..203a2ecd2aa65 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -722,6 +722,7 @@ static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) if (filter->status && filter->status != 4) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); @@ -826,6 +827,7 @@ int mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) { int c1 = filter->cache; if (filter->status == 1 && (c1 == '#' || (c1 >= '0' && c1 <= '9'))) { + filter->cache = filter->status = 0; CK((*filter->output_function)(c1, filter->data)); } else if (filter->status == 2) { /* First of a pair of Regional Indicator codepoints came at the end of a string */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 9ee1e4bf63a89..3e0d0828cfa62 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -218,6 +218,7 @@ static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { /* Input string was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index 101fb4bb7c0a9..90312b8d501d5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -301,6 +301,7 @@ static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter) /* Input string was truncated */ CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index bec134aabd2aa..2ac351d644cdb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -147,6 +147,7 @@ static int mbfl_filt_conv_uhc_wchar_flush(mbfl_convert_filter *filter) { if (filter->status == 1) { /* 2-byte character was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index 3a250a3134188..eddd56f362756 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -323,6 +323,7 @@ static int mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { /* Input string was truncated */ + filter->status = 0; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index a6594ed75162e..e8cd4ad454f2e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -233,6 +233,7 @@ static int mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) /* Input string was truncated */ CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } + filter->cache = filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 82cd202cfdbc6..bcc590b680c83 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -267,6 +267,7 @@ static int mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) if (filter->cache) { /* Either we were expecting the 2nd half of a surrogate pair which * never came, or else the last Base64 data was not padded with zeroes */ + filter->cache = 0; (*filter->output_function)(MBFL_BAD_INPUT, filter->data); } @@ -373,6 +374,7 @@ int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) { int status = filter->status; int cache = filter->cache; + filter->status = filter->cache = 0; /* flush fragments */ switch (status) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index 0ef5fba64d468..45722ce2c8904 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -287,6 +287,7 @@ static int mbfl_filt_conv_utf7imap_wchar_flush(mbfl_convert_filter *filter) /* It is illegal for a UTF-7 IMAP string to end in a Base-64 encoded * section. It should always change back to ASCII before the end. */ (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 428fb4428acad..6c7bad0e805ac 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -180,6 +180,7 @@ int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + filter->status = 0; } if (filter->flush_function) { From 983a29d3c003160ecf66ee640e10894678c2316f Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 6 Aug 2022 11:58:14 +0200 Subject: [PATCH 082/229] Legacy conversion code for '7bit' to '8bit' inserts error markers The use of a special 'vtbl' for converting between '7bit' and '8bit' text meant that '7bit' text would not be converted to wchars before going to '8bit'. This meant that the special value MBFL_BAD_INPUT, which we use to flag an erroneous byte sequence in input text (and which is required by functions like mb_check_encoding), would pass directly to the output, instead of being converted to the error marker specified by mb_substitute_character. This issue dates back to the time when I removed the mbfl 'identify filters' and made encoding validity checking and encoding detection rely only on the conversion filters. --- ext/mbstring/libmbfl/filters/mbfilter_7bit.c | 32 +++++++++----------- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 12 +++----- ext/mbstring/tests/other_encodings.phpt | 2 +- 3 files changed, 20 insertions(+), 26 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c index 3097dabd26e95..208792720af46 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c @@ -34,21 +34,18 @@ static size_t mb_7bit_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); static void mb_wchar_to_7bit(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); -const mbfl_encoding mbfl_encoding_7bit = { +const struct mbfl_convert_vtbl vtbl_7bit_wchar = { mbfl_no_encoding_7bit, - "7bit", - "7bit", - NULL, - NULL, - MBFL_ENCTYPE_SBCS, + mbfl_no_encoding_wchar, + mbfl_filt_conv_common_ctor, NULL, + mbfl_filt_conv_7bit_any, + mbfl_filt_conv_common_flush, NULL, - mb_7bit_to_wchar, - mb_wchar_to_7bit }; -const struct mbfl_convert_vtbl vtbl_8bit_7bit = { - mbfl_no_encoding_8bit, +const struct mbfl_convert_vtbl vtbl_wchar_7bit = { + mbfl_no_encoding_wchar, mbfl_no_encoding_7bit, mbfl_filt_conv_common_ctor, NULL, @@ -57,17 +54,19 @@ const struct mbfl_convert_vtbl vtbl_8bit_7bit = { NULL, }; -const struct mbfl_convert_vtbl vtbl_7bit_8bit = { +const mbfl_encoding mbfl_encoding_7bit = { mbfl_no_encoding_7bit, - mbfl_no_encoding_8bit, - mbfl_filt_conv_common_ctor, + "7bit", + "7bit", NULL, - mbfl_filt_conv_7bit_any, - mbfl_filt_conv_common_flush, NULL, + MBFL_ENCTYPE_SBCS, + &vtbl_7bit_wchar, + &vtbl_wchar_7bit, + mb_7bit_to_wchar, + mb_wchar_to_7bit }; - #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) int mbfl_filt_conv_7bit_any(int c, mbfl_convert_filter *filter) @@ -75,7 +74,6 @@ int mbfl_filt_conv_7bit_any(int c, mbfl_convert_filter *filter) return (*filter->output_function)(c < 0x80 ? c : MBFL_BAD_INPUT, filter->data); } - int mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x80) { diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index 8b629b7954707..f0737b9e6777c 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -85,8 +85,6 @@ static const struct mbfl_convert_vtbl *mbfl_special_filter_list[] = { &vtbl_uuencode_8bit, &vtbl_8bit_qprint, &vtbl_qprint_8bit, - &vtbl_8bit_7bit, - &vtbl_7bit_8bit, &vtbl_pass, NULL }; @@ -302,13 +300,11 @@ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) const struct mbfl_convert_vtbl* mbfl_convert_filter_get_vtbl(const mbfl_encoding *from, const mbfl_encoding *to) { if (to->no_encoding == mbfl_no_encoding_base64 || - to->no_encoding == mbfl_no_encoding_qprint || - to->no_encoding == mbfl_no_encoding_7bit) { + to->no_encoding == mbfl_no_encoding_qprint) { from = &mbfl_encoding_8bit; } else if (from->no_encoding == mbfl_no_encoding_base64 || from->no_encoding == mbfl_no_encoding_qprint || - from->no_encoding == mbfl_no_encoding_uuencode || - from->no_encoding == mbfl_no_encoding_7bit) { + from->no_encoding == mbfl_no_encoding_uuencode) { to = &mbfl_encoding_8bit; } @@ -353,9 +349,9 @@ zend_string* mb_fast_convert(unsigned char *in, size_t in_len, const mbfl_encodi uint32_t wchar_buf[128]; unsigned int state = 0; - if (to == &mbfl_encoding_base64 || to == &mbfl_encoding_qprint || to == &mbfl_encoding_7bit) { + if (to == &mbfl_encoding_base64 || to == &mbfl_encoding_qprint) { from = &mbfl_encoding_8bit; - } else if (from == &mbfl_encoding_base64 || from == &mbfl_encoding_qprint || from == &mbfl_encoding_uuencode || from == &mbfl_encoding_7bit) { + } else if (from == &mbfl_encoding_base64 || from == &mbfl_encoding_qprint || from == &mbfl_encoding_uuencode) { to = &mbfl_encoding_8bit; } diff --git a/ext/mbstring/tests/other_encodings.phpt b/ext/mbstring/tests/other_encodings.phpt index c2b71c6d051f9..4373e1aca4d69 100644 --- a/ext/mbstring/tests/other_encodings.phpt +++ b/ext/mbstring/tests/other_encodings.phpt @@ -28,7 +28,7 @@ string(3) "ABC" string(1) "%" string(3) "ABC" bool(false) -string(2) "%%" +string(1) "%" 7bit done string(1) "%" 8bit done From bfccdbd858e60c3ed43aff8313ee3188be56edeb Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 8 Aug 2022 08:15:52 +0200 Subject: [PATCH 083/229] SJIS-Mobile#SOFTBANK string can end immediately after special escape sequence SJIS-Mobile#SOFTBANK text encoding supports special escape sequences, which shift the decoder into a mode where each single byte represents an emoji. To get out of this mode, a 0xF (SHIFT OUT) byte can be used. After one of these special escape sequences, the new conversion code expected to see at least one more byte. However, there doesn't seem to be any particular reason why it should be treated as an error condition if a string ends abruptly after one of these escapes. Well, the escape sequence is useless in that case, but it is a complete and valid escape sequence. The legacy conversion code did allow a string to end immediately after one of these escape sequences. Amend the new code to allow the same. --- ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c | 2 +- ext/mbstring/tests/sjis_mobile_encodings.phpt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 203a2ecd2aa65..31a1e3a4d777f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -1343,7 +1343,7 @@ static size_t mb_sjis_sb_to_wchar(unsigned char **in, size_t *in_len, uint32_t * continue; } unsigned char c2 = *p++; - if (((c2 < 'E' || c2 > 'G') && (c2 < 'O' || c2 > 'Q')) || p == e) { + if ((c2 < 'E' || c2 > 'G') && (c2 < 'O' || c2 > 'Q')) { *out++ = MBFL_BAD_INPUT; continue; } diff --git a/ext/mbstring/tests/sjis_mobile_encodings.phpt b/ext/mbstring/tests/sjis_mobile_encodings.phpt index 08c2d1f996683..1d4d29e464e88 100644 --- a/ext/mbstring/tests/sjis_mobile_encodings.phpt +++ b/ext/mbstring/tests/sjis_mobile_encodings.phpt @@ -300,6 +300,15 @@ testSJISVariant($docomo, $nonInvertibleDocomo, 'SJIS-Mobile#DOCOMO'); testSJISVariant($kddi, $nonInvertible, 'SJIS-Mobile#KDDI'); testSJISVariant($softbank, $nonInvertibleSoftbank, 'SJIS-Mobile#SOFTBANK'); +// Special Softbank escape sequences can appear at end of string +convertValidString("\x1B\$O", "", "SJIS-Mobile#SOFTBANK", "UTF-8", false); +convertValidString("\x1B\$P", "", "SJIS-Mobile#SOFTBANK", "UTF-8", false); +convertValidString("\x1B\$Q", "", "SJIS-Mobile#SOFTBANK", "UTF-8", false); +// Try invalid escape sequence +convertInvalidString("\x1B\$X", "%", "SJIS-Mobile#SOFTBANK", "UTF-8", false); +// Try truncated escape sequence +convertInvalidString("\x1B\$", "%", "SJIS-Mobile#SOFTBANK", "UTF-8", false); + // Regression test for problem with not allocating enough space in output buffer // This occurred when the input string was shorter than the output convertValidString("\xA9\xA9\xA9\xA9", "\xF9\xD6\xF9\xD6\xF9\xD6\xF9\xD6", '8bit', 'SJIS-Mobile#DOCOMO'); From d9269becca3211465736e32fae19e8879c488adc Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 9 Aug 2022 10:37:46 +0200 Subject: [PATCH 084/229] Fix problems with ISO-2022-KR conversion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • The legacy conversion code did not emit an error marker if an escape sequence was truncated. • BOTH old and new conversion code would shift from KSC5601 (KS X 1001) mode to ASCII mode on an invalid escape sequence. This doesn't make any sense. --- ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c | 9 ++++++--- ext/mbstring/tests/iso2022kr_encoding.phpt | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 94fe35f9423e1..c4b2bf0b9f1b9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -145,7 +145,7 @@ int mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) if (c == '$') { filter->status++; } else { - filter->status = 0; + filter->status &= ~0xF; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } break; @@ -154,7 +154,7 @@ int mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) if (c == ')') { filter->status++; } else { - filter->status = 0; + filter->status &= ~0xF; CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); } break; @@ -258,6 +258,10 @@ int mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) static int mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) { + if (filter->status & 0xF) { + /* Escape sequence or 2-byte character was truncated */ + (*filter->output_function)(MBFL_BAD_INPUT, filter->data); + } /* back to ascii */ if (filter->status & 0x10) { CK((*filter->output_function)(0x0f, filter->data)); /* shift in */ @@ -305,7 +309,6 @@ static size_t mb_iso2022kr_to_wchar(unsigned char **in, size_t *in_len, uint32_t p--; } *out++ = MBFL_BAD_INPUT; - *state = ASCII; } } else if (c == 0xF) { *state = ASCII; diff --git a/ext/mbstring/tests/iso2022kr_encoding.phpt b/ext/mbstring/tests/iso2022kr_encoding.phpt index 67adb103fce73..d9e6ff933cb0f 100644 --- a/ext/mbstring/tests/iso2022kr_encoding.phpt +++ b/ext/mbstring/tests/iso2022kr_encoding.phpt @@ -114,6 +114,9 @@ convertInvalidString("\xFF\x86", "\x1B\$)C%", "UTF-16BE", "ISO-2022-KR"); // character at the end of a string, although the string was already ending in ASCII mode convertValidString("\x68\x46\x00a", "\x1B\$)C\x0E\x68\x46\x0Fa", "UTF-16BE", "ISO-2022-KR", false); +// Regression test: Don't shift from KS X 1001 to ASCII mode on invalid escape sequence +convertInvalidString("\x0E\x1BX\x74\x30", "\x00%\x76\x20", "ISO-2022-KR", "UTF-16BE", false); + // Test "long" illegal character markers mb_substitute_character("long"); convertInvalidString("\x1B", "%", "ISO-2022-KR", "UTF-8"); From d617fcaae2ab393e33c027d3e64fa7fbab863595 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 10 Aug 2022 20:33:10 +0200 Subject: [PATCH 085/229] Fix legacy text conversion filter for 'HTML-ENTITIES' Because this routine used a signed char buffer to hold the bytes in a (possible) HTML entity, any bytes with the MSB set would be sign-extended when converting to int; for example, 0x86 would become 0xFFFFFF86 (or -121). Codepoints with huge values, like 0xFFFFFF86, are not valid and if any were passed to the output filter, it would treat them as errors and emit error markers. --- ext/mbstring/libmbfl/filters/mbfilter_htmlent.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index d463ae714a611..afebdfd00811f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -180,7 +180,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) int pos; unsigned int ent = 0; mbfl_html_entity_entry *entity; - char *buffer = (char*)filter->opaque; + unsigned char *buffer = (unsigned char*)filter->opaque; if (!filter->status) { if (c == '&' ) { @@ -196,7 +196,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) if (filter->status > 3) { /* numeric entity */ for (pos=3; posstatus; pos++) { - int v = buffer[pos]; + int v = buffer[pos]; if (v >= '0' && v <= '9') { v = v - '0'; } else if (v >= 'A' && v <= 'F') { @@ -242,13 +242,12 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(c, filter->data)); } filter->status = 0; - /*php_error_docref("ref.mbstring", E_NOTICE, "mbstring decoded '%s'=%d", buffer, ent);*/ } else { /* named entity */ buffer[filter->status] = 0; entity = (mbfl_html_entity_entry *)mbfl_html_entity_list; while (entity->name) { - if (!strcmp(buffer+1, entity->name)) { + if (!strcmp((const char*)buffer+1, entity->name)) { ent = entity->code; break; } From 93207535fa295eb4a7bfed38f913346dd1aebe16 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 13 Aug 2022 21:57:43 +0200 Subject: [PATCH 086/229] Add test to exercise _php_mb_encoding_handler_ex with multiple possible input encodings Thanks to Kamil Tekiela for pointing out that there was no test case for this. --- ext/mbstring/tests/mb_parse_str_multi.phpt | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ext/mbstring/tests/mb_parse_str_multi.phpt diff --git a/ext/mbstring/tests/mb_parse_str_multi.phpt b/ext/mbstring/tests/mb_parse_str_multi.phpt new file mode 100644 index 0000000000000..e971627c6660c --- /dev/null +++ b/ext/mbstring/tests/mb_parse_str_multi.phpt @@ -0,0 +1,38 @@ +--TEST-- +mb_parse_str() with multiple candidate encodings +--EXTENSIONS-- +mbstring +--INI-- +mbstring.http_input=UTF-8,SJIS,EUC-JP +--FILE-- + $value) { + echo bin2hex($key) . "=>" . bin2hex($value) . "\n"; + } +} + +?> +--EXPECTF-- +Deprecated: PHP Startup: Use of mbstring.http_input is deprecated in %s on line %d +Query: e38386e382b9e383883d616263 +e38386e382b9e38388=>616263 +Query: 82a082a282a43d9356 +e38182e38184e38186=>e5a4a9 From a0455fe716c778b99ff7c4d9dcfe62bfb1bb78bd Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 16 Aug 2022 11:39:53 -0400 Subject: [PATCH 087/229] [ci skip] Update NEWS for PHP 8.2.0 RC1 --- NEWS | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index e570d73f0502c..7fff7ce35db99 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.0beta3 +?? ??? ????, PHP 8.2.0RC1 + + +18 Aug 2022, PHP 8.2.0beta3 - Core: . Fixed incorrect double to long casting in latest clang. (zeriyoshi) From 7f26661993d1605f1b6e17cdc24ad6114e983ae4 Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Tue, 16 Aug 2022 10:45:29 -0500 Subject: [PATCH 088/229] PHP-8.1 is now for PHP 8.1.11-dev --- NEWS | 6 +++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 3a5d072854716..d473b05a08238 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.1.10 +?? ??? ????, PHP 8.1.11 + + + +01 Sep 2022, PHP 8.1.10 - Core: . Fixed --CGI-- support of run-tests.php. (cmb) diff --git a/Zend/zend.h b/Zend/zend.h index 001bf329b9e49..632869a9b37d3 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.1.10-dev" +#define ZEND_VERSION "4.1.11-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 485062e32a8f1..75021f30b983e 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.1.10-dev],[https://bugs.php.net],[php],[https://www.php.net]) +AC_INIT([PHP],[8.1.11-dev],[https://bugs.php.net],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index 218f92c2fc14b..baf7b8c6b1893 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 1 -#define PHP_RELEASE_VERSION 10 +#define PHP_RELEASE_VERSION 11 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.1.10-dev" -#define PHP_VERSION_ID 80110 +#define PHP_VERSION "8.1.11-dev" +#define PHP_VERSION_ID 80111 From 371367ce3e0cd941b4eb1c42f33c590e645f4ca3 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 7 Apr 2022 07:57:22 +0200 Subject: [PATCH 089/229] Reintroduce legacy 'SJIS-win' text encoding in mbstring In e2459857af, I combined mbstring's "SJIS-win" text encoding into CP932. This was done after doing some testing which appeared to show that the mappings for "SJIS-win" were the same as those for "CP932". Later, it was found that there was actually a small difference prior to e2459857af when converting Unicode to CP932. The mappings for the following two codepoints were different: CP932 SJIS-win U+203E 0x7E 0x81 0x50 U+00A5 0x5C 0x81 0x8F As shown, mbstring's "CP932" mapped Unicode's 'OVERLINE' and 'YEN SIGN' to the ASCII bytes which have conflicting uses in most legacy Japanese text encodings. "SJIS-win" mapped these to equivalent JIS X 0208 fullwidth characters. Since e2459867af was not intended to cause any user-visible change in behavior, I am rolling back the merge of "CP932" and "SJIS-win". It seems doubtful whether these two text encodings should be kept separate or merged in a future release. An extensive discussion of the related historical background and compatibility issues involved can be found in this GitHub thread: https://github.com/php/php-src/issues/8308 --- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 95 ++++++++++++++++--- ext/mbstring/libmbfl/filters/mbfilter_cp932.h | 5 + ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 1 + ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 1 + ext/mbstring/tests/cp932_encoding.phpt | 46 +++++++-- .../mb_internal_encoding_variation2.phpt | 4 +- 6 files changed, 130 insertions(+), 22 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 10559b593be60..62bf1942193c9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -27,6 +27,36 @@ * */ +/* CP932 is Microsoft's version of Shift-JIS. + * + * What we call "SJIS-win" is a variant of CP932 which maps U+00A5 + * and U+203E the same way as eucJP-win; namely, instead of mapping + * U+00A5 (YEN SIGN) to 0x5C and U+203E (OVERLINE) to 0x7E, + * these codepoints are mapped to appropriate JIS X 0208 characters. + * + * When converting from Shift-JIS to Unicode, there is no difference + * between CP932 and "SJIS-win". + * + * Additional facts: + * + * • In the libmbfl library which formed the base for mbstring, "CP932" and + * "SJIS-win" were originally aliases. The differing mappings were added in + * December 2002. The libmbfl author later stated that this was done so that + * "CP932" would comply with a certain specification, while "SJIS-win" would + * maintain the existing mappings. He does not remember which specification + * it was. + * • The WHATWG specification for "Shift_JIS" (followed by web browsers) + * agrees with our mappings for "CP932". + * • Microsoft Windows' "best-fit" mappings for CP932 (via the + * WideCharToMultiByte API) convert U+00A5 to 0x5C, which also agrees with + * our mappings for "CP932". + * • glibc's iconv converts U+203E to CP932 0x7E, which again agrees with + * our mappings for "CP932". + * • When converting Shift-JIS to CP932, the conversion goes through Unicode. + * Shift-JIS 0x7E converts to U+203E, so mapping U+203E to 0x7E means that + * 0x7E will go to 0x7E when converting Shift-JIS to CP932. + */ + #include "mbfilter.h" #include "mbfilter_cp932.h" @@ -54,7 +84,8 @@ static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; -static const char *mbfl_encoding_cp932_aliases[] = {"MS932", "Windows-31J", "MS_Kanji", "SJIS-win", "SJIS-ms", "SJIS-open", NULL}; +static const char *mbfl_encoding_cp932_aliases[] = {"MS932", "Windows-31J", "MS_Kanji", NULL}; +static const char *mbfl_encoding_sjiswin_aliases[] = {"SJIS-ms", "SJIS-open", NULL}; const mbfl_encoding mbfl_encoding_cp932 = { mbfl_no_encoding_cp932, @@ -87,6 +118,37 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { NULL, }; +const mbfl_encoding mbfl_encoding_sjiswin = { + mbfl_no_encoding_sjiswin, + "SJIS-win", + "Shift_JIS", + mbfl_encoding_sjiswin_aliases, + mblen_table_sjis, + MBFL_ENCTYPE_GL_UNSAFE, + &vtbl_sjiswin_wchar, + &vtbl_wchar_sjiswin +}; + +const struct mbfl_convert_vtbl vtbl_sjiswin_wchar = { + mbfl_no_encoding_sjiswin, + mbfl_no_encoding_wchar, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_cp932_wchar, + mbfl_filt_conv_cp932_wchar_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_wchar_sjiswin = { + mbfl_no_encoding_wchar, + mbfl_no_encoding_sjiswin, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_wchar_sjiswin, + mbfl_filt_conv_common_flush, + NULL, +}; + #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) #define SJIS_ENCODE(c1,c2,s1,s2) \ @@ -132,12 +194,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { } \ } while (0) - -/* - * SJIS-win => wchar - */ -int -mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) +int mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) { int c1, s, s1, s2, w; @@ -224,11 +281,7 @@ static int mbfl_filt_conv_cp932_wchar_flush(mbfl_convert_filter *filter) return 0; } -/* - * wchar => SJIS-win - */ -int -mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) +int mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -236,6 +289,8 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) s2 = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; + } else if (c == 0x203E) { + s1 = 0x7E; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { s1 = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { @@ -251,7 +306,7 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) } if (s1 <= 0) { if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216F; /* FULLWIDTH YEN SIGN */ + s1 = 0x5C; } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ s1 = 0x2140; } else if (c == 0x2225) { /* PARALLEL TO */ @@ -310,3 +365,17 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) return 0; } + +int mbfl_filt_conv_wchar_sjiswin(int c, mbfl_convert_filter *filter) +{ + if (c == 0xA5) { + CK((*filter->output_function)(0x81, filter->data)); + CK((*filter->output_function)(0x8F, filter->data)); + } else if (c == 0x203E) { + CK((*filter->output_function)(0x81, filter->data)); + CK((*filter->output_function)(0x50, filter->data)); + } else { + return mbfl_filt_conv_wchar_cp932(c, filter); + } + return 0; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.h b/ext/mbstring/libmbfl/filters/mbfilter_cp932.h index 031276ddf1470..8dce3ab9e91d8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.h @@ -36,7 +36,12 @@ extern const mbfl_encoding mbfl_encoding_cp932; extern const struct mbfl_convert_vtbl vtbl_cp932_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp932; +extern const mbfl_encoding mbfl_encoding_sjiswin; +extern const struct mbfl_convert_vtbl vtbl_sjiswin_wchar; +extern const struct mbfl_convert_vtbl vtbl_wchar_sjiswin; + int mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter); +int mbfl_filt_conv_wchar_sjiswin(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_CP932_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index f298eab6df238..2495f7447aa3a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -121,6 +121,7 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_utf8_kddi_b, &mbfl_encoding_utf8_sb, &mbfl_encoding_cp932, + &mbfl_encoding_sjiswin, &mbfl_encoding_cp51932, &mbfl_encoding_jis, &mbfl_encoding_2022jp, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index c99b42dcc6eab..09505d7238245 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -74,6 +74,7 @@ enum mbfl_no_encoding { mbfl_no_encoding_sjis_mac, mbfl_no_encoding_sjis2004, mbfl_no_encoding_cp932, + mbfl_no_encoding_sjiswin, mbfl_no_encoding_cp51932, mbfl_no_encoding_jis, mbfl_no_encoding_2022jp, diff --git a/ext/mbstring/tests/cp932_encoding.phpt b/ext/mbstring/tests/cp932_encoding.phpt index ff7bd9cfcdc28..df700f20286a5 100644 --- a/ext/mbstring/tests/cp932_encoding.phpt +++ b/ext/mbstring/tests/cp932_encoding.phpt @@ -1,5 +1,5 @@ --TEST-- -Exhaustive test of CP932 encoding verification and conversion +Exhaustive test of CP932 encoding verification and conversion (including 'SJIS-win' variant) --EXTENSIONS-- mbstring --SKIPIF-- @@ -34,8 +34,10 @@ for ($i = 0xF0; $i <= 0xF9; $i++) { $fromUnicode["\x00\xA2"] = "\x81\x91"; /* U+00A3 is POUND SIGN; convert to FULLWIDTH POUND SIGN */ $fromUnicode["\x00\xA3"] = "\x81\x92"; -/* U+00A5 is YEN SIGN; convert to FULLWIDTH YEN SIGN */ -$fromUnicode["\x00\xA5"] = "\x81\x8F"; +/* U+00A5 is YEN SIGN; convert to 0x5C, which has conflicting uses + * (either as backslash or as Yen sign) */ +$fromUnicode["\x00\xA5"] = "\x5C"; + /* We map the JIS X 0208 FULLWIDTH TILDE to U+FF5E (FULLWIDTH TILDE) * But when converting Unicode to CP932, we also accept U+301C (WAVE DASH) */ @@ -51,12 +53,13 @@ $fromUnicode["\x20\x16"] = "\x81\x61"; * but when converting Unicode to CP932, we also accept U+00AC (NOT SIGN) */ $fromUnicode["\x00\xAC"] = "\x81\xCA"; -/* U+203E is OVERLINE; convert to JIS X 0208 FULLWIDTH MACRON */ -$fromUnicode["\x20\x3E"] = "\x81\x50"; - -/* U+00AF is MACRON; it can also go to FULLWIDTH MACRON */ +/* U+00AF is MACRON; convert to FULLWIDTH MACRON */ $fromUnicode["\x00\xAF"] = "\x81\x50"; +/* U+203E is OVERLINE; convert to 0x7E, which has conflicting uses + * (either as tilde or as overline) */ +$fromUnicode["\x20\x3E"] = "\x7E"; + findInvalidChars($validChars, $invalidChars, $truncated, array_fill_keys(range(0x81, 0x9F), 2) + array_fill_keys(range(0xE0, 0xFC), 2)); findInvalidChars($fromUnicode, $invalidCodepoints, $unused, array_fill_keys(range(0, 0xFF), 2)); @@ -106,12 +109,38 @@ echo "CP932 verification and conversion works on all invalid characters\n"; convertAllInvalidChars($invalidCodepoints, $fromUnicode, 'UTF-16BE', 'CP932', '%'); echo "Unicode -> CP932 conversion works on all invalid codepoints\n"; +/* Now test 'SJIS-win' variant of CP932, which is really CP932 but with + * two different mappings + * Instead of mapping U+00A5 and U+203E to the single bytes 0x5C and 07E + * (which have conflicting uses), 'SJIS-win' maps them to appropriate + * JIS X 0208 characters */ + +/* U+00A5 is YEN SIGN; convert to FULLWIDTH YEN SIGN */ +$fromUnicode["\x00\xA5"] = "\x81\x8F"; +/* U+203E is OVERLINE; convert to JIS X 0208 FULLWIDTH MACRON */ +$fromUnicode["\x20\x3E"] = "\x81\x50"; + +testAllValidChars($validChars, 'SJIS-win', 'UTF-16BE'); +foreach ($nonInvertible as $cp932 => $unicode) + testValidString($cp932, $unicode, 'SJIS-win', 'UTF-16BE', false); +echo "SJIS-win verification and conversion works on all valid characters\n"; + +testAllInvalidChars($invalidChars, $validChars, 'SJIS-win', 'UTF-16BE', "\x00%"); +echo "SJIS-win verification and conversion works on all invalid characters\n"; + +convertAllInvalidChars($invalidCodepoints, $fromUnicode, 'UTF-16BE', 'SJIS-win', '%'); +echo "Unicode -> SJIS-win conversion works on all invalid codepoints\n"; + // Test "long" illegal character markers mb_substitute_character("long"); convertInvalidString("\x80", "%", "CP932", "UTF-8"); convertInvalidString("\xEA", "%", "CP932", "UTF-8"); convertInvalidString("\x81\x20", "%", "CP932", "UTF-8"); convertInvalidString("\xEA\xA9", "%", "CP932", "UTF-8"); +convertInvalidString("\x80", "%", "SJIS-win", "UTF-8"); +convertInvalidString("\xEA", "%", "SJIS-win", "UTF-8"); +convertInvalidString("\x81\x20", "%", "SJIS-win", "UTF-8"); +convertInvalidString("\xEA\xA9", "%", "SJIS-win", "UTF-8"); echo "Done!\n"; ?> @@ -119,4 +148,7 @@ echo "Done!\n"; CP932 verification and conversion works on all valid characters CP932 verification and conversion works on all invalid characters Unicode -> CP932 conversion works on all invalid codepoints +SJIS-win verification and conversion works on all valid characters +SJIS-win verification and conversion works on all invalid characters +Unicode -> SJIS-win conversion works on all invalid codepoints Done! diff --git a/ext/mbstring/tests/mb_internal_encoding_variation2.phpt b/ext/mbstring/tests/mb_internal_encoding_variation2.phpt index 842d8d519cf06..dab306b12a2b8 100644 --- a/ext/mbstring/tests/mb_internal_encoding_variation2.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_variation2.phpt @@ -176,10 +176,10 @@ string(9) "eucJP-win" -- Iteration 20 -- string(9) "eucJP-win" bool(true) -string(5) "CP932" +string(8) "SJIS-win" -- Iteration 21 -- -string(5) "CP932" +string(8) "SJIS-win" bool(true) string(11) "ISO-2022-JP" From 7c6316ad1c7ce95551f9a2477d04930efb7274d5 Mon Sep 17 00:00:00 2001 From: Gabriel Caruso Date: Wed, 17 Aug 2022 11:56:42 +0200 Subject: [PATCH 090/229] Prepare for 8.0.24 --- NEWS | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index caf69a2627f8e..50901b3926a97 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? 2022, PHP 8.0.23 +?? ??? 2022, PHP 8.0.24 + + +01 Sep 2022, PHP 8.0.23 - Core: . Fixed incorrect double to long casting in latest clang. (zeriyoshi) From 84dcf578b155d82e0c0c02611c9299f74f17173f Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Mon, 15 Aug 2022 12:05:19 +0100 Subject: [PATCH 091/229] Fix GH-9339: OpenSSL oid_file path check warning contains uninitialized path --- NEWS | 4 ++++ ext/openssl/openssl.c | 6 +++--- ext/openssl/tests/gh9339.phpt | 25 +++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 ext/openssl/tests/gh9339.phpt diff --git a/NEWS b/NEWS index 50901b3926a97..3c68c6cd1390b 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,10 @@ PHP NEWS . Fixed bug GH-9033 (Loading blacklist file can fail due to negative length). (cmb) +- OpenSSL: + . Fixed bug GH-9339 (OpenSSL oid_file path check warning contains + uninitialized path). (Jakub Zelenka) + - PDO_SQLite: . Fixed bug GH-9032 (SQLite3 authorizer crashes on NULL values). (cmb) diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index f791cfa856031..208776e330151 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -506,15 +506,15 @@ static bool php_openssl_check_path_ex( error_msg = "must not contain any null bytes"; error_type = E_ERROR; } else if (expand_filepath(fs_file_path, real_path) == NULL) { - error_msg = "The argument must be a valid file path"; + error_msg = "must be a valid file path"; } if (error_msg != NULL) { if (arg_num == 0) { const char *option_title = option_name ? option_name : "unknown"; const char *option_label = is_from_array ? "array item" : "option"; - php_error_docref(NULL, E_WARNING, "Path '%s' for %s %s %s", - real_path, option_title, option_label, error_msg); + php_error_docref(NULL, E_WARNING, "Path for %s %s %s", + option_title, option_label, error_msg); } else if (is_from_array && option_name != NULL) { php_openssl_check_path_error( arg_num, error_type, "option %s array item %s", option_name, error_msg); diff --git a/ext/openssl/tests/gh9339.phpt b/ext/openssl/tests/gh9339.phpt new file mode 100644 index 0000000000000..9e4adbccce7f6 --- /dev/null +++ b/ext/openssl/tests/gh9339.phpt @@ -0,0 +1,25 @@ +--TEST-- +GH-9339: oid_file path check warning contains uninitialized path +--SKIPIF-- + +--FILE-- + $configFile ]); +?> +--CLEAN-- + +--EXPECTF-- + +Warning: openssl_pkey_new(): Path for oid_file option must be a valid file path in %s on line %d From 72da41871907ce803b227b21f1edeef334b48c4c Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 17 Aug 2022 14:20:57 +0200 Subject: [PATCH 092/229] Fix GH-9316: $http_response_header is wrong for long status line MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While the reason-phrase in a HTTP response status line is usually short, there is no actual limit specified by the RFCs. As such, we must not assume that the line fits into the buffer (which is currently 128 bytes large). Since there is no real need to present the complete status line, we simply read and discard the rest of a long line. Co-authored-by: Tim Düsterhus Closes GH-9319. --- NEWS | 3 +++ ext/standard/http_fopen_wrapper.c | 4 +++ ext/standard/tests/http/gh9316.phpt | 38 +++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 ext/standard/tests/http/gh9316.phpt diff --git a/NEWS b/NEWS index 3c68c6cd1390b..d38ab8a422564 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2022, PHP 8.0.24 +- Streams: + . Fixed bug GH-9316 ($http_response_header is wrong for long status line). + (cmb, timwolla) 01 Sep 2022, PHP 8.0.23 diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c index da822d9160f67..45677c396acf2 100644 --- a/ext/standard/http_fopen_wrapper.c +++ b/ext/standard/http_fopen_wrapper.c @@ -717,6 +717,10 @@ static php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, if (tmp_line_len >= 1 &&tmp_line[tmp_line_len - 1] == '\r') { --tmp_line_len; } + } else { + // read and discard rest of status line + char *line = php_stream_get_line(stream, NULL, 0, NULL); + efree(line); } ZVAL_STRINGL(&http_response, tmp_line, tmp_line_len); zend_hash_next_index_insert(Z_ARRVAL_P(response_header), &http_response); diff --git a/ext/standard/tests/http/gh9316.phpt b/ext/standard/tests/http/gh9316.phpt new file mode 100644 index 0000000000000..126e1bb7bf72f --- /dev/null +++ b/ext/standard/tests/http/gh9316.phpt @@ -0,0 +1,38 @@ +--TEST-- +Bug GH-9316 ($http_response_header is wrong for long status line) +--SKIPIF-- + +--INI-- +allow_url_fopen=1 +--FILE-- + $pid, 'uri' => $uri] = http_server($responses, $output); + +for ($i = 0; $i < count($responses); ++$i) { + $f = @fopen($uri, "r"); + var_dump($http_response_header); + fclose($f); +} + +http_server_kill($pid); + +--EXPECT-- +array(2) { + [0]=> + string(126) "HTTP/1.1 200 Some very long reason-phrase to test that this is properly handled by our code without adding a new header like " + [1]=> + string(12) "Good: Header" +} +array(2) { + [0]=> + string(13) "HTTP/1.1 200 " + [1]=> + string(12) "Good: Header" +} From aa702c54591b90ae44319492f7c80f8c0e0d864d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 18 Aug 2022 11:51:49 +0200 Subject: [PATCH 093/229] add compat stuff for function attributes --- build/gen_stub.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build/gen_stub.php b/build/gen_stub.php index 3eb7c1c662a80..f3ba2bb05f91e 100755 --- a/build/gen_stub.php +++ b/build/gen_stub.php @@ -3997,8 +3997,14 @@ static function (FuncInfo $funcInfo) use ($fileInfo, &$generatedFunctionDeclarat } } + $php82MinimumCompatibility = $fileInfo->generateLegacyArginfoForPhpVersionId === null || $fileInfo->generateLegacyArginfoForPhpVersionId >= PHP_82_VERSION_ID; + if ($fileInfo->generateClassEntries) { - $attributeInitializationCode = generateAttributeInitialization($fileInfo->funcInfos, $allConstInfos, null); + if ($attributeInitializationCode = generateAttributeInitialization($fileInfo->funcInfos, $allConstInfos, null)) { + if (!$php82MinimumCompatibility) { + $attributeInitializationCode = "\n#if (PHP_VERSION_ID >= " . PHP_82_VERSION_ID . ")" . $attributeInitializationCode . "#endif\n"; + } + } if ($attributeInitializationCode !== "" || !empty($fileInfo->constInfos)) { $code .= "\nstatic void register_{$stubFilenameWithoutExtension}_symbols(int module_number)\n"; From 1d4300d87076410c7af784a8034fccd2badb0204 Mon Sep 17 00:00:00 2001 From: NathanFreeman <1056159381@qq.com> Date: Sat, 30 Jul 2022 17:13:28 +0800 Subject: [PATCH 094/229] Fix bug #79451: Using DOMDocument->replaceChild on doctype causes double free Closes GH-9201 --- NEWS | 4 ++++ ext/dom/node.c | 20 +++++++++++++++----- ext/dom/tests/bug79451.phpt | 20 ++++++++++++++++++++ 3 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 ext/dom/tests/bug79451.phpt diff --git a/NEWS b/NEWS index d38ab8a422564..28734647d612c 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2022, PHP 8.0.24 +- DOM: + . Fixed bug #79451 (Using DOMDocument->replaceChild on doctype causes + double free) (NathanFreeman) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) diff --git a/ext/dom/node.c b/ext/dom/node.c index a6f88b5c0f1bb..6d86a46918baa 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -20,6 +20,7 @@ #endif #include "php.h" + #if defined(HAVE_LIBXML) && defined(HAVE_DOM) #include "php_dom.h" @@ -1001,6 +1002,7 @@ PHP_METHOD(DOMNode, replaceChild) xmlNodePtr children, newchild, oldchild, nodep; dom_object *intern, *newchildobj, *oldchildobj; int foundoldchild = 0, stricterror; + bool replacedoctype = false; int ret; @@ -1063,13 +1065,21 @@ PHP_METHOD(DOMNode, replaceChild) dom_reconcile_ns(nodep->doc, newchild); } } else if (oldchild != newchild) { + xmlDtdPtr intSubset = xmlGetIntSubset(nodep->doc); + replacedoctype = (intSubset == (xmlDtd *) oldchild); + if (newchild->doc == NULL && nodep->doc != NULL) { xmlSetTreeDoc(newchild, nodep->doc); newchildobj->document = intern->document; php_libxml_increment_doc_ref((php_libxml_node_object *)newchildobj, NULL); } + xmlReplaceNode(oldchild, newchild); dom_reconcile_ns(nodep->doc, newchild); + + if (replacedoctype) { + nodep->doc->intSubset = (xmlDtd *) newchild; + } } DOM_RET_OBJ(oldchild, &ret, intern); return; @@ -1668,7 +1678,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ buf = xmlAllocOutputBuffer(NULL); } - if (buf != NULL) { + if (buf != NULL) { ret = xmlC14NDocSaveTo(docp, nodeset, exclusive, inclusive_ns_prefixes, with_comments, buf); } @@ -1683,9 +1693,9 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ xmlXPathFreeContext(ctxp); } - if (buf == NULL || ret < 0) { - RETVAL_FALSE; - } else { + if (buf == NULL || ret < 0) { + RETVAL_FALSE; + } else { if (mode == 0) { #ifdef LIBXML2_NEW_BUFFER ret = xmlOutputBufferGetSize(buf); @@ -1702,7 +1712,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ RETVAL_EMPTY_STRING(); } } - } + } if (buf) { int bytes; diff --git a/ext/dom/tests/bug79451.phpt b/ext/dom/tests/bug79451.phpt new file mode 100644 index 0000000000000..cb0b072482a3a --- /dev/null +++ b/ext/dom/tests/bug79451.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #79451 (Using DOMDocument->replaceChild on doctype causes double free) +--SKIPIF-- + +--FILE-- +loadHTML("

hello

"); +$impl = new \DOMImplementation(); +$dt = $impl->createDocumentType("html_replace", "", ""); +$dom->replaceChild($dt, $dom->doctype); + +var_dump($dom->doctype->name); +echo $dom->saveXML(); +?> +--EXPECTF-- +string(12) "html_replace" + + +

hello

From 410e5d48a3b3d6f70beb31246df440a348b36bef Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 19 Aug 2022 14:30:55 +1000 Subject: [PATCH 095/229] Fix GCC 9.4 uninitialized variable warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ext/opcache/zend_accelerator_blacklist.c:295:4: error: ‘blacklist_path_length’ may be used uninitialized in this function [-Werror=maybe-uninitialized] --- ext/opcache/zend_accelerator_blacklist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/opcache/zend_accelerator_blacklist.c b/ext/opcache/zend_accelerator_blacklist.c index f0e3b69ae5fb3..aee8755f9dc94 100644 --- a/ext/opcache/zend_accelerator_blacklist.c +++ b/ext/opcache/zend_accelerator_blacklist.c @@ -241,7 +241,7 @@ static void zend_accel_blacklist_loadone(zend_blacklist *blacklist, char *filena { char buf[MAXPATHLEN + 1], real_path[MAXPATHLEN + 1], *blacklist_path = NULL; FILE *fp; - int path_length, blacklist_path_length; + int path_length, blacklist_path_length = 0; if ((fp = fopen(filename, "r")) == NULL) { zend_accel_error(ACCEL_LOG_WARNING, "Cannot load blacklist file: %s\n", filename); From ba029fce6898cb50fd619b934e190ecf16b48835 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 19 Aug 2022 14:09:07 +1000 Subject: [PATCH 096/229] Fix GH-9323: crash when the VM enters userspace code via the GC Closes GH-9323 --- NEWS | 4 ++++ Zend/zend_vm_def.h | 3 ++- Zend/zend_vm_execute.h | 12 +++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 28734647d612c..b45dce71fc5fb 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2022, PHP 8.0.24 +- Core: + . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) + (Tim Starling) + - DOM: . Fixed bug #79451 (Using DOMDocument->replaceChild on doctype causes double free) (NathanFreeman) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 1b4ef0d084652..d1aea77e8f974 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -4299,6 +4299,7 @@ ZEND_VM_INLINE_HANDLER(62, ZEND_RETURN, CONST|TMP|VAR|CV, ANY, SPEC(OBSERVER)) zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -8304,8 +8305,8 @@ ZEND_VM_C_LABEL(check_indirect): zend_refcounted *garbage = Z_COUNTED_P(variable_ptr); ZVAL_REF(variable_ptr, ref); + SAVE_OPLINE(); if (GC_DELREF(garbage) == 0) { - SAVE_OPLINE(); rc_dtor_func(garbage); if (UNEXPECTED(EG(exception))) { ZVAL_NULL(variable_ptr); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 0daa7b9e507f0..5e41f9f88b739 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -4073,6 +4073,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_CONST_ zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -4150,6 +4151,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_OBSER zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -18585,6 +18587,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_TMP_HA zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -21200,6 +21203,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_VAR_HA zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -37947,6 +37951,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_CV_HAN zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -42680,8 +42685,8 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_GLOBAL_SPEC_C zend_refcounted *garbage = Z_COUNTED_P(variable_ptr); ZVAL_REF(variable_ptr, ref); + SAVE_OPLINE(); if (GC_DELREF(garbage) == 0) { - SAVE_OPLINE(); rc_dtor_func(garbage); if (UNEXPECTED(EG(exception))) { ZVAL_NULL(variable_ptr); @@ -55390,6 +55395,7 @@ ZEND_API void execute_ex(zend_execute_data *ex) zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -55468,6 +55474,7 @@ ZEND_API void execute_ex(zend_execute_data *ex) zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -57001,6 +57008,7 @@ ZEND_API void execute_ex(zend_execute_data *ex) zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -57306,6 +57314,7 @@ ZEND_API void execute_ex(zend_execute_data *ex) zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); @@ -58427,6 +58436,7 @@ ZEND_API void execute_ex(zend_execute_data *ex) zend_refcounted *ref = Z_COUNTED_P(retval_ptr); ZVAL_COPY_VALUE(return_value, retval_ptr); if (GC_MAY_LEAK(ref)) { + SAVE_OPLINE(); gc_possible_root(ref); } ZVAL_NULL(retval_ptr); From 5739dd00308ac3d49e4b6d40d5bffc9afcf82ec8 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 19 Aug 2022 13:17:57 +0100 Subject: [PATCH 097/229] Fix bad merge --- ext/dom/node.c | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/ext/dom/node.c b/ext/dom/node.c index e85cdddaf5274..c228eb07af6a2 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -1044,51 +1044,7 @@ PHP_METHOD(DOMNode, replaceChild) RETURN_FALSE; } -<<<<<<< HEAD if (oldchild->parent != nodep) { -======= - /* check for the old child and whether the new child is already a child */ - while (children) { - if (children == oldchild) { - foundoldchild = 1; - break; - } - children = children->next; - } - - if (foundoldchild) { - if (newchild->type == XML_DOCUMENT_FRAG_NODE) { - xmlNodePtr prevsib, nextsib; - prevsib = oldchild->prev; - nextsib = oldchild->next; - - xmlUnlinkNode(oldchild); - - newchild = _php_dom_insert_fragment(nodep, prevsib, nextsib, newchild, intern, newchildobj); - if (newchild) { - dom_reconcile_ns(nodep->doc, newchild); - } - } else if (oldchild != newchild) { - xmlDtdPtr intSubset = xmlGetIntSubset(nodep->doc); - replacedoctype = (intSubset == (xmlDtd *) oldchild); - - if (newchild->doc == NULL && nodep->doc != NULL) { - xmlSetTreeDoc(newchild, nodep->doc); - newchildobj->document = intern->document; - php_libxml_increment_doc_ref((php_libxml_node_object *)newchildobj, NULL); - } - - xmlReplaceNode(oldchild, newchild); - dom_reconcile_ns(nodep->doc, newchild); - - if (replacedoctype) { - nodep->doc->intSubset = (xmlDtd *) newchild; - } - } - DOM_RET_OBJ(oldchild, &ret, intern); - return; - } else { ->>>>>>> PHP-8.0 php_dom_throw_error(NOT_FOUND_ERR, stricterror); RETURN_FALSE; } From a1f5c8a587ff6dfa309ccf34c1508a8977e77f82 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 16 Aug 2022 13:34:14 +0200 Subject: [PATCH 098/229] Fix GH-9227: Trailing dots and spaces in filenames are ignored Given that Windows ignores trailing dots and spaces in filenames, we catch that ourselves to avoid confusion with the respective filenames without these characters. Closes GH-9229. --- NEWS | 2 ++ Zend/zend_virtual_cwd.c | 7 ++++ .../SplFileInfo_getExtension_basic-win32.phpt | 33 +++++++++++++++++++ .../tests/SplFileInfo_getExtension_basic.phpt | 4 +++ ext/standard/tests/file/gh9227.phpt | 20 +++++++++++ 5 files changed, 66 insertions(+) create mode 100644 ext/spl/tests/SplFileInfo_getExtension_basic-win32.phpt create mode 100644 ext/standard/tests/file/gh9227.phpt diff --git a/NEWS b/NEWS index 3b72ca44b5107..e2851b4878d83 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) (Tim Starling) + . Fixed bug GH-9227 (Trailing dots and spaces in filenames are ignored). + (cmb) - DOM: . Fixed bug #79451 (Using DOMDocument->replaceChild on doctype causes diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c index 14e55fab4471d..64fc165174051 100644 --- a/Zend/zend_virtual_cwd.c +++ b/Zend/zend_virtual_cwd.c @@ -603,6 +603,7 @@ static size_t tsrm_realpath_r(char *path, size_t start, size_t len, int *ll, tim if (!pathw) { return (size_t)-1; } + PHP_WIN32_IOUTIL_CHECK_PATH_W(pathw, (size_t)-1, 1); hFind = FindFirstFileExW(pathw, FindExInfoBasic, &dataw, FindExSearchNameMatch, NULL, 0); if (INVALID_HANDLE_VALUE == hFind) { if (use_realpath == CWD_REALPATH) { @@ -1139,7 +1140,13 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func path_length = tsrm_realpath_r(resolved_path, start, path_length, &ll, &t, use_realpath, 0, NULL); if (path_length == (size_t)-1) { +#ifdef ZEND_WIN32 + if (errno != EACCES) { + errno = ENOENT; + } +#else errno = ENOENT; +#endif return 1; } diff --git a/ext/spl/tests/SplFileInfo_getExtension_basic-win32.phpt b/ext/spl/tests/SplFileInfo_getExtension_basic-win32.phpt new file mode 100644 index 0000000000000..5b1e2ed8ad8be --- /dev/null +++ b/ext/spl/tests/SplFileInfo_getExtension_basic-win32.phpt @@ -0,0 +1,33 @@ +--TEST-- +SPL: SplFileInfo::getExtension() basic test +--SKIPIF-- + +--FILE-- +getExtension(), pathinfo($file . $ext, PATHINFO_EXTENSION)); +} +?> +--CLEAN-- + +--EXPECT-- +string(3) "txt" +string(3) "txt" +string(9) "extension" +string(9) "extension" +string(0) "" +string(0) "" +string(0) "" +string(0) "" diff --git a/ext/spl/tests/SplFileInfo_getExtension_basic.phpt b/ext/spl/tests/SplFileInfo_getExtension_basic.phpt index 370257495b872..c75e0ed48ffb3 100644 --- a/ext/spl/tests/SplFileInfo_getExtension_basic.phpt +++ b/ext/spl/tests/SplFileInfo_getExtension_basic.phpt @@ -1,5 +1,9 @@ --TEST-- SPL: SplFileInfo::getExtension() basic test +--SKIPIF-- + --FILE-- +--FILE-- + +--CLEAN-- + +--EXPECT-- +bool(false) +int(3) +bool(false) From d6831e9a5c9a868d639ba6989d310c424361b64b Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 19 Aug 2022 13:54:54 +0100 Subject: [PATCH 099/229] Revert Fixed bug #79451 The fix for 8.1 and above is not identical and I don't know how to fix without breaking the whole build apparently --- NEWS | 4 ---- ext/dom/node.c | 20 +++++--------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/NEWS b/NEWS index b45dce71fc5fb..d0372e385befc 100644 --- a/NEWS +++ b/NEWS @@ -6,10 +6,6 @@ PHP NEWS . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) (Tim Starling) -- DOM: - . Fixed bug #79451 (Using DOMDocument->replaceChild on doctype causes - double free) (NathanFreeman) - - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) diff --git a/ext/dom/node.c b/ext/dom/node.c index 6d86a46918baa..a6f88b5c0f1bb 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -20,7 +20,6 @@ #endif #include "php.h" - #if defined(HAVE_LIBXML) && defined(HAVE_DOM) #include "php_dom.h" @@ -1002,7 +1001,6 @@ PHP_METHOD(DOMNode, replaceChild) xmlNodePtr children, newchild, oldchild, nodep; dom_object *intern, *newchildobj, *oldchildobj; int foundoldchild = 0, stricterror; - bool replacedoctype = false; int ret; @@ -1065,21 +1063,13 @@ PHP_METHOD(DOMNode, replaceChild) dom_reconcile_ns(nodep->doc, newchild); } } else if (oldchild != newchild) { - xmlDtdPtr intSubset = xmlGetIntSubset(nodep->doc); - replacedoctype = (intSubset == (xmlDtd *) oldchild); - if (newchild->doc == NULL && nodep->doc != NULL) { xmlSetTreeDoc(newchild, nodep->doc); newchildobj->document = intern->document; php_libxml_increment_doc_ref((php_libxml_node_object *)newchildobj, NULL); } - xmlReplaceNode(oldchild, newchild); dom_reconcile_ns(nodep->doc, newchild); - - if (replacedoctype) { - nodep->doc->intSubset = (xmlDtd *) newchild; - } } DOM_RET_OBJ(oldchild, &ret, intern); return; @@ -1678,7 +1668,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ buf = xmlAllocOutputBuffer(NULL); } - if (buf != NULL) { + if (buf != NULL) { ret = xmlC14NDocSaveTo(docp, nodeset, exclusive, inclusive_ns_prefixes, with_comments, buf); } @@ -1693,9 +1683,9 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ xmlXPathFreeContext(ctxp); } - if (buf == NULL || ret < 0) { - RETVAL_FALSE; - } else { + if (buf == NULL || ret < 0) { + RETVAL_FALSE; + } else { if (mode == 0) { #ifdef LIBXML2_NEW_BUFFER ret = xmlOutputBufferGetSize(buf); @@ -1712,7 +1702,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ RETVAL_EMPTY_STRING(); } } - } + } if (buf) { int bytes; From 52e312afb8dfb6cd34d3e50a5dd487167be8637d Mon Sep 17 00:00:00 2001 From: David Carlier Date: Fri, 19 Aug 2022 16:55:51 +0100 Subject: [PATCH 100/229] opcache jit fix message format for OpenBSD. like macOs it requires `ll`. Closes #9380. --- ext/opcache/jit/libudis86/udint.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/opcache/jit/libudis86/udint.h b/ext/opcache/jit/libudis86/udint.h index 734f0eaa82db1..0bf493c182bb6 100644 --- a/ext/opcache/jit/libudis86/udint.h +++ b/ext/opcache/jit/libudis86/udint.h @@ -79,7 +79,7 @@ #if defined(_MSC_VER) || defined(__BORLANDC__) # define FMT64 "I64" #else -# if defined(__APPLE__) +# if defined(__APPLE__) || defined(__OpenBSD__) # define FMT64 "ll" # elif defined(__amd64__) || defined(__x86_64__) # define FMT64 "l" From 6027d441c1d650cad0c74e5d973a782f4b9c7516 Mon Sep 17 00:00:00 2001 From: NathanFreeman <1056159381@qq.com> Date: Thu, 4 Aug 2022 16:04:41 +0200 Subject: [PATCH 101/229] Fix #79451: DOMDocument->replaceChild on doctype causes double free We have to reset intSubset if replacing doctype with another doctype node. Closes GH-9201. Closes GH-9376. --- NEWS | 4 ++++ ext/dom/node.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/NEWS b/NEWS index d0372e385befc..2f93cb9808a1b 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,10 @@ PHP NEWS . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) (Tim Starling) +- DOM: + . Fixed bug #79451 (DOMDocument->replaceChild on doctype causes double free). + (Nathan Freeman) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) diff --git a/ext/dom/node.c b/ext/dom/node.c index a6f88b5c0f1bb..a469ce28f77b5 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -20,6 +20,7 @@ #endif #include "php.h" + #if defined(HAVE_LIBXML) && defined(HAVE_DOM) #include "php_dom.h" @@ -1001,6 +1002,7 @@ PHP_METHOD(DOMNode, replaceChild) xmlNodePtr children, newchild, oldchild, nodep; dom_object *intern, *newchildobj, *oldchildobj; int foundoldchild = 0, stricterror; + bool replacedoctype = false; int ret; @@ -1063,13 +1065,21 @@ PHP_METHOD(DOMNode, replaceChild) dom_reconcile_ns(nodep->doc, newchild); } } else if (oldchild != newchild) { + xmlDtdPtr intSubset = xmlGetIntSubset(nodep->doc); + replacedoctype = (intSubset == (xmlDtd *) oldchild); + if (newchild->doc == NULL && nodep->doc != NULL) { xmlSetTreeDoc(newchild, nodep->doc); newchildobj->document = intern->document; php_libxml_increment_doc_ref((php_libxml_node_object *)newchildobj, NULL); } + xmlReplaceNode(oldchild, newchild); dom_reconcile_ns(nodep->doc, newchild); + + if (replacedoctype) { + nodep->doc->intSubset = (xmlDtd *) newchild; + } } DOM_RET_OBJ(oldchild, &ret, intern); return; From e6e26b444dbd3418aac7db01fbd081c5ff7cee52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sat, 20 Aug 2022 11:01:40 +0200 Subject: [PATCH 102/229] Declare ext/curl constants in stubs (#9384) --- ext/curl/curl.stub.php | 3526 +++++++++++++++++++++++++++++++++++++++ ext/curl/curl_arginfo.h | 1071 +++++++++++- ext/curl/interface.c | 931 +---------- 3 files changed, 4597 insertions(+), 931 deletions(-) diff --git a/ext/curl/curl.stub.php b/ext/curl/curl.stub.php index 58c5a959b25f6..282fc1eaaa126 100644 --- a/ext/curl/curl.stub.php +++ b/ext/curl/curl.stub.php @@ -2,6 +2,3532 @@ /** @generate-class-entries */ +/* See http://curl.haxx.se/lxr/source/docs/libcurl/symbols-in-versions + or curl src/docs/libcurl/symbols-in-versions for a (almost) complete list + of options and which version they were introduced */ + +/** + * @var int + * @cvalue CURLOPT_AUTOREFERER + */ +const CURLOPT_AUTOREFERER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_BINARYTRANSFER + */ +const CURLOPT_BINARYTRANSFER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_BUFFERSIZE + */ +const CURLOPT_BUFFERSIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CAINFO + */ +const CURLOPT_CAINFO = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CAPATH + */ +const CURLOPT_CAPATH = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CONNECTTIMEOUT + */ +const CURLOPT_CONNECTTIMEOUT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_COOKIE + */ +const CURLOPT_COOKIE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_COOKIEFILE + */ +const CURLOPT_COOKIEFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_COOKIEJAR + */ +const CURLOPT_COOKIEJAR = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_COOKIESESSION + */ +const CURLOPT_COOKIESESSION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CRLF + */ +const CURLOPT_CRLF = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CUSTOMREQUEST + */ +const CURLOPT_CUSTOMREQUEST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DNS_CACHE_TIMEOUT + */ +const CURLOPT_DNS_CACHE_TIMEOUT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DNS_USE_GLOBAL_CACHE + */ +const CURLOPT_DNS_USE_GLOBAL_CACHE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_EGDSOCKET + */ +const CURLOPT_EGDSOCKET = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_ENCODING + */ +const CURLOPT_ENCODING = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FAILONERROR + */ +const CURLOPT_FAILONERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FILE + */ +const CURLOPT_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FILETIME + */ +const CURLOPT_FILETIME = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FOLLOWLOCATION + */ +const CURLOPT_FOLLOWLOCATION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FORBID_REUSE + */ +const CURLOPT_FORBID_REUSE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FRESH_CONNECT + */ +const CURLOPT_FRESH_CONNECT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTPAPPEND + */ +const CURLOPT_FTPAPPEND = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTPLISTONLY + */ +const CURLOPT_FTPLISTONLY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTPPORT + */ +const CURLOPT_FTPPORT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_USE_EPRT + */ +const CURLOPT_FTP_USE_EPRT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_USE_EPSV + */ +const CURLOPT_FTP_USE_EPSV = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HEADER + */ +const CURLOPT_HEADER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HEADERFUNCTION + */ +const CURLOPT_HEADERFUNCTION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTP200ALIASES + */ +const CURLOPT_HTTP200ALIASES = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTPGET + */ +const CURLOPT_HTTPGET = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTPHEADER + */ +const CURLOPT_HTTPHEADER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTPPROXYTUNNEL + */ +const CURLOPT_HTTPPROXYTUNNEL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTP_VERSION + */ +const CURLOPT_HTTP_VERSION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_INFILE + */ +const CURLOPT_INFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_INFILESIZE + */ +const CURLOPT_INFILESIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_INTERFACE + */ +const CURLOPT_INTERFACE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_KRB4LEVEL + */ +const CURLOPT_KRB4LEVEL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_LOW_SPEED_LIMIT + */ +const CURLOPT_LOW_SPEED_LIMIT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_LOW_SPEED_TIME + */ +const CURLOPT_LOW_SPEED_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAXCONNECTS + */ +const CURLOPT_MAXCONNECTS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAXREDIRS + */ +const CURLOPT_MAXREDIRS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NETRC + */ +const CURLOPT_NETRC = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NOBODY + */ +const CURLOPT_NOBODY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NOPROGRESS + */ +const CURLOPT_NOPROGRESS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NOSIGNAL + */ +const CURLOPT_NOSIGNAL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PORT + */ +const CURLOPT_PORT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_POST + */ +const CURLOPT_POST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_POSTFIELDS + */ +const CURLOPT_POSTFIELDS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_POSTQUOTE + */ +const CURLOPT_POSTQUOTE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PREQUOTE + */ +const CURLOPT_PREQUOTE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PRIVATE + */ +const CURLOPT_PRIVATE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROGRESSFUNCTION + */ +const CURLOPT_PROGRESSFUNCTION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY + */ +const CURLOPT_PROXY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYPORT + */ +const CURLOPT_PROXYPORT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYTYPE + */ +const CURLOPT_PROXYTYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYUSERPWD + */ +const CURLOPT_PROXYUSERPWD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PUT + */ +const CURLOPT_PUT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_QUOTE + */ +const CURLOPT_QUOTE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RANDOM_FILE + */ +const CURLOPT_RANDOM_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RANGE + */ +const CURLOPT_RANGE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_READDATA + */ +const CURLOPT_READDATA = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_READFUNCTION + */ +const CURLOPT_READFUNCTION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_REFERER + */ +const CURLOPT_REFERER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RESUME_FROM + */ +const CURLOPT_RESUME_FROM = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RETURNTRANSFER + */ +const CURLOPT_RETURNTRANSFER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SHARE + */ +const CURLOPT_SHARE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLCERT + */ +const CURLOPT_SSLCERT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLCERTPASSWD + */ +const CURLOPT_SSLCERTPASSWD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLCERTTYPE + */ +const CURLOPT_SSLCERTTYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLENGINE + */ +const CURLOPT_SSLENGINE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLENGINE_DEFAULT + */ +const CURLOPT_SSLENGINE_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLKEY + */ +const CURLOPT_SSLKEY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLKEYPASSWD + */ +const CURLOPT_SSLKEYPASSWD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLKEYTYPE + */ +const CURLOPT_SSLKEYTYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLVERSION + */ +const CURLOPT_SSLVERSION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_CIPHER_LIST + */ +const CURLOPT_SSL_CIPHER_LIST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_VERIFYHOST + */ +const CURLOPT_SSL_VERIFYHOST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_VERIFYPEER + */ +const CURLOPT_SSL_VERIFYPEER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_STDERR + */ +const CURLOPT_STDERR = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TELNETOPTIONS + */ +const CURLOPT_TELNETOPTIONS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TIMECONDITION + */ +const CURLOPT_TIMECONDITION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TIMEOUT + */ +const CURLOPT_TIMEOUT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TIMEVALUE + */ +const CURLOPT_TIMEVALUE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TRANSFERTEXT + */ +const CURLOPT_TRANSFERTEXT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_UNRESTRICTED_AUTH + */ +const CURLOPT_UNRESTRICTED_AUTH = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_UPLOAD + */ +const CURLOPT_UPLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_URL + */ +const CURLOPT_URL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_USERAGENT + */ +const CURLOPT_USERAGENT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_USERPWD + */ +const CURLOPT_USERPWD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_VERBOSE + */ +const CURLOPT_VERBOSE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_WRITEFUNCTION + */ +const CURLOPT_WRITEFUNCTION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_WRITEHEADER + */ +const CURLOPT_WRITEHEADER = UNKNOWN; +#if LIBCURL_VERSION_NUM >= 0x072000 +/** + * @var int + * @cvalue CURLOPT_XFERINFOFUNCTION + */ +const CURLOPT_XFERINFOFUNCTION = UNKNOWN; +#endif + +/* */ +/** + * @var int + * @cvalue CURLE_ABORTED_BY_CALLBACK + */ +const CURLE_ABORTED_BY_CALLBACK = UNKNOWN; +/** + * @var int + * @cvalue CURLE_BAD_CALLING_ORDER + */ +const CURLE_BAD_CALLING_ORDER = UNKNOWN; +/** + * @var int + * @cvalue CURLE_BAD_CONTENT_ENCODING + */ +const CURLE_BAD_CONTENT_ENCODING = UNKNOWN; +/** + * @var int + * @cvalue CURLE_BAD_DOWNLOAD_RESUME + */ +const CURLE_BAD_DOWNLOAD_RESUME = UNKNOWN; +/** + * @var int + * @cvalue CURLE_BAD_FUNCTION_ARGUMENT + */ +const CURLE_BAD_FUNCTION_ARGUMENT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_BAD_PASSWORD_ENTERED + */ +const CURLE_BAD_PASSWORD_ENTERED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_COULDNT_CONNECT + */ +const CURLE_COULDNT_CONNECT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_COULDNT_RESOLVE_HOST + */ +const CURLE_COULDNT_RESOLVE_HOST = UNKNOWN; +/** + * @var int + * @cvalue CURLE_COULDNT_RESOLVE_PROXY + */ +const CURLE_COULDNT_RESOLVE_PROXY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FAILED_INIT + */ +const CURLE_FAILED_INIT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FILE_COULDNT_READ_FILE + */ +const CURLE_FILE_COULDNT_READ_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_ACCESS_DENIED + */ +const CURLE_FTP_ACCESS_DENIED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_BAD_DOWNLOAD_RESUME + */ +const CURLE_FTP_BAD_DOWNLOAD_RESUME = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_CANT_GET_HOST + */ +const CURLE_FTP_CANT_GET_HOST = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_CANT_RECONNECT + */ +const CURLE_FTP_CANT_RECONNECT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_COULDNT_GET_SIZE + */ +const CURLE_FTP_COULDNT_GET_SIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_COULDNT_RETR_FILE + */ +const CURLE_FTP_COULDNT_RETR_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_COULDNT_SET_ASCII + */ +const CURLE_FTP_COULDNT_SET_ASCII = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_COULDNT_SET_BINARY + */ +const CURLE_FTP_COULDNT_SET_BINARY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_COULDNT_STOR_FILE + */ +const CURLE_FTP_COULDNT_STOR_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_COULDNT_USE_REST + */ +const CURLE_FTP_COULDNT_USE_REST = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_PARTIAL_FILE + */ +const CURLE_FTP_PARTIAL_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_PORT_FAILED + */ +const CURLE_FTP_PORT_FAILED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_QUOTE_ERROR + */ +const CURLE_FTP_QUOTE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_USER_PASSWORD_INCORRECT + */ +const CURLE_FTP_USER_PASSWORD_INCORRECT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_WEIRD_227_FORMAT + */ +const CURLE_FTP_WEIRD_227_FORMAT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_WEIRD_PASS_REPLY + */ +const CURLE_FTP_WEIRD_PASS_REPLY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_WEIRD_PASV_REPLY + */ +const CURLE_FTP_WEIRD_PASV_REPLY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_WEIRD_SERVER_REPLY + */ +const CURLE_FTP_WEIRD_SERVER_REPLY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_WEIRD_USER_REPLY + */ +const CURLE_FTP_WEIRD_USER_REPLY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FTP_WRITE_ERROR + */ +const CURLE_FTP_WRITE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_FUNCTION_NOT_FOUND + */ +const CURLE_FUNCTION_NOT_FOUND = UNKNOWN; +/** + * @var int + * @cvalue CURLE_GOT_NOTHING + */ +const CURLE_GOT_NOTHING = UNKNOWN; +/** + * @var int + * @cvalue CURLE_HTTP_NOT_FOUND + */ +const CURLE_HTTP_NOT_FOUND = UNKNOWN; +/** + * @var int + * @cvalue CURLE_HTTP_PORT_FAILED + */ +const CURLE_HTTP_PORT_FAILED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_HTTP_POST_ERROR + */ +const CURLE_HTTP_POST_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_HTTP_RANGE_ERROR + */ +const CURLE_HTTP_RANGE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_HTTP_RETURNED_ERROR + */ +const CURLE_HTTP_RETURNED_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_LDAP_CANNOT_BIND + */ +const CURLE_LDAP_CANNOT_BIND = UNKNOWN; +/** + * @var int + * @cvalue CURLE_LDAP_SEARCH_FAILED + */ +const CURLE_LDAP_SEARCH_FAILED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_LIBRARY_NOT_FOUND + */ +const CURLE_LIBRARY_NOT_FOUND = UNKNOWN; +/** + * @var int + * @cvalue CURLE_MALFORMAT_USER + */ +const CURLE_MALFORMAT_USER = UNKNOWN; +/** + * @var int + * @cvalue CURLE_OBSOLETE + */ +const CURLE_OBSOLETE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_OK + */ +const CURLE_OK = UNKNOWN; +/** + * @var int + * @cvalue CURLE_OPERATION_TIMEDOUT + */ +const CURLE_OPERATION_TIMEDOUT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_OPERATION_TIMEOUTED + */ +const CURLE_OPERATION_TIMEOUTED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_OUT_OF_MEMORY + */ +const CURLE_OUT_OF_MEMORY = UNKNOWN; +/** + * @var int + * @cvalue CURLE_PARTIAL_FILE + */ +const CURLE_PARTIAL_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_READ_ERROR + */ +const CURLE_READ_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_RECV_ERROR + */ +const CURLE_RECV_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SEND_ERROR + */ +const CURLE_SEND_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SHARE_IN_USE + */ +const CURLE_SHARE_IN_USE = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_CACERT + */ +const CURLE_SSL_CACERT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_CERTPROBLEM + */ +const CURLE_SSL_CERTPROBLEM = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_CIPHER + */ +const CURLE_SSL_CIPHER = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_CONNECT_ERROR + */ +const CURLE_SSL_CONNECT_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_ENGINE_NOTFOUND + */ +const CURLE_SSL_ENGINE_NOTFOUND = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_ENGINE_SETFAILED + */ +const CURLE_SSL_ENGINE_SETFAILED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_SSL_PEER_CERTIFICATE + */ +const CURLE_SSL_PEER_CERTIFICATE = UNKNOWN; +#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ +/** + * @var int + * @cvalue CURLE_SSL_PINNEDPUBKEYNOTMATCH + */ +const CURLE_SSL_PINNEDPUBKEYNOTMATCH = UNKNOWN; +#endif +/** + * @var int + * @cvalue CURLE_TELNET_OPTION_SYNTAX + */ +const CURLE_TELNET_OPTION_SYNTAX = UNKNOWN; +/** + * @var int + * @cvalue CURLE_TOO_MANY_REDIRECTS + */ +const CURLE_TOO_MANY_REDIRECTS = UNKNOWN; +/** + * @var int + * @cvalue CURLE_UNKNOWN_TELNET_OPTION + */ +const CURLE_UNKNOWN_TELNET_OPTION = UNKNOWN; +/** + * @var int + * @cvalue CURLE_UNSUPPORTED_PROTOCOL + */ +const CURLE_UNSUPPORTED_PROTOCOL = UNKNOWN; +/** + * @var int + * @cvalue CURLE_URL_MALFORMAT + */ +const CURLE_URL_MALFORMAT = UNKNOWN; +/** + * @var int + * @cvalue CURLE_URL_MALFORMAT_USER + */ +const CURLE_URL_MALFORMAT_USER = UNKNOWN; +/** + * @var int + * @cvalue CURLE_WRITE_ERROR + */ +const CURLE_WRITE_ERROR = UNKNOWN; + +/* cURL info constants */ +/** + * @var int + * @cvalue CURLINFO_CONNECT_TIME + */ +const CURLINFO_CONNECT_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_CONTENT_LENGTH_DOWNLOAD + */ +const CURLINFO_CONTENT_LENGTH_DOWNLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_CONTENT_LENGTH_UPLOAD + */ +const CURLINFO_CONTENT_LENGTH_UPLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_CONTENT_TYPE + */ +const CURLINFO_CONTENT_TYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_EFFECTIVE_URL + */ +const CURLINFO_EFFECTIVE_URL = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_FILETIME + */ +const CURLINFO_FILETIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_HEADER_OUT + */ +const CURLINFO_HEADER_OUT = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_HEADER_SIZE + */ +const CURLINFO_HEADER_SIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_HTTP_CODE + */ +const CURLINFO_HTTP_CODE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_LASTONE + */ +const CURLINFO_LASTONE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_NAMELOOKUP_TIME + */ +const CURLINFO_NAMELOOKUP_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PRETRANSFER_TIME + */ +const CURLINFO_PRETRANSFER_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PRIVATE + */ +const CURLINFO_PRIVATE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_REDIRECT_COUNT + */ +const CURLINFO_REDIRECT_COUNT = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_REDIRECT_TIME + */ +const CURLINFO_REDIRECT_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_REQUEST_SIZE + */ +const CURLINFO_REQUEST_SIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SIZE_DOWNLOAD + */ +const CURLINFO_SIZE_DOWNLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SIZE_UPLOAD + */ +const CURLINFO_SIZE_UPLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SPEED_DOWNLOAD + */ +const CURLINFO_SPEED_DOWNLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SPEED_UPLOAD + */ +const CURLINFO_SPEED_UPLOAD = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SSL_VERIFYRESULT + */ +const CURLINFO_SSL_VERIFYRESULT = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_STARTTRANSFER_TIME + */ +const CURLINFO_STARTTRANSFER_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_TOTAL_TIME + */ +const CURLINFO_TOTAL_TIME = UNKNOWN; +#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ +/** + * @var int + * @cvalue CURLINFO_EFFECTIVE_METHOD + */ +const CURLINFO_EFFECTIVE_METHOD = UNKNOWN; +#endif + +/* Other */ +/** + * @var int + * @cvalue CURLMSG_DONE + */ +const CURLMSG_DONE = UNKNOWN; +/** + * @var int + * @cvalue CURLVERSION_NOW + */ +const CURLVERSION_NOW = UNKNOWN; + +/* Curl Multi Constants */ +/** + * @var int + * @cvalue CURLM_BAD_EASY_HANDLE + */ +const CURLM_BAD_EASY_HANDLE = UNKNOWN; +/** + * @var int + * @cvalue CURLM_BAD_HANDLE + */ +const CURLM_BAD_HANDLE = UNKNOWN; +/** + * @var int + * @cvalue CURLM_CALL_MULTI_PERFORM + */ +const CURLM_CALL_MULTI_PERFORM = UNKNOWN; +/** + * @var int + * @cvalue CURLM_INTERNAL_ERROR + */ +const CURLM_INTERNAL_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLM_OK + */ +const CURLM_OK = UNKNOWN; +/** + * @var int + * @cvalue CURLM_OUT_OF_MEMORY + */ +const CURLM_OUT_OF_MEMORY = UNKNOWN; +#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */ +/** + * @var int + * @cvalue CURLM_ADDED_ALREADY + */ +const CURLM_ADDED_ALREADY = UNKNOWN; +#endif + +/* Curl proxy constants */ +/** + * @var int + * @cvalue CURLPROXY_HTTP + */ +const CURLPROXY_HTTP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROXY_SOCKS4 + */ +const CURLPROXY_SOCKS4 = UNKNOWN; +/** + * @var int + * @cvalue CURLPROXY_SOCKS5 + */ +const CURLPROXY_SOCKS5 = UNKNOWN; + +/* Curl Share constants */ +/** + * @var int + * @cvalue CURLSHOPT_NONE + */ +const CURLSHOPT_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLSHOPT_SHARE + */ +const CURLSHOPT_SHARE = UNKNOWN; +/** + * @var int + * @cvalue CURLSHOPT_UNSHARE + */ +const CURLSHOPT_UNSHARE = UNKNOWN; + +/* Curl Http Version constants (CURLOPT_HTTP_VERSION) */ +/** + * @var int + * @cvalue CURL_HTTP_VERSION_1_0 + */ +const CURL_HTTP_VERSION_1_0 = UNKNOWN; +/** + * @var int + * @cvalue CURL_HTTP_VERSION_1_1 + */ +const CURL_HTTP_VERSION_1_1 = UNKNOWN; +/** + * @var int + * @cvalue CURL_HTTP_VERSION_NONE + */ +const CURL_HTTP_VERSION_NONE = UNKNOWN; + +/* Curl Lock constants */ +/** + * @var int + * @cvalue CURL_LOCK_DATA_COOKIE + */ +const CURL_LOCK_DATA_COOKIE = UNKNOWN; +/** + * @var int + * @cvalue CURL_LOCK_DATA_DNS + */ +const CURL_LOCK_DATA_DNS = UNKNOWN; +/** + * @var int + * @cvalue CURL_LOCK_DATA_SSL_SESSION + */ +const CURL_LOCK_DATA_SSL_SESSION = UNKNOWN; + +/* Curl NETRC constants (CURLOPT_NETRC) */ +/** + * @var int + * @cvalue CURL_NETRC_IGNORED + */ +const CURL_NETRC_IGNORED = UNKNOWN; +/** + * @var int + * @cvalue CURL_NETRC_OPTIONAL + */ +const CURL_NETRC_OPTIONAL = UNKNOWN; +/** + * @var int + * @cvalue CURL_NETRC_REQUIRED + */ +const CURL_NETRC_REQUIRED = UNKNOWN; + +/* Curl SSL Version constants (CURLOPT_SSLVERSION) */ +/** + * @var int + * @cvalue CURL_SSLVERSION_DEFAULT + */ +const CURL_SSLVERSION_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_SSLv2 + */ +const CURL_SSLVERSION_SSLv2 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_SSLv3 + */ +const CURL_SSLVERSION_SSLv3 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_TLSv1 + */ +const CURL_SSLVERSION_TLSv1 = UNKNOWN; + +/* Curl TIMECOND constants (CURLOPT_TIMECONDITION) */ +/** + * @var int + * @cvalue CURL_TIMECOND_IFMODSINCE + */ +const CURL_TIMECOND_IFMODSINCE = UNKNOWN; +/** + * @var int + * @cvalue CURL_TIMECOND_IFUNMODSINCE + */ +const CURL_TIMECOND_IFUNMODSINCE = UNKNOWN; +/** + * @var int + * @cvalue CURL_TIMECOND_LASTMOD + */ +const CURL_TIMECOND_LASTMOD = UNKNOWN; +/** + * @var int + * @cvalue CURL_TIMECOND_NONE + */ +const CURL_TIMECOND_NONE = UNKNOWN; + +/* Curl version constants */ +/** + * @var int + * @cvalue CURL_VERSION_ASYNCHDNS + */ +const CURL_VERSION_ASYNCHDNS = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_CONV + */ +const CURL_VERSION_CONV = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_DEBUG + */ +const CURL_VERSION_DEBUG = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_GSSNEGOTIATE + */ +const CURL_VERSION_GSSNEGOTIATE = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_IDN + */ +const CURL_VERSION_IDN = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_IPV6 + */ +const CURL_VERSION_IPV6 = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_KERBEROS4 + */ +const CURL_VERSION_KERBEROS4 = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_LARGEFILE + */ +const CURL_VERSION_LARGEFILE = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_LIBZ + */ +const CURL_VERSION_LIBZ = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_NTLM + */ +const CURL_VERSION_NTLM = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_SPNEGO + */ +const CURL_VERSION_SPNEGO = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_SSL + */ +const CURL_VERSION_SSL = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_SSPI + */ +const CURL_VERSION_SSPI = UNKNOWN; + +/* Available since 7.10.6 */ +/** + * @var int + * @cvalue CURLOPT_HTTPAUTH + */ +const CURLOPT_HTTPAUTH = UNKNOWN; +/* http authentication options */ +/** + * @var int + * @cvalue CURLAUTH_ANY + */ +const CURLAUTH_ANY = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_ANYSAFE + */ +const CURLAUTH_ANYSAFE = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_BASIC + */ +const CURLAUTH_BASIC = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_DIGEST + */ +const CURLAUTH_DIGEST = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_GSSNEGOTIATE + */ +const CURLAUTH_GSSNEGOTIATE = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_NONE + */ +const CURLAUTH_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_NTLM + */ +const CURLAUTH_NTLM = UNKNOWN; + +/* Available since 7.10.7 */ +/** + * @var int + * @cvalue CURLINFO_HTTP_CONNECTCODE + */ +const CURLINFO_HTTP_CONNECTCODE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_CREATE_MISSING_DIRS + */ +const CURLOPT_FTP_CREATE_MISSING_DIRS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYAUTH + */ +const CURLOPT_PROXYAUTH = UNKNOWN; + +/* Available since 7.10.8 */ +/** + * @var int + * @cvalue CURLE_FILESIZE_EXCEEDED + */ +const CURLE_FILESIZE_EXCEEDED = UNKNOWN; +/** + * @var int + * @cvalue CURLE_LDAP_INVALID_URL + */ +const CURLE_LDAP_INVALID_URL = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_HTTPAUTH_AVAIL + */ +const CURLINFO_HTTPAUTH_AVAIL = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_RESPONSE_CODE + */ +const CURLINFO_RESPONSE_CODE = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PROXYAUTH_AVAIL + */ +const CURLINFO_PROXYAUTH_AVAIL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_RESPONSE_TIMEOUT + */ +const CURLOPT_FTP_RESPONSE_TIMEOUT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_IPRESOLVE + */ +const CURLOPT_IPRESOLVE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAXFILESIZE + */ +const CURLOPT_MAXFILESIZE = UNKNOWN; +/** + * @var int + * @cvalue CURL_IPRESOLVE_V4 + */ +const CURL_IPRESOLVE_V4 = UNKNOWN; +/** + * @var int + * @cvalue CURL_IPRESOLVE_V6 + */ +const CURL_IPRESOLVE_V6 = UNKNOWN; +/** + * @var int + * @cvalue CURL_IPRESOLVE_WHATEVER + */ +const CURL_IPRESOLVE_WHATEVER = UNKNOWN; + +/* Available since 7.11.0 */ +/** + * @var int + * @cvalue CURLE_FTP_SSL_FAILED + */ +const CURLE_FTP_SSL_FAILED = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_ALL + */ +const CURLFTPSSL_ALL = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_CONTROL + */ +const CURLFTPSSL_CONTROL = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_NONE + */ +const CURLFTPSSL_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_TRY + */ +const CURLFTPSSL_TRY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_SSL + */ +const CURLOPT_FTP_SSL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NETRC_FILE + */ +const CURLOPT_NETRC_FILE = UNKNOWN; + +/* Available since 7.11.1 */ +/** + * @var int + * @cvalue CURLOPT_MAXFILESIZE_LARGE + */ +const CURLOPT_MAXFILESIZE_LARGE = UNKNOWN; + +/* Available since 7.11.2 */ +/** + * @var int + * @cvalue CURLOPT_TCP_NODELAY + */ +const CURLOPT_TCP_NODELAY = UNKNOWN; + +/* Available since 7.12.2 */ +/** + * @var int + * @cvalue CURLFTPAUTH_DEFAULT + */ +const CURLFTPAUTH_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPAUTH_SSL + */ +const CURLFTPAUTH_SSL = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPAUTH_TLS + */ +const CURLFTPAUTH_TLS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTPSSLAUTH + */ +const CURLOPT_FTPSSLAUTH = UNKNOWN; + +/* Available since 7.13.0 */ +/** + * @var int + * @cvalue CURLOPT_FTP_ACCOUNT + */ +const CURLOPT_FTP_ACCOUNT = UNKNOWN; + +/* Available since 7.12.2 */ +/** + * @var int + * @cvalue CURLINFO_OS_ERRNO + */ +const CURLINFO_OS_ERRNO = UNKNOWN; + +/* Available since 7.12.3 */ +/** + * @var int + * @cvalue CURLINFO_NUM_CONNECTS + */ +const CURLINFO_NUM_CONNECTS = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SSL_ENGINES + */ +const CURLINFO_SSL_ENGINES = UNKNOWN; + +/* Available since 7.14.1 */ +/** + * @var int + * @cvalue CURLINFO_COOKIELIST + */ +const CURLINFO_COOKIELIST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_COOKIELIST + */ +const CURLOPT_COOKIELIST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_IGNORE_CONTENT_LENGTH + */ +const CURLOPT_IGNORE_CONTENT_LENGTH = UNKNOWN; + +/* Available since 7.15.0 */ +/** + * @var int + * @cvalue CURLOPT_FTP_SKIP_PASV_IP + */ +const CURLOPT_FTP_SKIP_PASV_IP = UNKNOWN; + +/* Available since 7.15.1 */ +/** + * @var int + * @cvalue CURLOPT_FTP_FILEMETHOD + */ +const CURLOPT_FTP_FILEMETHOD = UNKNOWN; + +/* Available since 7.15.2 */ +/** + * @var int + * @cvalue CURLOPT_CONNECT_ONLY + */ +const CURLOPT_CONNECT_ONLY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_LOCALPORT + */ +const CURLOPT_LOCALPORT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_LOCALPORTRANGE + */ +const CURLOPT_LOCALPORTRANGE = UNKNOWN; + +/* Available since 7.15.3 */ +/** + * @var int + * @cvalue CURLFTPMETHOD_DEFAULT + */ +const CURLFTPMETHOD_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPMETHOD_MULTICWD + */ +const CURLFTPMETHOD_MULTICWD = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPMETHOD_NOCWD + */ +const CURLFTPMETHOD_NOCWD = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPMETHOD_SINGLECWD + */ +const CURLFTPMETHOD_SINGLECWD = UNKNOWN; + +/* Available since 7.15.4 */ +/** + * @var int + * @cvalue CURLINFO_FTP_ENTRY_PATH + */ +const CURLINFO_FTP_ENTRY_PATH = UNKNOWN; + +/* Available since 7.15.5 */ +/** + * @var int + * @cvalue CURLOPT_FTP_ALTERNATIVE_TO_USER + */ +const CURLOPT_FTP_ALTERNATIVE_TO_USER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAX_RECV_SPEED_LARGE + */ +const CURLOPT_MAX_RECV_SPEED_LARGE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAX_SEND_SPEED_LARGE + */ +const CURLOPT_MAX_SEND_SPEED_LARGE = UNKNOWN; + +/* Available since 7.16.0 */ +/** + * @var int + * @cvalue CURLE_SSL_CACERT_BADFILE + */ +const CURLE_SSL_CACERT_BADFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_SESSIONID_CACHE + */ +const CURLOPT_SSL_SESSIONID_CACHE = UNKNOWN; +/** + * @var int + * @cvalue CURLMOPT_PIPELINING + */ +const CURLMOPT_PIPELINING = UNKNOWN; + +/* Available since 7.16.1 */ +/** + * @var int + * @cvalue CURLE_SSH + */ +const CURLE_SSH = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_SSL_CCC + */ +const CURLOPT_FTP_SSL_CCC = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSH_AUTH_TYPES + */ +const CURLOPT_SSH_AUTH_TYPES = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSH_PRIVATE_KEYFILE + */ +const CURLOPT_SSH_PRIVATE_KEYFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSH_PUBLIC_KEYFILE + */ +const CURLOPT_SSH_PUBLIC_KEYFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_CCC_ACTIVE + */ +const CURLFTPSSL_CCC_ACTIVE = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_CCC_NONE + */ +const CURLFTPSSL_CCC_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLFTPSSL_CCC_PASSIVE + */ +const CURLFTPSSL_CCC_PASSIVE = UNKNOWN; + +/* Available since 7.16.2 */ +/** + * @var int + * @cvalue CURLOPT_CONNECTTIMEOUT_MS + */ +const CURLOPT_CONNECTTIMEOUT_MS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTP_CONTENT_DECODING + */ +const CURLOPT_HTTP_CONTENT_DECODING = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HTTP_TRANSFER_DECODING + */ +const CURLOPT_HTTP_TRANSFER_DECODING = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TIMEOUT_MS + */ +const CURLOPT_TIMEOUT_MS = UNKNOWN; + +/* Available since 7.16.3 */ +/** + * @var int + * @cvalue CURLMOPT_MAXCONNECTS + */ +const CURLMOPT_MAXCONNECTS = UNKNOWN; + +/* Available since 7.16.4 */ +/** + * @var int + * @cvalue CURLOPT_KRBLEVEL + */ +const CURLOPT_KRBLEVEL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NEW_DIRECTORY_PERMS + */ +const CURLOPT_NEW_DIRECTORY_PERMS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_NEW_FILE_PERMS + */ +const CURLOPT_NEW_FILE_PERMS = UNKNOWN; + +/* Available since 7.17.0 */ +/** + * @var int + * @cvalue CURLOPT_APPEND + */ +const CURLOPT_APPEND = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DIRLISTONLY + */ +const CURLOPT_DIRLISTONLY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_USE_SSL + */ +const CURLOPT_USE_SSL = UNKNOWN; +/* Curl SSL Constants */ +/** + * @var int + * @cvalue CURLUSESSL_ALL + */ +const CURLUSESSL_ALL = UNKNOWN; +/** + * @var int + * @cvalue CURLUSESSL_CONTROL + */ +const CURLUSESSL_CONTROL = UNKNOWN; +/** + * @var int + * @cvalue CURLUSESSL_NONE + */ +const CURLUSESSL_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLUSESSL_TRY + */ +const CURLUSESSL_TRY = UNKNOWN; + +/* Available since 7.17.1 */ +/** + * @var int + * @cvalue CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 + */ +const CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 = UNKNOWN; + +/* Available since 7.18.0 */ +/** + * @var int + * @cvalue CURLOPT_PROXY_TRANSFER_MODE + */ +const CURLOPT_PROXY_TRANSFER_MODE = UNKNOWN; +/** + * @var int + * @cvalue CURLPAUSE_ALL + */ +const CURLPAUSE_ALL = UNKNOWN; +/** + * @var int + * @cvalue CURLPAUSE_CONT + */ +const CURLPAUSE_CONT = UNKNOWN; +/** + * @var int + * @cvalue CURLPAUSE_RECV + */ +const CURLPAUSE_RECV = UNKNOWN; +/** + * @var int + * @cvalue CURLPAUSE_RECV_CONT + */ +const CURLPAUSE_RECV_CONT = UNKNOWN; +/** + * @var int + * @cvalue CURLPAUSE_SEND + */ +const CURLPAUSE_SEND = UNKNOWN; +/** + * @var int + * @cvalue CURLPAUSE_SEND_CONT + */ +const CURLPAUSE_SEND_CONT = UNKNOWN; +/** + * @var int + * @cvalue CURL_READFUNC_PAUSE + */ +const CURL_READFUNC_PAUSE = UNKNOWN; +/** + * @var int + * @cvalue CURL_WRITEFUNC_PAUSE + */ +const CURL_WRITEFUNC_PAUSE = UNKNOWN; + +/** + * @var int + * @cvalue CURLPROXY_SOCKS4A + */ +const CURLPROXY_SOCKS4A = UNKNOWN; +/** + * @var int + * @cvalue CURLPROXY_SOCKS5_HOSTNAME + */ +const CURLPROXY_SOCKS5_HOSTNAME = UNKNOWN; + +/* Available since 7.18.2 */ +/** + * @var int + * @cvalue CURLINFO_REDIRECT_URL + */ +const CURLINFO_REDIRECT_URL = UNKNOWN; + +/* Available since 7.19.0 */ +/** + * @var int + * @cvalue CURLINFO_APPCONNECT_TIME + */ +const CURLINFO_APPCONNECT_TIME = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PRIMARY_IP + */ +const CURLINFO_PRIMARY_IP = UNKNOWN; + +/** + * @var int + * @cvalue CURLOPT_ADDRESS_SCOPE + */ +const CURLOPT_ADDRESS_SCOPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CRLFILE + */ +const CURLOPT_CRLFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_ISSUERCERT + */ +const CURLOPT_ISSUERCERT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_KEYPASSWD + */ +const CURLOPT_KEYPASSWD = UNKNOWN; + +/** + * @var int + * @cvalue CURLSSH_AUTH_ANY + */ +const CURLSSH_AUTH_ANY = UNKNOWN; +/** + * @var int + * @cvalue CURLSSH_AUTH_DEFAULT + */ +const CURLSSH_AUTH_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue CURLSSH_AUTH_HOST + */ +const CURLSSH_AUTH_HOST = UNKNOWN; +/** + * @var int + * @cvalue CURLSSH_AUTH_KEYBOARD + */ +const CURLSSH_AUTH_KEYBOARD = UNKNOWN; +/** + * @var int + * @cvalue CURLSSH_AUTH_NONE + */ +const CURLSSH_AUTH_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLSSH_AUTH_PASSWORD + */ +const CURLSSH_AUTH_PASSWORD = UNKNOWN; +/** + * @var int + * @cvalue CURLSSH_AUTH_PUBLICKEY + */ +const CURLSSH_AUTH_PUBLICKEY = UNKNOWN; + +/* Available since 7.19.1 */ +/** + * @var int + * @cvalue CURLINFO_CERTINFO + */ +const CURLINFO_CERTINFO = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CERTINFO + */ +const CURLOPT_CERTINFO = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PASSWORD + */ +const CURLOPT_PASSWORD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_POSTREDIR + */ +const CURLOPT_POSTREDIR = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYPASSWORD + */ +const CURLOPT_PROXYPASSWORD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYUSERNAME + */ +const CURLOPT_PROXYUSERNAME = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_USERNAME + */ +const CURLOPT_USERNAME = UNKNOWN; +/** + * @var int + * @cvalue CURL_REDIR_POST_301 + */ +const CURL_REDIR_POST_301 = UNKNOWN; +/** + * @var int + * @cvalue CURL_REDIR_POST_302 + */ +const CURL_REDIR_POST_302 = UNKNOWN; +/** + * @var int + * @cvalue CURL_REDIR_POST_ALL + */ +const CURL_REDIR_POST_ALL = UNKNOWN; + +/* Available since 7.19.3 */ +/** + * @var int + * @cvalue CURLAUTH_DIGEST_IE + */ +const CURLAUTH_DIGEST_IE = UNKNOWN; + +/* Available since 7.19.4 */ +/** + * @var int + * @cvalue CURLINFO_CONDITION_UNMET + */ +const CURLINFO_CONDITION_UNMET = UNKNOWN; + +/** + * @var int + * @cvalue CURLOPT_NOPROXY + */ +const CURLOPT_NOPROXY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROTOCOLS + */ +const CURLOPT_PROTOCOLS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_REDIR_PROTOCOLS + */ +const CURLOPT_REDIR_PROTOCOLS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SOCKS5_GSSAPI_NEC + */ +const CURLOPT_SOCKS5_GSSAPI_NEC = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SOCKS5_GSSAPI_SERVICE + */ +const CURLOPT_SOCKS5_GSSAPI_SERVICE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TFTP_BLKSIZE + */ +const CURLOPT_TFTP_BLKSIZE = UNKNOWN; + +/** + * @var int + * @cvalue CURLPROTO_ALL + */ +const CURLPROTO_ALL = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_DICT + */ +const CURLPROTO_DICT = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_FILE + */ +const CURLPROTO_FILE = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_FTP + */ +const CURLPROTO_FTP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_FTPS + */ +const CURLPROTO_FTPS = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_HTTP + */ +const CURLPROTO_HTTP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_HTTPS + */ +const CURLPROTO_HTTPS = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_LDAP + */ +const CURLPROTO_LDAP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_LDAPS + */ +const CURLPROTO_LDAPS = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_SCP + */ +const CURLPROTO_SCP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_SFTP + */ +const CURLPROTO_SFTP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_TELNET + */ +const CURLPROTO_TELNET = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_TFTP + */ +const CURLPROTO_TFTP = UNKNOWN; + +/** + * @var int + * @cvalue CURLPROXY_HTTP_1_0 + */ +const CURLPROXY_HTTP_1_0 = UNKNOWN; + +/** + * @var int + * @cvalue CURLFTP_CREATE_DIR + */ +const CURLFTP_CREATE_DIR = UNKNOWN; +/** + * @var int + * @cvalue CURLFTP_CREATE_DIR_NONE + */ +const CURLFTP_CREATE_DIR_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURLFTP_CREATE_DIR_RETRY + */ +const CURLFTP_CREATE_DIR_RETRY = UNKNOWN; + +/* Available since 7.19.6 */ +/** + * @var int + * @cvalue CURL_VERSION_CURLDEBUG + */ +const CURL_VERSION_CURLDEBUG = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSH_KNOWNHOSTS + */ +const CURLOPT_SSH_KNOWNHOSTS = UNKNOWN; + +/* Available since 7.20.0 */ +/** + * @var int + * @cvalue CURLINFO_RTSP_CLIENT_CSEQ + */ +const CURLINFO_RTSP_CLIENT_CSEQ = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_RTSP_CSEQ_RECV + */ +const CURLINFO_RTSP_CSEQ_RECV = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_RTSP_SERVER_CSEQ + */ +const CURLINFO_RTSP_SERVER_CSEQ = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_RTSP_SESSION_ID + */ +const CURLINFO_RTSP_SESSION_ID = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FTP_USE_PRET + */ +const CURLOPT_FTP_USE_PRET = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAIL_FROM + */ +const CURLOPT_MAIL_FROM = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_MAIL_RCPT + */ +const CURLOPT_MAIL_RCPT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RTSP_CLIENT_CSEQ + */ +const CURLOPT_RTSP_CLIENT_CSEQ = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RTSP_REQUEST + */ +const CURLOPT_RTSP_REQUEST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RTSP_SERVER_CSEQ + */ +const CURLOPT_RTSP_SERVER_CSEQ = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RTSP_SESSION_ID + */ +const CURLOPT_RTSP_SESSION_ID = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RTSP_STREAM_URI + */ +const CURLOPT_RTSP_STREAM_URI = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RTSP_TRANSPORT + */ +const CURLOPT_RTSP_TRANSPORT = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_IMAP + */ +const CURLPROTO_IMAP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_IMAPS + */ +const CURLPROTO_IMAPS = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_POP3 + */ +const CURLPROTO_POP3 = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_POP3S + */ +const CURLPROTO_POP3S = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTSP + */ +const CURLPROTO_RTSP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_SMTP + */ +const CURLPROTO_SMTP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_SMTPS + */ +const CURLPROTO_SMTPS = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_ANNOUNCE + */ +const CURL_RTSPREQ_ANNOUNCE = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_DESCRIBE + */ +const CURL_RTSPREQ_DESCRIBE = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_GET_PARAMETER + */ +const CURL_RTSPREQ_GET_PARAMETER = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_OPTIONS + */ +const CURL_RTSPREQ_OPTIONS = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_PAUSE + */ +const CURL_RTSPREQ_PAUSE = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_PLAY + */ +const CURL_RTSPREQ_PLAY = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_RECEIVE + */ +const CURL_RTSPREQ_RECEIVE = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_RECORD + */ +const CURL_RTSPREQ_RECORD = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_SET_PARAMETER + */ +const CURL_RTSPREQ_SET_PARAMETER = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_SETUP + */ +const CURL_RTSPREQ_SETUP = UNKNOWN; +/** + * @var int + * @cvalue CURL_RTSPREQ_TEARDOWN + */ +const CURL_RTSPREQ_TEARDOWN = UNKNOWN; + +/* Available since 7.21.0 */ +/** + * @var int + * @cvalue CURLINFO_LOCAL_IP + */ +const CURLINFO_LOCAL_IP = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_LOCAL_PORT + */ +const CURLINFO_LOCAL_PORT = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PRIMARY_PORT + */ +const CURLINFO_PRIMARY_PORT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_FNMATCH_FUNCTION + */ +const CURLOPT_FNMATCH_FUNCTION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_WILDCARDMATCH + */ +const CURLOPT_WILDCARDMATCH = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTMP + */ +const CURLPROTO_RTMP = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTMPE + */ +const CURLPROTO_RTMPE = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTMPS + */ +const CURLPROTO_RTMPS = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTMPT + */ +const CURLPROTO_RTMPT = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTMPTE + */ +const CURLPROTO_RTMPTE = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_RTMPTS + */ +const CURLPROTO_RTMPTS = UNKNOWN; +/** + * @var int + * @cvalue CURL_FNMATCHFUNC_FAIL + */ +const CURL_FNMATCHFUNC_FAIL = UNKNOWN; +/** + * @var int + * @cvalue CURL_FNMATCHFUNC_MATCH + */ +const CURL_FNMATCHFUNC_MATCH = UNKNOWN; +/** + * @var int + * @cvalue CURL_FNMATCHFUNC_NOMATCH + */ +const CURL_FNMATCHFUNC_NOMATCH = UNKNOWN; + +/* Available since 7.21.2 */ +/** + * @var int + * @cvalue CURLPROTO_GOPHER + */ +const CURLPROTO_GOPHER = UNKNOWN; + +/* Available since 7.21.3 */ +/** + * @var int + * @cvalue CURLAUTH_ONLY + */ +const CURLAUTH_ONLY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_RESOLVE + */ +const CURLOPT_RESOLVE = UNKNOWN; + +/* Available since 7.21.4 */ +/** + * @var int + * @cvalue CURLOPT_TLSAUTH_PASSWORD + */ +const CURLOPT_TLSAUTH_PASSWORD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TLSAUTH_TYPE + */ +const CURLOPT_TLSAUTH_TYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TLSAUTH_USERNAME + */ +const CURLOPT_TLSAUTH_USERNAME = UNKNOWN; +/** + * @var int + * @cvalue CURL_TLSAUTH_SRP + */ +const CURL_TLSAUTH_SRP = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_TLSAUTH_SRP + */ +const CURL_VERSION_TLSAUTH_SRP = UNKNOWN; + +/* Available since 7.21.6 */ +/** + * @var int + * @cvalue CURLOPT_ACCEPT_ENCODING + */ +const CURLOPT_ACCEPT_ENCODING = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TRANSFER_ENCODING + */ +const CURLOPT_TRANSFER_ENCODING = UNKNOWN; + +/* Available since 7.22.0 */ +/** + * @var int + * @cvalue CURLAUTH_NTLM_WB + */ +const CURLAUTH_NTLM_WB = UNKNOWN; +/** + * @var int + * @cvalue CURLGSSAPI_DELEGATION_FLAG + */ +const CURLGSSAPI_DELEGATION_FLAG = UNKNOWN; +/** + * @var int + * @cvalue CURLGSSAPI_DELEGATION_POLICY_FLAG + */ +const CURLGSSAPI_DELEGATION_POLICY_FLAG = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_GSSAPI_DELEGATION + */ +const CURLOPT_GSSAPI_DELEGATION = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_NTLM_WB + */ +const CURL_VERSION_NTLM_WB = UNKNOWN; + +/* Available since 7.24.0 */ +/** + * @var int + * @cvalue CURLOPT_ACCEPTTIMEOUT_MS + */ +const CURLOPT_ACCEPTTIMEOUT_MS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DNS_SERVERS + */ +const CURLOPT_DNS_SERVERS = UNKNOWN; + +/* Available since 7.25.0 */ +/** + * @var int + * @cvalue CURLOPT_MAIL_AUTH + */ +const CURLOPT_MAIL_AUTH = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_OPTIONS + */ +const CURLOPT_SSL_OPTIONS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TCP_KEEPALIVE + */ +const CURLOPT_TCP_KEEPALIVE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TCP_KEEPIDLE + */ +const CURLOPT_TCP_KEEPIDLE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TCP_KEEPINTVL + */ +const CURLOPT_TCP_KEEPINTVL = UNKNOWN; +/** + * @var int + * @cvalue CURLSSLOPT_ALLOW_BEAST + */ +const CURLSSLOPT_ALLOW_BEAST = UNKNOWN; + +/* Available since 7.25.1 */ +/** + * @var int + * @cvalue CURL_REDIR_POST_303 + */ +const CURL_REDIR_POST_303 = UNKNOWN; + +/* Available since 7.28.0 */ +/** + * @var int + * @cvalue CURLSSH_AUTH_AGENT + */ +const CURLSSH_AUTH_AGENT = UNKNOWN; + +#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ +/** + * @var int + * @cvalue CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE + */ +const CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE + */ +const CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLMOPT_MAX_HOST_CONNECTIONS + */ +const CURLMOPT_MAX_HOST_CONNECTIONS = UNKNOWN; +/** + * @var int + * @cvalue CURLMOPT_MAX_PIPELINE_LENGTH + */ +const CURLMOPT_MAX_PIPELINE_LENGTH = UNKNOWN; +/** + * @var int + * @cvalue CURLMOPT_MAX_TOTAL_CONNECTIONS + */ +const CURLMOPT_MAX_TOTAL_CONNECTIONS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ +/** + * @var int + * @cvalue CURLOPT_SASL_IR + */ +const CURLOPT_SASL_IR = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ +/** + * @var int + * @cvalue CURLOPT_DNS_INTERFACE + */ +const CURLOPT_DNS_INTERFACE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DNS_LOCAL_IP4 + */ +const CURLOPT_DNS_LOCAL_IP4 = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DNS_LOCAL_IP6 + */ +const CURLOPT_DNS_LOCAL_IP6 = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_XOAUTH2_BEARER + */ +const CURLOPT_XOAUTH2_BEARER = UNKNOWN; + +/** + * @var int + * @cvalue CURL_HTTP_VERSION_2_0 + */ +const CURL_HTTP_VERSION_2_0 = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_HTTP2 + */ +const CURL_VERSION_HTTP2 = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ +/** + * @var int + * @cvalue CURLOPT_LOGIN_OPTIONS + */ +const CURLOPT_LOGIN_OPTIONS = UNKNOWN; + +/** + * @var int + * @cvalue CURL_SSLVERSION_TLSv1_0 + */ +const CURL_SSLVERSION_TLSv1_0 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_TLSv1_1 + */ +const CURL_SSLVERSION_TLSv1_1 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_TLSv1_2 + */ +const CURL_SSLVERSION_TLSv1_2 = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ +/** + * @var int + * @cvalue CURLOPT_EXPECT_100_TIMEOUT_MS + */ +const CURLOPT_EXPECT_100_TIMEOUT_MS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_ENABLE_ALPN + */ +const CURLOPT_SSL_ENABLE_ALPN = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_ENABLE_NPN + */ +const CURLOPT_SSL_ENABLE_NPN = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ +/** + * @var int + * @cvalue CURLHEADER_SEPARATE + */ +const CURLHEADER_SEPARATE = UNKNOWN; +/** + * @var int + * @cvalue CURLHEADER_UNIFIED + */ +const CURLHEADER_UNIFIED = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HEADEROPT + */ +const CURLOPT_HEADEROPT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXYHEADER + */ +const CURLOPT_PROXYHEADER = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ +/** + * @var int + * @cvalue CURLAUTH_NEGOTIATE + */ +const CURLAUTH_NEGOTIATE = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_GSSAPI + */ +const CURL_VERSION_GSSAPI = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ +/** + * @var int + * @cvalue CURLOPT_PINNEDPUBLICKEY + */ +const CURLOPT_PINNEDPUBLICKEY = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ +/** + * @var int + * @cvalue CURLOPT_UNIX_SOCKET_PATH + */ +const CURLOPT_UNIX_SOCKET_PATH = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_SMB + */ +const CURLPROTO_SMB = UNKNOWN; +/** + * @var int + * @cvalue CURLPROTO_SMBS + */ +const CURLPROTO_SMBS = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_KERBEROS5 + */ +const CURL_VERSION_KERBEROS5 = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_UNIX_SOCKETS + */ +const CURL_VERSION_UNIX_SOCKETS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ +/** + * @var int + * @cvalue CURLOPT_SSL_VERIFYSTATUS + */ +const CURLOPT_SSL_VERIFYSTATUS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ +/** + * @var int + * @cvalue CURLOPT_PATH_AS_IS + */ +const CURLOPT_PATH_AS_IS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_FALSESTART + */ +const CURLOPT_SSL_FALSESTART = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ +/** + * @var int + * @cvalue CURL_HTTP_VERSION_2 + */ +const CURL_HTTP_VERSION_2 = UNKNOWN; + +/** + * @var int + * @cvalue CURLOPT_PIPEWAIT + */ +const CURLOPT_PIPEWAIT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SERVICE_NAME + */ +const CURLOPT_PROXY_SERVICE_NAME = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SERVICE_NAME + */ +const CURLOPT_SERVICE_NAME = UNKNOWN; + +/** + * @var int + * @cvalue CURLPIPE_NOTHING + */ +const CURLPIPE_NOTHING = UNKNOWN; +/** + * @var int + * @cvalue CURLPIPE_HTTP1 + */ +const CURLPIPE_HTTP1 = UNKNOWN; +/** + * @var int + * @cvalue CURLPIPE_MULTIPLEX + */ +const CURLPIPE_MULTIPLEX = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */ +/** + * @var int + * @cvalue CURLSSLOPT_NO_REVOKE + */ +const CURLSSLOPT_NO_REVOKE = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ +/** + * @var int + * @cvalue CURLOPT_DEFAULT_PROTOCOL + */ +const CURLOPT_DEFAULT_PROTOCOL = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ +/** + * @var int + * @cvalue CURLOPT_STREAM_WEIGHT + */ +const CURLOPT_STREAM_WEIGHT = UNKNOWN; +/** + * @var int + * @cvalue CURLMOPT_PUSHFUNCTION + */ +const CURLMOPT_PUSHFUNCTION = UNKNOWN; +/** + * @var int + * @cvalue CURL_PUSH_OK + */ +const CURL_PUSH_OK = UNKNOWN; +/** + * @var int + * @cvalue CURL_PUSH_DENY + */ +const CURL_PUSH_DENY = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ +/** + * @var int + * @cvalue CURL_HTTP_VERSION_2TLS + */ +const CURL_HTTP_VERSION_2TLS = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_PSL + */ +const CURL_VERSION_PSL = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ +/** + * @var int + * @cvalue CURLOPT_TFTP_NO_OPTIONS + */ +const CURLOPT_TFTP_NO_OPTIONS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ +/** + * @var int + * @cvalue CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE + */ +const CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_CONNECT_TO + */ +const CURLOPT_CONNECT_TO = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TCP_FASTOPEN + */ +const CURLOPT_TCP_FASTOPEN = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ +/** + * @var int + * @cvalue CURLINFO_HTTP_VERSION + */ +const CURLINFO_HTTP_VERSION = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ +/** + * @var int + * @cvalue CURLE_WEIRD_SERVER_REPLY + */ +const CURLE_WEIRD_SERVER_REPLY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_KEEP_SENDING_ON_ERROR + */ +const CURLOPT_KEEP_SENDING_ON_ERROR = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ +/** + * @var int + * @cvalue CURL_SSLVERSION_TLSv1_3 + */ +const CURL_SSLVERSION_TLSv1_3 = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_HTTPS_PROXY + */ +const CURL_VERSION_HTTPS_PROXY = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PROTOCOL + */ +const CURLINFO_PROTOCOL = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PROXY_SSL_VERIFYRESULT + */ +const CURLINFO_PROXY_SSL_VERIFYRESULT = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SCHEME + */ +const CURLINFO_SCHEME = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PRE_PROXY + */ +const CURLOPT_PRE_PROXY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_CAINFO + */ +const CURLOPT_PROXY_CAINFO = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_CAPATH + */ +const CURLOPT_PROXY_CAPATH = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_CRLFILE + */ +const CURLOPT_PROXY_CRLFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_KEYPASSWD + */ +const CURLOPT_PROXY_KEYPASSWD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_PINNEDPUBLICKEY + */ +const CURLOPT_PROXY_PINNEDPUBLICKEY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSL_CIPHER_LIST + */ +const CURLOPT_PROXY_SSL_CIPHER_LIST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSL_OPTIONS + */ +const CURLOPT_PROXY_SSL_OPTIONS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSL_VERIFYHOST + */ +const CURLOPT_PROXY_SSL_VERIFYHOST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSL_VERIFYPEER + */ +const CURLOPT_PROXY_SSL_VERIFYPEER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLCERT + */ +const CURLOPT_PROXY_SSLCERT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLCERTTYPE + */ +const CURLOPT_PROXY_SSLCERTTYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLKEY + */ +const CURLOPT_PROXY_SSLKEY = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLKEYTYPE + */ +const CURLOPT_PROXY_SSLKEYTYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLVERSION + */ +const CURLOPT_PROXY_SSLVERSION = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_TLSAUTH_PASSWORD + */ +const CURLOPT_PROXY_TLSAUTH_PASSWORD = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_TLSAUTH_TYPE + */ +const CURLOPT_PROXY_TLSAUTH_TYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_TLSAUTH_USERNAME + */ +const CURLOPT_PROXY_TLSAUTH_USERNAME = UNKNOWN; +/** + * @var int + * @cvalue CURLPROXY_HTTPS + */ +const CURLPROXY_HTTPS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ +/** + * @var int + * @cvalue CURL_MAX_READ_SIZE + */ +const CURL_MAX_READ_SIZE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_ABSTRACT_UNIX_SOCKET + */ +const CURLOPT_ABSTRACT_UNIX_SOCKET = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ +/** + * @var int + * @cvalue CURL_SSLVERSION_MAX_DEFAULT + */ +const CURL_SSLVERSION_MAX_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_MAX_NONE + */ +const CURL_SSLVERSION_MAX_NONE = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_MAX_TLSv1_0 + */ +const CURL_SSLVERSION_MAX_TLSv1_0 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_MAX_TLSv1_1 + */ +const CURL_SSLVERSION_MAX_TLSv1_1 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_MAX_TLSv1_2 + */ +const CURL_SSLVERSION_MAX_TLSv1_2 = UNKNOWN; +/** + * @var int + * @cvalue CURL_SSLVERSION_MAX_TLSv1_3 + */ +const CURL_SSLVERSION_MAX_TLSv1_3 = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SUPPRESS_CONNECT_HEADERS + */ +const CURLOPT_SUPPRESS_CONNECT_HEADERS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */ +/** + * @var int + * @cvalue CURLAUTH_GSSAPI + */ +const CURLAUTH_GSSAPI = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ +/** + * @var int + * @cvalue CURLINFO_CONTENT_LENGTH_DOWNLOAD_T + */ +const CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_CONTENT_LENGTH_UPLOAD_T + */ +const CURLINFO_CONTENT_LENGTH_UPLOAD_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SIZE_DOWNLOAD_T + */ +const CURLINFO_SIZE_DOWNLOAD_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SIZE_UPLOAD_T + */ +const CURLINFO_SIZE_UPLOAD_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SPEED_DOWNLOAD_T + */ +const CURLINFO_SPEED_DOWNLOAD_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_SPEED_UPLOAD_T + */ +const CURLINFO_SPEED_UPLOAD_T = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_REQUEST_TARGET + */ +const CURLOPT_REQUEST_TARGET = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SOCKS5_AUTH + */ +const CURLOPT_SOCKS5_AUTH = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ +/** + * @var int + * @cvalue CURLOPT_SSH_COMPRESSION + */ +const CURLOPT_SSH_COMPRESSION = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_MULTI_SSL + */ +const CURL_VERSION_MULTI_SSL = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ +/** + * @var int + * @cvalue CURL_VERSION_BROTLI + */ +const CURL_VERSION_BROTLI = UNKNOWN; +/** + * @var int + * @cvalue CURL_LOCK_DATA_CONNECT + */ +const CURL_LOCK_DATA_CONNECT = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */ +/** + * @var int + * @cvalue CURLSSH_AUTH_GSSAPI + */ +const CURLSSH_AUTH_GSSAPI = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ +/** + * @var int + * @cvalue CURLINFO_FILETIME_T + */ +const CURLINFO_FILETIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS + */ +const CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TIMEVALUE_LARGE + */ +const CURLOPT_TIMEVALUE_LARGE = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ +/** + * @var int + * @cvalue CURLOPT_DNS_SHUFFLE_ADDRESSES + */ +const CURLOPT_DNS_SHUFFLE_ADDRESSES = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HAPROXYPROTOCOL + */ +const CURLOPT_HAPROXYPROTOCOL = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ +/** + * @var int + * @cvalue CURL_LOCK_DATA_PSL + */ +const CURL_LOCK_DATA_PSL = UNKNOWN; +/** + * @var int + * @cvalue CURLAUTH_BEARER + */ +const CURLAUTH_BEARER = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_APPCONNECT_TIME_T + */ +const CURLINFO_APPCONNECT_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_CONNECT_TIME_T + */ +const CURLINFO_CONNECT_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_NAMELOOKUP_TIME_T + */ +const CURLINFO_NAMELOOKUP_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PRETRANSFER_TIME_T + */ +const CURLINFO_PRETRANSFER_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_REDIRECT_TIME_T + */ +const CURLINFO_REDIRECT_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_STARTTRANSFER_TIME_T + */ +const CURLINFO_STARTTRANSFER_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_TOTAL_TIME_T + */ +const CURLINFO_TOTAL_TIME_T = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DISALLOW_USERNAME_IN_URL + */ +const CURLOPT_DISALLOW_USERNAME_IN_URL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_TLS13_CIPHERS + */ +const CURLOPT_PROXY_TLS13_CIPHERS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_TLS13_CIPHERS + */ +const CURLOPT_TLS13_CIPHERS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ +/** + * @var int + * @cvalue CURLOPT_DOH_URL + */ +const CURLOPT_DOH_URL = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_UPKEEP_INTERVAL_MS + */ +const CURLOPT_UPKEEP_INTERVAL_MS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_UPLOAD_BUFFERSIZE + */ +const CURLOPT_UPLOAD_BUFFERSIZE = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */ +/** + * @var int + * @cvalue CURLOPT_HTTP09_ALLOWED + */ +const CURLOPT_HTTP09_ALLOWED = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ +/** + * @var int + * @cvalue CURLALTSVC_H1 + */ +const CURLALTSVC_H1 = UNKNOWN; +/** + * @var int + * @cvalue CURLALTSVC_H2 + */ +const CURLALTSVC_H2 = UNKNOWN; +/** + * @var int + * @cvalue CURLALTSVC_H3 + */ +const CURLALTSVC_H3 = UNKNOWN; +/** + * @var int + * @cvalue CURLALTSVC_READONLYFILE + */ +const CURLALTSVC_READONLYFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_ALTSVC + */ +const CURLOPT_ALTSVC = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_ALTSVC_CTRL + */ +const CURLOPT_ALTSVC_CTRL = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_ALTSVC + */ +const CURL_VERSION_ALTSVC = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074100 /* Available since 7.65.0 */ +/** + * @var int + * @cvalue CURLOPT_MAXAGE_CONN + */ +const CURLOPT_MAXAGE_CONN = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ +/** + * @var int + * @cvalue CURLOPT_SASL_AUTHZID + */ +const CURLOPT_SASL_AUTHZID = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_HTTP3 + */ +const CURL_VERSION_HTTP3 = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_RETRY_AFTER + */ +const CURLINFO_RETRY_AFTER = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */ +/** + * @var int + * @cvalue CURLMOPT_MAX_CONCURRENT_STREAMS + */ +const CURLMOPT_MAX_CONCURRENT_STREAMS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074400 /* Available since 7.68.0 */ +/** + * @var int + * @cvalue CURLSSLOPT_NO_PARTIALCHAIN + */ +const CURLSSLOPT_NO_PARTIALCHAIN = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074500 /* Available since 7.69.0 */ +/** + * @var int + * @cvalue CURLOPT_MAIL_RCPT_ALLLOWFAILS + */ +const CURLOPT_MAIL_RCPT_ALLLOWFAILS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074600 /* Available since 7.70.0 */ +/** + * @var int + * @cvalue CURLSSLOPT_REVOKE_BEST_EFFORT + */ +const CURLSSLOPT_REVOKE_BEST_EFFORT = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ +/** + * @var int + * @cvalue CURLOPT_ISSUERCERT_BLOB + */ +const CURLOPT_ISSUERCERT_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_ISSUERCERT + */ +const CURLOPT_PROXY_ISSUERCERT = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_ISSUERCERT_BLOB + */ +const CURLOPT_PROXY_ISSUERCERT_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLCERT_BLOB + */ +const CURLOPT_PROXY_SSLCERT_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_SSLKEY_BLOB + */ +const CURLOPT_PROXY_SSLKEY_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLCERT_BLOB + */ +const CURLOPT_SSLCERT_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSLKEY_BLOB + */ +const CURLOPT_SSLKEY_BLOB = UNKNOWN; + +/** + * @var int + * @cvalue CURLPROTO_MQTT + */ +const CURLPROTO_MQTT = UNKNOWN; + +/** + * @var int + * @cvalue CURLSSLOPT_NATIVE_CA + */ +const CURLSSLOPT_NATIVE_CA = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ +/** + * @var int + * @cvalue CURL_VERSION_UNICODE + */ +const CURL_VERSION_UNICODE = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_ZSTD + */ +const CURL_VERSION_ZSTD = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ +/** + * @var int + * @cvalue CURLE_PROXY + */ +const CURLE_PROXY = UNKNOWN; +/** + * @var int + * @cvalue CURLINFO_PROXY_ERROR + */ +const CURLINFO_PROXY_ERROR = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSL_EC_CURVES + */ +const CURLOPT_SSL_EC_CURVES = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_BAD_ADDRESS_TYPE + */ +const CURLPX_BAD_ADDRESS_TYPE = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_BAD_VERSION + */ +const CURLPX_BAD_VERSION = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_CLOSED + */ +const CURLPX_CLOSED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_GSSAPI + */ +const CURLPX_GSSAPI = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_GSSAPI_PERMSG + */ +const CURLPX_GSSAPI_PERMSG = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_GSSAPI_PROTECTION + */ +const CURLPX_GSSAPI_PROTECTION = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_IDENTD + */ +const CURLPX_IDENTD = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_IDENTD_DIFFER + */ +const CURLPX_IDENTD_DIFFER = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_LONG_HOSTNAME + */ +const CURLPX_LONG_HOSTNAME = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_LONG_PASSWD + */ +const CURLPX_LONG_PASSWD = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_LONG_USER + */ +const CURLPX_LONG_USER = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_NO_AUTH + */ +const CURLPX_NO_AUTH = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_OK + */ +const CURLPX_OK = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_RECV_ADDRESS + */ +const CURLPX_RECV_ADDRESS = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_RECV_AUTH + */ +const CURLPX_RECV_AUTH = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_RECV_CONNECT + */ +const CURLPX_RECV_CONNECT = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_RECV_REQACK + */ +const CURLPX_RECV_REQACK = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED + */ +const CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_COMMAND_NOT_SUPPORTED + */ +const CURLPX_REPLY_COMMAND_NOT_SUPPORTED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_CONNECTION_REFUSED + */ +const CURLPX_REPLY_CONNECTION_REFUSED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_GENERAL_SERVER_FAILURE + */ +const CURLPX_REPLY_GENERAL_SERVER_FAILURE = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_HOST_UNREACHABLE + */ +const CURLPX_REPLY_HOST_UNREACHABLE = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_NETWORK_UNREACHABLE + */ +const CURLPX_REPLY_NETWORK_UNREACHABLE = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_NOT_ALLOWED + */ +const CURLPX_REPLY_NOT_ALLOWED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_TTL_EXPIRED + */ +const CURLPX_REPLY_TTL_EXPIRED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REPLY_UNASSIGNED + */ +const CURLPX_REPLY_UNASSIGNED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_REQUEST_FAILED + */ +const CURLPX_REQUEST_FAILED = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_RESOLVE_HOST + */ +const CURLPX_RESOLVE_HOST = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_SEND_AUTH + */ +const CURLPX_SEND_AUTH = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_SEND_CONNECT + */ +const CURLPX_SEND_CONNECT = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_SEND_REQUEST + */ +const CURLPX_SEND_REQUEST = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_UNKNOWN_FAIL + */ +const CURLPX_UNKNOWN_FAIL = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_UNKNOWN_MODE + */ +const CURLPX_UNKNOWN_MODE = UNKNOWN; +/** + * @var int + * @cvalue CURLPX_USER_REJECTED + */ +const CURLPX_USER_REJECTED = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ +/** + * @var int + * @cvalue CURLHSTS_ENABLE + */ +const CURLHSTS_ENABLE = UNKNOWN; +/** + * @var int + * @cvalue CURLHSTS_READONLYFILE + */ +const CURLHSTS_READONLYFILE = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HSTS + */ +const CURLOPT_HSTS = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_HSTS_CTRL + */ +const CURLOPT_HSTS_CTRL = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_HSTS + */ +const CURL_VERSION_HSTS = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */ +/** + * @var int + * @cvalue CURLAUTH_AWS_SIGV4 + */ +const CURLAUTH_AWS_SIGV4 = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_AWS_SIGV4 + */ +const CURLOPT_AWS_SIGV4 = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ +/** + * @var int + * @cvalue CURLINFO_REFERER + */ +const CURLINFO_REFERER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DOH_SSL_VERIFYHOST + */ +const CURLOPT_DOH_SSL_VERIFYHOST = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DOH_SSL_VERIFYPEER + */ +const CURLOPT_DOH_SSL_VERIFYPEER = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_DOH_SSL_VERIFYSTATUS + */ +const CURLOPT_DOH_SSL_VERIFYSTATUS = UNKNOWN; +/** + * @var int + * @cvalue CURL_VERSION_GSASL + */ +const CURL_VERSION_GSASL = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ +/** + * @var int + * @cvalue CURLOPT_CAINFO_BLOB + */ +const CURLOPT_CAINFO_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_PROXY_CAINFO_BLOB + */ +const CURLOPT_PROXY_CAINFO_BLOB = UNKNOWN; +/** + * @var int + * @cvalue CURLSSLOPT_AUTO_CLIENT_CERT + */ +const CURLSSLOPT_AUTO_CLIENT_CERT = UNKNOWN; +#endif + +#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */ +/** + * @var int + * @cvalue CURLOPT_MAXLIFETIME_CONN + */ +const CURLOPT_MAXLIFETIME_CONN = UNKNOWN; +/** + * @var int + * @cvalue CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 + */ +const CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 = UNKNOWN; +#endif + +/** + * @var int + * @cvalue CURLOPT_SAFE_UPLOAD + */ +const CURLOPT_SAFE_UPLOAD = UNKNOWN; + /** * @strict-properties * @not-serializable diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h index b8b0b4013ef95..1f05be710a19a 100644 --- a/ext/curl/curl_arginfo.h +++ b/ext/curl/curl_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 1bd8a84a4aa80912463ea76d08f64d3c2cf4c0db */ + * Stub hash: 778f1aa4a9333ef419c89276911333bc8a04a065 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0) @@ -230,6 +230,1075 @@ static const zend_function_entry class_CurlShareHandle_methods[] = { ZEND_FE_END }; +static void register_curl_symbols(int module_number) +{ + REGISTER_LONG_CONSTANT("CURLOPT_AUTOREFERER", CURLOPT_AUTOREFERER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_BINARYTRANSFER", CURLOPT_BINARYTRANSFER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_BUFFERSIZE", CURLOPT_BUFFERSIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CAINFO", CURLOPT_CAINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CAPATH", CURLOPT_CAPATH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECTTIMEOUT", CURLOPT_CONNECTTIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIE", CURLOPT_COOKIE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIEFILE", CURLOPT_COOKIEFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIEJAR", CURLOPT_COOKIEJAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIESESSION", CURLOPT_COOKIESESSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CRLF", CURLOPT_CRLF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CUSTOMREQUEST", CURLOPT_CUSTOMREQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_CACHE_TIMEOUT", CURLOPT_DNS_CACHE_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_USE_GLOBAL_CACHE", CURLOPT_DNS_USE_GLOBAL_CACHE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_EGDSOCKET", CURLOPT_EGDSOCKET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ENCODING", CURLOPT_ENCODING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FAILONERROR", CURLOPT_FAILONERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FILE", CURLOPT_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FILETIME", CURLOPT_FILETIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FOLLOWLOCATION", CURLOPT_FOLLOWLOCATION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FORBID_REUSE", CURLOPT_FORBID_REUSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FRESH_CONNECT", CURLOPT_FRESH_CONNECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPAPPEND", CURLOPT_FTPAPPEND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPLISTONLY", CURLOPT_FTPLISTONLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPPORT", CURLOPT_FTPPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_EPRT", CURLOPT_FTP_USE_EPRT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_EPSV", CURLOPT_FTP_USE_EPSV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HEADER", CURLOPT_HEADER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HEADERFUNCTION", CURLOPT_HEADERFUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP200ALIASES", CURLOPT_HTTP200ALIASES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPGET", CURLOPT_HTTPGET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HTTPHEADER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPPROXYTUNNEL", CURLOPT_HTTPPROXYTUNNEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP_VERSION", CURLOPT_HTTP_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_INFILE", CURLOPT_INFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_INFILESIZE", CURLOPT_INFILESIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_INTERFACE", CURLOPT_INTERFACE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KRB4LEVEL", CURLOPT_KRB4LEVEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOW_SPEED_LIMIT", CURLOPT_LOW_SPEED_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOW_SPEED_TIME", CURLOPT_LOW_SPEED_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXCONNECTS", CURLOPT_MAXCONNECTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXREDIRS", CURLOPT_MAXREDIRS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NETRC", CURLOPT_NETRC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOBODY", CURLOPT_NOBODY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOPROGRESS", CURLOPT_NOPROGRESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOSIGNAL", CURLOPT_NOSIGNAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PORT", CURLOPT_PORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POST", CURLOPT_POST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POSTFIELDS", CURLOPT_POSTFIELDS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POSTQUOTE", CURLOPT_POSTQUOTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PREQUOTE", CURLOPT_PREQUOTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PRIVATE", CURLOPT_PRIVATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY", CURLOPT_PROXY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYPORT", CURLOPT_PROXYPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYTYPE", CURLOPT_PROXYTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYUSERPWD", CURLOPT_PROXYUSERPWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PUT", CURLOPT_PUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_QUOTE", CURLOPT_QUOTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RANDOM_FILE", CURLOPT_RANDOM_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RANGE", CURLOPT_RANGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_READDATA", CURLOPT_READDATA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_READFUNCTION", CURLOPT_READFUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_REFERER", CURLOPT_REFERER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RESUME_FROM", CURLOPT_RESUME_FROM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RETURNTRANSFER", CURLOPT_RETURNTRANSFER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SHARE", CURLOPT_SHARE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERT", CURLOPT_SSLCERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERTPASSWD", CURLOPT_SSLCERTPASSWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERTTYPE", CURLOPT_SSLCERTTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLENGINE", CURLOPT_SSLENGINE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLENGINE_DEFAULT", CURLOPT_SSLENGINE_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEY", CURLOPT_SSLKEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEYPASSWD", CURLOPT_SSLKEYPASSWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEYTYPE", CURLOPT_SSLKEYTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLVERSION", CURLOPT_SSLVERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_CIPHER_LIST", CURLOPT_SSL_CIPHER_LIST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYHOST", CURLOPT_SSL_VERIFYHOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYPEER", CURLOPT_SSL_VERIFYPEER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_STDERR", CURLOPT_STDERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TELNETOPTIONS", CURLOPT_TELNETOPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMECONDITION", CURLOPT_TIMECONDITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEOUT", CURLOPT_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE", CURLOPT_TIMEVALUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TRANSFERTEXT", CURLOPT_TRANSFERTEXT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UNRESTRICTED_AUTH", CURLOPT_UNRESTRICTED_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UPLOAD", CURLOPT_UPLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_URL", CURLOPT_URL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USERAGENT", CURLOPT_USERAGENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USERPWD", CURLOPT_USERPWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_VERBOSE", CURLOPT_VERBOSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_WRITEHEADER", CURLOPT_WRITEHEADER, CONST_CS | CONST_PERSISTENT); +#if LIBCURL_VERSION_NUM >= 0x072000 + REGISTER_LONG_CONSTANT("CURLOPT_XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLE_ABORTED_BY_CALLBACK", CURLE_ABORTED_BY_CALLBACK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_CALLING_ORDER", CURLE_BAD_CALLING_ORDER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_CONTENT_ENCODING", CURLE_BAD_CONTENT_ENCODING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_DOWNLOAD_RESUME", CURLE_BAD_DOWNLOAD_RESUME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_FUNCTION_ARGUMENT", CURLE_BAD_FUNCTION_ARGUMENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_PASSWORD_ENTERED", CURLE_BAD_PASSWORD_ENTERED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_COULDNT_CONNECT", CURLE_COULDNT_CONNECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_COULDNT_RESOLVE_HOST", CURLE_COULDNT_RESOLVE_HOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_COULDNT_RESOLVE_PROXY", CURLE_COULDNT_RESOLVE_PROXY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FAILED_INIT", CURLE_FAILED_INIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FILE_COULDNT_READ_FILE", CURLE_FILE_COULDNT_READ_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_ACCESS_DENIED", CURLE_FTP_ACCESS_DENIED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_BAD_DOWNLOAD_RESUME", CURLE_FTP_BAD_DOWNLOAD_RESUME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_CANT_GET_HOST", CURLE_FTP_CANT_GET_HOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_CANT_RECONNECT", CURLE_FTP_CANT_RECONNECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_GET_SIZE", CURLE_FTP_COULDNT_GET_SIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_RETR_FILE", CURLE_FTP_COULDNT_RETR_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_SET_ASCII", CURLE_FTP_COULDNT_SET_ASCII, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_SET_BINARY", CURLE_FTP_COULDNT_SET_BINARY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_STOR_FILE", CURLE_FTP_COULDNT_STOR_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_USE_REST", CURLE_FTP_COULDNT_USE_REST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_PARTIAL_FILE", CURLE_FTP_PARTIAL_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_PORT_FAILED", CURLE_FTP_PORT_FAILED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_QUOTE_ERROR", CURLE_FTP_QUOTE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_USER_PASSWORD_INCORRECT", CURLE_FTP_USER_PASSWORD_INCORRECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_227_FORMAT", CURLE_FTP_WEIRD_227_FORMAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_PASS_REPLY", CURLE_FTP_WEIRD_PASS_REPLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_PASV_REPLY", CURLE_FTP_WEIRD_PASV_REPLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_SERVER_REPLY", CURLE_FTP_WEIRD_SERVER_REPLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_USER_REPLY", CURLE_FTP_WEIRD_USER_REPLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WRITE_ERROR", CURLE_FTP_WRITE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FUNCTION_NOT_FOUND", CURLE_FUNCTION_NOT_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_GOT_NOTHING", CURLE_GOT_NOTHING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_NOT_FOUND", CURLE_HTTP_NOT_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_PORT_FAILED", CURLE_HTTP_PORT_FAILED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_POST_ERROR", CURLE_HTTP_POST_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_RANGE_ERROR", CURLE_HTTP_RANGE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_RETURNED_ERROR", CURLE_HTTP_RETURNED_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LDAP_CANNOT_BIND", CURLE_LDAP_CANNOT_BIND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LDAP_SEARCH_FAILED", CURLE_LDAP_SEARCH_FAILED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LIBRARY_NOT_FOUND", CURLE_LIBRARY_NOT_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_MALFORMAT_USER", CURLE_MALFORMAT_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OBSOLETE", CURLE_OBSOLETE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OK", CURLE_OK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEDOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OPERATION_TIMEOUTED", CURLE_OPERATION_TIMEOUTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OUT_OF_MEMORY", CURLE_OUT_OF_MEMORY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_PARTIAL_FILE", CURLE_PARTIAL_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_READ_ERROR", CURLE_READ_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_RECV_ERROR", CURLE_RECV_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SEND_ERROR", CURLE_SEND_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SHARE_IN_USE", CURLE_SHARE_IN_USE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CACERT", CURLE_SSL_CACERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CERTPROBLEM", CURLE_SSL_CERTPROBLEM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CIPHER", CURLE_SSL_CIPHER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CONNECT_ERROR", CURLE_SSL_CONNECT_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_NOTFOUND", CURLE_SSL_ENGINE_NOTFOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_SETFAILED", CURLE_SSL_ENGINE_SETFAILED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_PEER_CERTIFICATE", CURLE_SSL_PEER_CERTIFICATE, CONST_CS | CONST_PERSISTENT); +#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ + REGISTER_LONG_CONSTANT("CURLE_SSL_PINNEDPUBKEYNOTMATCH", CURLE_SSL_PINNEDPUBKEYNOTMATCH, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLE_TELNET_OPTION_SYNTAX", CURLE_TELNET_OPTION_SYNTAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_TOO_MANY_REDIRECTS", CURLE_TOO_MANY_REDIRECTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_UNKNOWN_TELNET_OPTION", CURLE_UNKNOWN_TELNET_OPTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_UNSUPPORTED_PROTOCOL", CURLE_UNSUPPORTED_PROTOCOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_URL_MALFORMAT", CURLE_URL_MALFORMAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_URL_MALFORMAT_USER", CURLE_URL_MALFORMAT_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_WRITE_ERROR", CURLE_WRITE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME", CURLINFO_CONNECT_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD", CURLINFO_CONTENT_LENGTH_DOWNLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD", CURLINFO_CONTENT_LENGTH_UPLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_TYPE", CURLINFO_CONTENT_TYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_EFFECTIVE_URL", CURLINFO_EFFECTIVE_URL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_FILETIME", CURLINFO_FILETIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HEADER_OUT", CURLINFO_HEADER_OUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HEADER_SIZE", CURLINFO_HEADER_SIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTP_CODE", CURLINFO_HTTP_CODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_LASTONE", CURLINFO_LASTONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME", CURLINFO_NAMELOOKUP_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME", CURLINFO_PRETRANSFER_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRIVATE", CURLINFO_PRIVATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_COUNT", CURLINFO_REDIRECT_COUNT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME", CURLINFO_REDIRECT_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REQUEST_SIZE", CURLINFO_REQUEST_SIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD", CURLINFO_SIZE_DOWNLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD", CURLINFO_SIZE_UPLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD", CURLINFO_SPEED_DOWNLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD", CURLINFO_SPEED_UPLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SSL_VERIFYRESULT", CURLINFO_SSL_VERIFYRESULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME", CURLINFO_STARTTRANSFER_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME", CURLINFO_TOTAL_TIME, CONST_CS | CONST_PERSISTENT); +#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_EFFECTIVE_METHOD", CURLINFO_EFFECTIVE_METHOD, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLMSG_DONE", CURLMSG_DONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLVERSION_NOW", CURLVERSION_NOW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_BAD_EASY_HANDLE", CURLM_BAD_EASY_HANDLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_BAD_HANDLE", CURLM_BAD_HANDLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_CALL_MULTI_PERFORM", CURLM_CALL_MULTI_PERFORM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_INTERNAL_ERROR", CURLM_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_OK", CURLM_OK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_OUT_OF_MEMORY", CURLM_OUT_OF_MEMORY, CONST_CS | CONST_PERSISTENT); +#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */ + REGISTER_LONG_CONSTANT("CURLM_ADDED_ALREADY", CURLM_ADDED_ALREADY, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLPROXY_HTTP", CURLPROXY_HTTP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4", CURLPROXY_SOCKS4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5", CURLPROXY_SOCKS5, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSHOPT_NONE", CURLSHOPT_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSHOPT_SHARE", CURLSHOPT_SHARE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSHOPT_UNSHARE", CURLSHOPT_UNSHARE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_1_0", CURL_HTTP_VERSION_1_0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_1_1", CURL_HTTP_VERSION_1_1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_NONE", CURL_HTTP_VERSION_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_COOKIE", CURL_LOCK_DATA_COOKIE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_DNS", CURL_LOCK_DATA_DNS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_SSL_SESSION", CURL_LOCK_DATA_SSL_SESSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_NETRC_IGNORED", CURL_NETRC_IGNORED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_NETRC_OPTIONAL", CURL_NETRC_OPTIONAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_NETRC_REQUIRED", CURL_NETRC_REQUIRED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_DEFAULT", CURL_SSLVERSION_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_SSLv2", CURL_SSLVERSION_SSLv2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_SSLv3", CURL_SSLVERSION_SSLv3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1", CURL_SSLVERSION_TLSv1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_IFMODSINCE", CURL_TIMECOND_IFMODSINCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_IFUNMODSINCE", CURL_TIMECOND_IFUNMODSINCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_LASTMOD", CURL_TIMECOND_LASTMOD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_NONE", CURL_TIMECOND_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_ASYNCHDNS", CURL_VERSION_ASYNCHDNS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_CONV", CURL_VERSION_CONV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_DEBUG", CURL_VERSION_DEBUG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_GSSNEGOTIATE", CURL_VERSION_GSSNEGOTIATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_IDN", CURL_VERSION_IDN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_IPV6", CURL_VERSION_IPV6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS4", CURL_VERSION_KERBEROS4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_LARGEFILE", CURL_VERSION_LARGEFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_LIBZ", CURL_VERSION_LIBZ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_NTLM", CURL_VERSION_NTLM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_SPNEGO", CURL_VERSION_SPNEGO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_SSL", CURL_VERSION_SSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_SSPI", CURL_VERSION_SSPI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPAUTH", CURLOPT_HTTPAUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_ANY", CURLAUTH_ANY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_ANYSAFE", CURLAUTH_ANYSAFE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_BASIC", CURLAUTH_BASIC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_DIGEST", CURLAUTH_DIGEST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_GSSNEGOTIATE", CURLAUTH_GSSNEGOTIATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NONE", CURLAUTH_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NTLM", CURLAUTH_NTLM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTP_CONNECTCODE", CURLINFO_HTTP_CONNECTCODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYAUTH", CURLOPT_PROXYAUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FILESIZE_EXCEEDED", CURLE_FILESIZE_EXCEEDED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LDAP_INVALID_URL", CURLE_LDAP_INVALID_URL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTPAUTH_AVAIL", CURLINFO_HTTPAUTH_AVAIL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RESPONSE_CODE", CURLINFO_RESPONSE_CODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PROXYAUTH_AVAIL", CURLINFO_PROXYAUTH_AVAIL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_RESPONSE_TIMEOUT", CURLOPT_FTP_RESPONSE_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_IPRESOLVE", CURLOPT_IPRESOLVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXFILESIZE", CURLOPT_MAXFILESIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_V4", CURL_IPRESOLVE_V4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_V6", CURL_IPRESOLVE_V6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_WHATEVER", CURL_IPRESOLVE_WHATEVER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_SSL_FAILED", CURLE_FTP_SSL_FAILED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_ALL", CURLFTPSSL_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CONTROL", CURLFTPSSL_CONTROL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_NONE", CURLFTPSSL_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_TRY", CURLFTPSSL_TRY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_SSL", CURLOPT_FTP_SSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NETRC_FILE", CURLOPT_NETRC_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXFILESIZE_LARGE", CURLOPT_MAXFILESIZE_LARGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_NODELAY", CURLOPT_TCP_NODELAY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPAUTH_DEFAULT", CURLFTPAUTH_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPAUTH_SSL", CURLFTPAUTH_SSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPAUTH_TLS", CURLFTPAUTH_TLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPSSLAUTH", CURLOPT_FTPSSLAUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_OS_ERRNO", CURLINFO_OS_ERRNO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_NUM_CONNECTS", CURLINFO_NUM_CONNECTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SSL_ENGINES", CURLINFO_SSL_ENGINES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_COOKIELIST", CURLINFO_COOKIELIST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIELIST", CURLOPT_COOKIELIST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_IGNORE_CONTENT_LENGTH", CURLOPT_IGNORE_CONTENT_LENGTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_SKIP_PASV_IP", CURLOPT_FTP_SKIP_PASV_IP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_ONLY", CURLOPT_CONNECT_ONLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOCALPORT", CURLOPT_LOCALPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOCALPORTRANGE", CURLOPT_LOCALPORTRANGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_DEFAULT", CURLFTPMETHOD_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_MULTICWD", CURLFTPMETHOD_MULTICWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_NOCWD", CURLFTPMETHOD_NOCWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_SINGLECWD", CURLFTPMETHOD_SINGLECWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_FTP_ENTRY_PATH", CURLINFO_FTP_ENTRY_PATH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAX_RECV_SPEED_LARGE", CURLOPT_MAX_RECV_SPEED_LARGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAX_SEND_SPEED_LARGE", CURLOPT_MAX_SEND_SPEED_LARGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CACERT_BADFILE", CURLE_SSL_CACERT_BADFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_SESSIONID_CACHE", CURLOPT_SSL_SESSIONID_CACHE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_PIPELINING", CURLMOPT_PIPELINING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSH", CURLE_SSH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_SSL_CCC", CURLOPT_FTP_SSL_CCC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_AUTH_TYPES", CURLOPT_SSH_AUTH_TYPES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_PRIVATE_KEYFILE", CURLOPT_SSH_PRIVATE_KEYFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_PUBLIC_KEYFILE", CURLOPT_SSH_PUBLIC_KEYFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_ACTIVE", CURLFTPSSL_CCC_ACTIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_NONE", CURLFTPSSL_CCC_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_PASSIVE", CURLFTPSSL_CCC_PASSIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECTTIMEOUT_MS", CURLOPT_CONNECTTIMEOUT_MS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP_CONTENT_DECODING", CURLOPT_HTTP_CONTENT_DECODING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP_TRANSFER_DECODING", CURLOPT_HTTP_TRANSFER_DECODING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEOUT_MS", CURLOPT_TIMEOUT_MS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_MAXCONNECTS", CURLMOPT_MAXCONNECTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KRBLEVEL", CURLOPT_KRBLEVEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NEW_DIRECTORY_PERMS", CURLOPT_NEW_DIRECTORY_PERMS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NEW_FILE_PERMS", CURLOPT_NEW_FILE_PERMS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_APPEND", CURLOPT_APPEND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DIRLISTONLY", CURLOPT_DIRLISTONLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USE_SSL", CURLOPT_USE_SSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_ALL", CURLUSESSL_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_CONTROL", CURLUSESSL_CONTROL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_NONE", CURLUSESSL_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_TRY", CURLUSESSL_TRY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_HOST_PUBLIC_KEY_MD5", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TRANSFER_MODE", CURLOPT_PROXY_TRANSFER_MODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_ALL", CURLPAUSE_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_CONT", CURLPAUSE_CONT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_RECV", CURLPAUSE_RECV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_RECV_CONT", CURLPAUSE_RECV_CONT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_SEND", CURLPAUSE_SEND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_SEND_CONT", CURLPAUSE_SEND_CONT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_READFUNC_PAUSE", CURL_READFUNC_PAUSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_WRITEFUNC_PAUSE", CURL_WRITEFUNC_PAUSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4A", CURLPROXY_SOCKS4A, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5_HOSTNAME", CURLPROXY_SOCKS5_HOSTNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_URL", CURLINFO_REDIRECT_URL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME", CURLINFO_APPCONNECT_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRIMARY_IP", CURLINFO_PRIMARY_IP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ADDRESS_SCOPE", CURLOPT_ADDRESS_SCOPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CRLFILE", CURLOPT_CRLFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ISSUERCERT", CURLOPT_ISSUERCERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KEYPASSWD", CURLOPT_KEYPASSWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_ANY", CURLSSH_AUTH_ANY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_DEFAULT", CURLSSH_AUTH_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_HOST", CURLSSH_AUTH_HOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_KEYBOARD", CURLSSH_AUTH_KEYBOARD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_NONE", CURLSSH_AUTH_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_PASSWORD", CURLSSH_AUTH_PASSWORD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_PUBLICKEY", CURLSSH_AUTH_PUBLICKEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CERTINFO", CURLINFO_CERTINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CERTINFO", CURLOPT_CERTINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PASSWORD", CURLOPT_PASSWORD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POSTREDIR", CURLOPT_POSTREDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYPASSWORD", CURLOPT_PROXYPASSWORD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYUSERNAME", CURLOPT_PROXYUSERNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USERNAME", CURLOPT_USERNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_301", CURL_REDIR_POST_301, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_302", CURL_REDIR_POST_302, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_ALL", CURL_REDIR_POST_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_DIGEST_IE", CURLAUTH_DIGEST_IE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONDITION_UNMET", CURLINFO_CONDITION_UNMET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOPROXY", CURLOPT_NOPROXY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROTOCOLS", CURLOPT_PROTOCOLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_REDIR_PROTOCOLS", CURLOPT_REDIR_PROTOCOLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_GSSAPI_NEC", CURLOPT_SOCKS5_GSSAPI_NEC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_GSSAPI_SERVICE", CURLOPT_SOCKS5_GSSAPI_SERVICE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TFTP_BLKSIZE", CURLOPT_TFTP_BLKSIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_ALL", CURLPROTO_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_DICT", CURLPROTO_DICT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_FILE", CURLPROTO_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_FTP", CURLPROTO_FTP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_FTPS", CURLPROTO_FTPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_HTTP", CURLPROTO_HTTP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_HTTPS", CURLPROTO_HTTPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_LDAP", CURLPROTO_LDAP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_LDAPS", CURLPROTO_LDAPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SCP", CURLPROTO_SCP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SFTP", CURLPROTO_SFTP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_TELNET", CURLPROTO_TELNET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_TFTP", CURLPROTO_TFTP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_HTTP_1_0", CURLPROXY_HTTP_1_0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR", CURLFTP_CREATE_DIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR_NONE", CURLFTP_CREATE_DIR_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR_RETRY", CURLFTP_CREATE_DIR_RETRY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_CURLDEBUG", CURL_VERSION_CURLDEBUG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_KNOWNHOSTS", CURLOPT_SSH_KNOWNHOSTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_CLIENT_CSEQ", CURLINFO_RTSP_CLIENT_CSEQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_CSEQ_RECV", CURLINFO_RTSP_CSEQ_RECV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_SERVER_CSEQ", CURLINFO_RTSP_SERVER_CSEQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_SESSION_ID", CURLINFO_RTSP_SESSION_ID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_PRET", CURLOPT_FTP_USE_PRET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_FROM", CURLOPT_MAIL_FROM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_RCPT", CURLOPT_MAIL_RCPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_CLIENT_CSEQ", CURLOPT_RTSP_CLIENT_CSEQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_REQUEST", CURLOPT_RTSP_REQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_SERVER_CSEQ", CURLOPT_RTSP_SERVER_CSEQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_SESSION_ID", CURLOPT_RTSP_SESSION_ID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_STREAM_URI", CURLOPT_RTSP_STREAM_URI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_TRANSPORT", CURLOPT_RTSP_TRANSPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_IMAP", CURLPROTO_IMAP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_IMAPS", CURLPROTO_IMAPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_POP3", CURLPROTO_POP3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_POP3S", CURLPROTO_POP3S, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTSP", CURLPROTO_RTSP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SMTP", CURLPROTO_SMTP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SMTPS", CURLPROTO_SMTPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_ANNOUNCE", CURL_RTSPREQ_ANNOUNCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_DESCRIBE", CURL_RTSPREQ_DESCRIBE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_GET_PARAMETER", CURL_RTSPREQ_GET_PARAMETER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_OPTIONS", CURL_RTSPREQ_OPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_PAUSE", CURL_RTSPREQ_PAUSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_PLAY", CURL_RTSPREQ_PLAY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_RECEIVE", CURL_RTSPREQ_RECEIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_RECORD", CURL_RTSPREQ_RECORD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_SET_PARAMETER", CURL_RTSPREQ_SET_PARAMETER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_SETUP", CURL_RTSPREQ_SETUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_TEARDOWN", CURL_RTSPREQ_TEARDOWN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_LOCAL_IP", CURLINFO_LOCAL_IP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_LOCAL_PORT", CURLINFO_LOCAL_PORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRIMARY_PORT", CURLINFO_PRIMARY_PORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FNMATCH_FUNCTION", CURLOPT_FNMATCH_FUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_WILDCARDMATCH", CURLOPT_WILDCARDMATCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMP", CURLPROTO_RTMP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPE", CURLPROTO_RTMPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPS", CURLPROTO_RTMPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPT", CURLPROTO_RTMPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPTE", CURLPROTO_RTMPTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPTS", CURLPROTO_RTMPTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_FAIL", CURL_FNMATCHFUNC_FAIL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_MATCH", CURL_FNMATCHFUNC_MATCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_NOMATCH", CURL_FNMATCHFUNC_NOMATCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_GOPHER", CURLPROTO_GOPHER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_ONLY", CURLAUTH_ONLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RESOLVE", CURLOPT_RESOLVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_PASSWORD", CURLOPT_TLSAUTH_PASSWORD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_TYPE", CURLOPT_TLSAUTH_TYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_USERNAME", CURLOPT_TLSAUTH_USERNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TLSAUTH_SRP", CURL_TLSAUTH_SRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_TLSAUTH_SRP", CURL_VERSION_TLSAUTH_SRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ACCEPT_ENCODING", CURLOPT_ACCEPT_ENCODING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TRANSFER_ENCODING", CURLOPT_TRANSFER_ENCODING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NTLM_WB", CURLAUTH_NTLM_WB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLGSSAPI_DELEGATION_FLAG", CURLGSSAPI_DELEGATION_FLAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLGSSAPI_DELEGATION_POLICY_FLAG", CURLGSSAPI_DELEGATION_POLICY_FLAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_GSSAPI_DELEGATION", CURLOPT_GSSAPI_DELEGATION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_NTLM_WB", CURL_VERSION_NTLM_WB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ACCEPTTIMEOUT_MS", CURLOPT_ACCEPTTIMEOUT_MS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_SERVERS", CURLOPT_DNS_SERVERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_AUTH", CURLOPT_MAIL_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_OPTIONS", CURLOPT_SSL_OPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPALIVE", CURLOPT_TCP_KEEPALIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPIDLE", CURLOPT_TCP_KEEPIDLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPINTVL", CURLOPT_TCP_KEEPINTVL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_ALLOW_BEAST", CURLSSLOPT_ALLOW_BEAST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_303", CURL_REDIR_POST_303, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_AGENT", CURLSSH_AUTH_AGENT, CONST_CS | CONST_PERSISTENT); +#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE", CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE", CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_HOST_CONNECTIONS", CURLMOPT_MAX_HOST_CONNECTIONS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_PIPELINE_LENGTH", CURLMOPT_MAX_PIPELINE_LENGTH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_TOTAL_CONNECTIONS", CURLMOPT_MAX_TOTAL_CONNECTIONS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SASL_IR", CURLOPT_SASL_IR, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DNS_INTERFACE", CURLOPT_DNS_INTERFACE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP4", CURLOPT_DNS_LOCAL_IP4, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP6", CURLOPT_DNS_LOCAL_IP6, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_0", CURL_HTTP_VERSION_2_0, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP2", CURL_VERSION_HTTP2, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_LOGIN_OPTIONS", CURLOPT_LOGIN_OPTIONS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_0", CURL_SSLVERSION_TLSv1_0, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_1", CURL_SSLVERSION_TLSv1_1, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_2", CURL_SSLVERSION_TLSv1_2, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_EXPECT_100_TIMEOUT_MS", CURLOPT_EXPECT_100_TIMEOUT_MS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_ALPN", CURLOPT_SSL_ENABLE_ALPN, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_NPN", CURLOPT_SSL_ENABLE_NPN, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ + REGISTER_LONG_CONSTANT("CURLHEADER_SEPARATE", CURLHEADER_SEPARATE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ + REGISTER_LONG_CONSTANT("CURLHEADER_UNIFIED", CURLHEADER_UNIFIED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_HEADEROPT", CURLOPT_HEADEROPT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXYHEADER", CURLOPT_PROXYHEADER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ + REGISTER_LONG_CONSTANT("CURLAUTH_NEGOTIATE", CURLAUTH_NEGOTIATE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_GSSAPI", CURL_VERSION_GSSAPI, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PINNEDPUBLICKEY", CURLOPT_PINNEDPUBLICKEY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_UNIX_SOCKET_PATH", CURLOPT_UNIX_SOCKET_PATH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ + REGISTER_LONG_CONSTANT("CURLPROTO_SMB", CURLPROTO_SMB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ + REGISTER_LONG_CONSTANT("CURLPROTO_SMBS", CURLPROTO_SMBS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS5", CURL_VERSION_KERBEROS5, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_UNIX_SOCKETS", CURL_VERSION_UNIX_SOCKETS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYSTATUS", CURLOPT_SSL_VERIFYSTATUS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PATH_AS_IS", CURLOPT_PATH_AS_IS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSL_FALSESTART", CURLOPT_SSL_FALSESTART, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2", CURL_HTTP_VERSION_2, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PIPEWAIT", CURLOPT_PIPEWAIT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SERVICE_NAME", CURLOPT_PROXY_SERVICE_NAME, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SERVICE_NAME", CURLOPT_SERVICE_NAME, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURLPIPE_NOTHING", CURLPIPE_NOTHING, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURLPIPE_HTTP1", CURLPIPE_HTTP1, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ + REGISTER_LONG_CONSTANT("CURLPIPE_MULTIPLEX", CURLPIPE_MULTIPLEX, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */ + REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_REVOKE", CURLSSLOPT_NO_REVOKE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DEFAULT_PROTOCOL", CURLOPT_DEFAULT_PROTOCOL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_STREAM_WEIGHT", CURLOPT_STREAM_WEIGHT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_PUSHFUNCTION", CURLMOPT_PUSHFUNCTION, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ + REGISTER_LONG_CONSTANT("CURL_PUSH_OK", CURL_PUSH_OK, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ + REGISTER_LONG_CONSTANT("CURL_PUSH_DENY", CURL_PUSH_DENY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2TLS", CURL_HTTP_VERSION_2TLS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_PSL", CURL_VERSION_PSL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_TFTP_NO_OPTIONS", CURLOPT_TFTP_NO_OPTIONS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE", CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_TO", CURLOPT_CONNECT_TO, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_TCP_FASTOPEN", CURLOPT_TCP_FASTOPEN, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_HTTP_VERSION", CURLINFO_HTTP_VERSION, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ + REGISTER_LONG_CONSTANT("CURLE_WEIRD_SERVER_REPLY", CURLE_WEIRD_SERVER_REPLY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_KEEP_SENDING_ON_ERROR", CURLOPT_KEEP_SENDING_ON_ERROR, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_3", CURL_SSLVERSION_TLSv1_3, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_HTTPS_PROXY", CURL_VERSION_HTTPS_PROXY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_PROTOCOL", CURLINFO_PROTOCOL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_PROXY_SSL_VERIFYRESULT", CURLINFO_PROXY_SSL_VERIFYRESULT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_SCHEME", CURLINFO_SCHEME, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PRE_PROXY", CURLOPT_PRE_PROXY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO", CURLOPT_PROXY_CAINFO, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAPATH", CURLOPT_PROXY_CAPATH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CRLFILE", CURLOPT_PROXY_CRLFILE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_KEYPASSWD", CURLOPT_PROXY_KEYPASSWD, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_PINNEDPUBLICKEY", CURLOPT_PROXY_PINNEDPUBLICKEY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_CIPHER_LIST", CURLOPT_PROXY_SSL_CIPHER_LIST, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_OPTIONS", CURLOPT_PROXY_SSL_OPTIONS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYHOST", CURLOPT_PROXY_SSL_VERIFYHOST, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYPEER", CURLOPT_PROXY_SSL_VERIFYPEER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT", CURLOPT_PROXY_SSLCERT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERTTYPE", CURLOPT_PROXY_SSLCERTTYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY", CURLOPT_PROXY_SSLKEY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEYTYPE", CURLOPT_PROXY_SSLKEYTYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLVERSION", CURLOPT_PROXY_SSLVERSION, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_PASSWORD", CURLOPT_PROXY_TLSAUTH_PASSWORD, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_TYPE", CURLOPT_PROXY_TLSAUTH_TYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_USERNAME", CURLOPT_PROXY_TLSAUTH_USERNAME, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ + REGISTER_LONG_CONSTANT("CURLPROXY_HTTPS", CURLPROXY_HTTPS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ + REGISTER_LONG_CONSTANT("CURL_MAX_READ_SIZE", CURL_MAX_READ_SIZE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_ABSTRACT_UNIX_SOCKET", CURLOPT_ABSTRACT_UNIX_SOCKET, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_DEFAULT", CURL_SSLVERSION_MAX_DEFAULT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_NONE", CURL_SSLVERSION_MAX_NONE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_0", CURL_SSLVERSION_MAX_TLSv1_0, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_1", CURL_SSLVERSION_MAX_TLSv1_1, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_2", CURL_SSLVERSION_MAX_TLSv1_2, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_3", CURL_SSLVERSION_MAX_TLSv1_3, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SUPPRESS_CONNECT_HEADERS", CURLOPT_SUPPRESS_CONNECT_HEADERS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */ + REGISTER_LONG_CONSTANT("CURLAUTH_GSSAPI", CURLAUTH_GSSAPI, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD_T", CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD_T", CURLINFO_CONTENT_LENGTH_UPLOAD_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD_T", CURLINFO_SIZE_DOWNLOAD_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD_T", CURLINFO_SIZE_UPLOAD_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD_T", CURLINFO_SPEED_DOWNLOAD_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD_T", CURLINFO_SPEED_UPLOAD_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_AUTH", CURLOPT_SOCKS5_AUTH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSH_COMPRESSION", CURLOPT_SSH_COMPRESSION, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_MULTI_SSL", CURL_VERSION_MULTI_SSL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_BROTLI", CURL_VERSION_BROTLI, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_CONNECT", CURL_LOCK_DATA_CONNECT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */ + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_GSSAPI", CURLSSH_AUTH_GSSAPI, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_FILETIME_T", CURLINFO_FILETIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS", CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE_LARGE", CURLOPT_TIMEVALUE_LARGE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DNS_SHUFFLE_ADDRESSES", CURLOPT_DNS_SHUFFLE_ADDRESSES, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_HAPROXYPROTOCOL", CURLOPT_HAPROXYPROTOCOL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_PSL", CURL_LOCK_DATA_PSL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLAUTH_BEARER", CURLAUTH_BEARER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME_T", CURLINFO_APPCONNECT_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME_T", CURLINFO_CONNECT_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME_T", CURLINFO_NAMELOOKUP_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME_T", CURLINFO_PRETRANSFER_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME_T", CURLINFO_REDIRECT_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME_T", CURLINFO_STARTTRANSFER_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME_T", CURLINFO_TOTAL_TIME_T, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DISALLOW_USERNAME_IN_URL", CURLOPT_DISALLOW_USERNAME_IN_URL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_TLS13_CIPHERS", CURLOPT_TLS13_CIPHERS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DOH_URL", CURLOPT_DOH_URL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_UPKEEP_INTERVAL_MS", CURLOPT_UPKEEP_INTERVAL_MS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_UPLOAD_BUFFERSIZE", CURLOPT_UPLOAD_BUFFERSIZE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_HTTP09_ALLOWED", CURLOPT_HTTP09_ALLOWED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURLALTSVC_H1", CURLALTSVC_H1, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURLALTSVC_H2", CURLALTSVC_H2, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURLALTSVC_H3", CURLALTSVC_H3, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURLALTSVC_READONLYFILE", CURLALTSVC_READONLYFILE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURLOPT_ALTSVC", CURLOPT_ALTSVC, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURLOPT_ALTSVC_CTRL", CURLOPT_ALTSVC_CTRL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_ALTSVC", CURL_VERSION_ALTSVC, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074100 /* Available since 7.65.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_MAXAGE_CONN", CURLOPT_MAXAGE_CONN, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SASL_AUTHZID", CURLOPT_SASL_AUTHZID, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP3", CURL_VERSION_HTTP3, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_RETRY_AFTER", CURLINFO_RETRY_AFTER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */ + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_CONCURRENT_STREAMS", CURLMOPT_MAX_CONCURRENT_STREAMS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074400 /* Available since 7.68.0 */ + REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_PARTIALCHAIN", CURLSSLOPT_NO_PARTIALCHAIN, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074500 /* Available since 7.69.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_RCPT_ALLLOWFAILS", CURLOPT_MAIL_RCPT_ALLLOWFAILS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074600 /* Available since 7.70.0 */ + REGISTER_LONG_CONSTANT("CURLSSLOPT_REVOKE_BEST_EFFORT", CURLSSLOPT_REVOKE_BEST_EFFORT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_ISSUERCERT_BLOB", CURLOPT_ISSUERCERT_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_ISSUERCERT", CURLOPT_PROXY_ISSUERCERT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_ISSUERCERT_BLOB", CURLOPT_PROXY_ISSUERCERT_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT_BLOB", CURLOPT_PROXY_SSLCERT_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY_BLOB", CURLOPT_PROXY_SSLKEY_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERT_BLOB", CURLOPT_SSLCERT_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEY_BLOB", CURLOPT_SSLKEY_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLPROTO_MQTT", CURLPROTO_MQTT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ + REGISTER_LONG_CONSTANT("CURLSSLOPT_NATIVE_CA", CURLSSLOPT_NATIVE_CA, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_UNICODE", CURL_VERSION_UNICODE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_ZSTD", CURL_VERSION_ZSTD, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLE_PROXY", CURLE_PROXY, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_PROXY_ERROR", CURLINFO_PROXY_ERROR, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSL_EC_CURVES", CURLOPT_SSL_EC_CURVES, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_BAD_ADDRESS_TYPE", CURLPX_BAD_ADDRESS_TYPE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_BAD_VERSION", CURLPX_BAD_VERSION, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_CLOSED", CURLPX_CLOSED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_GSSAPI", CURLPX_GSSAPI, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_GSSAPI_PERMSG", CURLPX_GSSAPI_PERMSG, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_GSSAPI_PROTECTION", CURLPX_GSSAPI_PROTECTION, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_IDENTD", CURLPX_IDENTD, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_IDENTD_DIFFER", CURLPX_IDENTD_DIFFER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_LONG_HOSTNAME", CURLPX_LONG_HOSTNAME, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_LONG_PASSWD", CURLPX_LONG_PASSWD, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_LONG_USER", CURLPX_LONG_USER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_NO_AUTH", CURLPX_NO_AUTH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_OK", CURLPX_OK, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_RECV_ADDRESS", CURLPX_RECV_ADDRESS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_RECV_AUTH", CURLPX_RECV_AUTH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_RECV_CONNECT", CURLPX_RECV_CONNECT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_RECV_REQACK", CURLPX_RECV_REQACK, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED", CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_COMMAND_NOT_SUPPORTED", CURLPX_REPLY_COMMAND_NOT_SUPPORTED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_CONNECTION_REFUSED", CURLPX_REPLY_CONNECTION_REFUSED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_GENERAL_SERVER_FAILURE", CURLPX_REPLY_GENERAL_SERVER_FAILURE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_HOST_UNREACHABLE", CURLPX_REPLY_HOST_UNREACHABLE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_NETWORK_UNREACHABLE", CURLPX_REPLY_NETWORK_UNREACHABLE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_NOT_ALLOWED", CURLPX_REPLY_NOT_ALLOWED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_TTL_EXPIRED", CURLPX_REPLY_TTL_EXPIRED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REPLY_UNASSIGNED", CURLPX_REPLY_UNASSIGNED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_REQUEST_FAILED", CURLPX_REQUEST_FAILED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_RESOLVE_HOST", CURLPX_RESOLVE_HOST, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_SEND_AUTH", CURLPX_SEND_AUTH, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_SEND_CONNECT", CURLPX_SEND_CONNECT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_SEND_REQUEST", CURLPX_SEND_REQUEST, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_UNKNOWN_FAIL", CURLPX_UNKNOWN_FAIL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_UNKNOWN_MODE", CURLPX_UNKNOWN_MODE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ + REGISTER_LONG_CONSTANT("CURLPX_USER_REJECTED", CURLPX_USER_REJECTED, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ + REGISTER_LONG_CONSTANT("CURLHSTS_ENABLE", CURLHSTS_ENABLE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ + REGISTER_LONG_CONSTANT("CURLHSTS_READONLYFILE", CURLHSTS_READONLYFILE, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_HSTS", CURLOPT_HSTS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_HSTS_CTRL", CURLOPT_HSTS_CTRL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_HSTS", CURL_VERSION_HSTS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */ + REGISTER_LONG_CONSTANT("CURLAUTH_AWS_SIGV4", CURLAUTH_AWS_SIGV4, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_AWS_SIGV4", CURLOPT_AWS_SIGV4, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_REFERER", CURLINFO_REFERER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYHOST", CURLOPT_DOH_SSL_VERIFYHOST, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYPEER", CURLOPT_DOH_SSL_VERIFYPEER, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYSTATUS", CURLOPT_DOH_SSL_VERIFYSTATUS, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ + REGISTER_LONG_CONSTANT("CURL_VERSION_GSASL", CURL_VERSION_GSASL, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_CAINFO_BLOB", CURLOPT_CAINFO_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO_BLOB", CURLOPT_PROXY_CAINFO_BLOB, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ + REGISTER_LONG_CONSTANT("CURLSSLOPT_AUTO_CLIENT_CERT", CURLSSLOPT_AUTO_CLIENT_CERT, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_MAXLIFETIME_CONN", CURLOPT_MAXLIFETIME_CONN, CONST_CS | CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */ + REGISTER_LONG_CONSTANT("CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256", CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLOPT_SAFE_UPLOAD", CURLOPT_SAFE_UPLOAD, CONST_CS | CONST_PERSISTENT); +} + static zend_class_entry *register_class_CurlHandle(void) { zend_class_entry ce, *class_entry; diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 0e9aae4b76458..e698c7be2cd97 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -374,936 +374,7 @@ PHP_MINIT_FUNCTION(curl) { REGISTER_INI_ENTRIES(); - /* See http://curl.haxx.se/lxr/source/docs/libcurl/symbols-in-versions - or curl src/docs/libcurl/symbols-in-versions for a (almost) complete list - of options and which version they were introduced */ - - /* Constants for curl_setopt() */ - REGISTER_CURL_CONSTANT(CURLOPT_AUTOREFERER); - REGISTER_CURL_CONSTANT(CURLOPT_BINARYTRANSFER); - REGISTER_CURL_CONSTANT(CURLOPT_BUFFERSIZE); - REGISTER_CURL_CONSTANT(CURLOPT_CAINFO); - REGISTER_CURL_CONSTANT(CURLOPT_CAPATH); - REGISTER_CURL_CONSTANT(CURLOPT_CONNECTTIMEOUT); - REGISTER_CURL_CONSTANT(CURLOPT_COOKIE); - REGISTER_CURL_CONSTANT(CURLOPT_COOKIEFILE); - REGISTER_CURL_CONSTANT(CURLOPT_COOKIEJAR); - REGISTER_CURL_CONSTANT(CURLOPT_COOKIESESSION); - REGISTER_CURL_CONSTANT(CURLOPT_CRLF); - REGISTER_CURL_CONSTANT(CURLOPT_CUSTOMREQUEST); - REGISTER_CURL_CONSTANT(CURLOPT_DNS_CACHE_TIMEOUT); - REGISTER_CURL_CONSTANT(CURLOPT_DNS_USE_GLOBAL_CACHE); - REGISTER_CURL_CONSTANT(CURLOPT_EGDSOCKET); - REGISTER_CURL_CONSTANT(CURLOPT_ENCODING); - REGISTER_CURL_CONSTANT(CURLOPT_FAILONERROR); - REGISTER_CURL_CONSTANT(CURLOPT_FILE); - REGISTER_CURL_CONSTANT(CURLOPT_FILETIME); - REGISTER_CURL_CONSTANT(CURLOPT_FOLLOWLOCATION); - REGISTER_CURL_CONSTANT(CURLOPT_FORBID_REUSE); - REGISTER_CURL_CONSTANT(CURLOPT_FRESH_CONNECT); - REGISTER_CURL_CONSTANT(CURLOPT_FTPAPPEND); - REGISTER_CURL_CONSTANT(CURLOPT_FTPLISTONLY); - REGISTER_CURL_CONSTANT(CURLOPT_FTPPORT); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_USE_EPRT); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_USE_EPSV); - REGISTER_CURL_CONSTANT(CURLOPT_HEADER); - REGISTER_CURL_CONSTANT(CURLOPT_HEADERFUNCTION); - REGISTER_CURL_CONSTANT(CURLOPT_HTTP200ALIASES); - REGISTER_CURL_CONSTANT(CURLOPT_HTTPGET); - REGISTER_CURL_CONSTANT(CURLOPT_HTTPHEADER); - REGISTER_CURL_CONSTANT(CURLOPT_HTTPPROXYTUNNEL); - REGISTER_CURL_CONSTANT(CURLOPT_HTTP_VERSION); - REGISTER_CURL_CONSTANT(CURLOPT_INFILE); - REGISTER_CURL_CONSTANT(CURLOPT_INFILESIZE); - REGISTER_CURL_CONSTANT(CURLOPT_INTERFACE); - REGISTER_CURL_CONSTANT(CURLOPT_KRB4LEVEL); - REGISTER_CURL_CONSTANT(CURLOPT_LOW_SPEED_LIMIT); - REGISTER_CURL_CONSTANT(CURLOPT_LOW_SPEED_TIME); - REGISTER_CURL_CONSTANT(CURLOPT_MAXCONNECTS); - REGISTER_CURL_CONSTANT(CURLOPT_MAXREDIRS); - REGISTER_CURL_CONSTANT(CURLOPT_NETRC); - REGISTER_CURL_CONSTANT(CURLOPT_NOBODY); - REGISTER_CURL_CONSTANT(CURLOPT_NOPROGRESS); - REGISTER_CURL_CONSTANT(CURLOPT_NOSIGNAL); - REGISTER_CURL_CONSTANT(CURLOPT_PORT); - REGISTER_CURL_CONSTANT(CURLOPT_POST); - REGISTER_CURL_CONSTANT(CURLOPT_POSTFIELDS); - REGISTER_CURL_CONSTANT(CURLOPT_POSTQUOTE); - REGISTER_CURL_CONSTANT(CURLOPT_PREQUOTE); - REGISTER_CURL_CONSTANT(CURLOPT_PRIVATE); - REGISTER_CURL_CONSTANT(CURLOPT_PROGRESSFUNCTION); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYPORT); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYTYPE); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYUSERPWD); - REGISTER_CURL_CONSTANT(CURLOPT_PUT); - REGISTER_CURL_CONSTANT(CURLOPT_QUOTE); - REGISTER_CURL_CONSTANT(CURLOPT_RANDOM_FILE); - REGISTER_CURL_CONSTANT(CURLOPT_RANGE); - REGISTER_CURL_CONSTANT(CURLOPT_READDATA); - REGISTER_CURL_CONSTANT(CURLOPT_READFUNCTION); - REGISTER_CURL_CONSTANT(CURLOPT_REFERER); - REGISTER_CURL_CONSTANT(CURLOPT_RESUME_FROM); - REGISTER_CURL_CONSTANT(CURLOPT_RETURNTRANSFER); - REGISTER_CURL_CONSTANT(CURLOPT_SHARE); - REGISTER_CURL_CONSTANT(CURLOPT_SSLCERT); - REGISTER_CURL_CONSTANT(CURLOPT_SSLCERTPASSWD); - REGISTER_CURL_CONSTANT(CURLOPT_SSLCERTTYPE); - REGISTER_CURL_CONSTANT(CURLOPT_SSLENGINE); - REGISTER_CURL_CONSTANT(CURLOPT_SSLENGINE_DEFAULT); - REGISTER_CURL_CONSTANT(CURLOPT_SSLKEY); - REGISTER_CURL_CONSTANT(CURLOPT_SSLKEYPASSWD); - REGISTER_CURL_CONSTANT(CURLOPT_SSLKEYTYPE); - REGISTER_CURL_CONSTANT(CURLOPT_SSLVERSION); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_CIPHER_LIST); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_VERIFYHOST); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_VERIFYPEER); - REGISTER_CURL_CONSTANT(CURLOPT_STDERR); - REGISTER_CURL_CONSTANT(CURLOPT_TELNETOPTIONS); - REGISTER_CURL_CONSTANT(CURLOPT_TIMECONDITION); - REGISTER_CURL_CONSTANT(CURLOPT_TIMEOUT); - REGISTER_CURL_CONSTANT(CURLOPT_TIMEVALUE); - REGISTER_CURL_CONSTANT(CURLOPT_TRANSFERTEXT); - REGISTER_CURL_CONSTANT(CURLOPT_UNRESTRICTED_AUTH); - REGISTER_CURL_CONSTANT(CURLOPT_UPLOAD); - REGISTER_CURL_CONSTANT(CURLOPT_URL); - REGISTER_CURL_CONSTANT(CURLOPT_USERAGENT); - REGISTER_CURL_CONSTANT(CURLOPT_USERPWD); - REGISTER_CURL_CONSTANT(CURLOPT_VERBOSE); - REGISTER_CURL_CONSTANT(CURLOPT_WRITEFUNCTION); - REGISTER_CURL_CONSTANT(CURLOPT_WRITEHEADER); -#if LIBCURL_VERSION_NUM >= 0x072000 - REGISTER_CURL_CONSTANT(CURLOPT_XFERINFOFUNCTION); -#endif - - /* */ - REGISTER_CURL_CONSTANT(CURLE_ABORTED_BY_CALLBACK); - REGISTER_CURL_CONSTANT(CURLE_BAD_CALLING_ORDER); - REGISTER_CURL_CONSTANT(CURLE_BAD_CONTENT_ENCODING); - REGISTER_CURL_CONSTANT(CURLE_BAD_DOWNLOAD_RESUME); - REGISTER_CURL_CONSTANT(CURLE_BAD_FUNCTION_ARGUMENT); - REGISTER_CURL_CONSTANT(CURLE_BAD_PASSWORD_ENTERED); - REGISTER_CURL_CONSTANT(CURLE_COULDNT_CONNECT); - REGISTER_CURL_CONSTANT(CURLE_COULDNT_RESOLVE_HOST); - REGISTER_CURL_CONSTANT(CURLE_COULDNT_RESOLVE_PROXY); - REGISTER_CURL_CONSTANT(CURLE_FAILED_INIT); - REGISTER_CURL_CONSTANT(CURLE_FILE_COULDNT_READ_FILE); - REGISTER_CURL_CONSTANT(CURLE_FTP_ACCESS_DENIED); - REGISTER_CURL_CONSTANT(CURLE_FTP_BAD_DOWNLOAD_RESUME); - REGISTER_CURL_CONSTANT(CURLE_FTP_CANT_GET_HOST); - REGISTER_CURL_CONSTANT(CURLE_FTP_CANT_RECONNECT); - REGISTER_CURL_CONSTANT(CURLE_FTP_COULDNT_GET_SIZE); - REGISTER_CURL_CONSTANT(CURLE_FTP_COULDNT_RETR_FILE); - REGISTER_CURL_CONSTANT(CURLE_FTP_COULDNT_SET_ASCII); - REGISTER_CURL_CONSTANT(CURLE_FTP_COULDNT_SET_BINARY); - REGISTER_CURL_CONSTANT(CURLE_FTP_COULDNT_STOR_FILE); - REGISTER_CURL_CONSTANT(CURLE_FTP_COULDNT_USE_REST); - REGISTER_CURL_CONSTANT(CURLE_FTP_PARTIAL_FILE); - REGISTER_CURL_CONSTANT(CURLE_FTP_PORT_FAILED); - REGISTER_CURL_CONSTANT(CURLE_FTP_QUOTE_ERROR); - REGISTER_CURL_CONSTANT(CURLE_FTP_USER_PASSWORD_INCORRECT); - REGISTER_CURL_CONSTANT(CURLE_FTP_WEIRD_227_FORMAT); - REGISTER_CURL_CONSTANT(CURLE_FTP_WEIRD_PASS_REPLY); - REGISTER_CURL_CONSTANT(CURLE_FTP_WEIRD_PASV_REPLY); - REGISTER_CURL_CONSTANT(CURLE_FTP_WEIRD_SERVER_REPLY); - REGISTER_CURL_CONSTANT(CURLE_FTP_WEIRD_USER_REPLY); - REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR); - REGISTER_CURL_CONSTANT(CURLE_FUNCTION_NOT_FOUND); - REGISTER_CURL_CONSTANT(CURLE_GOT_NOTHING); - REGISTER_CURL_CONSTANT(CURLE_HTTP_NOT_FOUND); - REGISTER_CURL_CONSTANT(CURLE_HTTP_PORT_FAILED); - REGISTER_CURL_CONSTANT(CURLE_HTTP_POST_ERROR); - REGISTER_CURL_CONSTANT(CURLE_HTTP_RANGE_ERROR); - REGISTER_CURL_CONSTANT(CURLE_HTTP_RETURNED_ERROR); - REGISTER_CURL_CONSTANT(CURLE_LDAP_CANNOT_BIND); - REGISTER_CURL_CONSTANT(CURLE_LDAP_SEARCH_FAILED); - REGISTER_CURL_CONSTANT(CURLE_LIBRARY_NOT_FOUND); - REGISTER_CURL_CONSTANT(CURLE_MALFORMAT_USER); - REGISTER_CURL_CONSTANT(CURLE_OBSOLETE); - REGISTER_CURL_CONSTANT(CURLE_OK); - REGISTER_CURL_CONSTANT(CURLE_OPERATION_TIMEDOUT); - REGISTER_CURL_CONSTANT(CURLE_OPERATION_TIMEOUTED); - REGISTER_CURL_CONSTANT(CURLE_OUT_OF_MEMORY); - REGISTER_CURL_CONSTANT(CURLE_PARTIAL_FILE); - REGISTER_CURL_CONSTANT(CURLE_READ_ERROR); - REGISTER_CURL_CONSTANT(CURLE_RECV_ERROR); - REGISTER_CURL_CONSTANT(CURLE_SEND_ERROR); - REGISTER_CURL_CONSTANT(CURLE_SHARE_IN_USE); - REGISTER_CURL_CONSTANT(CURLE_SSL_CACERT); - REGISTER_CURL_CONSTANT(CURLE_SSL_CERTPROBLEM); - REGISTER_CURL_CONSTANT(CURLE_SSL_CIPHER); - REGISTER_CURL_CONSTANT(CURLE_SSL_CONNECT_ERROR); - REGISTER_CURL_CONSTANT(CURLE_SSL_ENGINE_NOTFOUND); - REGISTER_CURL_CONSTANT(CURLE_SSL_ENGINE_SETFAILED); - REGISTER_CURL_CONSTANT(CURLE_SSL_PEER_CERTIFICATE); -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ - REGISTER_CURL_CONSTANT(CURLE_SSL_PINNEDPUBKEYNOTMATCH); -#endif - REGISTER_CURL_CONSTANT(CURLE_TELNET_OPTION_SYNTAX); - REGISTER_CURL_CONSTANT(CURLE_TOO_MANY_REDIRECTS); - REGISTER_CURL_CONSTANT(CURLE_UNKNOWN_TELNET_OPTION); - REGISTER_CURL_CONSTANT(CURLE_UNSUPPORTED_PROTOCOL); - REGISTER_CURL_CONSTANT(CURLE_URL_MALFORMAT); - REGISTER_CURL_CONSTANT(CURLE_URL_MALFORMAT_USER); - REGISTER_CURL_CONSTANT(CURLE_WRITE_ERROR); - - /* cURL info constants */ - REGISTER_CURL_CONSTANT(CURLINFO_CONNECT_TIME); - REGISTER_CURL_CONSTANT(CURLINFO_CONTENT_LENGTH_DOWNLOAD); - REGISTER_CURL_CONSTANT(CURLINFO_CONTENT_LENGTH_UPLOAD); - REGISTER_CURL_CONSTANT(CURLINFO_CONTENT_TYPE); - REGISTER_CURL_CONSTANT(CURLINFO_EFFECTIVE_URL); - REGISTER_CURL_CONSTANT(CURLINFO_FILETIME); - REGISTER_CURL_CONSTANT(CURLINFO_HEADER_OUT); - REGISTER_CURL_CONSTANT(CURLINFO_HEADER_SIZE); - REGISTER_CURL_CONSTANT(CURLINFO_HTTP_CODE); - REGISTER_CURL_CONSTANT(CURLINFO_LASTONE); - REGISTER_CURL_CONSTANT(CURLINFO_NAMELOOKUP_TIME); - REGISTER_CURL_CONSTANT(CURLINFO_PRETRANSFER_TIME); - REGISTER_CURL_CONSTANT(CURLINFO_PRIVATE); - REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_COUNT); - REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_TIME); - REGISTER_CURL_CONSTANT(CURLINFO_REQUEST_SIZE); - REGISTER_CURL_CONSTANT(CURLINFO_SIZE_DOWNLOAD); - REGISTER_CURL_CONSTANT(CURLINFO_SIZE_UPLOAD); - REGISTER_CURL_CONSTANT(CURLINFO_SPEED_DOWNLOAD); - REGISTER_CURL_CONSTANT(CURLINFO_SPEED_UPLOAD); - REGISTER_CURL_CONSTANT(CURLINFO_SSL_VERIFYRESULT); - REGISTER_CURL_CONSTANT(CURLINFO_STARTTRANSFER_TIME); - REGISTER_CURL_CONSTANT(CURLINFO_TOTAL_TIME); -#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_EFFECTIVE_METHOD); -#endif - - /* Other */ - REGISTER_CURL_CONSTANT(CURLMSG_DONE); - REGISTER_CURL_CONSTANT(CURLVERSION_NOW); - - /* Curl Multi Constants */ - REGISTER_CURL_CONSTANT(CURLM_BAD_EASY_HANDLE); - REGISTER_CURL_CONSTANT(CURLM_BAD_HANDLE); - REGISTER_CURL_CONSTANT(CURLM_CALL_MULTI_PERFORM); - REGISTER_CURL_CONSTANT(CURLM_INTERNAL_ERROR); - REGISTER_CURL_CONSTANT(CURLM_OK); - REGISTER_CURL_CONSTANT(CURLM_OUT_OF_MEMORY); -#if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */ - REGISTER_CURL_CONSTANT(CURLM_ADDED_ALREADY); -#endif - - /* Curl proxy constants */ - REGISTER_CURL_CONSTANT(CURLPROXY_HTTP); - REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS4); - REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5); - - /* Curl Share constants */ - REGISTER_CURL_CONSTANT(CURLSHOPT_NONE); - REGISTER_CURL_CONSTANT(CURLSHOPT_SHARE); - REGISTER_CURL_CONSTANT(CURLSHOPT_UNSHARE); - - /* Curl Http Version constants (CURLOPT_HTTP_VERSION) */ - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_1_0); - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_1_1); - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_NONE); - - /* Curl Lock constants */ - REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_COOKIE); - REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_DNS); - REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_SSL_SESSION); - - /* Curl NETRC constants (CURLOPT_NETRC) */ - REGISTER_CURL_CONSTANT(CURL_NETRC_IGNORED); - REGISTER_CURL_CONSTANT(CURL_NETRC_OPTIONAL); - REGISTER_CURL_CONSTANT(CURL_NETRC_REQUIRED); - - /* Curl SSL Version constants (CURLOPT_SSLVERSION) */ - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_DEFAULT); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_SSLv2); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_SSLv3); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1); - - /* Curl TIMECOND constants (CURLOPT_TIMECONDITION) */ - REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFMODSINCE); - REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFUNMODSINCE); - REGISTER_CURL_CONSTANT(CURL_TIMECOND_LASTMOD); - REGISTER_CURL_CONSTANT(CURL_TIMECOND_NONE); - - /* Curl version constants */ - REGISTER_CURL_CONSTANT(CURL_VERSION_ASYNCHDNS); - REGISTER_CURL_CONSTANT(CURL_VERSION_CONV); - REGISTER_CURL_CONSTANT(CURL_VERSION_DEBUG); - REGISTER_CURL_CONSTANT(CURL_VERSION_GSSNEGOTIATE); - REGISTER_CURL_CONSTANT(CURL_VERSION_IDN); - REGISTER_CURL_CONSTANT(CURL_VERSION_IPV6); - REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS4); - REGISTER_CURL_CONSTANT(CURL_VERSION_LARGEFILE); - REGISTER_CURL_CONSTANT(CURL_VERSION_LIBZ); - REGISTER_CURL_CONSTANT(CURL_VERSION_NTLM); - REGISTER_CURL_CONSTANT(CURL_VERSION_SPNEGO); - REGISTER_CURL_CONSTANT(CURL_VERSION_SSL); - REGISTER_CURL_CONSTANT(CURL_VERSION_SSPI); - - /* Available since 7.10.6 */ - REGISTER_CURL_CONSTANT(CURLOPT_HTTPAUTH); - /* http authentication options */ - REGISTER_CURL_CONSTANT(CURLAUTH_ANY); - REGISTER_CURL_CONSTANT(CURLAUTH_ANYSAFE); - REGISTER_CURL_CONSTANT(CURLAUTH_BASIC); - REGISTER_CURL_CONSTANT(CURLAUTH_DIGEST); - REGISTER_CURL_CONSTANT(CURLAUTH_GSSNEGOTIATE); - REGISTER_CURL_CONSTANT(CURLAUTH_NONE); - REGISTER_CURL_CONSTANT(CURLAUTH_NTLM); - - /* Available since 7.10.7 */ - REGISTER_CURL_CONSTANT(CURLINFO_HTTP_CONNECTCODE); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_CREATE_MISSING_DIRS); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYAUTH); - - /* Available since 7.10.8 */ - REGISTER_CURL_CONSTANT(CURLE_FILESIZE_EXCEEDED); - REGISTER_CURL_CONSTANT(CURLE_LDAP_INVALID_URL); - REGISTER_CURL_CONSTANT(CURLINFO_HTTPAUTH_AVAIL); - REGISTER_CURL_CONSTANT(CURLINFO_RESPONSE_CODE); - REGISTER_CURL_CONSTANT(CURLINFO_PROXYAUTH_AVAIL); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_RESPONSE_TIMEOUT); - REGISTER_CURL_CONSTANT(CURLOPT_IPRESOLVE); - REGISTER_CURL_CONSTANT(CURLOPT_MAXFILESIZE); - REGISTER_CURL_CONSTANT(CURL_IPRESOLVE_V4); - REGISTER_CURL_CONSTANT(CURL_IPRESOLVE_V6); - REGISTER_CURL_CONSTANT(CURL_IPRESOLVE_WHATEVER); - - /* Available since 7.11.0 */ - REGISTER_CURL_CONSTANT(CURLE_FTP_SSL_FAILED); - REGISTER_CURL_CONSTANT(CURLFTPSSL_ALL); - REGISTER_CURL_CONSTANT(CURLFTPSSL_CONTROL); - REGISTER_CURL_CONSTANT(CURLFTPSSL_NONE); - REGISTER_CURL_CONSTANT(CURLFTPSSL_TRY); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_SSL); - REGISTER_CURL_CONSTANT(CURLOPT_NETRC_FILE); - - /* Available since 7.11.1 */ - REGISTER_CURL_CONSTANT(CURLOPT_MAXFILESIZE_LARGE); - - /* Available since 7.11.2 */ - REGISTER_CURL_CONSTANT(CURLOPT_TCP_NODELAY); - - /* Available since 7.12.2 */ - REGISTER_CURL_CONSTANT(CURLFTPAUTH_DEFAULT); - REGISTER_CURL_CONSTANT(CURLFTPAUTH_SSL); - REGISTER_CURL_CONSTANT(CURLFTPAUTH_TLS); - REGISTER_CURL_CONSTANT(CURLOPT_FTPSSLAUTH); - - /* Available since 7.13.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_FTP_ACCOUNT); - - /* Available since 7.12.2 */ - REGISTER_CURL_CONSTANT(CURLINFO_OS_ERRNO); - - /* Available since 7.12.3 */ - REGISTER_CURL_CONSTANT(CURLINFO_NUM_CONNECTS); - REGISTER_CURL_CONSTANT(CURLINFO_SSL_ENGINES); - - /* Available since 7.14.1 */ - REGISTER_CURL_CONSTANT(CURLINFO_COOKIELIST); - REGISTER_CURL_CONSTANT(CURLOPT_COOKIELIST); - REGISTER_CURL_CONSTANT(CURLOPT_IGNORE_CONTENT_LENGTH); - - /* Available since 7.15.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_FTP_SKIP_PASV_IP); - - /* Available since 7.15.1 */ - REGISTER_CURL_CONSTANT(CURLOPT_FTP_FILEMETHOD); - - /* Available since 7.15.2 */ - REGISTER_CURL_CONSTANT(CURLOPT_CONNECT_ONLY); - REGISTER_CURL_CONSTANT(CURLOPT_LOCALPORT); - REGISTER_CURL_CONSTANT(CURLOPT_LOCALPORTRANGE); - - /* Available since 7.15.3 */ - REGISTER_CURL_CONSTANT(CURLFTPMETHOD_DEFAULT); - REGISTER_CURL_CONSTANT(CURLFTPMETHOD_MULTICWD); - REGISTER_CURL_CONSTANT(CURLFTPMETHOD_NOCWD); - REGISTER_CURL_CONSTANT(CURLFTPMETHOD_SINGLECWD); - - /* Available since 7.15.4 */ - REGISTER_CURL_CONSTANT(CURLINFO_FTP_ENTRY_PATH); - - /* Available since 7.15.5 */ - REGISTER_CURL_CONSTANT(CURLOPT_FTP_ALTERNATIVE_TO_USER); - REGISTER_CURL_CONSTANT(CURLOPT_MAX_RECV_SPEED_LARGE); - REGISTER_CURL_CONSTANT(CURLOPT_MAX_SEND_SPEED_LARGE); - - /* Available since 7.16.0 */ - REGISTER_CURL_CONSTANT(CURLE_SSL_CACERT_BADFILE); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_SESSIONID_CACHE); - REGISTER_CURL_CONSTANT(CURLMOPT_PIPELINING); - - /* Available since 7.16.1 */ - REGISTER_CURL_CONSTANT(CURLE_SSH); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_SSL_CCC); - REGISTER_CURL_CONSTANT(CURLOPT_SSH_AUTH_TYPES); - REGISTER_CURL_CONSTANT(CURLOPT_SSH_PRIVATE_KEYFILE); - REGISTER_CURL_CONSTANT(CURLOPT_SSH_PUBLIC_KEYFILE); - REGISTER_CURL_CONSTANT(CURLFTPSSL_CCC_ACTIVE); - REGISTER_CURL_CONSTANT(CURLFTPSSL_CCC_NONE); - REGISTER_CURL_CONSTANT(CURLFTPSSL_CCC_PASSIVE); - - /* Available since 7.16.2 */ - REGISTER_CURL_CONSTANT(CURLOPT_CONNECTTIMEOUT_MS); - REGISTER_CURL_CONSTANT(CURLOPT_HTTP_CONTENT_DECODING); - REGISTER_CURL_CONSTANT(CURLOPT_HTTP_TRANSFER_DECODING); - REGISTER_CURL_CONSTANT(CURLOPT_TIMEOUT_MS); - - /* Available since 7.16.3 */ - REGISTER_CURL_CONSTANT(CURLMOPT_MAXCONNECTS); - - /* Available since 7.16.4 */ - REGISTER_CURL_CONSTANT(CURLOPT_KRBLEVEL); - REGISTER_CURL_CONSTANT(CURLOPT_NEW_DIRECTORY_PERMS); - REGISTER_CURL_CONSTANT(CURLOPT_NEW_FILE_PERMS); - - /* Available since 7.17.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_APPEND); - REGISTER_CURL_CONSTANT(CURLOPT_DIRLISTONLY); - REGISTER_CURL_CONSTANT(CURLOPT_USE_SSL); - /* Curl SSL Constants */ - REGISTER_CURL_CONSTANT(CURLUSESSL_ALL); - REGISTER_CURL_CONSTANT(CURLUSESSL_CONTROL); - REGISTER_CURL_CONSTANT(CURLUSESSL_NONE); - REGISTER_CURL_CONSTANT(CURLUSESSL_TRY); - - /* Available since 7.17.1 */ - REGISTER_CURL_CONSTANT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5); - - /* Available since 7.18.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TRANSFER_MODE); - REGISTER_CURL_CONSTANT(CURLPAUSE_ALL); - REGISTER_CURL_CONSTANT(CURLPAUSE_CONT); - REGISTER_CURL_CONSTANT(CURLPAUSE_RECV); - REGISTER_CURL_CONSTANT(CURLPAUSE_RECV_CONT); - REGISTER_CURL_CONSTANT(CURLPAUSE_SEND); - REGISTER_CURL_CONSTANT(CURLPAUSE_SEND_CONT); - REGISTER_CURL_CONSTANT(CURL_READFUNC_PAUSE); - REGISTER_CURL_CONSTANT(CURL_WRITEFUNC_PAUSE); - - REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS4A); - REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5_HOSTNAME); - - /* Available since 7.18.2 */ - REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_URL); - - /* Available since 7.19.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_APPCONNECT_TIME); - REGISTER_CURL_CONSTANT(CURLINFO_PRIMARY_IP); - - REGISTER_CURL_CONSTANT(CURLOPT_ADDRESS_SCOPE); - REGISTER_CURL_CONSTANT(CURLOPT_CRLFILE); - REGISTER_CURL_CONSTANT(CURLOPT_ISSUERCERT); - REGISTER_CURL_CONSTANT(CURLOPT_KEYPASSWD); - - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_ANY); - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_DEFAULT); - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_HOST); - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_KEYBOARD); - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_NONE); - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_PASSWORD); - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_PUBLICKEY); - - /* Available since 7.19.1 */ - REGISTER_CURL_CONSTANT(CURLINFO_CERTINFO); - REGISTER_CURL_CONSTANT(CURLOPT_CERTINFO); - REGISTER_CURL_CONSTANT(CURLOPT_PASSWORD); - REGISTER_CURL_CONSTANT(CURLOPT_POSTREDIR); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYPASSWORD); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYUSERNAME); - REGISTER_CURL_CONSTANT(CURLOPT_USERNAME); - REGISTER_CURL_CONSTANT(CURL_REDIR_POST_301); - REGISTER_CURL_CONSTANT(CURL_REDIR_POST_302); - REGISTER_CURL_CONSTANT(CURL_REDIR_POST_ALL); - - /* Available since 7.19.3 */ - REGISTER_CURL_CONSTANT(CURLAUTH_DIGEST_IE); - - /* Available since 7.19.4 */ - REGISTER_CURL_CONSTANT(CURLINFO_CONDITION_UNMET); - - REGISTER_CURL_CONSTANT(CURLOPT_NOPROXY); - REGISTER_CURL_CONSTANT(CURLOPT_PROTOCOLS); - REGISTER_CURL_CONSTANT(CURLOPT_REDIR_PROTOCOLS); - REGISTER_CURL_CONSTANT(CURLOPT_SOCKS5_GSSAPI_NEC); - REGISTER_CURL_CONSTANT(CURLOPT_SOCKS5_GSSAPI_SERVICE); - REGISTER_CURL_CONSTANT(CURLOPT_TFTP_BLKSIZE); - - REGISTER_CURL_CONSTANT(CURLPROTO_ALL); - REGISTER_CURL_CONSTANT(CURLPROTO_DICT); - REGISTER_CURL_CONSTANT(CURLPROTO_FILE); - REGISTER_CURL_CONSTANT(CURLPROTO_FTP); - REGISTER_CURL_CONSTANT(CURLPROTO_FTPS); - REGISTER_CURL_CONSTANT(CURLPROTO_HTTP); - REGISTER_CURL_CONSTANT(CURLPROTO_HTTPS); - REGISTER_CURL_CONSTANT(CURLPROTO_LDAP); - REGISTER_CURL_CONSTANT(CURLPROTO_LDAPS); - REGISTER_CURL_CONSTANT(CURLPROTO_SCP); - REGISTER_CURL_CONSTANT(CURLPROTO_SFTP); - REGISTER_CURL_CONSTANT(CURLPROTO_TELNET); - REGISTER_CURL_CONSTANT(CURLPROTO_TFTP); - - REGISTER_CURL_CONSTANT(CURLPROXY_HTTP_1_0); - - REGISTER_CURL_CONSTANT(CURLFTP_CREATE_DIR); - REGISTER_CURL_CONSTANT(CURLFTP_CREATE_DIR_NONE); - REGISTER_CURL_CONSTANT(CURLFTP_CREATE_DIR_RETRY); - - /* Available since 7.19.6 */ - REGISTER_CURL_CONSTANT(CURL_VERSION_CURLDEBUG); - REGISTER_CURL_CONSTANT(CURLOPT_SSH_KNOWNHOSTS); - - /* Available since 7.20.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_RTSP_CLIENT_CSEQ); - REGISTER_CURL_CONSTANT(CURLINFO_RTSP_CSEQ_RECV); - REGISTER_CURL_CONSTANT(CURLINFO_RTSP_SERVER_CSEQ); - REGISTER_CURL_CONSTANT(CURLINFO_RTSP_SESSION_ID); - REGISTER_CURL_CONSTANT(CURLOPT_FTP_USE_PRET); - REGISTER_CURL_CONSTANT(CURLOPT_MAIL_FROM); - REGISTER_CURL_CONSTANT(CURLOPT_MAIL_RCPT); - REGISTER_CURL_CONSTANT(CURLOPT_RTSP_CLIENT_CSEQ); - REGISTER_CURL_CONSTANT(CURLOPT_RTSP_REQUEST); - REGISTER_CURL_CONSTANT(CURLOPT_RTSP_SERVER_CSEQ); - REGISTER_CURL_CONSTANT(CURLOPT_RTSP_SESSION_ID); - REGISTER_CURL_CONSTANT(CURLOPT_RTSP_STREAM_URI); - REGISTER_CURL_CONSTANT(CURLOPT_RTSP_TRANSPORT); - REGISTER_CURL_CONSTANT(CURLPROTO_IMAP); - REGISTER_CURL_CONSTANT(CURLPROTO_IMAPS); - REGISTER_CURL_CONSTANT(CURLPROTO_POP3); - REGISTER_CURL_CONSTANT(CURLPROTO_POP3S); - REGISTER_CURL_CONSTANT(CURLPROTO_RTSP); - REGISTER_CURL_CONSTANT(CURLPROTO_SMTP); - REGISTER_CURL_CONSTANT(CURLPROTO_SMTPS); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_ANNOUNCE); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_DESCRIBE); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_GET_PARAMETER); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_OPTIONS); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_PAUSE); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_PLAY); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_RECEIVE); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_RECORD); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_SET_PARAMETER); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_SETUP); - REGISTER_CURL_CONSTANT(CURL_RTSPREQ_TEARDOWN); - - /* Available since 7.21.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_LOCAL_IP); - REGISTER_CURL_CONSTANT(CURLINFO_LOCAL_PORT); - REGISTER_CURL_CONSTANT(CURLINFO_PRIMARY_PORT); - REGISTER_CURL_CONSTANT(CURLOPT_FNMATCH_FUNCTION); - REGISTER_CURL_CONSTANT(CURLOPT_WILDCARDMATCH); - REGISTER_CURL_CONSTANT(CURLPROTO_RTMP); - REGISTER_CURL_CONSTANT(CURLPROTO_RTMPE); - REGISTER_CURL_CONSTANT(CURLPROTO_RTMPS); - REGISTER_CURL_CONSTANT(CURLPROTO_RTMPT); - REGISTER_CURL_CONSTANT(CURLPROTO_RTMPTE); - REGISTER_CURL_CONSTANT(CURLPROTO_RTMPTS); - REGISTER_CURL_CONSTANT(CURL_FNMATCHFUNC_FAIL); - REGISTER_CURL_CONSTANT(CURL_FNMATCHFUNC_MATCH); - REGISTER_CURL_CONSTANT(CURL_FNMATCHFUNC_NOMATCH); - - /* Available since 7.21.2 */ - REGISTER_CURL_CONSTANT(CURLPROTO_GOPHER); - - /* Available since 7.21.3 */ - REGISTER_CURL_CONSTANT(CURLAUTH_ONLY); - REGISTER_CURL_CONSTANT(CURLOPT_RESOLVE); - - /* Available since 7.21.4 */ - REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_PASSWORD); - REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_TYPE); - REGISTER_CURL_CONSTANT(CURLOPT_TLSAUTH_USERNAME); - REGISTER_CURL_CONSTANT(CURL_TLSAUTH_SRP); - REGISTER_CURL_CONSTANT(CURL_VERSION_TLSAUTH_SRP); - - /* Available since 7.21.6 */ - REGISTER_CURL_CONSTANT(CURLOPT_ACCEPT_ENCODING); - REGISTER_CURL_CONSTANT(CURLOPT_TRANSFER_ENCODING); - - /* Available since 7.22.0 */ - REGISTER_CURL_CONSTANT(CURLAUTH_NTLM_WB); - REGISTER_CURL_CONSTANT(CURLGSSAPI_DELEGATION_FLAG); - REGISTER_CURL_CONSTANT(CURLGSSAPI_DELEGATION_POLICY_FLAG); - REGISTER_CURL_CONSTANT(CURLOPT_GSSAPI_DELEGATION); - REGISTER_CURL_CONSTANT(CURL_VERSION_NTLM_WB); - - /* Available since 7.24.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_ACCEPTTIMEOUT_MS); - REGISTER_CURL_CONSTANT(CURLOPT_DNS_SERVERS); - - /* Available since 7.25.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_MAIL_AUTH); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_OPTIONS); - REGISTER_CURL_CONSTANT(CURLOPT_TCP_KEEPALIVE); - REGISTER_CURL_CONSTANT(CURLOPT_TCP_KEEPIDLE); - REGISTER_CURL_CONSTANT(CURLOPT_TCP_KEEPINTVL); - REGISTER_CURL_CONSTANT(CURLSSLOPT_ALLOW_BEAST); - - /* Available since 7.25.1 */ - REGISTER_CURL_CONSTANT(CURL_REDIR_POST_303); - - /* Available since 7.28.0 */ - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_AGENT); - -#if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ - REGISTER_CURL_CONSTANT(CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE); - REGISTER_CURL_CONSTANT(CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE); - REGISTER_CURL_CONSTANT(CURLMOPT_MAX_HOST_CONNECTIONS); - REGISTER_CURL_CONSTANT(CURLMOPT_MAX_PIPELINE_LENGTH); - REGISTER_CURL_CONSTANT(CURLMOPT_MAX_TOTAL_CONNECTIONS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_SASL_IR); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_DNS_INTERFACE); - REGISTER_CURL_CONSTANT(CURLOPT_DNS_LOCAL_IP4); - REGISTER_CURL_CONSTANT(CURLOPT_DNS_LOCAL_IP6); - REGISTER_CURL_CONSTANT(CURLOPT_XOAUTH2_BEARER); - - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_2_0); - REGISTER_CURL_CONSTANT(CURL_VERSION_HTTP2); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_LOGIN_OPTIONS); - - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_0); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_1); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_2); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_EXPECT_100_TIMEOUT_MS); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_ENABLE_ALPN); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_ENABLE_NPN); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ - REGISTER_CURL_CONSTANT(CURLHEADER_SEPARATE); - REGISTER_CURL_CONSTANT(CURLHEADER_UNIFIED); - REGISTER_CURL_CONSTANT(CURLOPT_HEADEROPT); - REGISTER_CURL_CONSTANT(CURLOPT_PROXYHEADER); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ - REGISTER_CURL_CONSTANT(CURLAUTH_NEGOTIATE); - REGISTER_CURL_CONSTANT(CURL_VERSION_GSSAPI); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_PINNEDPUBLICKEY); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_UNIX_SOCKET_PATH); - REGISTER_CURL_CONSTANT(CURLPROTO_SMB); - REGISTER_CURL_CONSTANT(CURLPROTO_SMBS); - REGISTER_CURL_CONSTANT(CURL_VERSION_KERBEROS5); - REGISTER_CURL_CONSTANT(CURL_VERSION_UNIX_SOCKETS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_SSL_VERIFYSTATUS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_PATH_AS_IS); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_FALSESTART); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_2); - - REGISTER_CURL_CONSTANT(CURLOPT_PIPEWAIT); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SERVICE_NAME); - REGISTER_CURL_CONSTANT(CURLOPT_SERVICE_NAME); - - REGISTER_CURL_CONSTANT(CURLPIPE_NOTHING); - REGISTER_CURL_CONSTANT(CURLPIPE_HTTP1); - REGISTER_CURL_CONSTANT(CURLPIPE_MULTIPLEX); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */ - REGISTER_CURL_CONSTANT(CURLSSLOPT_NO_REVOKE); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_DEFAULT_PROTOCOL); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_STREAM_WEIGHT); - REGISTER_CURL_CONSTANT(CURLMOPT_PUSHFUNCTION); - REGISTER_CURL_CONSTANT(CURL_PUSH_OK); - REGISTER_CURL_CONSTANT(CURL_PUSH_DENY); -#endif - -#if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_2TLS); - REGISTER_CURL_CONSTANT(CURL_VERSION_PSL); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_TFTP_NO_OPTIONS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ - REGISTER_CURL_CONSTANT(CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE); - REGISTER_CURL_CONSTANT(CURLOPT_CONNECT_TO); - REGISTER_CURL_CONSTANT(CURLOPT_TCP_FASTOPEN); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_HTTP_VERSION); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ - REGISTER_CURL_CONSTANT(CURLE_WEIRD_SERVER_REPLY); - REGISTER_CURL_CONSTANT(CURLOPT_KEEP_SENDING_ON_ERROR); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_3); - REGISTER_CURL_CONSTANT(CURL_VERSION_HTTPS_PROXY); - REGISTER_CURL_CONSTANT(CURLINFO_PROTOCOL); - REGISTER_CURL_CONSTANT(CURLINFO_PROXY_SSL_VERIFYRESULT); - REGISTER_CURL_CONSTANT(CURLINFO_SCHEME); - REGISTER_CURL_CONSTANT(CURLOPT_PRE_PROXY); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_CAINFO); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_CAPATH); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_CRLFILE); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_KEYPASSWD); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_PINNEDPUBLICKEY); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSL_CIPHER_LIST); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSL_OPTIONS); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSL_VERIFYHOST); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSL_VERIFYPEER); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLCERT); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLCERTTYPE); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLKEY); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLKEYTYPE); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLVERSION); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TLSAUTH_PASSWORD); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TLSAUTH_TYPE); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TLSAUTH_USERNAME); - REGISTER_CURL_CONSTANT(CURLPROXY_HTTPS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ - REGISTER_CURL_CONSTANT(CURL_MAX_READ_SIZE); - REGISTER_CURL_CONSTANT(CURLOPT_ABSTRACT_UNIX_SOCKET); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_MAX_DEFAULT); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_MAX_NONE); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_MAX_TLSv1_0); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_MAX_TLSv1_1); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_MAX_TLSv1_2); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_MAX_TLSv1_3); - REGISTER_CURL_CONSTANT(CURLOPT_SUPPRESS_CONNECT_HEADERS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */ - REGISTER_CURL_CONSTANT(CURLAUTH_GSSAPI); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_CONTENT_LENGTH_DOWNLOAD_T); - REGISTER_CURL_CONSTANT(CURLINFO_CONTENT_LENGTH_UPLOAD_T); - REGISTER_CURL_CONSTANT(CURLINFO_SIZE_DOWNLOAD_T); - REGISTER_CURL_CONSTANT(CURLINFO_SIZE_UPLOAD_T); - REGISTER_CURL_CONSTANT(CURLINFO_SPEED_DOWNLOAD_T); - REGISTER_CURL_CONSTANT(CURLINFO_SPEED_UPLOAD_T); - REGISTER_CURL_CONSTANT(CURLOPT_REQUEST_TARGET); - REGISTER_CURL_CONSTANT(CURLOPT_SOCKS5_AUTH); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_SSH_COMPRESSION); - REGISTER_CURL_CONSTANT(CURL_VERSION_MULTI_SSL); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ - REGISTER_CURL_CONSTANT(CURL_VERSION_BROTLI); - REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_CONNECT); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */ - REGISTER_CURL_CONSTANT(CURLSSH_AUTH_GSSAPI); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_FILETIME_T); - REGISTER_CURL_CONSTANT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS); - REGISTER_CURL_CONSTANT(CURLOPT_TIMEVALUE_LARGE); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_DNS_SHUFFLE_ADDRESSES); - REGISTER_CURL_CONSTANT(CURLOPT_HAPROXYPROTOCOL); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_CURL_CONSTANT(CURL_LOCK_DATA_PSL); - REGISTER_CURL_CONSTANT(CURLAUTH_BEARER); - REGISTER_CURL_CONSTANT(CURLINFO_APPCONNECT_TIME_T); - REGISTER_CURL_CONSTANT(CURLINFO_CONNECT_TIME_T); - REGISTER_CURL_CONSTANT(CURLINFO_NAMELOOKUP_TIME_T); - REGISTER_CURL_CONSTANT(CURLINFO_PRETRANSFER_TIME_T); - REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_TIME_T); - REGISTER_CURL_CONSTANT(CURLINFO_STARTTRANSFER_TIME_T); - REGISTER_CURL_CONSTANT(CURLINFO_TOTAL_TIME_T); - REGISTER_CURL_CONSTANT(CURLOPT_DISALLOW_USERNAME_IN_URL); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_TLS13_CIPHERS); - REGISTER_CURL_CONSTANT(CURLOPT_TLS13_CIPHERS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_DOH_URL); - REGISTER_CURL_CONSTANT(CURLOPT_UPKEEP_INTERVAL_MS); - REGISTER_CURL_CONSTANT(CURLOPT_UPLOAD_BUFFERSIZE); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_HTTP09_ALLOWED); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_CURL_CONSTANT(CURLALTSVC_H1); - REGISTER_CURL_CONSTANT(CURLALTSVC_H2); - REGISTER_CURL_CONSTANT(CURLALTSVC_H3); - REGISTER_CURL_CONSTANT(CURLALTSVC_READONLYFILE); - REGISTER_CURL_CONSTANT(CURLOPT_ALTSVC); - REGISTER_CURL_CONSTANT(CURLOPT_ALTSVC_CTRL); - REGISTER_CURL_CONSTANT(CURL_VERSION_ALTSVC); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074100 /* Available since 7.65.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_MAXAGE_CONN); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_SASL_AUTHZID); - REGISTER_CURL_CONSTANT(CURL_VERSION_HTTP3); - REGISTER_CURL_CONSTANT(CURLINFO_RETRY_AFTER); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */ - REGISTER_CURL_CONSTANT(CURLMOPT_MAX_CONCURRENT_STREAMS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074400 /* Available since 7.68.0 */ - REGISTER_CURL_CONSTANT(CURLSSLOPT_NO_PARTIALCHAIN); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074500 /* Available since 7.69.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_MAIL_RCPT_ALLLOWFAILS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074600 /* Available since 7.70.0 */ - REGISTER_CURL_CONSTANT(CURLSSLOPT_REVOKE_BEST_EFFORT); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_ISSUERCERT_BLOB); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_ISSUERCERT); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_ISSUERCERT_BLOB); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLCERT_BLOB); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_SSLKEY_BLOB); - REGISTER_CURL_CONSTANT(CURLOPT_SSLCERT_BLOB); - REGISTER_CURL_CONSTANT(CURLOPT_SSLKEY_BLOB); - - REGISTER_CURL_CONSTANT(CURLPROTO_MQTT); - - REGISTER_CURL_CONSTANT(CURLSSLOPT_NATIVE_CA); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ - REGISTER_CURL_CONSTANT(CURL_VERSION_UNICODE); - REGISTER_CURL_CONSTANT(CURL_VERSION_ZSTD); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_CURL_CONSTANT(CURLE_PROXY); - REGISTER_CURL_CONSTANT(CURLINFO_PROXY_ERROR); - REGISTER_CURL_CONSTANT(CURLOPT_SSL_EC_CURVES); - REGISTER_CURL_CONSTANT(CURLPX_BAD_ADDRESS_TYPE); - REGISTER_CURL_CONSTANT(CURLPX_BAD_VERSION); - REGISTER_CURL_CONSTANT(CURLPX_CLOSED); - REGISTER_CURL_CONSTANT(CURLPX_GSSAPI); - REGISTER_CURL_CONSTANT(CURLPX_GSSAPI_PERMSG); - REGISTER_CURL_CONSTANT(CURLPX_GSSAPI_PROTECTION); - REGISTER_CURL_CONSTANT(CURLPX_IDENTD); - REGISTER_CURL_CONSTANT(CURLPX_IDENTD_DIFFER); - REGISTER_CURL_CONSTANT(CURLPX_LONG_HOSTNAME); - REGISTER_CURL_CONSTANT(CURLPX_LONG_PASSWD); - REGISTER_CURL_CONSTANT(CURLPX_LONG_USER); - REGISTER_CURL_CONSTANT(CURLPX_NO_AUTH); - REGISTER_CURL_CONSTANT(CURLPX_OK); - REGISTER_CURL_CONSTANT(CURLPX_RECV_ADDRESS); - REGISTER_CURL_CONSTANT(CURLPX_RECV_AUTH); - REGISTER_CURL_CONSTANT(CURLPX_RECV_CONNECT); - REGISTER_CURL_CONSTANT(CURLPX_RECV_REQACK); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_COMMAND_NOT_SUPPORTED); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_CONNECTION_REFUSED); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_GENERAL_SERVER_FAILURE); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_HOST_UNREACHABLE); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_NETWORK_UNREACHABLE); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_NOT_ALLOWED); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_TTL_EXPIRED); - REGISTER_CURL_CONSTANT(CURLPX_REPLY_UNASSIGNED); - REGISTER_CURL_CONSTANT(CURLPX_REQUEST_FAILED); - REGISTER_CURL_CONSTANT(CURLPX_RESOLVE_HOST); - REGISTER_CURL_CONSTANT(CURLPX_SEND_AUTH); - REGISTER_CURL_CONSTANT(CURLPX_SEND_CONNECT); - REGISTER_CURL_CONSTANT(CURLPX_SEND_REQUEST); - REGISTER_CURL_CONSTANT(CURLPX_UNKNOWN_FAIL); - REGISTER_CURL_CONSTANT(CURLPX_UNKNOWN_MODE); - REGISTER_CURL_CONSTANT(CURLPX_USER_REJECTED); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ - REGISTER_CURL_CONSTANT(CURLHSTS_ENABLE); - REGISTER_CURL_CONSTANT(CURLHSTS_READONLYFILE); - REGISTER_CURL_CONSTANT(CURLOPT_HSTS); - REGISTER_CURL_CONSTANT(CURLOPT_HSTS_CTRL); - REGISTER_CURL_CONSTANT(CURL_VERSION_HSTS); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */ - REGISTER_CURL_CONSTANT(CURLAUTH_AWS_SIGV4); - REGISTER_CURL_CONSTANT(CURLOPT_AWS_SIGV4); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ - REGISTER_CURL_CONSTANT(CURLINFO_REFERER); - REGISTER_CURL_CONSTANT(CURLOPT_DOH_SSL_VERIFYHOST); - REGISTER_CURL_CONSTANT(CURLOPT_DOH_SSL_VERIFYPEER); - REGISTER_CURL_CONSTANT(CURLOPT_DOH_SSL_VERIFYSTATUS); - REGISTER_CURL_CONSTANT(CURL_VERSION_GSASL); -#endif - -#if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_CAINFO_BLOB); - REGISTER_CURL_CONSTANT(CURLOPT_PROXY_CAINFO_BLOB); - REGISTER_CURL_CONSTANT(CURLSSLOPT_AUTO_CLIENT_CERT); -#endif - -#if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_MAXLIFETIME_CONN); - REGISTER_CURL_CONSTANT(CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256); -#endif - - REGISTER_CURL_CONSTANT(CURLOPT_SAFE_UPLOAD); + register_curl_symbols(module_number); #ifdef PHP_CURL_NEED_OPENSSL_TSL if (!CRYPTO_get_id_callback()) { From d7383ed80785d7ad7d9c52bb890a65b292de82d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sat, 20 Aug 2022 17:08:28 +0200 Subject: [PATCH 103/229] Declare ext/tidy constants in stubs (#9383) --- ext/tidy/tidy.c | 180 +-------- ext/tidy/tidy.stub.php | 809 ++++++++++++++++++++++++++++++++++++++++ ext/tidy/tidy_arginfo.h | 223 ++++++++++- 3 files changed, 1032 insertions(+), 180 deletions(-) diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index a59268680cacb..a4ed9c505efba 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -89,10 +89,6 @@ } \ } - -#define TIDY_TAG_CONST(tag) REGISTER_LONG_CONSTANT("TIDY_TAG_" #tag, TidyTag_##tag, CONST_CS | CONST_PERSISTENT) -#define TIDY_NODE_CONST(name, type) REGISTER_LONG_CONSTANT("TIDY_NODETYPE_" #name, TidyNode_##type, CONST_CS | CONST_PERSISTENT) - #define TIDY_OPEN_BASE_DIR_CHECK(filename) \ if (php_check_open_basedir(filename)) { \ RETURN_FALSE; \ @@ -157,8 +153,6 @@ static void *php_tidy_get_opt_val(PHPTidyDoc *, TidyOption, TidyOptionType *); static void php_tidy_create_node(INTERNAL_FUNCTION_PARAMETERS, tidy_base_nodetypes); static int _php_tidy_set_tidy_opt(TidyDoc, char *, zval *); static int _php_tidy_apply_config_array(TidyDoc doc, HashTable *ht_options); -static void _php_tidy_register_nodetypes(INIT_FUNC_ARGS); -static void _php_tidy_register_tags(INIT_FUNC_ARGS); static PHP_INI_MH(php_tidy_set_clean_output); static void php_tidy_clean_output_start(const char *name, size_t name_len); static php_output_handler *php_tidy_output_handler_init(const char *handler_name, size_t handler_name_len, size_t chunk_size, int flags); @@ -850,8 +844,7 @@ static PHP_MINIT_FUNCTION(tidy) tidy_object_handlers_node.offset = tidy_object_handlers_doc.offset = XtOffsetOf(PHPTidyObj, std); tidy_object_handlers_node.free_obj = tidy_object_handlers_doc.free_obj = tidy_object_free_storage; - _php_tidy_register_tags(INIT_FUNC_ARGS_PASSTHRU); - _php_tidy_register_nodetypes(INIT_FUNC_ARGS_PASSTHRU); + register_tidy_symbols(module_number); php_output_handler_alias_register(ZEND_STRL("ob_tidyhandler"), php_tidy_output_handler_init); @@ -1630,175 +1623,4 @@ PHP_METHOD(tidyNode, __construct) } /* }}} */ -static void _php_tidy_register_nodetypes(INIT_FUNC_ARGS) -{ - TIDY_NODE_CONST(ROOT, Root); - TIDY_NODE_CONST(DOCTYPE, DocType); - TIDY_NODE_CONST(COMMENT, Comment); - TIDY_NODE_CONST(PROCINS, ProcIns); - TIDY_NODE_CONST(TEXT, Text); - TIDY_NODE_CONST(START, Start); - TIDY_NODE_CONST(END, End); - TIDY_NODE_CONST(STARTEND, StartEnd); - TIDY_NODE_CONST(CDATA, CDATA); - TIDY_NODE_CONST(SECTION, Section); - TIDY_NODE_CONST(ASP, Asp); - TIDY_NODE_CONST(JSTE, Jste); - TIDY_NODE_CONST(PHP, Php); - TIDY_NODE_CONST(XMLDECL, XmlDecl); -} - -static void _php_tidy_register_tags(INIT_FUNC_ARGS) -{ - TIDY_TAG_CONST(UNKNOWN); - TIDY_TAG_CONST(A); - TIDY_TAG_CONST(ABBR); - TIDY_TAG_CONST(ACRONYM); - TIDY_TAG_CONST(ADDRESS); - TIDY_TAG_CONST(ALIGN); - TIDY_TAG_CONST(APPLET); - TIDY_TAG_CONST(AREA); - TIDY_TAG_CONST(B); - TIDY_TAG_CONST(BASE); - TIDY_TAG_CONST(BASEFONT); - TIDY_TAG_CONST(BDO); - TIDY_TAG_CONST(BGSOUND); - TIDY_TAG_CONST(BIG); - TIDY_TAG_CONST(BLINK); - TIDY_TAG_CONST(BLOCKQUOTE); - TIDY_TAG_CONST(BODY); - TIDY_TAG_CONST(BR); - TIDY_TAG_CONST(BUTTON); - TIDY_TAG_CONST(CAPTION); - TIDY_TAG_CONST(CENTER); - TIDY_TAG_CONST(CITE); - TIDY_TAG_CONST(CODE); - TIDY_TAG_CONST(COL); - TIDY_TAG_CONST(COLGROUP); - TIDY_TAG_CONST(COMMENT); - TIDY_TAG_CONST(DD); - TIDY_TAG_CONST(DEL); - TIDY_TAG_CONST(DFN); - TIDY_TAG_CONST(DIR); - TIDY_TAG_CONST(DIV); - TIDY_TAG_CONST(DL); - TIDY_TAG_CONST(DT); - TIDY_TAG_CONST(EM); - TIDY_TAG_CONST(EMBED); - TIDY_TAG_CONST(FIELDSET); - TIDY_TAG_CONST(FONT); - TIDY_TAG_CONST(FORM); - TIDY_TAG_CONST(FRAME); - TIDY_TAG_CONST(FRAMESET); - TIDY_TAG_CONST(H1); - TIDY_TAG_CONST(H2); - TIDY_TAG_CONST(H3); - TIDY_TAG_CONST(H4); - TIDY_TAG_CONST(H5); - TIDY_TAG_CONST(H6); - TIDY_TAG_CONST(HEAD); - TIDY_TAG_CONST(HR); - TIDY_TAG_CONST(HTML); - TIDY_TAG_CONST(I); - TIDY_TAG_CONST(IFRAME); - TIDY_TAG_CONST(ILAYER); - TIDY_TAG_CONST(IMG); - TIDY_TAG_CONST(INPUT); - TIDY_TAG_CONST(INS); - TIDY_TAG_CONST(ISINDEX); - TIDY_TAG_CONST(KBD); - TIDY_TAG_CONST(KEYGEN); - TIDY_TAG_CONST(LABEL); - TIDY_TAG_CONST(LAYER); - TIDY_TAG_CONST(LEGEND); - TIDY_TAG_CONST(LI); - TIDY_TAG_CONST(LINK); - TIDY_TAG_CONST(LISTING); - TIDY_TAG_CONST(MAP); - TIDY_TAG_CONST(MARQUEE); - TIDY_TAG_CONST(MENU); - TIDY_TAG_CONST(META); - TIDY_TAG_CONST(MULTICOL); - TIDY_TAG_CONST(NOBR); - TIDY_TAG_CONST(NOEMBED); - TIDY_TAG_CONST(NOFRAMES); - TIDY_TAG_CONST(NOLAYER); - TIDY_TAG_CONST(NOSAVE); - TIDY_TAG_CONST(NOSCRIPT); - TIDY_TAG_CONST(OBJECT); - TIDY_TAG_CONST(OL); - TIDY_TAG_CONST(OPTGROUP); - TIDY_TAG_CONST(OPTION); - TIDY_TAG_CONST(P); - TIDY_TAG_CONST(PARAM); - TIDY_TAG_CONST(PLAINTEXT); - TIDY_TAG_CONST(PRE); - TIDY_TAG_CONST(Q); - TIDY_TAG_CONST(RB); - TIDY_TAG_CONST(RBC); - TIDY_TAG_CONST(RP); - TIDY_TAG_CONST(RT); - TIDY_TAG_CONST(RTC); - TIDY_TAG_CONST(RUBY); - TIDY_TAG_CONST(S); - TIDY_TAG_CONST(SAMP); - TIDY_TAG_CONST(SCRIPT); - TIDY_TAG_CONST(SELECT); - TIDY_TAG_CONST(SERVER); - TIDY_TAG_CONST(SERVLET); - TIDY_TAG_CONST(SMALL); - TIDY_TAG_CONST(SPACER); - TIDY_TAG_CONST(SPAN); - TIDY_TAG_CONST(STRIKE); - TIDY_TAG_CONST(STRONG); - TIDY_TAG_CONST(STYLE); - TIDY_TAG_CONST(SUB); - TIDY_TAG_CONST(SUP); - TIDY_TAG_CONST(TABLE); - TIDY_TAG_CONST(TBODY); - TIDY_TAG_CONST(TD); - TIDY_TAG_CONST(TEXTAREA); - TIDY_TAG_CONST(TFOOT); - TIDY_TAG_CONST(TH); - TIDY_TAG_CONST(THEAD); - TIDY_TAG_CONST(TITLE); - TIDY_TAG_CONST(TR); - TIDY_TAG_CONST(TT); - TIDY_TAG_CONST(U); - TIDY_TAG_CONST(UL); - TIDY_TAG_CONST(VAR); - TIDY_TAG_CONST(WBR); - TIDY_TAG_CONST(XMP); -# ifdef HAVE_TIDYBUFFIO_H - TIDY_TAG_CONST(ARTICLE); - TIDY_TAG_CONST(ASIDE); - TIDY_TAG_CONST(AUDIO); - TIDY_TAG_CONST(BDI); - TIDY_TAG_CONST(CANVAS); - TIDY_TAG_CONST(COMMAND); - TIDY_TAG_CONST(DATALIST); - TIDY_TAG_CONST(DETAILS); - TIDY_TAG_CONST(DIALOG); - TIDY_TAG_CONST(FIGCAPTION); - TIDY_TAG_CONST(FIGURE); - TIDY_TAG_CONST(FOOTER); - TIDY_TAG_CONST(HEADER); - TIDY_TAG_CONST(HGROUP); - TIDY_TAG_CONST(MAIN); - TIDY_TAG_CONST(MARK); - TIDY_TAG_CONST(MENUITEM); - TIDY_TAG_CONST(METER); - TIDY_TAG_CONST(NAV); - TIDY_TAG_CONST(OUTPUT); - TIDY_TAG_CONST(PROGRESS); - TIDY_TAG_CONST(SECTION); - TIDY_TAG_CONST(SOURCE); - TIDY_TAG_CONST(SUMMARY); - TIDY_TAG_CONST(TEMPLATE); - TIDY_TAG_CONST(TIME); - TIDY_TAG_CONST(TRACK); - TIDY_TAG_CONST(VIDEO); -# endif -} - #endif diff --git a/ext/tidy/tidy.stub.php b/ext/tidy/tidy.stub.php index 8890522238d86..e00773f2e1d89 100644 --- a/ext/tidy/tidy.stub.php +++ b/ext/tidy/tidy.stub.php @@ -2,6 +2,815 @@ /** @generate-class-entries */ +/** + * @var int + * @cvalue TidyNode_Root + */ +const TIDY_NODETYPE_ROOT = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_DocType + */ +const TIDY_NODETYPE_DOCTYPE = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Comment + */ +const TIDY_NODETYPE_COMMENT = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_ProcIns + */ +const TIDY_NODETYPE_PROCINS = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Text + */ +const TIDY_NODETYPE_TEXT = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Start + */ +const TIDY_NODETYPE_START = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_End + */ +const TIDY_NODETYPE_END = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_StartEnd + */ +const TIDY_NODETYPE_STARTEND = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_CDATA + */ +const TIDY_NODETYPE_CDATA = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Section + */ +const TIDY_NODETYPE_SECTION = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Asp + */ +const TIDY_NODETYPE_ASP = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Jste + */ +const TIDY_NODETYPE_JSTE = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_Php + */ +const TIDY_NODETYPE_PHP = UNKNOWN; +/** + * @var int + * @cvalue TidyNode_XmlDecl + */ +const TIDY_NODETYPE_XMLDECL = UNKNOWN; + +/** + * @var int + * @cvalue TidyTag_UNKNOWN + */ +const TIDY_TAG_UNKNOWN = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_A + */ +const TIDY_TAG_A = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ABBR + */ +const TIDY_TAG_ABBR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ACRONYM + */ +const TIDY_TAG_ACRONYM = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ADDRESS + */ +const TIDY_TAG_ADDRESS = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ALIGN + */ +const TIDY_TAG_ALIGN = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_APPLET + */ +const TIDY_TAG_APPLET = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_AREA + */ +const TIDY_TAG_AREA = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_B + */ +const TIDY_TAG_B = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BASE + */ +const TIDY_TAG_BASE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BASEFONT + */ +const TIDY_TAG_BASEFONT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BDO + */ +const TIDY_TAG_BDO = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BGSOUND + */ +const TIDY_TAG_BGSOUND = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BIG + */ +const TIDY_TAG_BIG = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BLINK + */ +const TIDY_TAG_BLINK = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BLOCKQUOTE + */ +const TIDY_TAG_BLOCKQUOTE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BODY + */ +const TIDY_TAG_BODY = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BR + */ +const TIDY_TAG_BR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BUTTON + */ +const TIDY_TAG_BUTTON = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_CAPTION + */ +const TIDY_TAG_CAPTION = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_CENTER + */ +const TIDY_TAG_CENTER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_CITE + */ +const TIDY_TAG_CITE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_CODE + */ +const TIDY_TAG_CODE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_COL + */ +const TIDY_TAG_COL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_COLGROUP + */ +const TIDY_TAG_COLGROUP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_COMMENT + */ +const TIDY_TAG_COMMENT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DD + */ +const TIDY_TAG_DD = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DEL + */ +const TIDY_TAG_DEL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DFN + */ +const TIDY_TAG_DFN = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DIR + */ +const TIDY_TAG_DIR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DIV + */ +const TIDY_TAG_DIV = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DL + */ +const TIDY_TAG_DL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DT + */ +const TIDY_TAG_DT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_EM + */ +const TIDY_TAG_EM = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_EMBED + */ +const TIDY_TAG_EMBED = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FIELDSET + */ +const TIDY_TAG_FIELDSET = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FONT + */ +const TIDY_TAG_FONT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FORM + */ +const TIDY_TAG_FORM = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FRAME + */ +const TIDY_TAG_FRAME = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FRAMESET + */ +const TIDY_TAG_FRAMESET = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_H1 + */ +const TIDY_TAG_H1 = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_H2 + */ +const TIDY_TAG_H2 = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_H3 + */ +const TIDY_TAG_H3 = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_H4 + */ +const TIDY_TAG_H4 = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_H5 + */ +const TIDY_TAG_H5 = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_H6 + */ +const TIDY_TAG_H6 = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_HEAD + */ +const TIDY_TAG_HEAD = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_HR + */ +const TIDY_TAG_HR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_HTML + */ +const TIDY_TAG_HTML = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_I + */ +const TIDY_TAG_I = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_IFRAME + */ +const TIDY_TAG_IFRAME = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ILAYER + */ +const TIDY_TAG_ILAYER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_IMG + */ +const TIDY_TAG_IMG = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_INPUT + */ +const TIDY_TAG_INPUT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_INS + */ +const TIDY_TAG_INS = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ISINDEX + */ +const TIDY_TAG_ISINDEX = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_KBD + */ +const TIDY_TAG_KBD = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_KEYGEN + */ +const TIDY_TAG_KEYGEN = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_LABEL + */ +const TIDY_TAG_LABEL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_LAYER + */ +const TIDY_TAG_LAYER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_LEGEND + */ +const TIDY_TAG_LEGEND = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_LI + */ +const TIDY_TAG_LI = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_LINK + */ +const TIDY_TAG_LINK = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_LISTING + */ +const TIDY_TAG_LISTING = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MAP + */ +const TIDY_TAG_MAP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MARQUEE + */ +const TIDY_TAG_MARQUEE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MENU + */ +const TIDY_TAG_MENU = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_META + */ +const TIDY_TAG_META = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MULTICOL + */ +const TIDY_TAG_MULTICOL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NOBR + */ +const TIDY_TAG_NOBR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NOEMBED + */ +const TIDY_TAG_NOEMBED = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NOFRAMES + */ +const TIDY_TAG_NOFRAMES = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NOLAYER + */ +const TIDY_TAG_NOLAYER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NOSAVE + */ +const TIDY_TAG_NOSAVE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NOSCRIPT + */ +const TIDY_TAG_NOSCRIPT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_OBJECT + */ +const TIDY_TAG_OBJECT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_OL + */ +const TIDY_TAG_OL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_OPTGROUP + */ +const TIDY_TAG_OPTGROUP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_OPTION + */ +const TIDY_TAG_OPTION = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_P + */ +const TIDY_TAG_P = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_PARAM + */ +const TIDY_TAG_PARAM = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_PLAINTEXT + */ +const TIDY_TAG_PLAINTEXT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_PRE + */ +const TIDY_TAG_PRE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_Q + */ +const TIDY_TAG_Q = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_RB + */ +const TIDY_TAG_RB = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_RBC + */ +const TIDY_TAG_RBC = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_RP + */ +const TIDY_TAG_RP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_RT + */ +const TIDY_TAG_RT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_RTC + */ +const TIDY_TAG_RTC = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_RUBY + */ +const TIDY_TAG_RUBY = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_S + */ +const TIDY_TAG_S = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SAMP + */ +const TIDY_TAG_SAMP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SCRIPT + */ +const TIDY_TAG_SCRIPT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SELECT + */ +const TIDY_TAG_SELECT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SERVER + */ +const TIDY_TAG_SERVER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SERVLET + */ +const TIDY_TAG_SERVLET = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SMALL + */ +const TIDY_TAG_SMALL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SPACER + */ +const TIDY_TAG_SPACER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SPAN + */ +const TIDY_TAG_SPAN = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_STRIKE + */ +const TIDY_TAG_STRIKE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_STRONG + */ +const TIDY_TAG_STRONG = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_STYLE + */ +const TIDY_TAG_STYLE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SUB + */ +const TIDY_TAG_SUB = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SUP + */ +const TIDY_TAG_SUP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TABLE + */ +const TIDY_TAG_TABLE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TBODY + */ +const TIDY_TAG_TBODY = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TD + */ +const TIDY_TAG_TD = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TEXTAREA + */ +const TIDY_TAG_TEXTAREA = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TFOOT + */ +const TIDY_TAG_TFOOT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TH + */ +const TIDY_TAG_TH = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_THEAD + */ +const TIDY_TAG_THEAD = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TITLE + */ +const TIDY_TAG_TITLE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TR + */ +const TIDY_TAG_TR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TT + */ +const TIDY_TAG_TT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_U + */ +const TIDY_TAG_U = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_UL + */ +const TIDY_TAG_UL = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_VAR + */ +const TIDY_TAG_VAR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_WBR + */ +const TIDY_TAG_WBR = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_XMP + */ +const TIDY_TAG_XMP = UNKNOWN; +#ifdef HAVE_TIDYBUFFIO_H +/** + * @var int + * @cvalue TidyTag_ARTICLE + */ +const TIDY_TAG_ARTICLE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_ASIDE + */ +const TIDY_TAG_ASIDE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_AUDIO + */ +const TIDY_TAG_AUDIO = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_BDI + */ +const TIDY_TAG_BDI = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_CANVAS + */ +const TIDY_TAG_CANVAS = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_COMMAND + */ +const TIDY_TAG_COMMAND = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DATALIST + */ +const TIDY_TAG_DATALIST = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DETAILS + */ +const TIDY_TAG_DETAILS = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_DIALOG + */ +const TIDY_TAG_DIALOG = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FIGCAPTION + */ +const TIDY_TAG_FIGCAPTION = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FIGURE + */ +const TIDY_TAG_FIGURE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_FOOTER + */ +const TIDY_TAG_FOOTER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_HEADER + */ +const TIDY_TAG_HEADER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_HGROUP + */ +const TIDY_TAG_HGROUP = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MAIN + */ +const TIDY_TAG_MAIN = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MARK + */ +const TIDY_TAG_MARK = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_MENUITEM + */ +const TIDY_TAG_MENUITEM = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_METER + */ +const TIDY_TAG_METER = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_NAV + */ +const TIDY_TAG_NAV = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_OUTPUT + */ +const TIDY_TAG_OUTPUT = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_PROGRESS + */ +const TIDY_TAG_PROGRESS = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SECTION + */ +const TIDY_TAG_SECTION = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SOURCE + */ +const TIDY_TAG_SOURCE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_SUMMARY + */ +const TIDY_TAG_SUMMARY = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TEMPLATE + */ +const TIDY_TAG_TEMPLATE = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TIME + */ +const TIDY_TAG_TIME = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_TRACK + */ +const TIDY_TAG_TRACK = UNKNOWN; +/** + * @var int + * @cvalue TidyTag_VIDEO + */ +const TIDY_TAG_VIDEO = UNKNOWN; +# endif + function tidy_parse_string(string $string, array|string|null $config = null, ?string $encoding = null): tidy|false {} function tidy_get_error_buffer(tidy $tidy): string|false {} diff --git a/ext/tidy/tidy_arginfo.h b/ext/tidy/tidy_arginfo.h index 72fc6cd566eb1..0c5f77bfd447f 100644 --- a/ext/tidy/tidy_arginfo.h +++ b/ext/tidy/tidy_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 88c2a02073fc4cebabb4ace0d8db25f9bb017209 */ + * Stub hash: 5efa4f23774fac9610f05d895d8f8c6f481cc5a6 */ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_tidy_parse_string, 0, 1, tidy, MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) @@ -296,6 +296,227 @@ static const zend_function_entry class_tidyNode_methods[] = { ZEND_FE_END }; +static void register_tidy_symbols(int module_number) +{ + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_ROOT", TidyNode_Root, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_DOCTYPE", TidyNode_DocType, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_COMMENT", TidyNode_Comment, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_PROCINS", TidyNode_ProcIns, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_TEXT", TidyNode_Text, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_START", TidyNode_Start, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_END", TidyNode_End, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_STARTEND", TidyNode_StartEnd, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_CDATA", TidyNode_CDATA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_SECTION", TidyNode_Section, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_ASP", TidyNode_Asp, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_JSTE", TidyNode_Jste, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_PHP", TidyNode_Php, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_XMLDECL", TidyNode_XmlDecl, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_UNKNOWN", TidyTag_UNKNOWN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_A", TidyTag_A, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ABBR", TidyTag_ABBR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ACRONYM", TidyTag_ACRONYM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ADDRESS", TidyTag_ADDRESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ALIGN", TidyTag_ALIGN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_APPLET", TidyTag_APPLET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_AREA", TidyTag_AREA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_B", TidyTag_B, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BASE", TidyTag_BASE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BASEFONT", TidyTag_BASEFONT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BDO", TidyTag_BDO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BGSOUND", TidyTag_BGSOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BIG", TidyTag_BIG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BLINK", TidyTag_BLINK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BLOCKQUOTE", TidyTag_BLOCKQUOTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BODY", TidyTag_BODY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BR", TidyTag_BR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BUTTON", TidyTag_BUTTON, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CAPTION", TidyTag_CAPTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CENTER", TidyTag_CENTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CITE", TidyTag_CITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CODE", TidyTag_CODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COL", TidyTag_COL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COLGROUP", TidyTag_COLGROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COMMENT", TidyTag_COMMENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DD", TidyTag_DD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DEL", TidyTag_DEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DFN", TidyTag_DFN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DIR", TidyTag_DIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DIV", TidyTag_DIV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DL", TidyTag_DL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DT", TidyTag_DT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_EM", TidyTag_EM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_EMBED", TidyTag_EMBED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FIELDSET", TidyTag_FIELDSET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FONT", TidyTag_FONT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FORM", TidyTag_FORM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FRAME", TidyTag_FRAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FRAMESET", TidyTag_FRAMESET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H1", TidyTag_H1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H2", TidyTag_H2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H3", TidyTag_H3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H4", TidyTag_H4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H5", TidyTag_H5, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H6", TidyTag_H6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HEAD", TidyTag_HEAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HR", TidyTag_HR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HTML", TidyTag_HTML, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_I", TidyTag_I, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_IFRAME", TidyTag_IFRAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ILAYER", TidyTag_ILAYER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_IMG", TidyTag_IMG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_INPUT", TidyTag_INPUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_INS", TidyTag_INS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ISINDEX", TidyTag_ISINDEX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_KBD", TidyTag_KBD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_KEYGEN", TidyTag_KEYGEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LABEL", TidyTag_LABEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LAYER", TidyTag_LAYER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LEGEND", TidyTag_LEGEND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LI", TidyTag_LI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LINK", TidyTag_LINK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LISTING", TidyTag_LISTING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MAP", TidyTag_MAP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MARQUEE", TidyTag_MARQUEE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MENU", TidyTag_MENU, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_META", TidyTag_META, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MULTICOL", TidyTag_MULTICOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOBR", TidyTag_NOBR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOEMBED", TidyTag_NOEMBED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOFRAMES", TidyTag_NOFRAMES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOLAYER", TidyTag_NOLAYER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOSAVE", TidyTag_NOSAVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOSCRIPT", TidyTag_NOSCRIPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OBJECT", TidyTag_OBJECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OL", TidyTag_OL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OPTGROUP", TidyTag_OPTGROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OPTION", TidyTag_OPTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_P", TidyTag_P, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PARAM", TidyTag_PARAM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PLAINTEXT", TidyTag_PLAINTEXT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PRE", TidyTag_PRE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_Q", TidyTag_Q, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RB", TidyTag_RB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RBC", TidyTag_RBC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RP", TidyTag_RP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RT", TidyTag_RT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RTC", TidyTag_RTC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RUBY", TidyTag_RUBY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_S", TidyTag_S, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SAMP", TidyTag_SAMP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SCRIPT", TidyTag_SCRIPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SELECT", TidyTag_SELECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SERVER", TidyTag_SERVER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SERVLET", TidyTag_SERVLET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SMALL", TidyTag_SMALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SPACER", TidyTag_SPACER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SPAN", TidyTag_SPAN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_STRIKE", TidyTag_STRIKE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_STRONG", TidyTag_STRONG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_STYLE", TidyTag_STYLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SUB", TidyTag_SUB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SUP", TidyTag_SUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TABLE", TidyTag_TABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TBODY", TidyTag_TBODY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TD", TidyTag_TD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TEXTAREA", TidyTag_TEXTAREA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TFOOT", TidyTag_TFOOT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TH", TidyTag_TH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_THEAD", TidyTag_THEAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TITLE", TidyTag_TITLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TR", TidyTag_TR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TT", TidyTag_TT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_U", TidyTag_U, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_UL", TidyTag_UL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_VAR", TidyTag_VAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_WBR", TidyTag_WBR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_XMP", TidyTag_XMP, CONST_CS | CONST_PERSISTENT); +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_ARTICLE", TidyTag_ARTICLE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_ASIDE", TidyTag_ASIDE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_AUDIO", TidyTag_AUDIO, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_BDI", TidyTag_BDI, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_CANVAS", TidyTag_CANVAS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_COMMAND", TidyTag_COMMAND, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_DATALIST", TidyTag_DATALIST, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_DETAILS", TidyTag_DETAILS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_DIALOG", TidyTag_DIALOG, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_FIGCAPTION", TidyTag_FIGCAPTION, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_FIGURE", TidyTag_FIGURE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_FOOTER", TidyTag_FOOTER, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_HEADER", TidyTag_HEADER, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_HGROUP", TidyTag_HGROUP, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_MAIN", TidyTag_MAIN, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_MARK", TidyTag_MARK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_MENUITEM", TidyTag_MENUITEM, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_METER", TidyTag_METER, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_NAV", TidyTag_NAV, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_OUTPUT", TidyTag_OUTPUT, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_PROGRESS", TidyTag_PROGRESS, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_SECTION", TidyTag_SECTION, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_SOURCE", TidyTag_SOURCE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_SUMMARY", TidyTag_SUMMARY, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_TEMPLATE", TidyTag_TEMPLATE, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_TIME", TidyTag_TIME, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_TRACK", TidyTag_TRACK, CONST_CS | CONST_PERSISTENT); +#endif +#if defined(HAVE_TIDYBUFFIO_H) + REGISTER_LONG_CONSTANT("TIDY_TAG_VIDEO", TidyTag_VIDEO, CONST_CS | CONST_PERSISTENT); +#endif +} + static zend_class_entry *register_class_tidy(void) { zend_class_entry ce, *class_entry; From 0897266219b28808512b2969ab4e74d3292fb270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sun, 21 Aug 2022 10:29:51 +0200 Subject: [PATCH 104/229] Fix GH-9285 Traits cannot be used in readonly classes --- NEWS | 2 ++ Zend/tests/readonly_classes/gh9285_error.phpt | 16 +++++++++++++ .../readonly_classes/gh9285_success.phpt | 24 +++++++++++++++++++ Zend/zend_inheritance.c | 11 ++++++++- 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/readonly_classes/gh9285_error.phpt create mode 100644 Zend/tests/readonly_classes/gh9285_success.phpt diff --git a/NEWS b/NEWS index 86e7a7ea2f99d..67d13a61d5c24 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ PHP NEWS (Tim Starling) . Fixed bug GH-9227 (Trailing dots and spaces in filenames are ignored). (cmb) + . Fixed bug GH-9285 (Traits cannot be used in readonly classes). + (kocsismate) - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). diff --git a/Zend/tests/readonly_classes/gh9285_error.phpt b/Zend/tests/readonly_classes/gh9285_error.phpt new file mode 100644 index 0000000000000..31658901ca347 --- /dev/null +++ b/Zend/tests/readonly_classes/gh9285_error.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug GH-9285: PHP 8.2 readonly classes allow inheriting mutable properties from traits - error +--FILE-- + +--EXPECTF-- +Fatal error: Readonly class C cannot use trait with a non-readonly property T::$prop in %s on line %d diff --git a/Zend/tests/readonly_classes/gh9285_success.phpt b/Zend/tests/readonly_classes/gh9285_success.phpt new file mode 100644 index 0000000000000..38dfdb37989fe --- /dev/null +++ b/Zend/tests/readonly_classes/gh9285_success.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug GH-9285: PHP 8.2 readonly classes allow inheriting mutable properties from traits - success +--FILE-- +prop = 1; + } +} + +$c = new C(); +var_dump($c->prop); + +?> +--EXPECT-- +int(1) diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index 526da9111e88e..52c974bece4bf 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -2368,7 +2368,7 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent if (!is_compatible) { zend_error_noreturn(E_COMPILE_ERROR, - "%s and %s define the same property ($%s) in the composition of %s. However, the definition differs and is considered incompatible. Class was composed", + "%s and %s define the same property ($%s) in the composition of %s. However, the definition differs and is considered incompatible. Class was composed", ZSTR_VAL(find_first_property_definition(ce, traits, i, prop_name, colliding_prop->ce)->name), ZSTR_VAL(property_info->ce->name), ZSTR_VAL(prop_name), @@ -2378,6 +2378,15 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent } } + if ((ce->ce_flags & ZEND_ACC_READONLY_CLASS) && !(property_info->flags & ZEND_ACC_READONLY)) { + zend_error_noreturn(E_COMPILE_ERROR, + "Readonly class %s cannot use trait with a non-readonly property %s::$%s", + ZSTR_VAL(ce->name), + ZSTR_VAL(property_info->ce->name), + ZSTR_VAL(prop_name) + ); + } + /* property not found, so lets add it */ if (flags & ZEND_ACC_STATIC) { prop_value = &traits[i]->default_static_members_table[property_info->offset]; From f743cb0f696f8eddfbaf4b3a79470254d1400cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sun, 21 Aug 2022 13:12:38 +0200 Subject: [PATCH 105/229] Declare ext/intl constants in stubs - part 13 (#9385) --- ext/intl/common/common.stub.php | 730 +++++++++++++++++++++++++++++++ ext/intl/common/common_arginfo.h | 147 ++++++- ext/intl/common/common_enum.cpp | 6 +- ext/intl/common/common_enum.h | 2 +- ext/intl/common/common_error.c | 170 ------- ext/intl/common/common_error.h | 23 - ext/intl/php_intl.c | 8 +- 7 files changed, 881 insertions(+), 205 deletions(-) delete mode 100644 ext/intl/common/common_error.h diff --git a/ext/intl/common/common.stub.php b/ext/intl/common/common.stub.php index acadedd39934c..cdcca7d413d68 100644 --- a/ext/intl/common/common.stub.php +++ b/ext/intl/common/common.stub.php @@ -2,6 +2,736 @@ /** @generate-class-entries */ +/* Warnings */ + +/** + * @var int + * @cvalue U_USING_FALLBACK_WARNING + */ +const U_USING_FALLBACK_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_ERROR_WARNING_START + */ +const U_ERROR_WARNING_START = UNKNOWN; +/** + * @var int + * @cvalue U_USING_DEFAULT_WARNING + */ +const U_USING_DEFAULT_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_SAFECLONE_ALLOCATED_WARNING + */ +const U_SAFECLONE_ALLOCATED_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_STATE_OLD_WARNING + */ +const U_STATE_OLD_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_STRING_NOT_TERMINATED_WARNING + */ +const U_STRING_NOT_TERMINATED_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_SORT_KEY_TOO_SHORT_WARNING + */ +const U_SORT_KEY_TOO_SHORT_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_AMBIGUOUS_ALIAS_WARNING + */ +const U_AMBIGUOUS_ALIAS_WARNING = UNKNOWN; +/** + * @var int + * @cvalue U_DIFFERENT_UCA_VERSION + */ +const U_DIFFERENT_UCA_VERSION = UNKNOWN; +/** + * @var int + * @cvalue U_ERROR_WARNING_LIMIT + */ +const U_ERROR_WARNING_LIMIT = UNKNOWN; + +/* Standard errors */ +/** + * @var int + * @cvalue U_ZERO_ERROR + */ +const U_ZERO_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_ILLEGAL_ARGUMENT_ERROR + */ +const U_ILLEGAL_ARGUMENT_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_MISSING_RESOURCE_ERROR + */ +const U_MISSING_RESOURCE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_FORMAT_ERROR + */ +const U_INVALID_FORMAT_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_FILE_ACCESS_ERROR + */ +const U_FILE_ACCESS_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INTERNAL_PROGRAM_ERROR + */ +const U_INTERNAL_PROGRAM_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_MESSAGE_PARSE_ERROR + */ +const U_MESSAGE_PARSE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_MEMORY_ALLOCATION_ERROR + */ +const U_MEMORY_ALLOCATION_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INDEX_OUTOFBOUNDS_ERROR + */ +const U_INDEX_OUTOFBOUNDS_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_PARSE_ERROR + */ +const U_PARSE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_CHAR_FOUND + */ +const U_INVALID_CHAR_FOUND = UNKNOWN; +/** + * @var int + * @cvalue U_TRUNCATED_CHAR_FOUND + */ +const U_TRUNCATED_CHAR_FOUND = UNKNOWN; +/** + * @var int + * @cvalue U_ILLEGAL_CHAR_FOUND + */ +const U_ILLEGAL_CHAR_FOUND = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_TABLE_FORMAT + */ +const U_INVALID_TABLE_FORMAT = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_TABLE_FILE + */ +const U_INVALID_TABLE_FILE = UNKNOWN; +/** + * @var int + * @cvalue U_BUFFER_OVERFLOW_ERROR + */ +const U_BUFFER_OVERFLOW_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_UNSUPPORTED_ERROR + */ +const U_UNSUPPORTED_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_RESOURCE_TYPE_MISMATCH + */ +const U_RESOURCE_TYPE_MISMATCH = UNKNOWN; +/** + * @var int + * @cvalue U_ILLEGAL_ESCAPE_SEQUENCE + */ +const U_ILLEGAL_ESCAPE_SEQUENCE = UNKNOWN; +/** + * @var int + * @cvalue U_UNSUPPORTED_ESCAPE_SEQUENCE + */ +const U_UNSUPPORTED_ESCAPE_SEQUENCE = UNKNOWN; +/** + * @var int + * @cvalue U_NO_SPACE_AVAILABLE + */ +const U_NO_SPACE_AVAILABLE = UNKNOWN; +/** + * @var int + * @cvalue U_CE_NOT_FOUND_ERROR + */ +const U_CE_NOT_FOUND_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_PRIMARY_TOO_LONG_ERROR + */ +const U_PRIMARY_TOO_LONG_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_STATE_TOO_OLD_ERROR + */ +const U_STATE_TOO_OLD_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_TOO_MANY_ALIASES_ERROR + */ +const U_TOO_MANY_ALIASES_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_ENUM_OUT_OF_SYNC_ERROR + */ +const U_ENUM_OUT_OF_SYNC_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INVARIANT_CONVERSION_ERROR + */ +const U_INVARIANT_CONVERSION_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_STATE_ERROR + */ +const U_INVALID_STATE_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_COLLATOR_VERSION_MISMATCH + */ +const U_COLLATOR_VERSION_MISMATCH = UNKNOWN; +/** + * @var int + * @cvalue U_USELESS_COLLATOR_ERROR + */ +const U_USELESS_COLLATOR_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_NO_WRITE_PERMISSION + */ +const U_NO_WRITE_PERMISSION = UNKNOWN; +/** + * @var int + * @cvalue U_STANDARD_ERROR_LIMIT + */ +const U_STANDARD_ERROR_LIMIT = UNKNOWN; + +/* The error code range 0x10000 0x10100 are reserved for Transliterator */ + +/** + * @var int + * @cvalue U_BAD_VARIABLE_DEFINITION + */ +const U_BAD_VARIABLE_DEFINITION = UNKNOWN; +/** + * @var int + * @cvalue U_PARSE_ERROR_START + */ +const U_PARSE_ERROR_START = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_RULE + */ +const U_MALFORMED_RULE = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_SET + */ +const U_MALFORMED_SET = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_SYMBOL_REFERENCE + */ +const U_MALFORMED_SYMBOL_REFERENCE = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_UNICODE_ESCAPE + */ +const U_MALFORMED_UNICODE_ESCAPE = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_VARIABLE_DEFINITION + */ +const U_MALFORMED_VARIABLE_DEFINITION = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_VARIABLE_REFERENCE + */ +const U_MALFORMED_VARIABLE_REFERENCE = UNKNOWN; +/** + * @var int + * @cvalue U_MISMATCHED_SEGMENT_DELIMITERS + */ +const U_MISMATCHED_SEGMENT_DELIMITERS = UNKNOWN; +/** + * @var int + * @cvalue U_MISPLACED_ANCHOR_START + */ +const U_MISPLACED_ANCHOR_START = UNKNOWN; +/** + * @var int + * @cvalue U_MISPLACED_CURSOR_OFFSET + */ +const U_MISPLACED_CURSOR_OFFSET = UNKNOWN; +/** + * @var int + * @cvalue U_MISPLACED_QUANTIFIER + */ +const U_MISPLACED_QUANTIFIER = UNKNOWN; +/** + * @var int + * @cvalue U_MISSING_OPERATOR + */ +const U_MISSING_OPERATOR = UNKNOWN; +/** + * @var int + * @cvalue U_MISSING_SEGMENT_CLOSE + */ +const U_MISSING_SEGMENT_CLOSE = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_ANTE_CONTEXTS + */ +const U_MULTIPLE_ANTE_CONTEXTS = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_CURSORS + */ +const U_MULTIPLE_CURSORS = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_POST_CONTEXTS + */ +const U_MULTIPLE_POST_CONTEXTS = UNKNOWN; +/** + * @var int + * @cvalue U_TRAILING_BACKSLASH + */ +const U_TRAILING_BACKSLASH = UNKNOWN; +/** + * @var int + * @cvalue U_UNDEFINED_SEGMENT_REFERENCE + */ +const U_UNDEFINED_SEGMENT_REFERENCE = UNKNOWN; +/** + * @var int + * @cvalue U_UNDEFINED_VARIABLE + */ +const U_UNDEFINED_VARIABLE = UNKNOWN; +/** + * @var int + * @cvalue U_UNQUOTED_SPECIAL + */ +const U_UNQUOTED_SPECIAL = UNKNOWN; +/** + * @var int + * @cvalue U_UNTERMINATED_QUOTE + */ +const U_UNTERMINATED_QUOTE = UNKNOWN; +/** + * @var int + * @cvalue U_RULE_MASK_ERROR + */ +const U_RULE_MASK_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_MISPLACED_COMPOUND_FILTER + */ +const U_MISPLACED_COMPOUND_FILTER = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_COMPOUND_FILTERS + */ +const U_MULTIPLE_COMPOUND_FILTERS = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_RBT_SYNTAX + */ +const U_INVALID_RBT_SYNTAX = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_PROPERTY_PATTERN + */ +const U_INVALID_PROPERTY_PATTERN = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_PRAGMA + */ +const U_MALFORMED_PRAGMA = UNKNOWN; +/** + * @var int + * @cvalue U_UNCLOSED_SEGMENT + */ +const U_UNCLOSED_SEGMENT = UNKNOWN; +/** + * @var int + * @cvalue U_ILLEGAL_CHAR_IN_SEGMENT + */ +const U_ILLEGAL_CHAR_IN_SEGMENT = UNKNOWN; +/** + * @var int + * @cvalue U_VARIABLE_RANGE_EXHAUSTED + */ +const U_VARIABLE_RANGE_EXHAUSTED = UNKNOWN; +/** + * @var int + * @cvalue U_VARIABLE_RANGE_OVERLAP + */ +const U_VARIABLE_RANGE_OVERLAP = UNKNOWN; +/** + * @var int + * @cvalue U_ILLEGAL_CHARACTER + */ +const U_ILLEGAL_CHARACTER = UNKNOWN; +/** + * @var int + * @cvalue U_INTERNAL_TRANSLITERATOR_ERROR + */ +const U_INTERNAL_TRANSLITERATOR_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_ID + */ +const U_INVALID_ID = UNKNOWN; +/** + * @var int + * @cvalue U_INVALID_FUNCTION + */ +const U_INVALID_FUNCTION = UNKNOWN; +/** + * @var int + * @cvalue U_PARSE_ERROR_LIMIT + */ +const U_PARSE_ERROR_LIMIT = UNKNOWN; + +/* The error code range 0x10100 0x10200 are reserved for formatting API parsing errors */ + +/** + * @var int + * @cvalue U_UNEXPECTED_TOKEN + */ +const U_UNEXPECTED_TOKEN = UNKNOWN; +/** + * @var int + * @cvalue U_FMT_PARSE_ERROR_START + */ +const U_FMT_PARSE_ERROR_START = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_DECIMAL_SEPARATORS + */ +const U_MULTIPLE_DECIMAL_SEPARATORS = UNKNOWN; +/** + * Typo: kept for backward compatibility. Use U_MULTIPLE_DECIMAL_SEPARATORS + * @var int + * @cvalue U_MULTIPLE_DECIMAL_SEPERATORS + */ +const U_MULTIPLE_DECIMAL_SEPERATORS = UNKNOWN; // TODO Deprecate +/** + * @var int + * @cvalue U_MULTIPLE_EXPONENTIAL_SYMBOLS + */ +const U_MULTIPLE_EXPONENTIAL_SYMBOLS = UNKNOWN; +/** + * @var int + * @cvalue U_MALFORMED_EXPONENTIAL_PATTERN + */ +const U_MALFORMED_EXPONENTIAL_PATTERN = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_PERCENT_SYMBOLS + */ +const U_MULTIPLE_PERCENT_SYMBOLS = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_PERMILL_SYMBOLS + */ +const U_MULTIPLE_PERMILL_SYMBOLS = UNKNOWN; +/** + * @var int + * @cvalue U_MULTIPLE_PAD_SPECIFIERS + */ +const U_MULTIPLE_PAD_SPECIFIERS = UNKNOWN; +/** + * @var int + * @cvalue U_PATTERN_SYNTAX_ERROR + */ +const U_PATTERN_SYNTAX_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_ILLEGAL_PAD_POSITION + */ +const U_ILLEGAL_PAD_POSITION = UNKNOWN; +/** + * @var int + * @cvalue U_UNMATCHED_BRACES + */ +const U_UNMATCHED_BRACES = UNKNOWN; +/** + * @var int + * @cvalue U_UNSUPPORTED_PROPERTY + */ +const U_UNSUPPORTED_PROPERTY = UNKNOWN; +/** + * @var int + * @cvalue U_UNSUPPORTED_ATTRIBUTE + */ +const U_UNSUPPORTED_ATTRIBUTE = UNKNOWN; +/** + * @var int + * @cvalue U_FMT_PARSE_ERROR_LIMIT + */ +const U_FMT_PARSE_ERROR_LIMIT = UNKNOWN; + +/* The error code range 0x10200 0x102ff are reserved for Break Iterator related errors */ + +/** + * @var int + * @cvalue U_BRK_INTERNAL_ERROR + */ +const U_BRK_INTERNAL_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_ERROR_START + */ +const U_BRK_ERROR_START = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_HEX_DIGITS_EXPECTED + */ +const U_BRK_HEX_DIGITS_EXPECTED = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_SEMICOLON_EXPECTED + */ +const U_BRK_SEMICOLON_EXPECTED = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_RULE_SYNTAX + */ +const U_BRK_RULE_SYNTAX = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_UNCLOSED_SET + */ +const U_BRK_UNCLOSED_SET = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_ASSIGN_ERROR + */ +const U_BRK_ASSIGN_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_VARIABLE_REDFINITION + */ +const U_BRK_VARIABLE_REDFINITION = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_MISMATCHED_PAREN + */ +const U_BRK_MISMATCHED_PAREN = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_NEW_LINE_IN_QUOTED_STRING + */ +const U_BRK_NEW_LINE_IN_QUOTED_STRING = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_UNDEFINED_VARIABLE + */ +const U_BRK_UNDEFINED_VARIABLE = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_INIT_ERROR + */ +const U_BRK_INIT_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_RULE_EMPTY_SET + */ +const U_BRK_RULE_EMPTY_SET = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_UNRECOGNIZED_OPTION + */ +const U_BRK_UNRECOGNIZED_OPTION = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_MALFORMED_RULE_TAG + */ +const U_BRK_MALFORMED_RULE_TAG = UNKNOWN; +/** + * @var int + * @cvalue U_BRK_ERROR_LIMIT + */ +const U_BRK_ERROR_LIMIT = UNKNOWN; + +/* The error codes in the range 0x10300-0x103ff are reserved for regular expression related errors */ + +/** + * @var int + * @cvalue U_REGEX_INTERNAL_ERROR + */ +const U_REGEX_INTERNAL_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_ERROR_START + */ +const U_REGEX_ERROR_START = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_RULE_SYNTAX + */ +const U_REGEX_RULE_SYNTAX = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_INVALID_STATE + */ +const U_REGEX_INVALID_STATE = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_BAD_ESCAPE_SEQUENCE + */ +const U_REGEX_BAD_ESCAPE_SEQUENCE = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_PROPERTY_SYNTAX + */ +const U_REGEX_PROPERTY_SYNTAX = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_UNIMPLEMENTED + */ +const U_REGEX_UNIMPLEMENTED = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_MISMATCHED_PAREN + */ +const U_REGEX_MISMATCHED_PAREN = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_NUMBER_TOO_BIG + */ +const U_REGEX_NUMBER_TOO_BIG = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_BAD_INTERVAL + */ +const U_REGEX_BAD_INTERVAL = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_MAX_LT_MIN + */ +const U_REGEX_MAX_LT_MIN = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_INVALID_BACK_REF + */ +const U_REGEX_INVALID_BACK_REF = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_INVALID_FLAG + */ +const U_REGEX_INVALID_FLAG = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_LOOK_BEHIND_LIMIT + */ +const U_REGEX_LOOK_BEHIND_LIMIT = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_SET_CONTAINS_STRING + */ +const U_REGEX_SET_CONTAINS_STRING = UNKNOWN; +/** + * @var int + * @cvalue U_REGEX_ERROR_LIMIT + */ +const U_REGEX_ERROR_LIMIT = UNKNOWN; + +/* The error code in the range 0x10400-0x104ff are reserved for IDNA related error codes */ + +/** + * @var int + * @cvalue U_IDNA_PROHIBITED_ERROR + */ +const U_IDNA_PROHIBITED_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_ERROR_START + */ +const U_IDNA_ERROR_START = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_UNASSIGNED_ERROR + */ +const U_IDNA_UNASSIGNED_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_CHECK_BIDI_ERROR + */ +const U_IDNA_CHECK_BIDI_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_STD3_ASCII_RULES_ERROR + */ +const U_IDNA_STD3_ASCII_RULES_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_ACE_PREFIX_ERROR + */ +const U_IDNA_ACE_PREFIX_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_VERIFICATION_ERROR + */ +const U_IDNA_VERIFICATION_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_LABEL_TOO_LONG_ERROR + */ +const U_IDNA_LABEL_TOO_LONG_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_ZERO_LENGTH_LABEL_ERROR + */ +const U_IDNA_ZERO_LENGTH_LABEL_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR + */ +const U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_IDNA_ERROR_LIMIT + */ +const U_IDNA_ERROR_LIMIT = UNKNOWN; + +/* Aliases for StringPrep */ + +/** + * @var int + * @cvalue U_STRINGPREP_PROHIBITED_ERROR + */ +const U_STRINGPREP_PROHIBITED_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_STRINGPREP_UNASSIGNED_ERROR + */ +const U_STRINGPREP_UNASSIGNED_ERROR = UNKNOWN; +/** + * @var int + * @cvalue U_STRINGPREP_CHECK_BIDI_ERROR + */ +const U_STRINGPREP_CHECK_BIDI_ERROR = UNKNOWN; + +/** + * @var int + * @cvalue U_ERROR_LIMIT + */ +const U_ERROR_LIMIT = UNKNOWN; + /** @not-serializable */ class IntlIterator implements Iterator { diff --git a/ext/intl/common/common_arginfo.h b/ext/intl/common/common_arginfo.h index cbf422bf0d4c6..14dab2c5ba0cf 100644 --- a/ext/intl/common/common_arginfo.h +++ b/ext/intl/common/common_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 976f2d1417928226d6c04ff444c4feda152d91df */ + * Stub hash: bc47f841e1bc12324d4c5cfea798fbfb43592c07 */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_IntlIterator_current, 0, 0, IS_MIXED, 0) ZEND_END_ARG_INFO() @@ -31,6 +31,151 @@ static const zend_function_entry class_IntlIterator_methods[] = { ZEND_FE_END }; +static void register_common_symbols(int module_number) +{ + REGISTER_LONG_CONSTANT("U_USING_FALLBACK_WARNING", U_USING_FALLBACK_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ERROR_WARNING_START", U_ERROR_WARNING_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_USING_DEFAULT_WARNING", U_USING_DEFAULT_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_SAFECLONE_ALLOCATED_WARNING", U_SAFECLONE_ALLOCATED_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STATE_OLD_WARNING", U_STATE_OLD_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRING_NOT_TERMINATED_WARNING", U_STRING_NOT_TERMINATED_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_SORT_KEY_TOO_SHORT_WARNING", U_SORT_KEY_TOO_SHORT_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_AMBIGUOUS_ALIAS_WARNING", U_AMBIGUOUS_ALIAS_WARNING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_DIFFERENT_UCA_VERSION", U_DIFFERENT_UCA_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ERROR_WARNING_LIMIT", U_ERROR_WARNING_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ZERO_ERROR", U_ZERO_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_ARGUMENT_ERROR", U_ILLEGAL_ARGUMENT_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISSING_RESOURCE_ERROR", U_MISSING_RESOURCE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_FORMAT_ERROR", U_INVALID_FORMAT_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_FILE_ACCESS_ERROR", U_FILE_ACCESS_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INTERNAL_PROGRAM_ERROR", U_INTERNAL_PROGRAM_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MESSAGE_PARSE_ERROR", U_MESSAGE_PARSE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MEMORY_ALLOCATION_ERROR", U_MEMORY_ALLOCATION_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INDEX_OUTOFBOUNDS_ERROR", U_INDEX_OUTOFBOUNDS_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PARSE_ERROR", U_PARSE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_CHAR_FOUND", U_INVALID_CHAR_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_TRUNCATED_CHAR_FOUND", U_TRUNCATED_CHAR_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_CHAR_FOUND", U_ILLEGAL_CHAR_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_TABLE_FORMAT", U_INVALID_TABLE_FORMAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_TABLE_FILE", U_INVALID_TABLE_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BUFFER_OVERFLOW_ERROR", U_BUFFER_OVERFLOW_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ERROR", U_UNSUPPORTED_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_RESOURCE_TYPE_MISMATCH", U_RESOURCE_TYPE_MISMATCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_ESCAPE_SEQUENCE", U_ILLEGAL_ESCAPE_SEQUENCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ESCAPE_SEQUENCE", U_UNSUPPORTED_ESCAPE_SEQUENCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_NO_SPACE_AVAILABLE", U_NO_SPACE_AVAILABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_CE_NOT_FOUND_ERROR", U_CE_NOT_FOUND_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PRIMARY_TOO_LONG_ERROR", U_PRIMARY_TOO_LONG_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STATE_TOO_OLD_ERROR", U_STATE_TOO_OLD_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_TOO_MANY_ALIASES_ERROR", U_TOO_MANY_ALIASES_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ENUM_OUT_OF_SYNC_ERROR", U_ENUM_OUT_OF_SYNC_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVARIANT_CONVERSION_ERROR", U_INVARIANT_CONVERSION_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_STATE_ERROR", U_INVALID_STATE_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_COLLATOR_VERSION_MISMATCH", U_COLLATOR_VERSION_MISMATCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_USELESS_COLLATOR_ERROR", U_USELESS_COLLATOR_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_NO_WRITE_PERMISSION", U_NO_WRITE_PERMISSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STANDARD_ERROR_LIMIT", U_STANDARD_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BAD_VARIABLE_DEFINITION", U_BAD_VARIABLE_DEFINITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PARSE_ERROR_START", U_PARSE_ERROR_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_RULE", U_MALFORMED_RULE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_SET", U_MALFORMED_SET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_SYMBOL_REFERENCE", U_MALFORMED_SYMBOL_REFERENCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_UNICODE_ESCAPE", U_MALFORMED_UNICODE_ESCAPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_VARIABLE_DEFINITION", U_MALFORMED_VARIABLE_DEFINITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_VARIABLE_REFERENCE", U_MALFORMED_VARIABLE_REFERENCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISMATCHED_SEGMENT_DELIMITERS", U_MISMATCHED_SEGMENT_DELIMITERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_ANCHOR_START", U_MISPLACED_ANCHOR_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_CURSOR_OFFSET", U_MISPLACED_CURSOR_OFFSET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_QUANTIFIER", U_MISPLACED_QUANTIFIER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISSING_OPERATOR", U_MISSING_OPERATOR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISSING_SEGMENT_CLOSE", U_MISSING_SEGMENT_CLOSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_ANTE_CONTEXTS", U_MULTIPLE_ANTE_CONTEXTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_CURSORS", U_MULTIPLE_CURSORS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_POST_CONTEXTS", U_MULTIPLE_POST_CONTEXTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_TRAILING_BACKSLASH", U_TRAILING_BACKSLASH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNDEFINED_SEGMENT_REFERENCE", U_UNDEFINED_SEGMENT_REFERENCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNDEFINED_VARIABLE", U_UNDEFINED_VARIABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNQUOTED_SPECIAL", U_UNQUOTED_SPECIAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNTERMINATED_QUOTE", U_UNTERMINATED_QUOTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_RULE_MASK_ERROR", U_RULE_MASK_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_COMPOUND_FILTER", U_MISPLACED_COMPOUND_FILTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_COMPOUND_FILTERS", U_MULTIPLE_COMPOUND_FILTERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_RBT_SYNTAX", U_INVALID_RBT_SYNTAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_PROPERTY_PATTERN", U_INVALID_PROPERTY_PATTERN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_PRAGMA", U_MALFORMED_PRAGMA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNCLOSED_SEGMENT", U_UNCLOSED_SEGMENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_CHAR_IN_SEGMENT", U_ILLEGAL_CHAR_IN_SEGMENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_VARIABLE_RANGE_EXHAUSTED", U_VARIABLE_RANGE_EXHAUSTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_VARIABLE_RANGE_OVERLAP", U_VARIABLE_RANGE_OVERLAP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_CHARACTER", U_ILLEGAL_CHARACTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INTERNAL_TRANSLITERATOR_ERROR", U_INTERNAL_TRANSLITERATOR_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_ID", U_INVALID_ID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_FUNCTION", U_INVALID_FUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PARSE_ERROR_LIMIT", U_PARSE_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNEXPECTED_TOKEN", U_UNEXPECTED_TOKEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_FMT_PARSE_ERROR_START", U_FMT_PARSE_ERROR_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_DECIMAL_SEPARATORS", U_MULTIPLE_DECIMAL_SEPARATORS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_DECIMAL_SEPERATORS", U_MULTIPLE_DECIMAL_SEPERATORS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_EXPONENTIAL_SYMBOLS", U_MULTIPLE_EXPONENTIAL_SYMBOLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_EXPONENTIAL_PATTERN", U_MALFORMED_EXPONENTIAL_PATTERN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_PERCENT_SYMBOLS", U_MULTIPLE_PERCENT_SYMBOLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_PERMILL_SYMBOLS", U_MULTIPLE_PERMILL_SYMBOLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_PAD_SPECIFIERS", U_MULTIPLE_PAD_SPECIFIERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PATTERN_SYNTAX_ERROR", U_PATTERN_SYNTAX_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_PAD_POSITION", U_ILLEGAL_PAD_POSITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNMATCHED_BRACES", U_UNMATCHED_BRACES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_PROPERTY", U_UNSUPPORTED_PROPERTY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ATTRIBUTE", U_UNSUPPORTED_ATTRIBUTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_FMT_PARSE_ERROR_LIMIT", U_FMT_PARSE_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_INTERNAL_ERROR", U_BRK_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_ERROR_START", U_BRK_ERROR_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_HEX_DIGITS_EXPECTED", U_BRK_HEX_DIGITS_EXPECTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_SEMICOLON_EXPECTED", U_BRK_SEMICOLON_EXPECTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_RULE_SYNTAX", U_BRK_RULE_SYNTAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_UNCLOSED_SET", U_BRK_UNCLOSED_SET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_ASSIGN_ERROR", U_BRK_ASSIGN_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_VARIABLE_REDFINITION", U_BRK_VARIABLE_REDFINITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_MISMATCHED_PAREN", U_BRK_MISMATCHED_PAREN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_NEW_LINE_IN_QUOTED_STRING", U_BRK_NEW_LINE_IN_QUOTED_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_UNDEFINED_VARIABLE", U_BRK_UNDEFINED_VARIABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_INIT_ERROR", U_BRK_INIT_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_RULE_EMPTY_SET", U_BRK_RULE_EMPTY_SET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_UNRECOGNIZED_OPTION", U_BRK_UNRECOGNIZED_OPTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_MALFORMED_RULE_TAG", U_BRK_MALFORMED_RULE_TAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_ERROR_LIMIT", U_BRK_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INTERNAL_ERROR", U_REGEX_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_ERROR_START", U_REGEX_ERROR_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_RULE_SYNTAX", U_REGEX_RULE_SYNTAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INVALID_STATE", U_REGEX_INVALID_STATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_BAD_ESCAPE_SEQUENCE", U_REGEX_BAD_ESCAPE_SEQUENCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_PROPERTY_SYNTAX", U_REGEX_PROPERTY_SYNTAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_UNIMPLEMENTED", U_REGEX_UNIMPLEMENTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_MISMATCHED_PAREN", U_REGEX_MISMATCHED_PAREN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_NUMBER_TOO_BIG", U_REGEX_NUMBER_TOO_BIG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_BAD_INTERVAL", U_REGEX_BAD_INTERVAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_MAX_LT_MIN", U_REGEX_MAX_LT_MIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INVALID_BACK_REF", U_REGEX_INVALID_BACK_REF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INVALID_FLAG", U_REGEX_INVALID_FLAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_LOOK_BEHIND_LIMIT", U_REGEX_LOOK_BEHIND_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_SET_CONTAINS_STRING", U_REGEX_SET_CONTAINS_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_ERROR_LIMIT", U_REGEX_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_PROHIBITED_ERROR", U_IDNA_PROHIBITED_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ERROR_START", U_IDNA_ERROR_START, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_UNASSIGNED_ERROR", U_IDNA_UNASSIGNED_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_CHECK_BIDI_ERROR", U_IDNA_CHECK_BIDI_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_STD3_ASCII_RULES_ERROR", U_IDNA_STD3_ASCII_RULES_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ACE_PREFIX_ERROR", U_IDNA_ACE_PREFIX_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_VERIFICATION_ERROR", U_IDNA_VERIFICATION_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_LABEL_TOO_LONG_ERROR", U_IDNA_LABEL_TOO_LONG_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ZERO_LENGTH_LABEL_ERROR", U_IDNA_ZERO_LENGTH_LABEL_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR", U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ERROR_LIMIT", U_IDNA_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRINGPREP_PROHIBITED_ERROR", U_STRINGPREP_PROHIBITED_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRINGPREP_UNASSIGNED_ERROR", U_STRINGPREP_UNASSIGNED_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRINGPREP_CHECK_BIDI_ERROR", U_STRINGPREP_CHECK_BIDI_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ERROR_LIMIT", U_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); +} + static zend_class_entry *register_class_IntlIterator(zend_class_entry *class_entry_Iterator) { zend_class_entry ce, *class_entry; diff --git a/ext/intl/common/common_enum.cpp b/ext/intl/common/common_enum.cpp index a6eead5e25cb1..e0ddce7bfa5b0 100644 --- a/ext/intl/common/common_enum.cpp +++ b/ext/intl/common/common_enum.cpp @@ -282,10 +282,7 @@ PHP_METHOD(IntlIterator, valid) RETURN_BOOL(ii->iterator->funcs->valid(ii->iterator) == SUCCESS); } -/* {{{ intl_register_IntlIterator_class - * Initialize 'IntlIterator' class - */ -U_CFUNC void intl_register_IntlIterator_class(void) +U_CFUNC void intl_register_common_symbols(int module_number) { /* Create and register 'IntlIterator' class. */ IntlIterator_ce_ptr = register_class_IntlIterator(zend_ce_iterator); @@ -298,4 +295,5 @@ U_CFUNC void intl_register_IntlIterator_class(void) IntlIterator_handlers.clone_obj = NULL; IntlIterator_handlers.free_obj = IntlIterator_objects_free; + register_common_symbols(module_number); } diff --git a/ext/intl/common/common_enum.h b/ext/intl/common/common_enum.h index 6a329bb446508..ebe5cbfbfa3b8 100644 --- a/ext/intl/common/common_enum.h +++ b/ext/intl/common/common_enum.h @@ -77,6 +77,6 @@ using icu::StringEnumeration; U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object); #endif -U_CFUNC void intl_register_IntlIterator_class(void); +U_CFUNC void intl_register_common_symbols(int module_number); #endif // INTL_COMMON_ENUM_H diff --git a/ext/intl/common/common_error.c b/ext/intl/common/common_error.c index a7281e86d2e91..1e2c3d9527bbc 100644 --- a/ext/intl/common/common_error.c +++ b/ext/intl/common/common_error.c @@ -19,7 +19,6 @@ #include "php_intl.h" #include "intl_error.h" -#include "common_error.h" /* {{{ Get code of the last occurred error. */ PHP_FUNCTION( intl_get_error_code ) @@ -79,172 +78,3 @@ PHP_FUNCTION( intl_error_name ) RETURN_STRING( (char*)u_errorName( err_code ) ); } /* }}} */ - -/* {{{ intl_expose_icu_error_codes - * Expose ICU error codes - */ -void intl_expose_icu_error_codes( INIT_FUNC_ARGS ) -{ - #define INTL_EXPOSE_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_PERSISTENT | CONST_CS) - - /* Warnings */ - INTL_EXPOSE_CONST( U_USING_FALLBACK_WARNING ); - INTL_EXPOSE_CONST( U_ERROR_WARNING_START ); - INTL_EXPOSE_CONST( U_USING_DEFAULT_WARNING ); - INTL_EXPOSE_CONST( U_SAFECLONE_ALLOCATED_WARNING ); - INTL_EXPOSE_CONST( U_STATE_OLD_WARNING ); - INTL_EXPOSE_CONST( U_STRING_NOT_TERMINATED_WARNING ); - INTL_EXPOSE_CONST( U_SORT_KEY_TOO_SHORT_WARNING ); - INTL_EXPOSE_CONST( U_AMBIGUOUS_ALIAS_WARNING ); - INTL_EXPOSE_CONST( U_DIFFERENT_UCA_VERSION ); - INTL_EXPOSE_CONST( U_ERROR_WARNING_LIMIT ); - - /* Standard errors */ - INTL_EXPOSE_CONST( U_ZERO_ERROR ); - INTL_EXPOSE_CONST( U_ILLEGAL_ARGUMENT_ERROR ); - INTL_EXPOSE_CONST( U_MISSING_RESOURCE_ERROR ); - INTL_EXPOSE_CONST( U_INVALID_FORMAT_ERROR ); - INTL_EXPOSE_CONST( U_FILE_ACCESS_ERROR ); - INTL_EXPOSE_CONST( U_INTERNAL_PROGRAM_ERROR ); - INTL_EXPOSE_CONST( U_MESSAGE_PARSE_ERROR ); - INTL_EXPOSE_CONST( U_MEMORY_ALLOCATION_ERROR ); - INTL_EXPOSE_CONST( U_INDEX_OUTOFBOUNDS_ERROR ); - INTL_EXPOSE_CONST( U_PARSE_ERROR ); - INTL_EXPOSE_CONST( U_INVALID_CHAR_FOUND ); - INTL_EXPOSE_CONST( U_TRUNCATED_CHAR_FOUND ); - INTL_EXPOSE_CONST( U_ILLEGAL_CHAR_FOUND ); - INTL_EXPOSE_CONST( U_INVALID_TABLE_FORMAT ); - INTL_EXPOSE_CONST( U_INVALID_TABLE_FILE ); - INTL_EXPOSE_CONST( U_BUFFER_OVERFLOW_ERROR ); - INTL_EXPOSE_CONST( U_UNSUPPORTED_ERROR ); - INTL_EXPOSE_CONST( U_RESOURCE_TYPE_MISMATCH ); - INTL_EXPOSE_CONST( U_ILLEGAL_ESCAPE_SEQUENCE ); - INTL_EXPOSE_CONST( U_UNSUPPORTED_ESCAPE_SEQUENCE ); - INTL_EXPOSE_CONST( U_NO_SPACE_AVAILABLE ); - INTL_EXPOSE_CONST( U_CE_NOT_FOUND_ERROR ); - INTL_EXPOSE_CONST( U_PRIMARY_TOO_LONG_ERROR ); - INTL_EXPOSE_CONST( U_STATE_TOO_OLD_ERROR ); - INTL_EXPOSE_CONST( U_TOO_MANY_ALIASES_ERROR ); - INTL_EXPOSE_CONST( U_ENUM_OUT_OF_SYNC_ERROR ); - INTL_EXPOSE_CONST( U_INVARIANT_CONVERSION_ERROR ); - INTL_EXPOSE_CONST( U_INVALID_STATE_ERROR ); - INTL_EXPOSE_CONST( U_COLLATOR_VERSION_MISMATCH ); - INTL_EXPOSE_CONST( U_USELESS_COLLATOR_ERROR ); - INTL_EXPOSE_CONST( U_NO_WRITE_PERMISSION ); - INTL_EXPOSE_CONST( U_STANDARD_ERROR_LIMIT ); - - /* The error code range 0x10000 0x10100 are reserved for Transliterator */ - INTL_EXPOSE_CONST( U_BAD_VARIABLE_DEFINITION ); - INTL_EXPOSE_CONST( U_PARSE_ERROR_START ); - INTL_EXPOSE_CONST( U_MALFORMED_RULE ); - INTL_EXPOSE_CONST( U_MALFORMED_SET ); - INTL_EXPOSE_CONST( U_MALFORMED_SYMBOL_REFERENCE ); - INTL_EXPOSE_CONST( U_MALFORMED_UNICODE_ESCAPE ); - INTL_EXPOSE_CONST( U_MALFORMED_VARIABLE_DEFINITION ); - INTL_EXPOSE_CONST( U_MALFORMED_VARIABLE_REFERENCE ); - INTL_EXPOSE_CONST( U_MISMATCHED_SEGMENT_DELIMITERS ); - INTL_EXPOSE_CONST( U_MISPLACED_ANCHOR_START ); - INTL_EXPOSE_CONST( U_MISPLACED_CURSOR_OFFSET ); - INTL_EXPOSE_CONST( U_MISPLACED_QUANTIFIER ); - INTL_EXPOSE_CONST( U_MISSING_OPERATOR ); - INTL_EXPOSE_CONST( U_MISSING_SEGMENT_CLOSE ); - INTL_EXPOSE_CONST( U_MULTIPLE_ANTE_CONTEXTS ); - INTL_EXPOSE_CONST( U_MULTIPLE_CURSORS ); - INTL_EXPOSE_CONST( U_MULTIPLE_POST_CONTEXTS ); - INTL_EXPOSE_CONST( U_TRAILING_BACKSLASH ); - INTL_EXPOSE_CONST( U_UNDEFINED_SEGMENT_REFERENCE ); - INTL_EXPOSE_CONST( U_UNDEFINED_VARIABLE ); - INTL_EXPOSE_CONST( U_UNQUOTED_SPECIAL ); - INTL_EXPOSE_CONST( U_UNTERMINATED_QUOTE ); - INTL_EXPOSE_CONST( U_RULE_MASK_ERROR ); - INTL_EXPOSE_CONST( U_MISPLACED_COMPOUND_FILTER ); - INTL_EXPOSE_CONST( U_MULTIPLE_COMPOUND_FILTERS ); - INTL_EXPOSE_CONST( U_INVALID_RBT_SYNTAX ); - INTL_EXPOSE_CONST( U_INVALID_PROPERTY_PATTERN ); - INTL_EXPOSE_CONST( U_MALFORMED_PRAGMA ); - INTL_EXPOSE_CONST( U_UNCLOSED_SEGMENT ); - INTL_EXPOSE_CONST( U_ILLEGAL_CHAR_IN_SEGMENT ); - INTL_EXPOSE_CONST( U_VARIABLE_RANGE_EXHAUSTED ); - INTL_EXPOSE_CONST( U_VARIABLE_RANGE_OVERLAP ); - INTL_EXPOSE_CONST( U_ILLEGAL_CHARACTER ); - INTL_EXPOSE_CONST( U_INTERNAL_TRANSLITERATOR_ERROR ); - INTL_EXPOSE_CONST( U_INVALID_ID ); - INTL_EXPOSE_CONST( U_INVALID_FUNCTION ); - INTL_EXPOSE_CONST( U_PARSE_ERROR_LIMIT ); - - /* The error code range 0x10100 0x10200 are reserved for formatting API parsing error */ - INTL_EXPOSE_CONST( U_UNEXPECTED_TOKEN ); - INTL_EXPOSE_CONST( U_FMT_PARSE_ERROR_START ); - INTL_EXPOSE_CONST( U_MULTIPLE_DECIMAL_SEPARATORS ); - INTL_EXPOSE_CONST( U_MULTIPLE_DECIMAL_SEPERATORS ); /* Typo: kept for backward compatibility. Use U_MULTIPLE_DECIMAL_SEPARATORS */ - INTL_EXPOSE_CONST( U_MULTIPLE_EXPONENTIAL_SYMBOLS ); - INTL_EXPOSE_CONST( U_MALFORMED_EXPONENTIAL_PATTERN ); - INTL_EXPOSE_CONST( U_MULTIPLE_PERCENT_SYMBOLS ); - INTL_EXPOSE_CONST( U_MULTIPLE_PERMILL_SYMBOLS ); - INTL_EXPOSE_CONST( U_MULTIPLE_PAD_SPECIFIERS ); - INTL_EXPOSE_CONST( U_PATTERN_SYNTAX_ERROR ); - INTL_EXPOSE_CONST( U_ILLEGAL_PAD_POSITION ); - INTL_EXPOSE_CONST( U_UNMATCHED_BRACES ); - INTL_EXPOSE_CONST( U_UNSUPPORTED_PROPERTY ); - INTL_EXPOSE_CONST( U_UNSUPPORTED_ATTRIBUTE ); - INTL_EXPOSE_CONST( U_FMT_PARSE_ERROR_LIMIT ); - - /* The error code range 0x10200 0x102ff are reserved for Break Iterator related error */ - INTL_EXPOSE_CONST( U_BRK_INTERNAL_ERROR ); - INTL_EXPOSE_CONST( U_BRK_ERROR_START ); - INTL_EXPOSE_CONST( U_BRK_HEX_DIGITS_EXPECTED ); - INTL_EXPOSE_CONST( U_BRK_SEMICOLON_EXPECTED ); - INTL_EXPOSE_CONST( U_BRK_RULE_SYNTAX ); - INTL_EXPOSE_CONST( U_BRK_UNCLOSED_SET ); - INTL_EXPOSE_CONST( U_BRK_ASSIGN_ERROR ); - INTL_EXPOSE_CONST( U_BRK_VARIABLE_REDFINITION ); - INTL_EXPOSE_CONST( U_BRK_MISMATCHED_PAREN ); - INTL_EXPOSE_CONST( U_BRK_NEW_LINE_IN_QUOTED_STRING ); - INTL_EXPOSE_CONST( U_BRK_UNDEFINED_VARIABLE ); - INTL_EXPOSE_CONST( U_BRK_INIT_ERROR ); - INTL_EXPOSE_CONST( U_BRK_RULE_EMPTY_SET ); - INTL_EXPOSE_CONST( U_BRK_UNRECOGNIZED_OPTION ); - INTL_EXPOSE_CONST( U_BRK_MALFORMED_RULE_TAG ); - INTL_EXPOSE_CONST( U_BRK_ERROR_LIMIT ); - - /* The error codes in the range 0x10300-0x103ff are reserved for regular expression related errrs */ - INTL_EXPOSE_CONST( U_REGEX_INTERNAL_ERROR ); - INTL_EXPOSE_CONST( U_REGEX_ERROR_START ); - INTL_EXPOSE_CONST( U_REGEX_RULE_SYNTAX ); - INTL_EXPOSE_CONST( U_REGEX_INVALID_STATE ); - INTL_EXPOSE_CONST( U_REGEX_BAD_ESCAPE_SEQUENCE ); - INTL_EXPOSE_CONST( U_REGEX_PROPERTY_SYNTAX ); - INTL_EXPOSE_CONST( U_REGEX_UNIMPLEMENTED ); - INTL_EXPOSE_CONST( U_REGEX_MISMATCHED_PAREN ); - INTL_EXPOSE_CONST( U_REGEX_NUMBER_TOO_BIG ); - INTL_EXPOSE_CONST( U_REGEX_BAD_INTERVAL ); - INTL_EXPOSE_CONST( U_REGEX_MAX_LT_MIN ); - INTL_EXPOSE_CONST( U_REGEX_INVALID_BACK_REF ); - INTL_EXPOSE_CONST( U_REGEX_INVALID_FLAG ); - INTL_EXPOSE_CONST( U_REGEX_LOOK_BEHIND_LIMIT ); - INTL_EXPOSE_CONST( U_REGEX_SET_CONTAINS_STRING ); - INTL_EXPOSE_CONST( U_REGEX_ERROR_LIMIT ); - - /* The error code in the range 0x10400-0x104ff are reserved for IDNA related error codes */ - INTL_EXPOSE_CONST( U_IDNA_PROHIBITED_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_ERROR_START ); - INTL_EXPOSE_CONST( U_IDNA_UNASSIGNED_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_CHECK_BIDI_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_STD3_ASCII_RULES_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_ACE_PREFIX_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_VERIFICATION_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_LABEL_TOO_LONG_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_ZERO_LENGTH_LABEL_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR ); - INTL_EXPOSE_CONST( U_IDNA_ERROR_LIMIT ); - - /* Aliases for StringPrep */ - INTL_EXPOSE_CONST( U_STRINGPREP_PROHIBITED_ERROR ); - INTL_EXPOSE_CONST( U_STRINGPREP_UNASSIGNED_ERROR ); - INTL_EXPOSE_CONST( U_STRINGPREP_CHECK_BIDI_ERROR ); - - INTL_EXPOSE_CONST( U_ERROR_LIMIT ); - - #undef INTL_EXPOSE_CONST -} -/* }}} */ diff --git a/ext/intl/common/common_error.h b/ext/intl/common/common_error.h deleted file mode 100644 index 44caa0760870e..0000000000000 --- a/ext/intl/common/common_error.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | https://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Vadim Savchuk | - | Dmitry Lakhtyuk | - +----------------------------------------------------------------------+ - */ - -#ifndef INTL_COMMON_ERROR_H -#define INTL_COMMON_ERROR_H - -#include - -void intl_expose_icu_error_codes( INIT_FUNC_ARGS ); - -#endif // INTL_COMMON_ERROR_H diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index df4d686ea5a87..398fd1ee545ab 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -63,7 +63,6 @@ # include "spoofchecker/spoofchecker_class.h" -#include "common/common_error.h" #include "common/common_enum.h" #include @@ -182,9 +181,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'IntlCalendar' PHP class */ calendar_register_IntlCalendar_class( ); - /* Expose ICU error codes to PHP scripts. */ - intl_expose_icu_error_codes( INIT_FUNC_ARGS_PASSTHRU ); - /* Expose IDN constants to PHP scripts. */ idn_register_constants(INIT_FUNC_ARGS_PASSTHRU); @@ -195,8 +191,8 @@ PHP_MINIT_FUNCTION( intl ) IntlException_ce_ptr = register_class_IntlException(zend_ce_exception); IntlException_ce_ptr->create_object = zend_ce_exception->create_object; - /* Register 'IntlIterator' PHP class */ - intl_register_IntlIterator_class( ); + /* Register common symbols and classes */ + intl_register_common_symbols(module_number); /* Register 'BreakIterator' class */ breakiterator_register_BreakIterator_class( ); From 51eb1d4f6c47e4c09105c788e9c74ad419824c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sun, 21 Aug 2022 18:04:33 +0200 Subject: [PATCH 106/229] Fix curl/sync_constants.php (#9391) --- ext/curl/interface.c | 2 - ext/curl/sync-constants.php | 146 +++++++++++++++++++----------------- 2 files changed, 76 insertions(+), 72 deletions(-) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index e698c7be2cd97..66f19f0def72a 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -367,8 +367,6 @@ PHP_MINFO_FUNCTION(curl) } /* }}} */ -#define REGISTER_CURL_CONSTANT(__c) REGISTER_LONG_CONSTANT(#__c, __c, CONST_CS | CONST_PERSISTENT) - /* {{{ PHP_MINIT_FUNCTION */ PHP_MINIT_FUNCTION(curl) { diff --git a/ext/curl/sync-constants.php b/ext/curl/sync-constants.php index 2ed2efb18a24d..caf03aae59cab 100755 --- a/ext/curl/sync-constants.php +++ b/ext/curl/sync-constants.php @@ -10,17 +10,87 @@ const CURL_DOC_FILE = 'https://curl.haxx.se/libcurl/c/symbols-in-versions.html'; -const SOURCE_FILE = __DIR__ . '/interface.c'; +const SOURCE_FILE = __DIR__ . '/curl_arginfo.h'; const MIN_SUPPORTED_CURL_VERSION = '7.29.0'; -const IGNORED_CONSTANTS = [ +const IGNORED_CURL_CONSTANTS = [ 'CURLOPT_PROGRESSDATA', - 'CURLOPT_XFERINFODATA' + 'CURLOPT_XFERINFODATA', +]; + +const IGNORED_PHP_CONSTANTS = [ + 'CURLOPT_BINARYTRANSFER', + 'CURLOPT_RETURNTRANSFER', + 'CURLOPT_SAFE_UPLOAD', ]; const CONSTANTS_REGEX_PATTERN = '~^CURL(?:OPT|_VERSION)_[A-Z0-9_]+$~'; +/** + * A simple helper to create ASCII tables. + * It assumes that the same number of columns is always given to add(). + */ +class AsciiTable +{ + /** + * @var array + */ + private $values = []; + + /** + * @var array + */ + private $length = []; + + /** + * @var int + */ + private $padding = 4; + + /** + * @param string[] $values + * + * @return void + */ + public function add(string ...$values) : void + { + $this->values[] = $values; + + foreach ($values as $key => $value) { + $length = strlen($value); + + if (isset($this->length[$key])) { + $this->length[$key] = max($this->length[$key], $length); + } else { + $this->length[$key] = $length; + } + } + } + + /** + * @return string + */ + public function __toString() : string + { + $result = ''; + + foreach ($this->values as $values) { + foreach ($values as $key => $value) { + if ($key !== 0) { + $result .= str_repeat(' ', $this->padding); + } + + $result .= str_pad($value, $this->length[$key]); + } + + $result .= "\n"; + } + + return $result; + } +} + $curlConstants = getCurlConstants(); $sourceConstants = getSourceConstants(); @@ -161,7 +231,7 @@ function getCurlConstants() : array $deprecated = $match[3] ?? null; $removed = $match[4] ?? null; - if (in_array($name, IGNORED_CONSTANTS, true) || !preg_match(CONSTANTS_REGEX_PATTERN, $name)) { + if (in_array($name, IGNORED_CURL_CONSTANTS, true) || !preg_match(CONSTANTS_REGEX_PATTERN, $name)) { // not a wanted constant continue; } @@ -187,7 +257,7 @@ function getSourceConstants() : array { $source = file_get_contents(SOURCE_FILE); - preg_match_all('/REGISTER_CURL_CONSTANT\(([A-Za-z0-9_]+)\)/', $source, $matches); + preg_match_all('/REGISTER_LONG_CONSTANT\(\"\w+\", (\w+), .+\)/', $source, $matches); $constants = []; @@ -196,7 +266,7 @@ function getSourceConstants() : array continue; } - if (!preg_match(CONSTANTS_REGEX_PATTERN, $name)) { + if (in_array($name, IGNORED_PHP_CONSTANTS, true) || !preg_match(CONSTANTS_REGEX_PATTERN, $name)) { // not a wanted constant continue; } @@ -254,67 +324,3 @@ function getHexVersion(string $version) : string return $hex; } - -/** - * A simple helper to create ASCII tables. - * It assumes that the same number of columns is always given to add(). - */ -class AsciiTable -{ - /** - * @var array - */ - private $values = []; - - /** - * @var array - */ - private $length = []; - - /** - * @var int - */ - private $padding = 4; - - /** - * @param string[] $values - * - * @return void - */ - public function add(string ...$values) : void - { - $this->values[] = $values; - - foreach ($values as $key => $value) { - $length = strlen($value); - - if (isset($this->length[$key])) { - $this->length[$key] = max($this->length[$key], $length); - } else { - $this->length[$key] = $length; - } - } - } - - /** - * @return string - */ - public function __toString() : string - { - $result = ''; - - foreach ($this->values as $values) { - foreach ($values as $key => $value) { - if ($key !== 0) { - $result .= str_repeat(' ', $this->padding); - } - - $result .= str_pad($value, $this->length[$key]); - } - - $result .= "\n"; - } - - return $result; - } -} From 06f86bfc65ee0f000978137fcbd2a2575b904d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sun, 21 Aug 2022 19:05:17 +0200 Subject: [PATCH 107/229] Declare phpdbg constants in stubs (#9392) --- sapi/phpdbg/phpdbg.c | 6 +----- sapi/phpdbg/phpdbg.stub.php | 22 ++++++++++++++++++++++ sapi/phpdbg/phpdbg_arginfo.h | 10 +++++++++- 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 52eed52fbacb4..0540676e0f5f2 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -170,11 +170,7 @@ static PHP_MINIT_FUNCTION(phpdbg) /* {{{ */ zend_execute_ex = phpdbg_execute_ex; - REGISTER_STRINGL_CONSTANT("PHPDBG_VERSION", PHPDBG_VERSION, sizeof(PHPDBG_VERSION)-1, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("PHPDBG_COLOR_PROMPT", PHPDBG_COLOR_PROMPT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHPDBG_COLOR_NOTICE", PHPDBG_COLOR_NOTICE, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHPDBG_COLOR_ERROR", PHPDBG_COLOR_ERROR, CONST_CS|CONST_PERSISTENT); + register_phpdbg_symbols(module_number); return SUCCESS; } /* }}} */ diff --git a/sapi/phpdbg/phpdbg.stub.php b/sapi/phpdbg/phpdbg.stub.php index 40a51d892a166..ad0e42c85c572 100644 --- a/sapi/phpdbg/phpdbg.stub.php +++ b/sapi/phpdbg/phpdbg.stub.php @@ -2,6 +2,28 @@ /** @generate-class-entries */ +/** + * @var string + * @cvalue PHPDBG_VERSION + */ +const PHPDBG_VERSION = UNKNOWN; + +/** + * @var int + * @cvalue PHPDBG_COLOR_PROMPT + */ +const PHPDBG_COLOR_PROMPT = UNKNOWN; +/** + * @var int + * @cvalue PHPDBG_COLOR_NOTICE + */ +const PHPDBG_COLOR_NOTICE = UNKNOWN; +/** + * @var int + * @cvalue PHPDBG_COLOR_ERROR + */ +const PHPDBG_COLOR_ERROR = UNKNOWN; + function phpdbg_break_next(): void {} function phpdbg_break_file(string $file, int $line): void {} diff --git a/sapi/phpdbg/phpdbg_arginfo.h b/sapi/phpdbg/phpdbg_arginfo.h index 043f667459576..8f7ff50f4c3e7 100644 --- a/sapi/phpdbg/phpdbg_arginfo.h +++ b/sapi/phpdbg/phpdbg_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: dc2e5420ea396c6235429c9606875ad2332811cb */ + * Stub hash: 08e29f02953f23bfce6ce04f435227b4e5e61545 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phpdbg_break_next, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO() @@ -71,3 +71,11 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(phpdbg_get_executable, arginfo_phpdbg_get_executable) ZEND_FE_END }; + +static void register_phpdbg_symbols(int module_number) +{ + REGISTER_STRING_CONSTANT("PHPDBG_VERSION", PHPDBG_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHPDBG_COLOR_PROMPT", PHPDBG_COLOR_PROMPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHPDBG_COLOR_NOTICE", PHPDBG_COLOR_NOTICE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHPDBG_COLOR_ERROR", PHPDBG_COLOR_ERROR, CONST_CS | CONST_PERSISTENT); +} From 305892580efc063fb3c2ddfb4c8d254c7d1ffb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Tue, 19 Jul 2022 12:05:10 +0200 Subject: [PATCH 108/229] Fix pdo_oci tests for PHP 8.0 --- ext/pdo/tests/bug_73234.phpt | 5 ++ ext/pdo/tests/gh8626.phpt | 5 ++ ...i_stream_2a.phpt => pdo_oci_stream_2.phpt} | 53 +++++++++++++- ext/pdo_oci/tests/pdo_oci_stream_2b.phpt | 70 ------------------- 4 files changed, 62 insertions(+), 71 deletions(-) rename ext/pdo_oci/tests/{pdo_oci_stream_2a.phpt => pdo_oci_stream_2.phpt} (60%) delete mode 100644 ext/pdo_oci/tests/pdo_oci_stream_2b.phpt diff --git a/ext/pdo/tests/bug_73234.phpt b/ext/pdo/tests/bug_73234.phpt index 451cc4849c42a..e3e3c0b2b8090 100644 --- a/ext/pdo/tests/bug_73234.phpt +++ b/ext/pdo/tests/bug_73234.phpt @@ -7,6 +7,11 @@ $dir = getenv('REDIR_TEST_DIR'); if (false == $dir) die('skip no driver'); require_once $dir . 'pdo_test.inc'; PDOTest::skip(); + +$db = PDOTest::factory(); +if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'oci') { + die("xfail PDO::PARAM_NULL is not honored by OCI driver, related with bug #81586"); +} ?> --FILE-- getAttribute(PDO::ATTR_DRIVER_NAME) == 'oci') { + die("xfail OCI driver errorInfo is inconsistent with other PDO drivers"); +} ?> --FILE-- exec("drop table pdo_oci_stream_2"); +$db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); // Let's use streams + +// Since each column only has one lob descriptor, the last row is +// shown twice because the lob descriptor for each column is reused in +// the stream + +$i = 0; +$j = 9; +$a_val = ord('a'); +foreach($db->query("select data1 as d4_1, data2 as d4_2 from pdo_oci_stream_2 order by id") as $row) { + $a = $row['d4_1']; + $a1 = $row['d4_2']; + + $str1 = stream_get_contents($a); + $str2 = stream_get_contents($a1); + + $str1len = strlen($str1); + $str2len = strlen($str2); + + $b = ord($str1[0]); + $b1 = ord($str2[0]); + + if (($b != ($a_val + $i)) && ($str1len != (4086 + $i)) && + ($b1 != ($a_val + $j)) && ($str2len != (4086 + $j))) { + printf("There is a bug!\n"); + printf("Col1:\n"); + printf("a_val = %d\n", $a_val); + printf("b = %d\n", $b); + printf("i = %d\n", $i); + printf("str1len = %d\n", $str1len); + + printf("Col2:\n"); + printf("a_val = %d\n", $a_val); + printf("b1 = %d\n", $b1); + printf("j = %d\n", $j); + printf("str2len = %d\n", $str1len); + + } + $i++; + if ($i>9) + $i = 0; + $j--; + if ($j<0) + $j = 9; +} +echo "Fetch operation done!\n"; + +/* Cleanup */ +$db->exec("drop table pdo_oci_stream_2"); + ?> --EXPECT-- Inserting 1000 Records ... Done +Fetch operation done! diff --git a/ext/pdo_oci/tests/pdo_oci_stream_2b.phpt b/ext/pdo_oci/tests/pdo_oci_stream_2b.phpt deleted file mode 100644 index de09c4872883b..0000000000000 --- a/ext/pdo_oci/tests/pdo_oci_stream_2b.phpt +++ /dev/null @@ -1,70 +0,0 @@ ---TEST-- -PDO OCI: Fetches 1K records from a table that contains 1 number and 2 LOB columns (stress test) ---SKIPIF-- - ---FILE-- -setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); // Let's use streams - -// Since each column only has one lob descriptor, the last row is -// shown twice because the lob descriptor for each column is reused in -// the stream - -$i = 0; -$j = 9; -$a_val = ord('a'); -foreach($db->query("select data1 as d4_1, data2 as d4_2 from pdo_oci_stream_2 order by id") as $row) { - $a = $row['d4_1']; - $a1 = $row['d4_2']; - - $str1 = stream_get_contents($a); - $str2 = stream_get_contents($a1); - - $str1len = strlen($str1); - $str2len = strlen($str2); - - $b = ord($str1[0]); - $b1 = ord($str2[0]); - - if (($b != ($a_val + $i)) && ($str1len != (4086 + $i)) && - ($b1 != ($a_val + $j)) && ($str2len != (4086 + $j))) { - printf("There is a bug!\n"); - printf("Col1:\n"); - printf("a_val = %d\n", $a_val); - printf("b = %d\n", $b); - printf("i = %d\n", $i); - printf("str1len = %d\n", $str1len); - - printf("Col2:\n"); - printf("a_val = %d\n", $a_val); - printf("b1 = %d\n", $b1); - printf("j = %d\n", $j); - printf("str2len = %d\n", $str1len); - - } - $i++; - if ($i>9) - $i = 0; - $j--; - if ($j<0) - $j = 9; -} -echo "Fetch operation done!\n"; - -/* Cleanup */ -$db->exec("drop table pdo_oci_stream_2"); - -?> ---EXPECT-- -Fetch operation done! From bb341210f53b7597a8a4821efdee9ce59810f2ed Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 19 Aug 2022 16:26:26 +0200 Subject: [PATCH 109/229] Fix GH-9361: Segmentation fault on script exit Using a lot of memory may overflow some `int` calculations; to avoid that we make sure that the operands are promoted to `size_t`. This issue has been analyzed by @chschneider. Closes GH-9379. --- NEWS | 2 ++ Zend/zend_alloc_sizes.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2f93cb9808a1b..21d5d334a4e4c 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) (Tim Starling) + . Fixed bug GH-9361 (Segmentation fault on script exit #9379). (cmb, + Christian Schneider) - DOM: . Fixed bug #79451 (DOMDocument->replaceChild on doctype causes double free). diff --git a/Zend/zend_alloc_sizes.h b/Zend/zend_alloc_sizes.h index 9f1c00eaad568..502b982a50522 100644 --- a/Zend/zend_alloc_sizes.h +++ b/Zend/zend_alloc_sizes.h @@ -19,7 +19,7 @@ #ifndef ZEND_ALLOC_SIZES_H #define ZEND_ALLOC_SIZES_H -#define ZEND_MM_CHUNK_SIZE (2 * 1024 * 1024) /* 2 MB */ +#define ZEND_MM_CHUNK_SIZE ((size_t) (2 * 1024 * 1024)) /* 2 MB */ #define ZEND_MM_PAGE_SIZE (4 * 1024) /* 4 KB */ #define ZEND_MM_PAGES (ZEND_MM_CHUNK_SIZE / ZEND_MM_PAGE_SIZE) /* 512 */ #define ZEND_MM_FIRST_PAGE (1) From 66c4ade0fef36b266f283901285a1b62a8b5717c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 22 Aug 2022 13:20:26 +0200 Subject: [PATCH 110/229] Declare ext/intl constants in stubs - part 14 (#9387) --- ext/intl/grapheme/grapheme.h | 7 +- ext/intl/grapheme/grapheme_string.c | 18 ---- ext/intl/idn/idn.c | 60 +----------- ext/intl/idn/idn.h | 4 +- ext/intl/php_intl.c | 6 +- ext/intl/php_intl.stub.php | 147 ++++++++++++++++++++++++++++ ext/intl/php_intl_arginfo.h | 26 ++++- 7 files changed, 183 insertions(+), 85 deletions(-) diff --git a/ext/intl/grapheme/grapheme.h b/ext/intl/grapheme/grapheme.h index 0ac477a9c1f2a..003e0d49317a9 100644 --- a/ext/intl/grapheme/grapheme.h +++ b/ext/intl/grapheme/grapheme.h @@ -18,7 +18,12 @@ #include #include -void grapheme_register_constants( INIT_FUNC_ARGS ); void grapheme_close_global_iterator( void ); +#define GRAPHEME_EXTRACT_TYPE_COUNT 0 +#define GRAPHEME_EXTRACT_TYPE_MAXBYTES 1 +#define GRAPHEME_EXTRACT_TYPE_MAXCHARS 2 +#define GRAPHEME_EXTRACT_TYPE_MIN GRAPHEME_EXTRACT_TYPE_COUNT +#define GRAPHEME_EXTRACT_TYPE_MAX GRAPHEME_EXTRACT_TYPE_MAXCHARS + #endif // GRAPHEME_GRAPHEME_H diff --git a/ext/intl/grapheme/grapheme_string.c b/ext/intl/grapheme/grapheme_string.c index 6baf0993e9bfc..29bbdf7ff950c 100644 --- a/ext/intl/grapheme/grapheme_string.c +++ b/ext/intl/grapheme/grapheme_string.c @@ -29,24 +29,6 @@ /* }}} */ -#define GRAPHEME_EXTRACT_TYPE_COUNT 0 -#define GRAPHEME_EXTRACT_TYPE_MAXBYTES 1 -#define GRAPHEME_EXTRACT_TYPE_MAXCHARS 2 -#define GRAPHEME_EXTRACT_TYPE_MIN GRAPHEME_EXTRACT_TYPE_COUNT -#define GRAPHEME_EXTRACT_TYPE_MAX GRAPHEME_EXTRACT_TYPE_MAXCHARS - - -/* {{{ grapheme_register_constants - * Register API constants - */ -void grapheme_register_constants( INIT_FUNC_ARGS ) -{ - REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_COUNT", GRAPHEME_EXTRACT_TYPE_COUNT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXBYTES", GRAPHEME_EXTRACT_TYPE_MAXBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXCHARS", GRAPHEME_EXTRACT_TYPE_MAXCHARS, CONST_CS | CONST_PERSISTENT); -} -/* }}} */ - /* {{{ Get number of graphemes in a string */ PHP_FUNCTION(grapheme_strlen) { diff --git a/ext/intl/idn/idn.c b/ext/intl/idn/idn.c index 7ab0e1daf7c8a..257e0a00ca109 100644 --- a/ext/intl/idn/idn.c +++ b/ext/intl/idn/idn.c @@ -26,69 +26,11 @@ #include #include "ext/standard/php_string.h" +#include "idn.h" #include "intl_error.h" #include "intl_convert.h" /* }}} */ -enum { - INTL_IDN_VARIANT_UTS46 = 1 -}; - -/* {{{ grapheme_register_constants - * Register API constants - */ -void idn_register_constants( INIT_FUNC_ARGS ) -{ - /* OPTIONS */ - - /* Option to prohibit processing of unassigned codepoints in the input and - do not check if the input conforms to STD-3 ASCII rules. */ - REGISTER_LONG_CONSTANT("IDNA_DEFAULT", UIDNA_DEFAULT, CONST_CS | CONST_PERSISTENT); - - /* Option to allow processing of unassigned codepoints in the input */ - REGISTER_LONG_CONSTANT("IDNA_ALLOW_UNASSIGNED", UIDNA_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT); - - /* Option to check if input conforms to STD-3 ASCII rules */ - REGISTER_LONG_CONSTANT("IDNA_USE_STD3_RULES", UIDNA_USE_STD3_RULES, CONST_CS | CONST_PERSISTENT); - - /* Option to check for whether the input conforms to the BiDi rules. - * Ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.) */ - REGISTER_LONG_CONSTANT("IDNA_CHECK_BIDI", UIDNA_CHECK_BIDI, CONST_CS | CONST_PERSISTENT); - - /* Option to check for whether the input conforms to the CONTEXTJ rules. - * Ignored by the IDNA2003 implementation. (The CONTEXTJ check is new in IDNA2008.) */ - REGISTER_LONG_CONSTANT("IDNA_CHECK_CONTEXTJ", UIDNA_CHECK_CONTEXTJ, CONST_CS | CONST_PERSISTENT); - - /* Option for nontransitional processing in ToASCII(). - * By default, ToASCII() uses transitional processing. - * Ignored by the IDNA2003 implementation. */ - REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_ASCII", UIDNA_NONTRANSITIONAL_TO_ASCII, CONST_CS | CONST_PERSISTENT); - - /* Option for nontransitional processing in ToUnicode(). - * By default, ToUnicode() uses transitional processing. - * Ignored by the IDNA2003 implementation. */ - REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_CS | CONST_PERSISTENT); - - /* VARIANTS */ - REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_UTS46", INTL_IDN_VARIANT_UTS46, CONST_CS | CONST_PERSISTENT); - - /* PINFO ERROR CODES */ - REGISTER_LONG_CONSTANT("IDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_DOMAIN_NAME_TOO_LONG", UIDNA_ERROR_DOMAIN_NAME_TOO_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_HYPHEN", UIDNA_ERROR_LEADING_HYPHEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_TRAILING_HYPHEN", UIDNA_ERROR_TRAILING_HYPHEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_HYPHEN_3_4", UIDNA_ERROR_HYPHEN_3_4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_COMBINING_MARK", UIDNA_ERROR_LEADING_COMBINING_MARK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_DISALLOWED", UIDNA_ERROR_DISALLOWED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_PUNYCODE", UIDNA_ERROR_PUNYCODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_HAS_DOT", UIDNA_ERROR_LABEL_HAS_DOT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_BIDI", UIDNA_ERROR_BIDI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ, CONST_CS | CONST_PERSISTENT); -} -/* }}} */ - enum { INTL_IDN_TO_ASCII = 0, INTL_IDN_TO_UTF8 diff --git a/ext/intl/idn/idn.h b/ext/intl/idn/idn.h index c4d2703059e75..596e63f207e00 100644 --- a/ext/intl/idn/idn.h +++ b/ext/intl/idn/idn.h @@ -19,6 +19,8 @@ #include -void idn_register_constants(INIT_FUNC_ARGS); +enum { + INTL_IDN_VARIANT_UTS46 = 1 +}; #endif /* IDN_IDN_H */ diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index 398fd1ee545ab..b12583e35bbd6 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -58,6 +58,7 @@ #include "breakiterator/breakiterator_class.h" #include "breakiterator/breakiterator_iterators.h" +#include #include "idn/idn.h" #include "uchar/uchar.h" @@ -161,8 +162,6 @@ PHP_MINIT_FUNCTION( intl ) msgformat_register_class(); - grapheme_register_constants( INIT_FUNC_ARGS_PASSTHRU ); - /* Register 'DateFormat' PHP class */ dateformat_register_IntlDateFormatter_class( ); @@ -181,9 +180,6 @@ PHP_MINIT_FUNCTION( intl ) /* Register 'IntlCalendar' PHP class */ calendar_register_IntlCalendar_class( ); - /* Expose IDN constants to PHP scripts. */ - idn_register_constants(INIT_FUNC_ARGS_PASSTHRU); - /* Register 'Spoofchecker' PHP class */ spoofchecker_register_Spoofchecker_class( ); diff --git a/ext/intl/php_intl.stub.php b/ext/intl/php_intl.stub.php index 5d1dd192a3e92..c21ad58fa092e 100644 --- a/ext/intl/php_intl.stub.php +++ b/ext/intl/php_intl.stub.php @@ -20,6 +20,153 @@ const INTL_ICU_DATA_VERSION = UNKNOWN; #endif +/** + * @var int + * @cvalue GRAPHEME_EXTRACT_TYPE_COUNT + */ +const GRAPHEME_EXTR_COUNT = UNKNOWN; +/** + * @var int + * @cvalue GRAPHEME_EXTRACT_TYPE_MAXBYTES + */ +const GRAPHEME_EXTR_MAXBYTES = UNKNOWN; +/** + * @var int + * @cvalue GRAPHEME_EXTRACT_TYPE_MAXCHARS + */ +const GRAPHEME_EXTR_MAXCHARS = UNKNOWN; + +/** + * Option to prohibit processing of unassigned codepoints in the input and + * do not check if the input conforms to STD-3 ASCII rules. + * @var int + * @cvalue UIDNA_DEFAULT + */ +const IDNA_DEFAULT = UNKNOWN; + +/** + * Option to allow processing of unassigned codepoints in the input + * @var int + * @cvalue UIDNA_ALLOW_UNASSIGNED + */ +const IDNA_ALLOW_UNASSIGNED = UNKNOWN; + +/** + * Option to check if input conforms to STD-3 ASCII rules + * @var int + * @cvalue UIDNA_USE_STD3_RULES + */ +const IDNA_USE_STD3_RULES = UNKNOWN; + +/** + * Option to check for whether the input conforms to the BiDi rules. + * Ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.) + * @var int + * @cvalue UIDNA_CHECK_BIDI + */ +const IDNA_CHECK_BIDI = UNKNOWN; + +/** + * Option to check for whether the input conforms to the CONTEXTJ rules. + * Ignored by the IDNA2003 implementation. (The CONTEXTJ check is new in IDNA2008.) + * @var int + * @cvalue UIDNA_CHECK_CONTEXTJ + */ +const IDNA_CHECK_CONTEXTJ = UNKNOWN; + +/** + * Option for nontransitional processing in ToASCII(). + * By default, ToASCII() uses transitional processing. + * Ignored by the IDNA2003 implementation. + * @var int + * @cvalue UIDNA_NONTRANSITIONAL_TO_ASCII + */ +const IDNA_NONTRANSITIONAL_TO_ASCII = UNKNOWN; + +/** + * Option for nontransitional processing in ToUnicode(). + * By default, ToUnicode() uses transitional processing. + * Ignored by the IDNA2003 implementation. + * @var int + * @cvalue UIDNA_NONTRANSITIONAL_TO_UNICODE + */ +const IDNA_NONTRANSITIONAL_TO_UNICODE = UNKNOWN; + +/* VARIANTS */ + +/** + * @var int + * @cvalue INTL_IDN_VARIANT_UTS46 + */ +const INTL_IDNA_VARIANT_UTS46 = UNKNOWN; + +/* PINFO ERROR CODES */ +/** + * @var int + * @cvalue UIDNA_ERROR_EMPTY_LABEL + */ +const IDNA_ERROR_EMPTY_LABEL = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_LABEL_TOO_LONG + */ +const IDNA_ERROR_LABEL_TOO_LONG = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_DOMAIN_NAME_TOO_LONG + */ +const IDNA_ERROR_DOMAIN_NAME_TOO_LONG = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_LEADING_HYPHEN + */ +const IDNA_ERROR_LEADING_HYPHEN = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_TRAILING_HYPHEN + */ +const IDNA_ERROR_TRAILING_HYPHEN = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_HYPHEN_3_4 + */ +const IDNA_ERROR_HYPHEN_3_4 = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_LEADING_COMBINING_MARK + */ +const IDNA_ERROR_LEADING_COMBINING_MARK = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_DISALLOWED + */ +const IDNA_ERROR_DISALLOWED = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_PUNYCODE + */ +const IDNA_ERROR_PUNYCODE = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_LABEL_HAS_DOT + */ +const IDNA_ERROR_LABEL_HAS_DOT = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_INVALID_ACE_LABEL + */ +const IDNA_ERROR_INVALID_ACE_LABEL = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_BIDI + */ +const IDNA_ERROR_BIDI = UNKNOWN; +/** + * @var int + * @cvalue UIDNA_ERROR_CONTEXTJ + */ +const IDNA_ERROR_CONTEXTJ = UNKNOWN; + class IntlException extends Exception { } diff --git a/ext/intl/php_intl_arginfo.h b/ext/intl/php_intl_arginfo.h index bbdbb23b300a7..c28c74b9e9664 100644 --- a/ext/intl/php_intl_arginfo.h +++ b/ext/intl/php_intl_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 00c129ef1fe3ff8227fd6926f8702e05582a33a8 */ + * Stub hash: 7008d442eba36e2bc468cc4a7a30eb859d10c07d */ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1) ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timezone, "null") @@ -1178,6 +1178,30 @@ static void register_php_intl_symbols(int module_number) #if defined(U_ICU_DATA_VERSION) REGISTER_STRING_CONSTANT("INTL_ICU_DATA_VERSION", U_ICU_DATA_VERSION, CONST_CS | CONST_PERSISTENT); #endif + REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_COUNT", GRAPHEME_EXTRACT_TYPE_COUNT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXBYTES", GRAPHEME_EXTRACT_TYPE_MAXBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXCHARS", GRAPHEME_EXTRACT_TYPE_MAXCHARS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_DEFAULT", UIDNA_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ALLOW_UNASSIGNED", UIDNA_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_USE_STD3_RULES", UIDNA_USE_STD3_RULES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_CHECK_BIDI", UIDNA_CHECK_BIDI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_CHECK_CONTEXTJ", UIDNA_CHECK_CONTEXTJ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_ASCII", UIDNA_NONTRANSITIONAL_TO_ASCII, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_UTS46", INTL_IDN_VARIANT_UTS46, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_DOMAIN_NAME_TOO_LONG", UIDNA_ERROR_DOMAIN_NAME_TOO_LONG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_HYPHEN", UIDNA_ERROR_LEADING_HYPHEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_TRAILING_HYPHEN", UIDNA_ERROR_TRAILING_HYPHEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_HYPHEN_3_4", UIDNA_ERROR_HYPHEN_3_4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_COMBINING_MARK", UIDNA_ERROR_LEADING_COMBINING_MARK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_DISALLOWED", UIDNA_ERROR_DISALLOWED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_PUNYCODE", UIDNA_ERROR_PUNYCODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_HAS_DOT", UIDNA_ERROR_LABEL_HAS_DOT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_BIDI", UIDNA_ERROR_BIDI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ, CONST_CS | CONST_PERSISTENT); } static zend_class_entry *register_class_IntlException(zend_class_entry *class_entry_Exception) From c9c51eb1f15117517384ba4e1707af326b3a161b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 22 Aug 2022 15:38:41 +0300 Subject: [PATCH 111/229] Tracing JIT: Fix incorrect guard elimination Fixes oss-fuzz #49917 --- ext/opcache/jit/zend_jit_trace.c | 48 ++++++++++++++++++++++++++---- ext/opcache/tests/jit/add_014.phpt | 25 ++++++++++++++++ 2 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 ext/opcache/tests/jit/add_014.phpt diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index 2890f7ebfd75c..47463fc682ca2 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -981,6 +981,9 @@ static int is_checked_guard(const zend_ssa *tssa, const zend_op **ssa_opcodes, u && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_STRING)) { return 0; } + if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { + return 0; + } return 1; } else if (opline->opcode == ZEND_ASSIGN_OP && (opline->extended_value == ZEND_ADD @@ -991,6 +994,17 @@ static int is_checked_guard(const zend_ssa *tssa, const zend_op **ssa_opcodes, u && (tssa->var_info[tssa->ops[idx].op2_use].type & MAY_BE_REF)) { return 0; } + if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { + return 0; + } + if (opline->op2_type == IS_CONST) { + zval *zv = RT_CONSTANT(opline, opline->op2); + if (Z_TYPE_P(zv) != IS_LONG && Z_TYPE_P(zv) != IS_DOUBLE) { + return 0; + } + } else if (!(tssa->var_info[tssa->ops[idx].op2_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { + return 0; + } return 1; } } @@ -998,11 +1012,7 @@ static int is_checked_guard(const zend_ssa *tssa, const zend_op **ssa_opcodes, u const zend_op *opline = ssa_opcodes[idx]; if (opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB - || opline->opcode == ZEND_MUL - || opline->opcode == ZEND_PRE_DEC - || opline->opcode == ZEND_PRE_INC - || opline->opcode == ZEND_POST_DEC - || opline->opcode == ZEND_POST_INC) { + || opline->opcode == ZEND_MUL) { if ((opline->op1_type & (IS_VAR|IS_CV)) && tssa->ops[idx].op1_use >= 0 && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_REF)) { @@ -1013,6 +1023,34 @@ static int is_checked_guard(const zend_ssa *tssa, const zend_op **ssa_opcodes, u && (tssa->var_info[tssa->ops[idx].op2_use].type & MAY_BE_REF)) { return 0; } + if (opline->op1_type == IS_CONST) { + zval *zv = RT_CONSTANT(opline, opline->op1); + if (Z_TYPE_P(zv) != IS_LONG && Z_TYPE_P(zv) != IS_DOUBLE) { + return 0; + } + } else if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { + return 0; + } + if (opline->op2_type == IS_CONST) { + zval *zv = RT_CONSTANT(opline, opline->op2); + if (Z_TYPE_P(zv) != IS_LONG && Z_TYPE_P(zv) != IS_DOUBLE) { + return 0; + } + } else if (!(tssa->var_info[tssa->ops[idx].op2_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { + return 0; + } + } else if (opline->opcode == ZEND_PRE_DEC + || opline->opcode == ZEND_PRE_INC + || opline->opcode == ZEND_POST_DEC + || opline->opcode == ZEND_POST_INC) { + if ((opline->op1_type & (IS_VAR|IS_CV)) + && tssa->ops[idx].op1_use >= 0 + && (tssa->var_info[tssa->ops[idx].op1_use].type & MAY_BE_REF)) { + return 0; + } + if (!(tssa->var_info[tssa->ops[idx].op1_use].type & (MAY_BE_LONG|MAY_BE_DOUBLE))) { + return 0; + } return 1; } } diff --git a/ext/opcache/tests/jit/add_014.phpt b/ext/opcache/tests/jit/add_014.phpt new file mode 100644 index 0000000000000..b7691c770334c --- /dev/null +++ b/ext/opcache/tests/jit/add_014.phpt @@ -0,0 +1,25 @@ +--TEST-- +JIT ADD: 014 incorrect guard elimination +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.file_update_protection=0 +opcache.jit_buffer_size=1M +--FILE-- +> 4 - $j++; + if ($j > 14) break; + } +} +try { + @test(); +} catch (Throwable $e) { + echo $e->getMessage() . "\n"; +} +?> +--EXPECT-- +Bit shift by negative number From d0d6dae8f7f739cdbbe15c1e45a2126eba2ed106 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 22 Aug 2022 15:28:38 +0100 Subject: [PATCH 112/229] Add a new zend API to check that strings don't have NUL bytes (#9375) Co-authored-by: Christoph M. Becker --- UPGRADING.INTERNALS | 3 +++ Zend/zend_API.h | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 162b145fcfa1a..24ed5e9b53862 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -54,6 +54,9 @@ PHP 8.2 INTERNALS UPGRADE NOTES * Registered zend_observer_fcall_init handlers are now also called for internal functions. * The pestrdup and pestrndup macros and zend_strndup function are now also infallible for persistent strings, so checking for NULL is no longer necessary. +* The CHECK_NULL_PATH and CHECK_ZVAL_NULL_PATH macros are now wrappers using + the new inline functions: bool zend_str_has_nul_byte(const zend_string *str) + and zend_char_has_nul_byte(const char *s, size_t known_length) ======================== 2. Build system changes diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 2970299836689..5821a5b5f35bb 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -823,8 +823,18 @@ END_EXTERN_C() #define CHECK_ZVAL_STRING(z) #endif -#define CHECK_ZVAL_NULL_PATH(p) (Z_STRLEN_P(p) != strlen(Z_STRVAL_P(p))) -#define CHECK_NULL_PATH(p, l) (strlen(p) != (size_t)(l)) +static zend_always_inline bool zend_str_has_nul_byte(const zend_string *str) +{ + return ZSTR_LEN(str) != strlen(ZSTR_VAL(str)); +} +static zend_always_inline bool zend_char_has_nul_byte(const char *s, size_t known_length) +{ + return known_length != strlen(s); +} + +/* Compatibility with PHP 8.1 and below */ +#define CHECK_ZVAL_NULL_PATH(p) zend_str_has_nul_byte(Z_STR_P(p)) +#define CHECK_NULL_PATH(p, l) zend_char_has_nul_byte(p, l) #define ZVAL_STRINGL(z, s, l) do { \ ZVAL_NEW_STR(z, zend_string_init(s, l, 0)); \ From e8e015777ef1228d137b036167dd991f420c4669 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 12 Aug 2022 23:04:09 +0100 Subject: [PATCH 113/229] Use bool instead of int in session struct --- ext/session/php_session.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/session/php_session.h b/ext/session/php_session.h index aa4a8209507d4..31b96340e82d6 100644 --- a/ext/session/php_session.h +++ b/ext/session/php_session.h @@ -174,8 +174,8 @@ typedef struct _php_ps_globals { zval ps_update_timestamp; } name; } mod_user_names; - int mod_user_implemented; - int mod_user_is_open; + bool mod_user_implemented; + bool mod_user_is_open; zend_string *mod_user_class_name; const struct ps_serializer_struct *serializer; zval http_session_vars; @@ -186,8 +186,8 @@ typedef struct _php_ps_globals { zend_long sid_length; zend_long sid_bits_per_character; - int send_cookie; - int define_sid; + bool send_cookie; + bool define_sid; php_session_rfc1867_progress *rfc1867_progress; bool rfc1867_enabled; /* session.upload_progress.enabled */ From a75de167bf1eb39c88471c2534d958553de349a3 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 19 Aug 2022 15:32:34 +0100 Subject: [PATCH 114/229] Add test for negative cookie lifetime --- .../session_set_cookie_params_variation8.phpt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 ext/session/tests/session_set_cookie_params_variation8.phpt diff --git a/ext/session/tests/session_set_cookie_params_variation8.phpt b/ext/session/tests/session_set_cookie_params_variation8.phpt new file mode 100644 index 0000000000000..891133b5b01e9 --- /dev/null +++ b/ext/session/tests/session_set_cookie_params_variation8.phpt @@ -0,0 +1,31 @@ +--TEST-- +Test session_set_cookie_params() function : negative and 0 lifetime +--EXTENSIONS-- +session +--SKIPIF-- + +--FILE-- + 0])); +var_dump(ini_get("session.cookie_lifetime")); + +var_dump(ini_get("session.cookie_lifetime")); +var_dump(session_set_cookie_params(["lifetime" => -10])); +var_dump(ini_get("session.cookie_lifetime")); +echo "Done"; +ob_end_flush(); +?> +--EXPECTF-- +string(1) "0" +bool(true) +string(1) "0" +string(1) "0" + +Warning: session_set_cookie_params(): CookieLifetime cannot be negative in %s on line %d +bool(false) +string(1) "0" +Done From e9749a3c1e5e7edf2e74326498513c29507ac60b Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 19 Aug 2022 15:38:33 +0100 Subject: [PATCH 115/229] Remove OnUpdateLazyWrite validator It is identical to the OnUpdateSessionBool one --- ext/session/session.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/ext/session/session.c b/ext/session/session.c index 3a807fd0d9970..dc54712f30b93 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -766,17 +766,6 @@ static PHP_INI_MH(OnUpdateSidBits) /* {{{ */ } /* }}} */ - -static PHP_INI_MH(OnUpdateLazyWrite) /* {{{ */ -{ - SESSION_CHECK_ACTIVE_STATE; - SESSION_CHECK_OUTPUT_STATE; - return OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); -} -/* }}} */ - - - static PHP_INI_MH(OnUpdateRfc1867Freq) /* {{{ */ { int tmp = ZEND_ATOL(ZSTR_VAL(new_value)); @@ -821,7 +810,7 @@ PHP_INI_BEGIN() PHP_INI_ENTRY("session.use_trans_sid", "0", PHP_INI_ALL, OnUpdateTransSid) PHP_INI_ENTRY("session.sid_length", "32", PHP_INI_ALL, OnUpdateSidLength) PHP_INI_ENTRY("session.sid_bits_per_character", "4", PHP_INI_ALL, OnUpdateSidBits) - STD_PHP_INI_BOOLEAN("session.lazy_write", "1", PHP_INI_ALL, OnUpdateLazyWrite, lazy_write, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.lazy_write", "1", PHP_INI_ALL, OnUpdateSessionBool, lazy_write, php_ps_globals, ps_globals) /* Upload progress */ STD_PHP_INI_BOOLEAN("session.upload_progress.enabled", From ad3ee47c6d1aee4c7742bae72e09a37bb3bdd7a0 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 19 Aug 2022 15:46:46 +0100 Subject: [PATCH 116/229] Remove OnUpdateTransSid validator It is more restrictive than the OnUpdateSessionBool one --- ext/session/session.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/ext/session/session.c b/ext/session/session.c index dc54712f30b93..808a1bee68155 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -609,22 +609,6 @@ static PHP_INI_MH(OnUpdateSerializer) /* {{{ */ } /* }}} */ -static PHP_INI_MH(OnUpdateTransSid) /* {{{ */ -{ - SESSION_CHECK_ACTIVE_STATE; - SESSION_CHECK_OUTPUT_STATE; - - if (zend_string_equals_literal_ci(new_value, "on")) { - PS(use_trans_sid) = (bool) 1; - } else { - PS(use_trans_sid) = (bool) atoi(ZSTR_VAL(new_value)); - } - - return SUCCESS; -} -/* }}} */ - - static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ { SESSION_CHECK_ACTIVE_STATE; @@ -807,7 +791,7 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY("session.referer_check", "", PHP_INI_ALL, OnUpdateSessionString, extern_referer_chk, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cache_limiter", "nocache", PHP_INI_ALL, OnUpdateSessionString, cache_limiter, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cache_expire", "180", PHP_INI_ALL, OnUpdateSessionLong, cache_expire, php_ps_globals, ps_globals) - PHP_INI_ENTRY("session.use_trans_sid", "0", PHP_INI_ALL, OnUpdateTransSid) + STD_PHP_INI_BOOLEAN("session.use_trans_sid", "0", PHP_INI_ALL, OnUpdateSessionBool, use_trans_sid, php_ps_globals, ps_globals) PHP_INI_ENTRY("session.sid_length", "32", PHP_INI_ALL, OnUpdateSidLength) PHP_INI_ENTRY("session.sid_bits_per_character", "4", PHP_INI_ALL, OnUpdateSidBits) STD_PHP_INI_BOOLEAN("session.lazy_write", "1", PHP_INI_ALL, OnUpdateSessionBool, lazy_write, php_ps_globals, ps_globals) From a8f8cc207ca30990ebc3b3dbcc4b4edb8a82ced9 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 19 Aug 2022 15:55:16 +0100 Subject: [PATCH 117/229] Check sessions are active before output emitted consistently --- ext/session/session.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/session/session.c b/ext/session/session.c index 808a1bee68155..69432aee9705b 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -703,8 +703,8 @@ static PHP_INI_MH(OnUpdateSessionString) /* {{{ */ static PHP_INI_MH(OnUpdateSessionBool) /* {{{ */ { - SESSION_CHECK_OUTPUT_STATE; SESSION_CHECK_ACTIVE_STATE; + SESSION_CHECK_OUTPUT_STATE; return OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); } /* }}} */ @@ -715,8 +715,8 @@ static PHP_INI_MH(OnUpdateSidLength) /* {{{ */ zend_long val; char *endptr = NULL; - SESSION_CHECK_OUTPUT_STATE; SESSION_CHECK_ACTIVE_STATE; + SESSION_CHECK_OUTPUT_STATE; val = ZEND_STRTOL(ZSTR_VAL(new_value), &endptr, 10); if (endptr && (*endptr == '\0') && val >= 22 && val <= PS_MAX_SID_LENGTH) { @@ -735,8 +735,8 @@ static PHP_INI_MH(OnUpdateSidBits) /* {{{ */ zend_long val; char *endptr = NULL; - SESSION_CHECK_OUTPUT_STATE; SESSION_CHECK_ACTIVE_STATE; + SESSION_CHECK_OUTPUT_STATE; val = ZEND_STRTOL(ZSTR_VAL(new_value), &endptr, 10); if (endptr && (*endptr == '\0') && val >= 4 && val <=6) { From 73c2d79fc5a517340cc629c053c6ce0d096afaf7 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 22 Aug 2022 17:47:07 +0300 Subject: [PATCH 118/229] Fix memory leaks Fixes oss-fuzz #50078 --- .../named_params/call_user_func_array_variadic.phpt | 13 +++++++++++++ Zend/zend_compile.c | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/named_params/call_user_func_array_variadic.phpt diff --git a/Zend/tests/named_params/call_user_func_array_variadic.phpt b/Zend/tests/named_params/call_user_func_array_variadic.phpt new file mode 100644 index 0000000000000..89a8f7cb10e33 --- /dev/null +++ b/Zend/tests/named_params/call_user_func_array_variadic.phpt @@ -0,0 +1,13 @@ +--TEST-- +call_user_func_array() with extra named parameters +--FILE-- + 1); +call_user_func_array("array_multisort", $args); +?> +--EXPECTF-- +Fatal error: Uncaught ArgumentCountError: array_multisort() expects at least 1 argument, 0 given in %scall_user_func_array_variadic.php:3 +Stack trace: +#0 %scall_user_func_array_variadic.php(3): array_multisort(: 1) +#1 {main} + thrown in %scall_user_func_array_variadic.php on line 3 diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index cf43dd852a7c6..cde1758ffc4e2 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -3860,6 +3860,7 @@ static void zend_compile_init_user_func(zend_ast *name_ast, uint32_t num_args, z zend_result zend_compile_func_cufa(znode *result, zend_ast_list *args, zend_string *lcname) /* {{{ */ { znode arg_node; + zend_op *opline; if (args->children != 2) { return FAILURE; @@ -3901,7 +3902,8 @@ zend_result zend_compile_func_cufa(znode *result, zend_ast_list *args, zend_stri zend_compile_expr(&arg_node, args->child[1]); zend_emit_op(NULL, ZEND_SEND_ARRAY, &arg_node, NULL); zend_emit_op(NULL, ZEND_CHECK_UNDEF_ARGS, NULL, NULL); - zend_emit_op(result, ZEND_DO_FCALL, NULL, NULL); + opline = zend_emit_op(result, ZEND_DO_FCALL, NULL, NULL); + opline->extended_value = ZEND_FCALL_MAY_HAVE_EXTRA_NAMED_PARAMS; return SUCCESS; } From 66aed3a86f2b9368888e22c30784286b3eeb24ad Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 12 Aug 2022 19:10:47 +0100 Subject: [PATCH 119/229] SameSite session cookie prop should behave like other INI settings It should warn if the INI setting is changed after headers are sent or a session is not active --- UPGRADING | 5 +++++ ext/session/session.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/UPGRADING b/UPGRADING index cf8d35c65ea36..c2236bea0f990 100644 --- a/UPGRADING +++ b/UPGRADING @@ -280,6 +280,11 @@ PHP 8.2 UPGRADE NOTES - PCRE: . NUL characters (\0) in pattern strings are now supported. +- Session: + . Trying to change the SameSite cookie INI setting while the session is + active or output has already been sent will now fail and emit a warning. + This aligns the behaviour with all other session INI settings. + - SQLite3: . sqlite3.defensive is now PHP_INI_USER. diff --git a/ext/session/session.c b/ext/session/session.c index 69432aee9705b..745532f1626f1 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -784,7 +784,7 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY("session.cookie_domain", "", PHP_INI_ALL, OnUpdateSessionString, cookie_domain, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_secure", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_secure, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_httponly", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_httponly, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.cookie_samesite", "", PHP_INI_ALL, OnUpdateString, cookie_samesite, php_ps_globals, ps_globals) + STD_PHP_INI_ENTRY("session.cookie_samesite", "", PHP_INI_ALL, OnUpdateSessionString, cookie_samesite, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.use_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_cookies, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.use_only_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_only_cookies, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.use_strict_mode", "0", PHP_INI_ALL, OnUpdateSessionBool, use_strict_mode, php_ps_globals, ps_globals) From 9313cd899e24aa67b82ade9a24e58aabc0a2edd3 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 18 Aug 2022 15:17:31 +0200 Subject: [PATCH 120/229] Don't enforce 64 hit counter on Windows There is no particular need to have a 64bit hit counter on Windows. Closes GH-9367. --- ext/opcache/ZendAccelerator.c | 3 ++- ext/opcache/ZendAccelerator.h | 6 +----- ext/opcache/zend_accelerator_module.c | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index b7ec3a1a0b2af..570e6a248b863 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -2192,10 +2192,11 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type) #else #if ZEND_ENABLE_ZVAL_LONG64 InterlockedIncrement64(&ZCSG(hits)); + InterlockedIncrement64(&persistent_script->dynamic_members.hits); #else InterlockedIncrement(&ZCSG(hits)); + InterlockedIncrement(&persistent_script->dynamic_members.hits); #endif - InterlockedIncrement64(&persistent_script->dynamic_members.hits); #endif /* see bug #15471 (old BTS) */ diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h index bc7236fbdb3fa..bc92854c35576 100644 --- a/ext/opcache/ZendAccelerator.h +++ b/ext/opcache/ZendAccelerator.h @@ -137,11 +137,7 @@ typedef struct _zend_persistent_script { */ struct zend_persistent_script_dynamic_members { time_t last_used; -#ifdef ZEND_WIN32 - LONGLONG hits; -#else - zend_ulong hits; -#endif + zend_ulong hits; unsigned int memory_consumption; unsigned int checksum; time_t revalidate; diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c index 2271920b302c7..6a5eb2b69b344 100644 --- a/ext/opcache/zend_accelerator_module.c +++ b/ext/opcache/zend_accelerator_module.c @@ -545,7 +545,7 @@ static int accelerator_get_scripts(zval *return_value) array_init(&persistent_script_report); add_assoc_str(&persistent_script_report, "full_path", zend_string_dup(script->script.filename, 0)); - add_assoc_long(&persistent_script_report, "hits", (zend_long)script->dynamic_members.hits); + add_assoc_long(&persistent_script_report, "hits", script->dynamic_members.hits); add_assoc_long(&persistent_script_report, "memory_consumption", script->dynamic_members.memory_consumption); ta = localtime(&script->dynamic_members.last_used); str = asctime(ta); From fd74ee7e909c66f09d8d904a5438b275a13e8738 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 22 Aug 2022 19:53:33 +0300 Subject: [PATCH 121/229] JIT: Make code generation to be consistent with register allocation Fixes ext/opcache/tests/jit/add_014.phpt with opcache.jit=1205 --- ext/opcache/jit/zend_jit_x86.dasc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index 37450f9c28c19..dfe3b6aa78d7f 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -8781,7 +8781,7 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_ } } - if ((op1_info & MAY_BE_ANY) == MAY_BE_DOUBLE) { + if ((op1_info & (MAY_BE_ANY-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG))) == MAY_BE_DOUBLE) { |2: if (CAN_USE_AVX()) { | vxorps xmm0, xmm0, xmm0 From 95befc786ae89afc5b9b6c6d26fa26883e50ebf0 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 22 Aug 2022 21:11:39 +0300 Subject: [PATCH 122/229] Fix type inference Fixes oss-fuzz #50272 --- Zend/Optimizer/zend_inference.c | 3 +++ ext/opcache/tests/opt/inference_015.phpt | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 ext/opcache/tests/opt/inference_015.phpt diff --git a/Zend/Optimizer/zend_inference.c b/Zend/Optimizer/zend_inference.c index 5dec2dd24a3db..dc73ffb6f416b 100644 --- a/Zend/Optimizer/zend_inference.c +++ b/Zend/Optimizer/zend_inference.c @@ -1951,6 +1951,9 @@ static uint32_t assign_dim_array_result_type( tmp |= MAY_BE_ARRAY_KEY_STRING; if (dim_op_type != IS_CONST) { // FIXME: numeric string + if (arr_type & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE)) { + tmp |= MAY_BE_ARRAY_PACKED; + } tmp |= MAY_BE_HASH_ONLY(arr_type) ? MAY_BE_ARRAY_NUMERIC_HASH : MAY_BE_ARRAY_KEY_LONG; } } diff --git a/ext/opcache/tests/opt/inference_015.phpt b/ext/opcache/tests/opt/inference_015.phpt new file mode 100644 index 0000000000000..e64c02225b32f --- /dev/null +++ b/ext/opcache/tests/opt/inference_015.phpt @@ -0,0 +1,19 @@ +--TEST-- +Type inference 015: ASSIGN_DIM_OP +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +--FILE-- + +DONE +--EXPECT-- +DONE From 567213c32ae071e8bbab27507f06c55cef0eeeb6 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 23 Aug 2022 11:22:31 +0300 Subject: [PATCH 123/229] Drop range inference for IS_NULL/IS_FALSE/IS_TRUE. These values not always converted to IS_LONG (e.g. by -- and ++) and this leads to incorrect range inferene and later to incorrect JIT code generation. --- Zend/Optimizer/zend_inference.c | 56 +----------------------- Zend/Optimizer/zend_inference.h | 18 ++------ ext/opcache/tests/opt/inference_016.phpt | 23 ++++++++++ ext/opcache/tests/opt/inference_017.phpt | 21 +++++++++ ext/opcache/tests/opt/inference_018.phpt | 23 ++++++++++ ext/opcache/tests/opt/inference_019.phpt | 22 ++++++++++ 6 files changed, 93 insertions(+), 70 deletions(-) create mode 100644 ext/opcache/tests/opt/inference_016.phpt create mode 100644 ext/opcache/tests/opt/inference_017.phpt create mode 100644 ext/opcache/tests/opt/inference_018.phpt create mode 100644 ext/opcache/tests/opt/inference_019.phpt diff --git a/Zend/Optimizer/zend_inference.c b/Zend/Optimizer/zend_inference.c index 5169d9f720a66..31d02b31f48c2 100644 --- a/Zend/Optimizer/zend_inference.c +++ b/Zend/Optimizer/zend_inference.c @@ -1017,15 +1017,6 @@ static bool zend_inference_calc_range(const zend_op_array *op_array, zend_ssa *s } return (tmp->min <= tmp->max); } else if (ssa->vars[var].definition < 0) { - if (var < op_array->last_var && - op_array->function_name) { - - tmp->min = 0; - tmp->max = 0; - tmp->underflow = 0; - tmp->overflow = 0; - return 1; - } return 0; } line = ssa->vars[var].definition; @@ -4199,52 +4190,7 @@ static void zend_func_return_info(const zend_op_array *op_array, if (opline->op1_type == IS_CONST) { zval *zv = CRT_CONSTANT(opline->op1); - if (Z_TYPE_P(zv) == IS_NULL) { - if (tmp_has_range < 0) { - tmp_has_range = 1; - tmp_range.underflow = 0; - tmp_range.min = 0; - tmp_range.max = 0; - tmp_range.overflow = 0; - } else if (tmp_has_range) { - if (!tmp_range.underflow) { - tmp_range.min = MIN(tmp_range.min, 0); - } - if (!tmp_range.overflow) { - tmp_range.max = MAX(tmp_range.max, 0); - } - } - } else if (Z_TYPE_P(zv) == IS_FALSE) { - if (tmp_has_range < 0) { - tmp_has_range = 1; - tmp_range.underflow = 0; - tmp_range.min = 0; - tmp_range.max = 0; - tmp_range.overflow = 0; - } else if (tmp_has_range) { - if (!tmp_range.underflow) { - tmp_range.min = MIN(tmp_range.min, 0); - } - if (!tmp_range.overflow) { - tmp_range.max = MAX(tmp_range.max, 0); - } - } - } else if (Z_TYPE_P(zv) == IS_TRUE) { - if (tmp_has_range < 0) { - tmp_has_range = 1; - tmp_range.underflow = 0; - tmp_range.min = 1; - tmp_range.max = 1; - tmp_range.overflow = 0; - } else if (tmp_has_range) { - if (!tmp_range.underflow) { - tmp_range.min = MIN(tmp_range.min, 1); - } - if (!tmp_range.overflow) { - tmp_range.max = MAX(tmp_range.max, 1); - } - } - } else if (Z_TYPE_P(zv) == IS_LONG) { + if (Z_TYPE_P(zv) == IS_LONG) { if (tmp_has_range < 0) { tmp_has_range = 1; tmp_range.underflow = 0; diff --git a/Zend/Optimizer/zend_inference.h b/Zend/Optimizer/zend_inference.h index f3c20c3ea499a..42dcd50920a5e 100644 --- a/Zend/Optimizer/zend_inference.h +++ b/Zend/Optimizer/zend_inference.h @@ -40,7 +40,7 @@ { \ if (opline->opN##_type == IS_CONST) { \ zval *zv = CRT_CONSTANT(opline->opN); \ - return (Z_TYPE_P(zv) == IS_LONG || Z_TYPE_P(zv) == IS_TRUE || Z_TYPE_P(zv) == IS_FALSE || Z_TYPE_P(zv) == IS_NULL); \ + return (Z_TYPE_P(zv) == IS_LONG); \ } else { \ return (opline->opN##_type != IS_UNUSED && \ ssa->var_info && \ @@ -57,12 +57,6 @@ zval *zv = CRT_CONSTANT(opline->opN); \ if (Z_TYPE_P(zv) == IS_LONG) { \ return Z_LVAL_P(zv); \ - } else if (Z_TYPE_P(zv) == IS_TRUE) { \ - return 1; \ - } else if (Z_TYPE_P(zv) == IS_FALSE) { \ - return 0; \ - } else if (Z_TYPE_P(zv) == IS_NULL) { \ - return 0; \ } \ } else if (opline->opN##_type != IS_UNUSED && \ ssa->var_info && \ @@ -80,12 +74,6 @@ zval *zv = CRT_CONSTANT(opline->opN); \ if (Z_TYPE_P(zv) == IS_LONG) { \ return Z_LVAL_P(zv); \ - } else if (Z_TYPE_P(zv) == IS_TRUE) { \ - return 1; \ - } else if (Z_TYPE_P(zv) == IS_FALSE) { \ - return 0; \ - } else if (Z_TYPE_P(zv) == IS_NULL) { \ - return 0; \ } \ } else if (opline->opN##_type != IS_UNUSED && \ ssa->var_info && \ @@ -101,7 +89,7 @@ { \ if (opline->opN##_type == IS_CONST) { \ zval *zv = CRT_CONSTANT(opline->opN); \ - if (Z_TYPE_P(zv) == IS_LONG || Z_TYPE_P(zv) == IS_TRUE || Z_TYPE_P(zv) == IS_FALSE || Z_TYPE_P(zv) == IS_NULL) { \ + if (Z_TYPE_P(zv) == IS_LONG) { \ return 0; \ } \ } else if (opline->opN##_type != IS_UNUSED && \ @@ -118,7 +106,7 @@ { \ if (opline->opN##_type == IS_CONST) { \ zval *zv = CRT_CONSTANT(opline->opN); \ - if (Z_TYPE_P(zv) == IS_LONG || Z_TYPE_P(zv) == IS_TRUE || Z_TYPE_P(zv) == IS_FALSE || Z_TYPE_P(zv) == IS_NULL) { \ + if (Z_TYPE_P(zv) == IS_LONG) { \ return 0; \ } \ } else if (opline->opN##_type != IS_UNUSED && \ diff --git a/ext/opcache/tests/opt/inference_016.phpt b/ext/opcache/tests/opt/inference_016.phpt new file mode 100644 index 0000000000000..6ce2488bcd395 --- /dev/null +++ b/ext/opcache/tests/opt/inference_016.phpt @@ -0,0 +1,23 @@ +--TEST-- +Range inference 016: +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +--FILE-- +getMessage(), "\n"; +} +?> +--EXPECT-- +NULL +Modulo by zero diff --git a/ext/opcache/tests/opt/inference_017.phpt b/ext/opcache/tests/opt/inference_017.phpt new file mode 100644 index 0000000000000..2c9255e3b2b4f --- /dev/null +++ b/ext/opcache/tests/opt/inference_017.phpt @@ -0,0 +1,21 @@ +--TEST-- +Range inference 017: +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +--FILE-- +getMessage(), "\n"; +} +?> +--EXPECT-- +Division by zero diff --git a/ext/opcache/tests/opt/inference_018.phpt b/ext/opcache/tests/opt/inference_018.phpt new file mode 100644 index 0000000000000..123cb3b9eb62a --- /dev/null +++ b/ext/opcache/tests/opt/inference_018.phpt @@ -0,0 +1,23 @@ +--TEST-- +Range inference 018: +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +--FILE-- +getMessage(), "\n"; +} +?> +--EXPECT-- +Division by zero diff --git a/ext/opcache/tests/opt/inference_019.phpt b/ext/opcache/tests/opt/inference_019.phpt new file mode 100644 index 0000000000000..f7b951a38f814 --- /dev/null +++ b/ext/opcache/tests/opt/inference_019.phpt @@ -0,0 +1,22 @@ +--TEST-- +Range inference 019: +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +--FILE-- + +DONE +--EXPECT-- +DONE From 9b984f52ea3f532f3f842dff930fc263985bdfcd Mon Sep 17 00:00:00 2001 From: Ollie Read Date: Tue, 23 Aug 2022 12:32:34 +0100 Subject: [PATCH 124/229] Enum error message consistency (#9350) --- Zend/tests/enum/__clone.phpt | 15 +++++++++++++++ Zend/tests/enum/__debugInfo.phpt | 16 ++++++++++++++++ Zend/tests/enum/__get.phpt | 2 +- Zend/tests/enum/__isset.phpt | 2 +- Zend/tests/enum/__serialize.phpt | 16 ++++++++++++++++ Zend/tests/enum/__set.phpt | 16 ++++++++++++++++ Zend/tests/enum/__set_state.phpt | 16 ++++++++++++++++ Zend/tests/enum/__sleep.phpt | 16 ++++++++++++++++ Zend/tests/enum/__toString.phpt | 16 ++++++++++++++++ Zend/tests/enum/__unserialize.phpt | 16 ++++++++++++++++ Zend/tests/enum/__unset.phpt | 16 ++++++++++++++++ Zend/tests/enum/__wakeup.phpt | 16 ++++++++++++++++ Zend/tests/enum/backed-from-invalid-int.phpt | 2 +- Zend/tests/enum/backed-from-invalid-string.phpt | 2 +- Zend/tests/enum/backed-from-invalid-type.phpt | 2 +- Zend/tests/enum/internal_enums.phpt | 4 ++-- Zend/tests/enum/no-constructors.phpt | 2 +- Zend/tests/enum/no-destruct.phpt | 2 +- .../enum/no-implement-serializable-indirect.phpt | 2 +- Zend/tests/enum/no-implement-serializable.phpt | 2 +- Zend/tests/enum/no-name-property.phpt | 2 +- Zend/tests/enum/no-properties.phpt | 2 +- Zend/tests/enum/no-static-properties.phpt | 2 +- Zend/tests/enum/no-value-property.phpt | 2 +- Zend/tests/enum/traits-no-__construct.phpt | 2 +- Zend/tests/enum/traits-no-forbidden-methods.phpt | 2 +- Zend/tests/enum/traits-no-properties.phpt | 2 +- Zend/zend_compile.c | 2 +- Zend/zend_enum.c | 12 ++++++------ 29 files changed, 184 insertions(+), 25 deletions(-) create mode 100644 Zend/tests/enum/__clone.phpt create mode 100644 Zend/tests/enum/__debugInfo.phpt create mode 100644 Zend/tests/enum/__serialize.phpt create mode 100644 Zend/tests/enum/__set.phpt create mode 100644 Zend/tests/enum/__set_state.phpt create mode 100644 Zend/tests/enum/__sleep.phpt create mode 100644 Zend/tests/enum/__toString.phpt create mode 100644 Zend/tests/enum/__unserialize.phpt create mode 100644 Zend/tests/enum/__unset.phpt create mode 100644 Zend/tests/enum/__wakeup.phpt diff --git a/Zend/tests/enum/__clone.phpt b/Zend/tests/enum/__clone.phpt new file mode 100644 index 0000000000000..fd4b4c43173b6 --- /dev/null +++ b/Zend/tests/enum/__clone.phpt @@ -0,0 +1,15 @@ +--TEST-- +Enum __clone +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __clone in %s on line %d diff --git a/Zend/tests/enum/__debugInfo.phpt b/Zend/tests/enum/__debugInfo.phpt new file mode 100644 index 0000000000000..33e0f49851f9c --- /dev/null +++ b/Zend/tests/enum/__debugInfo.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __debugInfo +--FILE-- +cases(); + } +} + +?> +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __debugInfo in %s on line %d diff --git a/Zend/tests/enum/__get.phpt b/Zend/tests/enum/__get.phpt index 885cc2f2c8302..6c77d119b7c71 100644 --- a/Zend/tests/enum/__get.phpt +++ b/Zend/tests/enum/__get.phpt @@ -14,4 +14,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enum may not include __get in %s on line %d +Fatal error: Enum Foo cannot include magic method __get in %s on line %d diff --git a/Zend/tests/enum/__isset.phpt b/Zend/tests/enum/__isset.phpt index 76409f075b27d..087d7d0b17275 100644 --- a/Zend/tests/enum/__isset.phpt +++ b/Zend/tests/enum/__isset.phpt @@ -13,4 +13,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enum may not include __isset in %s on line %d +Fatal error: Enum Foo cannot include magic method __isset in %s on line %d diff --git a/Zend/tests/enum/__serialize.phpt b/Zend/tests/enum/__serialize.phpt new file mode 100644 index 0000000000000..635bd43964284 --- /dev/null +++ b/Zend/tests/enum/__serialize.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __serialize +--FILE-- +cases(); + } +} + +?> +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __serialize in %s on line %d diff --git a/Zend/tests/enum/__set.phpt b/Zend/tests/enum/__set.phpt new file mode 100644 index 0000000000000..7fa0fcfb3a499 --- /dev/null +++ b/Zend/tests/enum/__set.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __set +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __set in %s on line %d diff --git a/Zend/tests/enum/__set_state.phpt b/Zend/tests/enum/__set_state.phpt new file mode 100644 index 0000000000000..b2bf071743091 --- /dev/null +++ b/Zend/tests/enum/__set_state.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __set_state +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __set_state in %s on line %d diff --git a/Zend/tests/enum/__sleep.phpt b/Zend/tests/enum/__sleep.phpt new file mode 100644 index 0000000000000..4da08e6a4d3f2 --- /dev/null +++ b/Zend/tests/enum/__sleep.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __sleep +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __sleep in %s on line %d diff --git a/Zend/tests/enum/__toString.phpt b/Zend/tests/enum/__toString.phpt new file mode 100644 index 0000000000000..9407e482fb727 --- /dev/null +++ b/Zend/tests/enum/__toString.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __toString +--FILE-- +name; + } +} + +?> +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __toString in %s on line %d diff --git a/Zend/tests/enum/__unserialize.phpt b/Zend/tests/enum/__unserialize.phpt new file mode 100644 index 0000000000000..f9d594176851b --- /dev/null +++ b/Zend/tests/enum/__unserialize.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __unserialize +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __unserialize in %s on line %d diff --git a/Zend/tests/enum/__unset.phpt b/Zend/tests/enum/__unset.phpt new file mode 100644 index 0000000000000..e2ada98688e63 --- /dev/null +++ b/Zend/tests/enum/__unset.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __unset +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __unset in %s on line %d diff --git a/Zend/tests/enum/__wakeup.phpt b/Zend/tests/enum/__wakeup.phpt new file mode 100644 index 0000000000000..8aea17ae53fd3 --- /dev/null +++ b/Zend/tests/enum/__wakeup.phpt @@ -0,0 +1,16 @@ +--TEST-- +Enum __wakeup +--FILE-- + +--EXPECTF-- +Fatal error: Enum Foo cannot include magic method __wakeup in %s on line %d diff --git a/Zend/tests/enum/backed-from-invalid-int.phpt b/Zend/tests/enum/backed-from-invalid-int.phpt index d976f3d0fbd39..d40cae30e6c8e 100644 --- a/Zend/tests/enum/backed-from-invalid-int.phpt +++ b/Zend/tests/enum/backed-from-invalid-int.phpt @@ -16,4 +16,4 @@ try { ?> --EXPECT-- -2 is not a valid backing value for enum "Foo" +2 is not a valid backing value for enum Foo diff --git a/Zend/tests/enum/backed-from-invalid-string.phpt b/Zend/tests/enum/backed-from-invalid-string.phpt index db8b791d8bea1..c6d784872ef0d 100644 --- a/Zend/tests/enum/backed-from-invalid-string.phpt +++ b/Zend/tests/enum/backed-from-invalid-string.phpt @@ -18,4 +18,4 @@ try { ?> --EXPECT-- -"A" is not a valid backing value for enum "Suit" +"A" is not a valid backing value for enum Suit diff --git a/Zend/tests/enum/backed-from-invalid-type.phpt b/Zend/tests/enum/backed-from-invalid-type.phpt index 3f35bef64f55a..b4e0e6d6164f1 100644 --- a/Zend/tests/enum/backed-from-invalid-type.phpt +++ b/Zend/tests/enum/backed-from-invalid-type.phpt @@ -30,5 +30,5 @@ try { ?> --EXPECT-- -"42" is not a valid backing value for enum "Suit" +"42" is not a valid backing value for enum Suit Foo::from(): Argument #1 ($value) must be of type int, string given diff --git a/Zend/tests/enum/internal_enums.phpt b/Zend/tests/enum/internal_enums.phpt index 5e36baae302cc..ae26e24cd7eaf 100644 --- a/Zend/tests/enum/internal_enums.phpt +++ b/Zend/tests/enum/internal_enums.phpt @@ -86,9 +86,9 @@ enum(ZendTestIntEnum::Foo) enum(ZendTestIntEnum::Foo) enum(ZendTestIntEnum::Foo) enum(ZendTestIntEnum::Foo) -ValueError: 2 is not a valid backing value for enum "ZendTestIntEnum" +ValueError: 2 is not a valid backing value for enum ZendTestIntEnum NULL -ValueError: 2 is not a valid backing value for enum "ZendTestIntEnum" +ValueError: 2 is not a valid backing value for enum ZendTestIntEnum NULL enum(ZendTestIntEnum::Baz) enum(ZendTestIntEnum::Baz) diff --git a/Zend/tests/enum/no-constructors.phpt b/Zend/tests/enum/no-constructors.phpt index 70504e14eb381..862c9ebb7b2f1 100644 --- a/Zend/tests/enum/no-constructors.phpt +++ b/Zend/tests/enum/no-constructors.phpt @@ -9,4 +9,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enum may not include __construct in %s on line %d +Fatal error: Enum Foo cannot include magic method __construct in %s on line %d diff --git a/Zend/tests/enum/no-destruct.phpt b/Zend/tests/enum/no-destruct.phpt index 730c29f8476c7..107478b9762c9 100644 --- a/Zend/tests/enum/no-destruct.phpt +++ b/Zend/tests/enum/no-destruct.phpt @@ -9,4 +9,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enum may not include __destruct in %s on line %d +Fatal error: Enum Foo cannot include magic method __destruct in %s on line %d diff --git a/Zend/tests/enum/no-implement-serializable-indirect.phpt b/Zend/tests/enum/no-implement-serializable-indirect.phpt index efd9229d9edc9..43231b60da845 100644 --- a/Zend/tests/enum/no-implement-serializable-indirect.phpt +++ b/Zend/tests/enum/no-implement-serializable-indirect.phpt @@ -23,4 +23,4 @@ var_dump(unserialize(serialize(Foo::Bar))); --EXPECTF-- Deprecated: %s implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in %s on line %d -Fatal error: Enums may not implement the Serializable interface in %s on line %d +Fatal error: Enum Foo cannot implement the Serializable interface in %s on line %d diff --git a/Zend/tests/enum/no-implement-serializable.phpt b/Zend/tests/enum/no-implement-serializable.phpt index 355d62b71ba53..1099cc725c810 100644 --- a/Zend/tests/enum/no-implement-serializable.phpt +++ b/Zend/tests/enum/no-implement-serializable.phpt @@ -21,4 +21,4 @@ var_dump(unserialize(serialize(Foo::Bar))); --EXPECTF-- Deprecated: %s implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in %s on line %d -Fatal error: Enums may not implement the Serializable interface in %s on line %d +Fatal error: Enum Foo cannot implement the Serializable interface in %s on line %d diff --git a/Zend/tests/enum/no-name-property.phpt b/Zend/tests/enum/no-name-property.phpt index a565c08e83005..6ea1e1a0b0023 100644 --- a/Zend/tests/enum/no-name-property.phpt +++ b/Zend/tests/enum/no-name-property.phpt @@ -9,4 +9,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enums may not include properties in %s on line %d +Fatal error: Enum Foo cannot include properties in %s on line %d diff --git a/Zend/tests/enum/no-properties.phpt b/Zend/tests/enum/no-properties.phpt index e846845d22270..fb396b403e370 100644 --- a/Zend/tests/enum/no-properties.phpt +++ b/Zend/tests/enum/no-properties.phpt @@ -9,4 +9,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enums may not include properties in %s on line %d +Fatal error: Enum Foo cannot include properties in %s on line %d diff --git a/Zend/tests/enum/no-static-properties.phpt b/Zend/tests/enum/no-static-properties.phpt index 4b823e98e9ffd..873582637789a 100644 --- a/Zend/tests/enum/no-static-properties.phpt +++ b/Zend/tests/enum/no-static-properties.phpt @@ -9,4 +9,4 @@ enum Foo { ?> --EXPECTF-- -Fatal error: Enums may not include properties in %s on line %d +Fatal error: Enum Foo cannot include properties in %s on line %d diff --git a/Zend/tests/enum/no-value-property.phpt b/Zend/tests/enum/no-value-property.phpt index d8b12f2ca8a23..efa8a7d3420bd 100644 --- a/Zend/tests/enum/no-value-property.phpt +++ b/Zend/tests/enum/no-value-property.phpt @@ -9,4 +9,4 @@ enum Foo: int { ?> --EXPECTF-- -Fatal error: Enums may not include properties in %s on line %d +Fatal error: Enum Foo cannot include properties in %s on line %d diff --git a/Zend/tests/enum/traits-no-__construct.phpt b/Zend/tests/enum/traits-no-__construct.phpt index 0529a2a989013..4bac34295b8fa 100644 --- a/Zend/tests/enum/traits-no-__construct.phpt +++ b/Zend/tests/enum/traits-no-__construct.phpt @@ -18,4 +18,4 @@ var_dump(Bar::Baz); ?> --EXPECTF-- -Fatal error: Enum may not include __construct in %s on line %d +Fatal error: Enum Bar cannot include magic method __construct in %s on line %d diff --git a/Zend/tests/enum/traits-no-forbidden-methods.phpt b/Zend/tests/enum/traits-no-forbidden-methods.phpt index 1f310f48cd0c6..36e4ce780e3e1 100644 --- a/Zend/tests/enum/traits-no-forbidden-methods.phpt +++ b/Zend/tests/enum/traits-no-forbidden-methods.phpt @@ -18,4 +18,4 @@ enum Suit { ?> --EXPECTF-- -Fatal error: Enum may not include __construct in %s on line %d +Fatal error: Enum Suit cannot include magic method __construct in %s on line %d diff --git a/Zend/tests/enum/traits-no-properties.phpt b/Zend/tests/enum/traits-no-properties.phpt index 5a6faf9deac4e..0cc3c9cf3872b 100644 --- a/Zend/tests/enum/traits-no-properties.phpt +++ b/Zend/tests/enum/traits-no-properties.phpt @@ -22,4 +22,4 @@ enum Suit { ?> --EXPECTF-- -Fatal error: Enum "Suit" may not include properties in %s on line %d +Fatal error: Enum Suit cannot include properties in %s on line %d diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index e3e986e193c53..487c15b589e5f 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -7407,7 +7407,7 @@ static void zend_compile_prop_decl(zend_ast *ast, zend_ast *type_ast, uint32_t f } if (ce->ce_flags & ZEND_ACC_ENUM) { - zend_error_noreturn(E_COMPILE_ERROR, "Enums may not include properties"); + zend_error_noreturn(E_COMPILE_ERROR, "Enum %s cannot include properties", ZSTR_VAL(ce->name)); } if (flags & ZEND_ACC_ABSTRACT) { diff --git a/Zend/zend_enum.c b/Zend/zend_enum.c index 16c3753e7c94a..59befde732194 100644 --- a/Zend/zend_enum.c +++ b/Zend/zend_enum.c @@ -28,7 +28,7 @@ #define ZEND_ENUM_DISALLOW_MAGIC_METHOD(propertyName, methodName) \ do { \ if (ce->propertyName) { \ - zend_error_noreturn(E_COMPILE_ERROR, "Enum may not include %s", methodName); \ + zend_error_noreturn(E_COMPILE_ERROR, "Enum %s cannot include magic method %s", ZSTR_VAL(ce->name), methodName); \ } \ } while (0); @@ -67,7 +67,7 @@ static void zend_verify_enum_properties(zend_class_entry *ce) continue; } // FIXME: File/line number for traits? - zend_error_noreturn(E_COMPILE_ERROR, "Enum \"%s\" may not include properties", + zend_error_noreturn(E_COMPILE_ERROR, "Enum %s cannot include properties", ZSTR_VAL(ce->name)); } ZEND_HASH_FOREACH_END(); } @@ -99,7 +99,7 @@ static void zend_verify_enum_magic_methods(zend_class_entry *ce) const char *forbidden_method = forbidden_methods[i]; if (zend_hash_str_exists(&ce->function_table, forbidden_method, strlen(forbidden_method))) { - zend_error_noreturn(E_COMPILE_ERROR, "Enum may not include magic method %s", forbidden_method); + zend_error_noreturn(E_COMPILE_ERROR, "Enum %s cannot include magic method %s", ZSTR_VAL(ce->name), forbidden_method); } } } @@ -108,7 +108,7 @@ static void zend_verify_enum_interfaces(zend_class_entry *ce) { if (zend_class_implements_interface(ce, zend_ce_serializable)) { zend_error_noreturn(E_COMPILE_ERROR, - "Enums may not implement the Serializable interface"); + "Enum %s cannot implement the Serializable interface", ZSTR_VAL(ce->name)); } } @@ -307,10 +307,10 @@ ZEND_API zend_result zend_enum_get_case_by_value(zend_object **result, zend_clas } if (ce->enum_backing_type == IS_LONG) { - zend_value_error(ZEND_LONG_FMT " is not a valid backing value for enum \"%s\"", long_key, ZSTR_VAL(ce->name)); + zend_value_error(ZEND_LONG_FMT " is not a valid backing value for enum %s", long_key, ZSTR_VAL(ce->name)); } else { ZEND_ASSERT(ce->enum_backing_type == IS_STRING); - zend_value_error("\"%s\" is not a valid backing value for enum \"%s\"", ZSTR_VAL(string_key), ZSTR_VAL(ce->name)); + zend_value_error("\"%s\" is not a valid backing value for enum %s", ZSTR_VAL(string_key), ZSTR_VAL(ce->name)); } return FAILURE; } From bf427b732abaffbbb776bfc93a7a8fc83fc39452 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Mon, 11 Jul 2022 16:19:26 +0200 Subject: [PATCH 125/229] Add an API to observe functions and classes being linked To observe when the functions and classes start being officially available to the user Signed-off-by: Bob Weinand --- Zend/zend_API.c | 2 + Zend/zend_compile.c | 5 ++ Zend/zend_compile.h | 3 ++ Zend/zend_inheritance.c | 9 +++- Zend/zend_observer.c | 46 ++++++++++++++++ Zend/zend_observer.h | 11 ++++ ext/opcache/ZendAccelerator.c | 1 + ext/opcache/zend_accelerator_util_funcs.c | 11 ++++ ext/zend_test/observer.c | 16 ++++++ ext/zend_test/php_test.h | 1 + .../tests/observer_declarations_01.phpt | 54 +++++++++++++++++++ 11 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 ext/zend_test/tests/observer_declarations_01.phpt diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 133281235fec4..56db031102095 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -31,6 +31,7 @@ #include "zend_inheritance.h" #include "zend_ini.h" #include "zend_enum.h" +#include "zend_observer.h" #include @@ -3263,6 +3264,7 @@ ZEND_API zend_result zend_register_class_alias_ex(const char *name, size_t name_ if (!(ce->ce_flags & ZEND_ACC_IMMUTABLE)) { ce->refcount++; } + zend_observer_class_linked_notify(ce, lcname); return SUCCESS; } return FAILURE; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 487c15b589e5f..41b4075493d53 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1093,6 +1093,7 @@ ZEND_API zend_result do_bind_function(zend_function *func, zval *lcname) /* {{{ if (func->common.function_name) { zend_string_addref(func->common.function_name); } + zend_observer_function_declared_notify(&func->op_array, Z_STR_P(lcname)); return SUCCESS; } /* }}} */ @@ -1116,12 +1117,14 @@ ZEND_API zend_class_entry *zend_bind_class_in_slot( } if (ce->ce_flags & ZEND_ACC_LINKED) { + zend_observer_class_linked_notify(ce, Z_STR_P(lcname)); return ce; } ce = zend_do_link_class(ce, lc_parent_name, Z_STR_P(lcname)); if (ce) { ZEND_ASSERT(!EG(exception)); + zend_observer_class_linked_notify(ce, Z_STR_P(lcname)); return ce; } @@ -7245,6 +7248,7 @@ static void zend_begin_func_decl(znode *result, zend_op_array *op_array, zend_as if (UNEXPECTED(zend_hash_add_ptr(CG(function_table), lcname, op_array) == NULL)) { do_bind_function_error(lcname, op_array, 1); } + zend_observer_function_declared_notify(op_array, lcname); zend_string_release_ex(lcname, 0); return; } @@ -7877,6 +7881,7 @@ static void zend_compile_class_decl(znode *result, zend_ast *ast, bool toplevel) zend_string_release(lcname); zend_build_properties_info_table(ce); ce->ce_flags |= ZEND_ACC_LINKED; + zend_observer_class_linked_notify(ce, lcname); return; } } else if (!extends_ast) { diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index afca2917820fa..21c1f6d18afb9 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -1181,6 +1181,9 @@ END_EXTERN_C() /* this flag is set when compiler invoked during preloading in separate process */ #define ZEND_COMPILE_PRELOAD_IN_CHILD (1<<17) +/* ignore observer notifications, e.g. to manually notify afterwards in a post-processing step after compilation */ +#define ZEND_COMPILE_IGNORE_OBSERVER (1<<18) + /* The default value for CG(compiler_options) */ #define ZEND_COMPILE_DEFAULT ZEND_COMPILE_HANDLE_OP_ARRAY diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index 52c974bece4bf..3eaaca3409a78 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -29,6 +29,7 @@ #include "zend_enum.h" #include "zend_attributes.h" #include "zend_constants.h" +#include "zend_observer.h" ZEND_API zend_class_entry* (*zend_inheritance_cache_get)(zend_class_entry *ce, zend_class_entry *parent, zend_class_entry **traits_and_interfaces) = NULL; ZEND_API zend_class_entry* (*zend_inheritance_cache_add)(zend_class_entry *ce, zend_class_entry *proto, zend_class_entry *parent, zend_class_entry **traits_and_interfaces, HashTable *dependencies) = NULL; @@ -3134,18 +3135,24 @@ static zend_always_inline bool register_early_bound_ce(zval *delayed_early_bindi if (EXPECTED(!(ce->ce_flags & ZEND_ACC_PRELOADED))) { if (zend_hash_set_bucket_key(EG(class_table), (Bucket *)delayed_early_binding, lcname) != NULL) { Z_CE_P(delayed_early_binding) = ce; + zend_observer_class_linked_notify(ce, lcname); return true; } } else { /* If preloading is used, don't replace the existing bucket, add a new one. */ if (zend_hash_add_ptr(EG(class_table), lcname, ce) != NULL) { + zend_observer_class_linked_notify(ce, lcname); return true; } } zend_error_noreturn(E_COMPILE_ERROR, "Cannot declare %s %s, because the name is already in use", zend_get_object_type(ce), ZSTR_VAL(ce->name)); return false; } - return zend_hash_add_ptr(CG(class_table), lcname, ce) != NULL; + if (zend_hash_add_ptr(CG(class_table), lcname, ce) != NULL) { + zend_observer_class_linked_notify(ce, lcname); + return true; + } + return false; } ZEND_API zend_class_entry *zend_try_early_bind(zend_class_entry *ce, zend_class_entry *parent_ce, zend_string *lcname, zval *delayed_early_binding) /* {{{ */ diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index c70844a776233..80d1fbd1876ec 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -32,12 +32,17 @@ (ZEND_MAP_PTR(function->common.run_time_cache) && !(function->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE)) zend_llist zend_observers_fcall_list; +zend_llist zend_observer_function_declared_callbacks; +zend_llist zend_observer_class_linked_callbacks; zend_llist zend_observer_error_callbacks; zend_llist zend_observer_fiber_init; zend_llist zend_observer_fiber_switch; zend_llist zend_observer_fiber_destroy; int zend_observer_fcall_op_array_extension; +bool zend_observer_errors_observed; +bool zend_observer_function_declared_observed; +bool zend_observer_class_linked_observed; ZEND_TLS zend_execute_data *current_observed_frame; @@ -51,6 +56,8 @@ ZEND_API void zend_observer_fcall_register(zend_observer_fcall_init init) ZEND_API void zend_observer_startup(void) { zend_llist_init(&zend_observers_fcall_list, sizeof(zend_observer_fcall_init), NULL, 1); + zend_llist_init(&zend_observer_function_declared_callbacks, sizeof(zend_observer_function_declared_cb), NULL, 1); + zend_llist_init(&zend_observer_class_linked_callbacks, sizeof(zend_observer_class_linked_cb), NULL, 1); zend_llist_init(&zend_observer_error_callbacks, sizeof(zend_observer_error_cb), NULL, 1); zend_llist_init(&zend_observer_fiber_init, sizeof(zend_observer_fiber_init_handler), NULL, 1); zend_llist_init(&zend_observer_fiber_switch, sizeof(zend_observer_fiber_switch_handler), NULL, 1); @@ -100,6 +107,8 @@ ZEND_API void zend_observer_activate(void) ZEND_API void zend_observer_shutdown(void) { zend_llist_destroy(&zend_observers_fcall_list); + zend_llist_destroy(&zend_observer_function_declared_callbacks); + zend_llist_destroy(&zend_observer_class_linked_callbacks); zend_llist_destroy(&zend_observer_error_callbacks); zend_llist_destroy(&zend_observer_fiber_init); zend_llist_destroy(&zend_observer_fiber_switch); @@ -286,8 +295,45 @@ ZEND_API void zend_observer_fcall_end_all(void) EG(current_execute_data) = original_execute_data; } +ZEND_API void zend_observer_function_declared_register(zend_observer_function_declared_cb cb) +{ + zend_observer_function_declared_observed = true; + zend_llist_add_element(&zend_observer_function_declared_callbacks, &cb); +} + +ZEND_API void ZEND_FASTCALL zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name) +{ + if (CG(compiler_options) & ZEND_COMPILE_IGNORE_OBSERVER) { + return; + } + + for (zend_llist_element *element = zend_observer_function_declared_callbacks.head; element; element = element->next) { + zend_observer_function_declared_cb callback = *(zend_observer_function_declared_cb *) (element->data); + callback(op_array, name); + } +} + +ZEND_API void zend_observer_class_linked_register(zend_observer_class_linked_cb cb) +{ + zend_observer_class_linked_observed = true; + zend_llist_add_element(&zend_observer_class_linked_callbacks, &cb); +} + +ZEND_API void ZEND_FASTCALL zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name) +{ + if (CG(compiler_options) & ZEND_COMPILE_IGNORE_OBSERVER) { + return; + } + + for (zend_llist_element *element = zend_observer_class_linked_callbacks.head; element; element = element->next) { + zend_observer_class_linked_cb callback = *(zend_observer_class_linked_cb *) (element->data); + callback(ce, name); + } +} + ZEND_API void zend_observer_error_register(zend_observer_error_cb cb) { + zend_observer_errors_observed = true; zend_llist_add_element(&zend_observer_error_callbacks, &cb); } diff --git a/Zend/zend_observer.h b/Zend/zend_observer.h index ebd5c0ce62a01..0cd660db7e54a 100644 --- a/Zend/zend_observer.h +++ b/Zend/zend_observer.h @@ -27,6 +27,9 @@ BEGIN_EXTERN_C() extern ZEND_API int zend_observer_fcall_op_array_extension; +extern ZEND_API bool zend_observer_errors_observed; +extern ZEND_API bool zend_observer_function_declared_observed; +extern ZEND_API bool zend_observer_class_linked_observed; #define ZEND_OBSERVER_ENABLED (zend_observer_fcall_op_array_extension != -1) @@ -80,6 +83,14 @@ ZEND_API void ZEND_FASTCALL zend_observer_fcall_end( ZEND_API void zend_observer_fcall_end_all(void); +typedef void (*zend_observer_function_declared_cb)(zend_op_array *op_array, zend_string *name); +typedef void (*zend_observer_class_linked_cb)(zend_class_entry *ce, zend_string *name); + +ZEND_API void zend_observer_function_declared_register(zend_observer_function_declared_cb cb); +ZEND_API void ZEND_FASTCALL zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name); +ZEND_API void zend_observer_class_linked_register(zend_observer_class_linked_cb cb); +ZEND_API void ZEND_FASTCALL zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name); + typedef void (*zend_observer_error_cb)(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message); ZEND_API void zend_observer_error_register(zend_observer_error_cb callback); diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 570e6a248b863..fd2792028b1d6 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -1806,6 +1806,7 @@ static zend_persistent_script *opcache_compile_file(zend_file_handle *file_handl CG(compiler_options) |= ZEND_COMPILE_DELAYED_BINDING; CG(compiler_options) |= ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION; CG(compiler_options) |= ZEND_COMPILE_IGNORE_OTHER_FILES; + CG(compiler_options) |= ZEND_COMPILE_IGNORE_OBSERVER; if (ZCG(accel_directives).file_cache) { CG(compiler_options) |= ZEND_COMPILE_WITH_FILE_CACHE; } diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index 6a454a0a9e447..f0fb9cc56b9fb 100644 --- a/ext/opcache/zend_accelerator_util_funcs.c +++ b/ext/opcache/zend_accelerator_util_funcs.c @@ -25,6 +25,7 @@ #include "zend_accelerator_util_funcs.h" #include "zend_persist.h" #include "zend_shared_alloc.h" +#include "zend_observer.h" typedef int (*id_function_t)(void *, void *); typedef void (*unique_copy_ctor_func_t)(void *pElement); @@ -145,6 +146,8 @@ static void zend_accel_function_hash_copy(HashTable *target, HashTable *source) Bucket *p, *end; zval *t; + bool call_observers = zend_observer_function_declared_observed; + zend_hash_extend(target, target->nNumUsed + source->nNumUsed, 0); p = source->arData; end = p + source->nNumUsed; @@ -156,6 +159,9 @@ static void zend_accel_function_hash_copy(HashTable *target, HashTable *source) goto failure; } _zend_hash_append_ptr_ex(target, p->key, Z_PTR(p->val), 1); + if (UNEXPECTED(call_observers) && *ZSTR_VAL(p->key)) { // if not rtd key + zend_observer_function_declared_notify(Z_PTR(p->val), p->key); + } } target->nInternalPointer = 0; return; @@ -182,6 +188,8 @@ static void zend_accel_class_hash_copy(HashTable *target, HashTable *source) Bucket *p, *end; zval *t; + bool call_observers = zend_observer_class_linked_observed; + zend_hash_extend(target, target->nNumUsed + source->nNumUsed, 0); p = source->arData; end = p + source->nNumUsed; @@ -221,6 +229,9 @@ static void zend_accel_class_hash_copy(HashTable *target, HashTable *source) && ZSTR_HAS_CE_CACHE(ce->name) && ZSTR_VAL(p->key)[0]) { ZSTR_SET_CE_CACHE_EX(ce->name, ce, 0); + if (UNEXPECTED(call_observers)) { + zend_observer_class_linked_notify(ce, p->key); + } } } } diff --git a/ext/zend_test/observer.c b/ext/zend_test/observer.c index 14d08af18b3b2..e6be124b44458 100644 --- a/ext/zend_test/observer.c +++ b/ext/zend_test/observer.c @@ -256,6 +256,18 @@ static void fiber_suspend_observer(zend_fiber_context *from, zend_fiber_context } } +void declared_function_observer(zend_op_array *op_array, zend_string *name) { + if (ZT_G(observer_observe_declaring)) { + php_printf("%*s\n", 2 * ZT_G(observer_nesting_depth), "", ZSTR_VAL(name)); + } +} + +void declared_class_observer(zend_class_entry *ce, zend_string *name) { + if (ZT_G(observer_observe_declaring)) { + php_printf("%*s\n", 2 * ZT_G(observer_nesting_depth), "", ZSTR_VAL(name)); + } +} + static ZEND_INI_MH(zend_test_observer_OnUpdateCommaList) { zend_array **p = (zend_array **) ZEND_INI_GET_ADDR(); @@ -301,6 +313,7 @@ PHP_INI_BEGIN() STD_PHP_INI_BOOLEAN("zend_test.observer.observe_all", "0", PHP_INI_SYSTEM, OnUpdateBool, observer_observe_all, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_BOOLEAN("zend_test.observer.observe_includes", "0", PHP_INI_SYSTEM, OnUpdateBool, observer_observe_includes, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_BOOLEAN("zend_test.observer.observe_functions", "0", PHP_INI_SYSTEM, OnUpdateBool, observer_observe_functions, zend_zend_test_globals, zend_test_globals) + STD_PHP_INI_BOOLEAN("zend_test.observer.observe_declaring", "0", PHP_INI_SYSTEM, OnUpdateBool, observer_observe_declaring, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_ENTRY("zend_test.observer.observe_function_names", "", PHP_INI_ALL, zend_test_observer_OnUpdateCommaList, observer_observe_function_names, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_BOOLEAN("zend_test.observer.show_return_type", "0", PHP_INI_SYSTEM, OnUpdateBool, observer_show_return_type, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_BOOLEAN("zend_test.observer.show_return_value", "0", PHP_INI_SYSTEM, OnUpdateBool, observer_show_return_value, zend_zend_test_globals, zend_test_globals) @@ -334,6 +347,9 @@ void zend_test_observer_init(INIT_FUNC_ARGS) zend_observer_fiber_switch_register(fiber_enter_observer); zend_observer_fiber_switch_register(fiber_suspend_observer); zend_observer_fiber_destroy_register(fiber_destroy_observer); + + zend_observer_function_declared_register(declared_function_observer); + zend_observer_class_linked_register(declared_class_observer); } } diff --git a/ext/zend_test/php_test.h b/ext/zend_test/php_test.h index 1c0b24f0d0849..70ec15ec0dc8f 100644 --- a/ext/zend_test/php_test.h +++ b/ext/zend_test/php_test.h @@ -38,6 +38,7 @@ ZEND_BEGIN_MODULE_GLOBALS(zend_test) int observer_observe_all; int observer_observe_includes; int observer_observe_functions; + int observer_observe_declaring; zend_array *observer_observe_function_names; int observer_show_return_type; int observer_show_return_value; diff --git a/ext/zend_test/tests/observer_declarations_01.phpt b/ext/zend_test/tests/observer_declarations_01.phpt new file mode 100644 index 0000000000000..6d91834ef9fb2 --- /dev/null +++ b/ext/zend_test/tests/observer_declarations_01.phpt @@ -0,0 +1,54 @@ +--TEST-- +Observer: Observe function and class declarations +--EXTENSIONS-- +zend_test +--INI-- +zend_test.observer.enabled=1 +zend_test.observer.observe_all=1 +zend_test.observer.observe_declaring=1 +--FILE-- + 0) { + function nested() + { + } + + class C + { + } + + class D extends A + { + } +} + +foo(); +?> +--EXPECTF-- + + + + + + + + + + + + +foo + + From 396b2aab85ebab0a72206e74ce87eda75a4167fd Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 23 Aug 2022 14:33:29 +0200 Subject: [PATCH 126/229] Wrap observer notify functions into inlined enabled checks Signed-off-by: Bob Weinand --- Zend/zend_observer.c | 6 +++--- Zend/zend_observer.h | 25 +++++++++++++++++++---- ext/opcache/zend_accelerator_util_funcs.c | 7 +++---- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index 80d1fbd1876ec..f699ea714d83b 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -301,7 +301,7 @@ ZEND_API void zend_observer_function_declared_register(zend_observer_function_de zend_llist_add_element(&zend_observer_function_declared_callbacks, &cb); } -ZEND_API void ZEND_FASTCALL zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name) +ZEND_API void ZEND_FASTCALL _zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name) { if (CG(compiler_options) & ZEND_COMPILE_IGNORE_OBSERVER) { return; @@ -319,7 +319,7 @@ ZEND_API void zend_observer_class_linked_register(zend_observer_class_linked_cb zend_llist_add_element(&zend_observer_class_linked_callbacks, &cb); } -ZEND_API void ZEND_FASTCALL zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name) +ZEND_API void ZEND_FASTCALL _zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name) { if (CG(compiler_options) & ZEND_COMPILE_IGNORE_OBSERVER) { return; @@ -337,7 +337,7 @@ ZEND_API void zend_observer_error_register(zend_observer_error_cb cb) zend_llist_add_element(&zend_observer_error_callbacks, &cb); } -void zend_observer_error_notify(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message) +ZEND_API void _zend_observer_error_notify(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message) { for (zend_llist_element *element = zend_observer_error_callbacks.head; element; element = element->next) { zend_observer_error_cb callback = *(zend_observer_error_cb *) (element->data); diff --git a/Zend/zend_observer.h b/Zend/zend_observer.h index 0cd660db7e54a..fc4d9a62c8905 100644 --- a/Zend/zend_observer.h +++ b/Zend/zend_observer.h @@ -84,17 +84,34 @@ ZEND_API void ZEND_FASTCALL zend_observer_fcall_end( ZEND_API void zend_observer_fcall_end_all(void); typedef void (*zend_observer_function_declared_cb)(zend_op_array *op_array, zend_string *name); -typedef void (*zend_observer_class_linked_cb)(zend_class_entry *ce, zend_string *name); ZEND_API void zend_observer_function_declared_register(zend_observer_function_declared_cb cb); -ZEND_API void ZEND_FASTCALL zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name); +ZEND_API void ZEND_FASTCALL _zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name); +static inline void zend_observer_function_declared_notify(zend_op_array *op_array, zend_string *name) { + if (UNEXPECTED(zend_observer_function_declared_observed)) { + _zend_observer_function_declared_notify(op_array, name); + } +} + +typedef void (*zend_observer_class_linked_cb)(zend_class_entry *ce, zend_string *name); + ZEND_API void zend_observer_class_linked_register(zend_observer_class_linked_cb cb); -ZEND_API void ZEND_FASTCALL zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name); +ZEND_API void ZEND_FASTCALL _zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name); +static inline void zend_observer_class_linked_notify(zend_class_entry *ce, zend_string *name) { + if (UNEXPECTED(zend_observer_class_linked_observed)) { + _zend_observer_class_linked_notify(ce, name); + } +} typedef void (*zend_observer_error_cb)(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message); ZEND_API void zend_observer_error_register(zend_observer_error_cb callback); -void zend_observer_error_notify(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message); +ZEND_API void _zend_observer_error_notify(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message); +static inline void zend_observer_error_notify(int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message) { + if (UNEXPECTED(zend_observer_errors_observed)) { + _zend_observer_error_notify(type, error_filename, error_lineno, message); + } +} typedef void (*zend_observer_fiber_init_handler)(zend_fiber_context *initializing); typedef void (*zend_observer_fiber_switch_handler)(zend_fiber_context *from, zend_fiber_context *to); diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index f0fb9cc56b9fb..8363fe247d805 100644 --- a/ext/opcache/zend_accelerator_util_funcs.c +++ b/ext/opcache/zend_accelerator_util_funcs.c @@ -160,7 +160,7 @@ static void zend_accel_function_hash_copy(HashTable *target, HashTable *source) } _zend_hash_append_ptr_ex(target, p->key, Z_PTR(p->val), 1); if (UNEXPECTED(call_observers) && *ZSTR_VAL(p->key)) { // if not rtd key - zend_observer_function_declared_notify(Z_PTR(p->val), p->key); + _zend_observer_function_declared_notify(Z_PTR(p->val), p->key); } } target->nInternalPointer = 0; @@ -224,19 +224,18 @@ static void zend_accel_class_hash_copy(HashTable *target, HashTable *source) } } else { zend_class_entry *ce = Z_PTR(p->val); - t = _zend_hash_append_ptr_ex(target, p->key, Z_PTR(p->val), 1); + _zend_hash_append_ptr_ex(target, p->key, Z_PTR(p->val), 1); if ((ce->ce_flags & ZEND_ACC_LINKED) && ZSTR_HAS_CE_CACHE(ce->name) && ZSTR_VAL(p->key)[0]) { ZSTR_SET_CE_CACHE_EX(ce->name, ce, 0); if (UNEXPECTED(call_observers)) { - zend_observer_class_linked_notify(ce, p->key); + _zend_observer_class_linked_notify(ce, p->key); } } } } target->nInternalPointer = 0; - return; } void zend_accel_build_delayed_early_binding_list(zend_persistent_script *persistent_script) From b9f7123c5e4ccdc3c381ab949ff01e3c14f3465c Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 23 Aug 2022 22:34:02 +0100 Subject: [PATCH 127/229] Check at compile time that a built-in class is not being aliased (#9402) If one tries to use such an alias as a type declaration the following error would be raised: Fatal error: Cannot use 'int' as class name as it is reserved --- .../use_statement/aliasing_builtin_types.phpt | 78 +++++++++++++++++++ Zend/zend_compile.c | 7 ++ 2 files changed, 85 insertions(+) create mode 100644 Zend/tests/use_statement/aliasing_builtin_types.phpt diff --git a/Zend/tests/use_statement/aliasing_builtin_types.phpt b/Zend/tests/use_statement/aliasing_builtin_types.phpt new file mode 100644 index 0000000000000..beeab41d7b3b0 --- /dev/null +++ b/Zend/tests/use_statement/aliasing_builtin_types.phpt @@ -0,0 +1,78 @@ +--TEST-- +Aliasing built-in types +--FILE-- +getMessage(), PHP_EOL; + } + try { + eval("use $type as A; function foo$type(A \$v): A { return \$v; }"); + } catch (\Throwable $e) { + echo $e::class, ': ', $e->getMessage(), PHP_EOL; + } +} + +?> +DONE +--EXPECT-- +CompileError: Cannot alias 'bool' as it is a built-in type +CompileError: Cannot alias 'bool' as it is a built-in type +CompileError: Cannot alias 'false' as it is a built-in type +CompileError: Cannot alias 'false' as it is a built-in type +CompileError: Cannot alias 'float' as it is a built-in type +CompileError: Cannot alias 'float' as it is a built-in type +CompileError: Cannot alias 'int' as it is a built-in type +CompileError: Cannot alias 'int' as it is a built-in type +CompileError: Cannot alias 'null' as it is a built-in type +CompileError: Cannot alias 'null' as it is a built-in type +CompileError: Cannot alias 'parent' as it is a built-in type +CompileError: Cannot alias 'parent' as it is a built-in type +CompileError: Cannot alias 'self' as it is a built-in type +CompileError: Cannot alias 'self' as it is a built-in type +ParseError: syntax error, unexpected token "static" +ParseError: syntax error, unexpected token "static" +CompileError: Cannot alias 'string' as it is a built-in type +CompileError: Cannot alias 'string' as it is a built-in type +CompileError: Cannot alias 'true' as it is a built-in type +CompileError: Cannot alias 'true' as it is a built-in type +CompileError: Cannot alias 'void' as it is a built-in type +CompileError: Cannot alias 'void' as it is a built-in type +CompileError: Cannot alias 'never' as it is a built-in type +CompileError: Cannot alias 'never' as it is a built-in type +CompileError: Cannot alias 'iterable' as it is a built-in type +CompileError: Cannot alias 'iterable' as it is a built-in type +CompileError: Cannot alias 'object' as it is a built-in type +CompileError: Cannot alias 'object' as it is a built-in type +CompileError: Cannot alias 'mixed' as it is a built-in type +CompileError: Cannot alias 'mixed' as it is a built-in type +ParseError: syntax error, unexpected token "array" +ParseError: syntax error, unexpected token "array" +ParseError: syntax error, unexpected token "list" +ParseError: syntax error, unexpected token "list" +DONE diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 41b4075493d53..03faf9c96e445 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -8063,6 +8063,13 @@ static void zend_compile_use(zend_ast *ast) /* {{{ */ zend_string *old_name = zend_ast_get_str(old_name_ast); zend_string *new_name, *lookup_name; + /* Check that we are not attempting to alias a built-in type */ + if (type == ZEND_SYMBOL_CLASS && zend_is_reserved_class_name(old_name)) { + zend_throw_exception_ex(zend_ce_compile_error, 0, + "Cannot alias '%s' as it is a built-in type", ZSTR_VAL(old_name)); + return; + } + if (new_name_ast) { new_name = zend_string_copy(zend_ast_get_str(new_name_ast)); } else { From 2d6a883b3a1e5ee4f225dce64584ad2522e8e391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Tue, 23 Aug 2022 23:55:11 +0200 Subject: [PATCH 128/229] Unify structure for ext/random's engine tests (#9321) * Remove user_xoshiro128plusplus.phpt This test does not exercise any of the code paths of the random extension and thus is no value-add. * Unify structure for ext/random's engine tests --- .../tests/02_engine/all_serialize_error.phpt | 28 +++++---- .../tests/02_engine/all_serialize_native.phpt | 22 ++++--- .../tests/02_engine/all_serialize_user.phpt | 28 +++++---- ext/random/tests/02_engine/mt19937_error.phpt | 8 ++- .../tests/02_engine/mt19937_serialize.phpt | 6 +- ext/random/tests/02_engine/mt19937_value.phpt | 13 ++-- .../pcgoneseq128xslrr64_jump_error.phpt | 15 +++-- .../02_engine/pcgoneseq128xslrr64_seed.phpt | 54 +++++++++++----- .../pcgoneseq128xslrr64_serialize.phpt | 6 +- .../02_engine/pcgoneseq128xslrr64_value.phpt | 13 ++-- .../tests/02_engine/user_compatibility.phpt | 61 +++++++------------ .../02_engine/user_xoshiro128plusplus.phpt | 61 ------------------- .../02_engine/xoshiro256starstar_seed.phpt | 53 ++++++++++++---- .../xoshiro256starstar_serialize.phpt | 6 +- .../02_engine/xoshiro256starstar_value.phpt | 13 ++-- 15 files changed, 203 insertions(+), 184 deletions(-) delete mode 100644 ext/random/tests/02_engine/user_xoshiro128plusplus.phpt diff --git a/ext/random/tests/02_engine/all_serialize_error.phpt b/ext/random/tests/02_engine/all_serialize_error.phpt index adafe53e2653b..152396ade2b98 100644 --- a/ext/random/tests/02_engine/all_serialize_error.phpt +++ b/ext/random/tests/02_engine/all_serialize_error.phpt @@ -3,63 +3,65 @@ Random: Engine: serialize error pattern --FILE-- getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } // invalid hex try { unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b98g";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } // invalid count try { unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:1000;i:625;i:0;}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } // invalid mode try { unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:2;}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; -echo \Random\Engine\PcgOneseq128XslRr64::class . PHP_EOL; +echo \Random\Engine\PcgOneseq128XslRr64::class, PHP_EOL; // malformed hex try { unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:15:"c6d571c37c41a8d";i:1;s:16:"345e7e82265d6e27";}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } // invalid hex try { unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:16:"c6d571c37c41a8d1";i:1;s:16:"345e7e82265d6e2g";}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; -echo \Random\Engine\Xoshiro256StarStar::class . PHP_EOL; +echo \Random\Engine\Xoshiro256StarStar::class, PHP_EOL; // malformed hex try { unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:15:"db1c182f1bf60cb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } // invalid hex try { unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624g";}}'); } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } ?> @@ -69,9 +71,13 @@ Invalid serialization data for Random\Engine\Mt19937 object Invalid serialization data for Random\Engine\Mt19937 object Invalid serialization data for Random\Engine\Mt19937 object Invalid serialization data for Random\Engine\Mt19937 object + + Random\Engine\PcgOneseq128XslRr64 Invalid serialization data for Random\Engine\PcgOneseq128XslRr64 object Invalid serialization data for Random\Engine\PcgOneseq128XslRr64 object + + Random\Engine\Xoshiro256StarStar Invalid serialization data for Random\Engine\Xoshiro256StarStar object Invalid serialization data for Random\Engine\Xoshiro256StarStar object diff --git a/ext/random/tests/02_engine/all_serialize_native.phpt b/ext/random/tests/02_engine/all_serialize_native.phpt index 768979a88bdfa..df56456d1338d 100644 --- a/ext/random/tests/02_engine/all_serialize_native.phpt +++ b/ext/random/tests/02_engine/all_serialize_native.phpt @@ -1,27 +1,35 @@ --TEST-- -Random: Engine: serialize: native +Random: Engine: Serialization of native engines must preserve the sequence --FILE-- generate(); } + $engine2 = unserialize(serialize($engine)); - for ($i = 0; $i < 5000; $i++) { + + for ($i = 0; $i < 10_000; $i++) { if ($engine->generate() !== $engine2->generate()) { $className = $engine::class; - die("failure class: {$className} i: {$i}"); + + die("failure: {$className} at {$i}"); } } } die('success'); + ?> --EXPECT-- success diff --git a/ext/random/tests/02_engine/all_serialize_user.phpt b/ext/random/tests/02_engine/all_serialize_user.phpt index 1e34c6470a3d2..de3fe2f8292aa 100644 --- a/ext/random/tests/02_engine/all_serialize_user.phpt +++ b/ext/random/tests/02_engine/all_serialize_user.phpt @@ -1,48 +1,54 @@ --TEST-- -Random: Engine: serialize: user +Random: Engine: Serialization of user engines must preserve the sequence --FILE-- count); + return pack('P*', ++$this->count); } } -final class User32 implements \Random\Engine +final class User32 implements Engine { private int $count = 0; public function generate(): string { - return \pack('V', ++$this->count); + return pack('V', ++$this->count); } } $engines = []; -if (\PHP_INT_SIZE >= 8) { - $engines[] = new \User64(); +if (PHP_INT_SIZE >= 8) { + $engines[] = new User64(); } -$engines[] = new \User32(); +$engines[] = new User32(); foreach ($engines as $engine) { - for ($i = 0; $i < 1000; $i++) { + for ($i = 0; $i < 10_000; $i++) { $engine->generate(); } + $engine2 = unserialize(serialize($engine)); - for ($i = 0; $i < 5000; $i++) { + + for ($i = 0; $i < 10_000; $i++) { if ($engine->generate() !== $engine2->generate()) { $className = $engine::class; - die("failure class: {$className} i: {$i}"); + + die("failure: {$className} at {$i}"); } } } die('success'); + ?> --EXPECT-- success diff --git a/ext/random/tests/02_engine/mt19937_error.phpt b/ext/random/tests/02_engine/mt19937_error.phpt index bdbea8df8d8e6..dcbc21aa6bed3 100644 --- a/ext/random/tests/02_engine/mt19937_error.phpt +++ b/ext/random/tests/02_engine/mt19937_error.phpt @@ -1,11 +1,13 @@ --TEST-- -Random: Engine: Mt19937: error pattern +Random: Engine: Mt19937: Invalid $mode parameter values must be rejected --FILE-- getMessage(), PHP_EOL; } diff --git a/ext/random/tests/02_engine/mt19937_serialize.phpt b/ext/random/tests/02_engine/mt19937_serialize.phpt index 5621263793f2f..600d617dbcf69 100644 --- a/ext/random/tests/02_engine/mt19937_serialize.phpt +++ b/ext/random/tests/02_engine/mt19937_serialize.phpt @@ -1,9 +1,11 @@ --TEST-- -Random: Engine: Mt19937: serialize +Random: Engine: Mt19937: The serialization output must be stable --FILE-- --EXPECT-- diff --git a/ext/random/tests/02_engine/mt19937_value.phpt b/ext/random/tests/02_engine/mt19937_value.phpt index e90d3e69e3e05..11afbd0f75134 100644 --- a/ext/random/tests/02_engine/mt19937_value.phpt +++ b/ext/random/tests/02_engine/mt19937_value.phpt @@ -1,15 +1,18 @@ --TEST-- -Random: Engine: Mt19937: value +Random: Engine: Mt19937: For a reference seed a fixed reference value must be generated --FILE-- generate(); } -echo \bin2hex($engine->generate()); +var_dump(bin2hex($engine->generate())); + ?> --EXPECT-- -60fe95d9 +string(8) "60fe95d9" diff --git a/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt b/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt index 207c146acb30c..02be8ecb6c92f 100644 --- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt +++ b/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt @@ -1,10 +1,12 @@ --TEST-- -Random: Engine: PcgOneseq128XslRr64: Jump with negative $advance +Random: Engine: PcgOneseq128XslRr64: Negative jumps must be rejected --FILE-- jump(-1); @@ -12,11 +14,14 @@ try { echo $e->getMessage(), PHP_EOL; } -if ($engine->generate() !== $referenceEngine->generate()) { - die('failure: state changed'); +for ($i = 0; $i < 10_000; $i++) { + if ($engine->generate() !== $referenceEngine->generate()) { + die('failure: state changed'); + } } die('success'); + ?> --EXPECT-- Random\Engine\PcgOneseq128XslRr64::jump(): Argument #1 ($advance) must be greater than or equal to 0 diff --git a/ext/random/tests/02_engine/pcgoneseq128xslrr64_seed.phpt b/ext/random/tests/02_engine/pcgoneseq128xslrr64_seed.phpt index af5ea33f24d0b..b31177fba017a 100644 --- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_seed.phpt +++ b/ext/random/tests/02_engine/pcgoneseq128xslrr64_seed.phpt @@ -1,37 +1,63 @@ --TEST-- -Random: Engine: PcgOneseq128XslRr64: seed +Random: Engine: PcgOneseq128XslRr64: The seed parameter must work as expected --FILE-- getMessage() . PHP_EOL; + $engine = new PcgOneseq128XslRr64(1.0); +} catch (TypeError $e) { + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; +echo "Invalid string seed length", PHP_EOL; try { - $engine = new Random\Engine\PcgOneseq128XslRr64('foobar'); -} catch (\Throwable $e) { - echo $e->getMessage() . PHP_EOL; + $engine = new PcgOneseq128XslRr64('foobar'); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; -$engine = new \Random\Engine\PcgOneseq128XslRr64("\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08"); +echo "Valid string seed", PHP_EOL; +$engine = new PcgOneseq128XslRr64(str_repeat("\x01\x02\x03\x04\x05\x06\x07\x08", 2)); -\var_dump($engine); +var_dump($engine); for ($i = 0; $i < 1000; $i++) { $engine->generate(); } -\var_dump(\bin2hex($engine->generate())); + +var_dump(bin2hex($engine->generate())); ?> ---EXPECTF-- +--EXPECT-- +Random integer seed + + +Random string seed + + +Invalid data type Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be of type string|int|null, float given + + +Invalid string seed length Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be a 16 byte (128 bit) string -object(Random\Engine\PcgOneseq128XslRr64)#%d (%d) { + + +Valid string seed +object(Random\Engine\PcgOneseq128XslRr64)#3 (1) { ["__states"]=> array(2) { [0]=> diff --git a/ext/random/tests/02_engine/pcgoneseq128xslrr64_serialize.phpt b/ext/random/tests/02_engine/pcgoneseq128xslrr64_serialize.phpt index d0572138fcf6e..3db2d4e45b615 100644 --- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_serialize.phpt +++ b/ext/random/tests/02_engine/pcgoneseq128xslrr64_serialize.phpt @@ -1,9 +1,11 @@ --TEST-- -Random: Engine: PcgOneseq128XslRr64: serialize +Random: Engine: PcgOneseq128XslRr64: The serialization output must be stable --FILE-- --EXPECT-- diff --git a/ext/random/tests/02_engine/pcgoneseq128xslrr64_value.phpt b/ext/random/tests/02_engine/pcgoneseq128xslrr64_value.phpt index c363c9e4d1cd3..1904fd60ca167 100644 --- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_value.phpt +++ b/ext/random/tests/02_engine/pcgoneseq128xslrr64_value.phpt @@ -1,17 +1,20 @@ --TEST-- -Random: Engine: PcgOneseq128XslRr64: value +Random: Engine: PcgOneseq128XslRr64: For a reference seed a fixed reference value must be generated --FILE-- generate(); } $engine->jump(1234567); -echo \bin2hex($engine->generate()); +var_dump(bin2hex($engine->generate())); + ?> --EXPECT-- -b88e2a0f23720a1d +string(16) "b88e2a0f23720a1d" diff --git a/ext/random/tests/02_engine/user_compatibility.phpt b/ext/random/tests/02_engine/user_compatibility.phpt index 824dc367da449..11ac451431204 100644 --- a/ext/random/tests/02_engine/user_compatibility.phpt +++ b/ext/random/tests/02_engine/user_compatibility.phpt @@ -1,29 +1,16 @@ --TEST-- -Random: Engine: User: compatibility +Random: Engine: Native engines can be wrapped without changing their sequence --FILE-- engine->generate(); - } -}; - -for ($i = 0; $i < 1000; $i++) { - if ($native_engine->generate() !== $user_engine->generate()) { - die('failure Mt19937'); - } -} +use Random\Engine; +use Random\Engine\Mt19937; +use Random\Engine\PcgOneseq128XslRr64; +use Random\Engine\Xoshiro256StarStar; -$native_engine = new \Random\Engine\PcgOneseq128XslRr64(1234); -$user_engine = new class () implements \Random\Engine { - public function __construct(private $engine = new \Random\Engine\PcgOneseq128XslRr64(1234)) +class WrapperEngine implements Engine +{ + public function __construct(private readonly Engine $engine) { } @@ -31,33 +18,27 @@ $user_engine = new class () implements \Random\Engine { { return $this->engine->generate(); } -}; - -for ($i = 0; $i < 1000; $i++) { - if ($native_engine->generate() !== $user_engine->generate()) { - die('failure PcgOneseq128XslRr64'); - } } -$native_engine = new \Random\Engine\Xoshiro256StarStar(1234); -$user_engine = new class () implements \Random\Engine { - public function __construct(private $engine = new \Random\Engine\Xoshiro256StarStar(1234)) - { - } +$engines = []; +$engines[] = new Mt19937(1234); +$engines[] = new PcgOneseq128XslRr64(1234); +$engines[] = new Xoshiro256StarStar(1234); - public function generate(): string - { - return $this->engine->generate(); - } -}; +foreach ($engines as $engine) { + $native_engine = clone $engine; + $user_engine = new WrapperEngine(clone $engine); -for ($i = 0; $i < 1000; $i++) { - if ($native_engine->generate() !== $user_engine->generate()) { - die('failure Xoshiro256StarStar'); + for ($i = 0; $i < 10_000; $i++) { + if ($native_engine->generate() !== $user_engine->generate()) { + $className = $engine::class; + die("failure: {$className} at {$i}"); + } } } die('success'); + ?> --EXPECT-- success diff --git a/ext/random/tests/02_engine/user_xoshiro128plusplus.phpt b/ext/random/tests/02_engine/user_xoshiro128plusplus.phpt deleted file mode 100644 index 9759e01a12994..0000000000000 --- a/ext/random/tests/02_engine/user_xoshiro128plusplus.phpt +++ /dev/null @@ -1,61 +0,0 @@ ---TEST-- -Random: Engine: User: Xoshiro128++ ---SKIPIF-- - ---FILE-- - - */ - -final class Xoshiro128PP implements \Random\Engine -{ - private function __construct( - private int $s0, - private int $s1, - private int $s2, - private int $s3 - ) { - } - - public static function fromNumbers($s0, $s1, $s2, $s3) - { - return new self($s0, $s1, $s2, $s3); - } - - private static function rotl($x, $k) - { - return (($x << $k) | ($x >> (32 - $k))) & 0xFFFFFFFF; - } - - public function generate(): string - { - $result = (self::rotl(($this->s0 + $this->s3) & 0xFFFFFFFF, 7) + $this->s0) & 0xFFFFFFFF; - - $t = ($this->s1 << 9) & 0xFFFFFFFF; - - $this->s2 ^= $this->s0; - $this->s3 ^= $this->s1; - $this->s1 ^= $this->s2; - $this->s0 ^= $this->s3; - - $this->s2 ^= $t; - - $this->s3 = self::rotl($this->s3, 11); - - return \pack('V', $result); - } -} - -$g = Xoshiro128PP::fromNumbers(1, 2, 3, 4); - -for ($i = 0; $i < 102400; $i++) { - $g->generate(); -} - -die(\bin2hex($g->generate())); - -?> ---EXPECT-- -fa3c872c diff --git a/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt index 74bcf7331d9fe..f4fa0a40b9898 100644 --- a/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt +++ b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt @@ -1,43 +1,74 @@ --TEST-- -Random: Engine: Xoshiro256StarStar: seed +Random: Engine: Xoshiro256StarStar: The seed parameter must work as expected --FILE-- getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; +echo "Invalid string seed length", PHP_EOL; try { - $engine = new Random\Engine\Xoshiro256StarStar('foobar'); + $engine = new Xoshiro256StarStar('foobar'); } catch (\Throwable $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; +echo "Null seed", PHP_EOL; try { $engine = new Random\Engine\Xoshiro256StarStar(\str_repeat("\x00", 32)); } catch (\Throwable $e) { - echo $e->getMessage() . PHP_EOL; + echo $e->getMessage(), PHP_EOL; } +echo PHP_EOL, PHP_EOL; -$engine = new \Random\Engine\Xoshiro256StarStar("\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08\x01\x02\x03\x04\x05\x06\x07\x08"); +echo "Valid string seed", PHP_EOL; +$engine = new Xoshiro256StarStar(str_repeat("\x01\x02\x03\x04\x05\x06\x07\x08", 4)); -\var_dump($engine); +var_dump($engine); for ($i = 0; $i < 1000; $i++) { $engine->generate(); } -\var_dump(\bin2hex($engine->generate())); + +var_dump(bin2hex($engine->generate())); ?> --EXPECTF-- +Random integer seed + + +Random string seed + + +Invalid data type Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be of type string|int|null, float given + + +Invalid string seed length Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be a 32 byte (256 bit) string + + +Null seed Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must not consist entirely of NUL bytes + + +Valid string seed object(Random\Engine\Xoshiro256StarStar)#%d (%d) { ["__states"]=> array(4) { diff --git a/ext/random/tests/02_engine/xoshiro256starstar_serialize.phpt b/ext/random/tests/02_engine/xoshiro256starstar_serialize.phpt index 7230c3559614a..6803b9c77990a 100644 --- a/ext/random/tests/02_engine/xoshiro256starstar_serialize.phpt +++ b/ext/random/tests/02_engine/xoshiro256starstar_serialize.phpt @@ -1,9 +1,11 @@ --TEST-- -Random: Engine: Xoshiro256StarStar: serialize +Random: Engine: Xoshiro256StarStar: The serialization output must be stable --FILE-- --EXPECT-- diff --git a/ext/random/tests/02_engine/xoshiro256starstar_value.phpt b/ext/random/tests/02_engine/xoshiro256starstar_value.phpt index 8ec283aab1509..254fbaa555ed0 100644 --- a/ext/random/tests/02_engine/xoshiro256starstar_value.phpt +++ b/ext/random/tests/02_engine/xoshiro256starstar_value.phpt @@ -1,18 +1,21 @@ --TEST-- -Random: Engine: Xoshiro256StarStar: value +Random: Engine: Xoshiro256StarStar: For a reference seed a fixed reference value must be generated --FILE-- generate(); } $engine->jump(); $engine->jumpLong(); -echo \bin2hex($engine->generate()); +var_dump(bin2hex($engine->generate())); + ?> --EXPECT-- -1f197e9ca7969123 +string(16) "1f197e9ca7969123" From 9f926d6b2d1cddc8c1daac58a4a950a27d1b621b Mon Sep 17 00:00:00 2001 From: wxue1 Date: Wed, 24 Aug 2022 13:37:49 +0800 Subject: [PATCH 129/229] Stop JIT hot spot counting (#9343) When max_root_trace is reached, JIT in tracing mode will not compile any new code for root trace and side trace, but counting hot code is still going on. This patch stops counting as soon as possible by replacing counter handler with original handler, which increases 1.5% performance. Signed-off-by: Wang, Xue Signed-off-by: Wang, Xue --- ext/opcache/jit/zend_jit_trace.c | 69 ++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index 964cb53ee1752..41fb4c16aea4d 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -7152,6 +7152,74 @@ static zend_jit_trace_stop zend_jit_compile_root_trace(zend_jit_trace_rec *trace return ret; } +/* Set counting handler back to original VM handler. */ +static void zend_jit_stop_hot_trace_counters(zend_op_array *op_array) +{ + zend_jit_op_array_trace_extension *jit_extension; + uint32_t i; + + jit_extension = (zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array); + zend_shared_alloc_lock(); + SHM_UNPROTECT(); + for (i = 0; i < op_array->last; i++) { + /* Opline with Jit-ed code handler is skipped. */ + if (jit_extension->trace_info[i].trace_flags & + (ZEND_JIT_TRACE_JITED|ZEND_JIT_TRACE_BLACKLISTED)) { + continue; + } + if (jit_extension->trace_info[i].trace_flags & + (ZEND_JIT_TRACE_START_LOOP | ZEND_JIT_TRACE_START_ENTER | ZEND_JIT_TRACE_START_RETURN)) { + op_array->opcodes[i].handler = jit_extension->trace_info[i].orig_handler; + } + } + SHM_PROTECT(); + zend_shared_alloc_unlock(); +} + +/* Get the tracing op_array. */ +static void zend_jit_stop_persistent_op_array(zend_op_array *op_array) { + zend_func_info *func_info = ZEND_FUNC_INFO(op_array); + if (!func_info) { + return; + } + if (func_info->flags & ZEND_FUNC_JIT_ON_HOT_TRACE) { + zend_jit_stop_hot_trace_counters(op_array); + } +} + +/* Get all op_arrays with counter handler. */ +static void zend_jit_stop_persistent_script(zend_persistent_script *script) { + zend_class_entry *ce; + zend_op_array *op_array; + + zend_jit_stop_persistent_op_array(&script->script.main_op_array); + + ZEND_HASH_FOREACH_PTR(&script->script.function_table, op_array) { + zend_jit_stop_persistent_op_array(op_array); + } ZEND_HASH_FOREACH_END(); + + ZEND_HASH_FOREACH_PTR(&script->script.class_table, ce) { + ZEND_HASH_FOREACH_PTR(&ce->function_table, op_array) { + if (op_array->type == ZEND_USER_FUNCTION) { + zend_jit_stop_persistent_op_array(op_array); + } + } ZEND_HASH_FOREACH_END(); + } ZEND_HASH_FOREACH_END(); +} + +/* Get all scripts which are accelerated by JIT */ +static void zend_jit_stop_counter_handlers() { + for (uint32_t i = 0; i < ZCSG(hash).max_num_entries; i++) { + zend_accel_hash_entry *cache_entry; + for (cache_entry = ZCSG(hash).hash_table[i]; cache_entry; cache_entry = cache_entry->next) { + zend_persistent_script *script; + if (cache_entry->indirect) continue; + script = (zend_persistent_script *)cache_entry->data; + zend_jit_stop_persistent_script(script); + } + } +} + static void zend_jit_blacklist_root_trace(const zend_op *opline, size_t offset) { zend_shared_alloc_lock(); @@ -7532,6 +7600,7 @@ int ZEND_FASTCALL zend_jit_trace_hot_root(zend_execute_data *execute_data, const if (ZEND_JIT_TRACE_NUM >= JIT_G(max_root_traces)) { stop = ZEND_JIT_TRACE_STOP_TOO_MANY_TRACES; + zend_jit_stop_counter_handlers(); goto abort; } From 205ad0af293301e6384c576c2071b7e7bf7ae9ac Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 24 Aug 2022 08:44:49 +0300 Subject: [PATCH 130/229] Fix coding style --- ext/opcache/jit/zend_jit_trace.c | 35 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index 41fb4c16aea4d..cb5f3f6f0fd2d 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -7163,32 +7163,34 @@ static void zend_jit_stop_hot_trace_counters(zend_op_array *op_array) SHM_UNPROTECT(); for (i = 0; i < op_array->last; i++) { /* Opline with Jit-ed code handler is skipped. */ - if (jit_extension->trace_info[i].trace_flags & - (ZEND_JIT_TRACE_JITED|ZEND_JIT_TRACE_BLACKLISTED)) { - continue; - } - if (jit_extension->trace_info[i].trace_flags & - (ZEND_JIT_TRACE_START_LOOP | ZEND_JIT_TRACE_START_ENTER | ZEND_JIT_TRACE_START_RETURN)) { + if (jit_extension->trace_info[i].trace_flags & + (ZEND_JIT_TRACE_JITED|ZEND_JIT_TRACE_BLACKLISTED)) { + continue; + } + if (jit_extension->trace_info[i].trace_flags & + (ZEND_JIT_TRACE_START_LOOP | ZEND_JIT_TRACE_START_ENTER | ZEND_JIT_TRACE_START_RETURN)) { op_array->opcodes[i].handler = jit_extension->trace_info[i].orig_handler; - } - } + } + } SHM_PROTECT(); zend_shared_alloc_unlock(); } /* Get the tracing op_array. */ -static void zend_jit_stop_persistent_op_array(zend_op_array *op_array) { - zend_func_info *func_info = ZEND_FUNC_INFO(op_array); - if (!func_info) { +static void zend_jit_stop_persistent_op_array(zend_op_array *op_array) +{ + zend_func_info *func_info = ZEND_FUNC_INFO(op_array); + if (!func_info) { return; } - if (func_info->flags & ZEND_FUNC_JIT_ON_HOT_TRACE) { - zend_jit_stop_hot_trace_counters(op_array); - } + if (func_info->flags & ZEND_FUNC_JIT_ON_HOT_TRACE) { + zend_jit_stop_hot_trace_counters(op_array); + } } /* Get all op_arrays with counter handler. */ -static void zend_jit_stop_persistent_script(zend_persistent_script *script) { +static void zend_jit_stop_persistent_script(zend_persistent_script *script) +{ zend_class_entry *ce; zend_op_array *op_array; @@ -7208,7 +7210,8 @@ static void zend_jit_stop_persistent_script(zend_persistent_script *script) { } /* Get all scripts which are accelerated by JIT */ -static void zend_jit_stop_counter_handlers() { +static void zend_jit_stop_counter_handlers() +{ for (uint32_t i = 0; i < ZCSG(hash).max_num_entries; i++) { zend_accel_hash_entry *cache_entry; for (cache_entry = ZCSG(hash).hash_table[i]; cache_entry; cache_entry = cache_entry->next) { From b78c087b3211884d1bbc140e4ebc107d2870f8e1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 24 Aug 2022 12:14:59 +0200 Subject: [PATCH 131/229] =?UTF-8?q?Fix=20typo=20(Paletter=20=E2=86=92=20Pa?= =?UTF-8?q?lette)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This also aligns the error message with upstream[1]. [1] Closes GH-9414. --- ext/gd/libgd/gd_webp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gd/libgd/gd_webp.c b/ext/gd/libgd/gd_webp.c index a27398f1e491b..a0d8a0cf49f5c 100644 --- a/ext/gd/libgd/gd_webp.c +++ b/ext/gd/libgd/gd_webp.c @@ -113,7 +113,7 @@ void gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality) } if (!gdImageTrueColor(im)) { - zend_error(E_ERROR, "Paletter image not supported by webp"); + zend_error(E_ERROR, "Palette image not supported by webp"); return; } From 0f696e2934e745e331e5840223c0a603fa491c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Wed, 24 Aug 2022 14:25:51 +0200 Subject: [PATCH 132/229] Fix rand_range32() for umax = UINT32_MAX (#9416) * Fix rand_range32() for umax = UINT32_MAX This was introduced in the commit that added the random extension: 4d8dd8d258ff365b146bcadcb277ede8992706d0. Resolves GH-9415 * [ci skip] Rename `$r` to `$randomizer` in gh9415.phpt * Make gh9415.phpt deterministic * Make gh9415.phpt compatible with 32-bit --- NEWS | 4 ++++ ext/random/random.c | 2 +- ext/random/tests/03_randomizer/gh9415.phpt | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 ext/random/tests/03_randomizer/gh9415.phpt diff --git a/NEWS b/NEWS index 67d13a61d5c24..df3ab007f7dfa 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,10 @@ PHP NEWS . Fixed bug GH-9285 (Traits cannot be used in readonly classes). (kocsismate) +- Random: + . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 + always returns 1). (timwolla) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) diff --git a/ext/random/random.c b/ext/random/random.c index ba25e5c04f041..b0cf8cb6f2c1a 100644 --- a/ext/random/random.c +++ b/ext/random/random.c @@ -107,7 +107,7 @@ static inline uint32_t rand_range32(const php_random_algo *algo, php_random_stat /* Special case where no modulus is required */ if (UNEXPECTED(umax == UINT32_MAX)) { - return true; + return result; } /* Increment the max so range is inclusive of max */ diff --git a/ext/random/tests/03_randomizer/gh9415.phpt b/ext/random/tests/03_randomizer/gh9415.phpt new file mode 100644 index 0000000000000..c624cb785739f --- /dev/null +++ b/ext/random/tests/03_randomizer/gh9415.phpt @@ -0,0 +1,19 @@ +--TEST-- +GH-9415: Randomizer::getInt(0, 2**32 - 1) with Mt19937 always returns 1 +--FILE-- +getInt(-2147483648, 2147483647)); + +$randomizer = new Randomizer(new Mt19937(4321)); +var_dump($randomizer->getInt(-2147483648, 2147483647)); + +?> +--EXPECT-- +int(-1324913873) +int(-1843387587) From 2db2cab6adb95707e3bf671d8e6c3c19623c64c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Wed, 24 Aug 2022 14:34:01 +0200 Subject: [PATCH 133/229] Fix pdo_oci tests for PHP 8.1 Closes GH-9051 --- ext/pdo/tests/pdo_039.phpt | 14 ++++++++++++-- ext/pdo_oci/tests/pdo_oci_quote1.phpt | 11 +---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/ext/pdo/tests/pdo_039.phpt b/ext/pdo/tests/pdo_039.phpt index ecde2428769cc..5004fc40d651d 100644 --- a/ext/pdo/tests/pdo_039.phpt +++ b/ext/pdo/tests/pdo_039.phpt @@ -28,19 +28,29 @@ if ($pass === false) $pass = NULL; $conn = new PDO($dsn, $user, $pass, $attr); -$query = 'SELECT 1'; +var_dump($conn->errorCode()); +$query = 'SELECT 1'; +if ($conn->getAttribute(PDO::ATTR_DRIVER_NAME) === 'oci') { + $query .= ' FROM DUAL'; +} var_dump($conn->errorCode()); -$stmt = $conn->prepare($query); var_dump($conn->errorCode()); +$stmt = $conn->prepare($query); +var_dump($conn->errorCode()); var_dump($stmt->errorCode()); + $stmt->execute(); var_dump($stmt->errorCode()); +var_dump($stmt->errorCode()); ?> --EXPECT-- NULL string(5) "00000" +string(5) "00000" +string(5) "00000" NULL string(5) "00000" +string(5) "00000" diff --git a/ext/pdo_oci/tests/pdo_oci_quote1.phpt b/ext/pdo_oci/tests/pdo_oci_quote1.phpt index 024625a181fc4..ea2a5468dbd5b 100644 --- a/ext/pdo_oci/tests/pdo_oci_quote1.phpt +++ b/ext/pdo_oci/tests/pdo_oci_quote1.phpt @@ -21,7 +21,7 @@ $stmt = $db->prepare('select * from poq_tab'); // The intent is that the fetched data be identical to the unquoted string. // Remember!: use bind variables instead of PDO->quote() -$a = array(null, "", "a", "ab", "abc", "ab'cd", "a\b\n", "'", "''", "a'", "'z", "a''b", '"'); +$a = array("", "a", "ab", "abc", "ab'cd", "a\b\n", "'", "''", "a'", "'z", "a''b", '"'); foreach ($a as $u) { $q = $db->quote($u); echo "Unquoted : "; @@ -42,15 +42,6 @@ echo "Done\n"; ?> --EXPECT-- -Unquoted : NULL -Quoted : string(2) "''" -array(1) { - [0]=> - array(1) { - ["t"]=> - NULL - } -} Unquoted : string(0) "" Quoted : string(2) "''" array(1) { From bc4c012611b6580b0717a6366357bd1699efb2bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Wed, 24 Aug 2022 16:09:48 +0200 Subject: [PATCH 134/229] Declare ext/standard constants in stubs - part 1 (#9404) --- ext/spl/spl_observer.c | 4 +- ext/standard/array.c | 78 ++++------------ ext/standard/basic_functions.stub.php | 120 +++++++++++++++++++++++++ ext/standard/basic_functions_arginfo.h | 24 ++++- ext/standard/php_array.h | 17 +++- 5 files changed, 179 insertions(+), 64 deletions(-) diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c index 6d74329f4500e..339bd0b6e5d22 100644 --- a/ext/spl/spl_observer.c +++ b/ext/spl/spl_observer.c @@ -645,13 +645,13 @@ PHP_METHOD(SplObjectStorage, contains) PHP_METHOD(SplObjectStorage, count) { spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); - zend_long mode = COUNT_NORMAL; + zend_long mode = PHP_COUNT_NORMAL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &mode) == FAILURE) { RETURN_THROWS(); } - if (mode == COUNT_RECURSIVE) { + if (mode == PHP_COUNT_RECURSIVE) { RETURN_LONG(php_count_recursive(&intern->storage)); } diff --git a/ext/standard/array.c b/ext/standard/array.c index 58e9004cf498d..b03bea691ede6 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -44,18 +44,6 @@ #include "ext/random/php_random.h" /* {{{ defines */ -#define EXTR_OVERWRITE 0 -#define EXTR_SKIP 1 -#define EXTR_PREFIX_SAME 2 -#define EXTR_PREFIX_ALL 3 -#define EXTR_PREFIX_INVALID 4 -#define EXTR_PREFIX_IF_EXISTS 5 -#define EXTR_IF_EXISTS 6 - -#define EXTR_REFS 0x100 - -#define CASE_LOWER 0 -#define CASE_UPPER 1 #define DIFF_NORMAL 1 #define DIFF_KEY 2 @@ -89,34 +77,6 @@ PHP_MINIT_FUNCTION(array) /* {{{ */ { ZEND_INIT_MODULE_GLOBALS(array, php_array_init_globals, NULL); - REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_SKIP", EXTR_SKIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_REFS", EXTR_REFS, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("CASE_LOWER", CASE_LOWER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CASE_UPPER", CASE_UPPER, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("COUNT_NORMAL", COUNT_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT); - return SUCCESS; } /* }}} */ @@ -661,7 +621,7 @@ PHPAPI zend_long php_count_recursive(HashTable *ht) /* {{{ */ PHP_FUNCTION(count) { zval *array; - zend_long mode = COUNT_NORMAL; + zend_long mode = PHP_COUNT_NORMAL; zend_long cnt; ZEND_PARSE_PARAMETERS_START(1, 2) @@ -670,14 +630,14 @@ PHP_FUNCTION(count) Z_PARAM_LONG(mode) ZEND_PARSE_PARAMETERS_END(); - if (mode != COUNT_NORMAL && mode != COUNT_RECURSIVE) { + if (mode != PHP_COUNT_NORMAL && mode != PHP_COUNT_RECURSIVE) { zend_argument_value_error(2, "must be either COUNT_NORMAL or COUNT_RECURSIVE"); RETURN_THROWS(); } switch (Z_TYPE_P(array)) { case IS_ARRAY: - if (mode != COUNT_RECURSIVE) { + if (mode != PHP_COUNT_RECURSIVE) { cnt = zend_hash_num_elements(Z_ARRVAL_P(array)); } else { cnt = php_count_recursive(Z_ARRVAL_P(array)); @@ -2397,7 +2357,7 @@ PHP_FUNCTION(extract) { zval *var_array_param; zend_long extract_refs; - zend_long extract_type = EXTR_OVERWRITE; + zend_long extract_type = PHP_EXTR_OVERWRITE; zend_string *prefix = NULL; zend_long count; zend_array *symbol_table; @@ -2409,18 +2369,18 @@ PHP_FUNCTION(extract) Z_PARAM_STR(prefix) ZEND_PARSE_PARAMETERS_END(); - extract_refs = (extract_type & EXTR_REFS); + extract_refs = (extract_type & PHP_EXTR_REFS); if (extract_refs) { SEPARATE_ARRAY(var_array_param); } extract_type &= 0xff; - if (extract_type < EXTR_OVERWRITE || extract_type > EXTR_IF_EXISTS) { + if (extract_type < PHP_EXTR_OVERWRITE || extract_type > PHP_EXTR_IF_EXISTS) { zend_argument_value_error(2, "must be a valid extract type"); RETURN_THROWS(); } - if (extract_type > EXTR_SKIP && extract_type <= EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) { + if (extract_type > PHP_EXTR_SKIP && extract_type <= PHP_EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) { zend_argument_value_error(3, "is required when using this extract type"); RETURN_THROWS(); } @@ -2441,22 +2401,22 @@ PHP_FUNCTION(extract) if (extract_refs) { switch (extract_type) { - case EXTR_IF_EXISTS: + case PHP_EXTR_IF_EXISTS: count = php_extract_ref_if_exists(Z_ARRVAL_P(var_array_param), symbol_table); break; - case EXTR_OVERWRITE: + case PHP_EXTR_OVERWRITE: count = php_extract_ref_overwrite(Z_ARRVAL_P(var_array_param), symbol_table); break; - case EXTR_PREFIX_IF_EXISTS: + case PHP_EXTR_PREFIX_IF_EXISTS: count = php_extract_ref_prefix_if_exists(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; - case EXTR_PREFIX_SAME: + case PHP_EXTR_PREFIX_SAME: count = php_extract_ref_prefix_same(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; - case EXTR_PREFIX_ALL: + case PHP_EXTR_PREFIX_ALL: count = php_extract_ref_prefix_all(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; - case EXTR_PREFIX_INVALID: + case PHP_EXTR_PREFIX_INVALID: count = php_extract_ref_prefix_invalid(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; default: @@ -2468,22 +2428,22 @@ PHP_FUNCTION(extract) zval array_copy; ZVAL_COPY(&array_copy, var_array_param); switch (extract_type) { - case EXTR_IF_EXISTS: + case PHP_EXTR_IF_EXISTS: count = php_extract_if_exists(Z_ARRVAL(array_copy), symbol_table); break; - case EXTR_OVERWRITE: + case PHP_EXTR_OVERWRITE: count = php_extract_overwrite(Z_ARRVAL(array_copy), symbol_table); break; - case EXTR_PREFIX_IF_EXISTS: + case PHP_EXTR_PREFIX_IF_EXISTS: count = php_extract_prefix_if_exists(Z_ARRVAL(array_copy), symbol_table, prefix); break; - case EXTR_PREFIX_SAME: + case PHP_EXTR_PREFIX_SAME: count = php_extract_prefix_same(Z_ARRVAL(array_copy), symbol_table, prefix); break; - case EXTR_PREFIX_ALL: + case PHP_EXTR_PREFIX_ALL: count = php_extract_prefix_all(Z_ARRVAL(array_copy), symbol_table, prefix); break; - case EXTR_PREFIX_INVALID: + case PHP_EXTR_PREFIX_INVALID: count = php_extract_prefix_invalid(Z_ARRVAL(array_copy), symbol_table, prefix); break; default: diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 541dfc464559a..09a3c902dcdd2 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -2,6 +2,126 @@ /** @generate-class-entries */ +/* array.c */ + +/** + * @var int + * @cvalue PHP_EXTR_OVERWRITE + */ +const EXTR_OVERWRITE = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_SKIP + */ +const EXTR_SKIP = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_SAME + */ +const EXTR_PREFIX_SAME = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_ALL + */ +const EXTR_PREFIX_ALL = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_INVALID + */ +const EXTR_PREFIX_INVALID = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_IF_EXISTS + */ +const EXTR_PREFIX_IF_EXISTS = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_IF_EXISTS + */ +const EXTR_IF_EXISTS = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_REFS + */ +const EXTR_REFS = UNKNOWN; + +/** + * @var int + * @cvalue PHP_SORT_ASC + */ +const SORT_ASC = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_DESC + */ +const SORT_DESC = UNKNOWN; + +/** + * @var int + * @cvalue PHP_SORT_REGULAR + */ +const SORT_REGULAR = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_NUMERIC + */ +const SORT_NUMERIC = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_STRING + */ +const SORT_STRING = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_LOCALE_STRING + */ +const SORT_LOCALE_STRING = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_NATURAL + */ +const SORT_NATURAL = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_FLAG_CASE + */ +const SORT_FLAG_CASE = UNKNOWN; + +/** + * @var int + * @cvalue PHP_CASE_LOWER + */ +const CASE_LOWER = UNKNOWN; +/** + * @var int + * @cvalue PHP_CASE_UPPER + */ +const CASE_UPPER = UNKNOWN; + +/** + * @var int + * @cvalue PHP_COUNT_NORMAL + */ +const COUNT_NORMAL = UNKNOWN; +/** + * @var int + * @cvalue PHP_COUNT_RECURSIVE + */ +const COUNT_RECURSIVE = UNKNOWN; + +/** + * @var int + * @cvalue ARRAY_FILTER_USE_BOTH + */ +const ARRAY_FILTER_USE_BOTH = UNKNOWN; +/** + * @var int + * @cvalue ARRAY_FILTER_USE_KEY + */ +const ARRAY_FILTER_USE_KEY = UNKNOWN; + +/* basic_functions.h */ + /** * @var float * @cvalue M_E diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index c01805f3a3ec6..ef8ae6cac66c7 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: a4c98e83e51a9546a89797b80bdd8771ef0075f9 */ + * Stub hash: 51ffd17ba03a2a419b94ef633a621dbf90eb16ee */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3483,6 +3483,28 @@ static const zend_function_entry class_AssertionError_methods[] = { static void register_basic_functions_symbols(int module_number) { + REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", PHP_EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_SKIP", PHP_EXTR_SKIP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", PHP_EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", PHP_EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", PHP_EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", PHP_EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", PHP_EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_REFS", PHP_EXTR_REFS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CASE_LOWER", PHP_CASE_LOWER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CASE_UPPER", PHP_CASE_UPPER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COUNT_NORMAL", PHP_COUNT_NORMAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", PHP_COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT); REGISTER_DOUBLE_CONSTANT("M_E", M_E, CONST_CS | CONST_PERSISTENT); ZEND_ASSERT(M_E == 2.718281828459045); diff --git a/ext/standard/php_array.h b/ext/standard/php_array.h index cac6a44ce91e4..5d42a22f42040 100644 --- a/ext/standard/php_array.h +++ b/ext/standard/php_array.h @@ -34,6 +34,19 @@ PHPAPI zend_long php_count_recursive(HashTable *ht); PHPAPI bool php_array_data_shuffle(const php_random_algo *algo, php_random_status *status, zval *array); PHPAPI bool php_array_pick_keys(const php_random_algo *algo, php_random_status *status, zval *input, zend_long num_req, zval *retval, bool silent); +#define PHP_EXTR_OVERWRITE 0 +#define PHP_EXTR_SKIP 1 +#define PHP_EXTR_PREFIX_SAME 2 +#define PHP_EXTR_PREFIX_ALL 3 +#define PHP_EXTR_PREFIX_INVALID 4 +#define PHP_EXTR_PREFIX_IF_EXISTS 5 +#define PHP_EXTR_IF_EXISTS 6 + +#define PHP_EXTR_REFS 0x100 + +#define PHP_CASE_LOWER 0 +#define PHP_CASE_UPPER 1 + #define PHP_SORT_REGULAR 0 #define PHP_SORT_NUMERIC 1 #define PHP_SORT_STRING 2 @@ -43,8 +56,8 @@ PHPAPI bool php_array_pick_keys(const php_random_algo *algo, php_random_status * #define PHP_SORT_NATURAL 6 #define PHP_SORT_FLAG_CASE 8 -#define COUNT_NORMAL 0 -#define COUNT_RECURSIVE 1 +#define PHP_COUNT_NORMAL 0 +#define PHP_COUNT_RECURSIVE 1 #define ARRAY_FILTER_USE_BOTH 1 #define ARRAY_FILTER_USE_KEY 2 From c19116ff09fda3afd93f5ebfad11086e3c96d406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Wed, 24 Aug 2022 15:21:37 +0200 Subject: [PATCH 135/229] Test oci8 & pdo_oci in CI Closes GH-8348 --- .github/actions/apt-x64/action.yml | 7 ++++++- .github/actions/install-linux/action.yml | 2 ++ .github/actions/{mssql => setup-mssql}/action.yml | 2 +- .github/actions/setup-oracle/action.yml | 13 +++++++++++++ .github/actions/setup-x64/action.yml | 2 +- .github/actions/test-linux/action.yml | 6 ++++++ .github/workflows/nightly.yml | 6 ++++-- .github/workflows/push.yml | 6 ++++-- 8 files changed, 37 insertions(+), 7 deletions(-) rename .github/actions/{mssql => setup-mssql}/action.yml (91%) create mode 100644 .github/actions/setup-oracle/action.yml diff --git a/.github/actions/apt-x64/action.yml b/.github/actions/apt-x64/action.yml index a5b0db49e8270..abae59c8fdea4 100644 --- a/.github/actions/apt-x64/action.yml +++ b/.github/actions/apt-x64/action.yml @@ -5,6 +5,7 @@ runs: - shell: bash run: | set -x + sudo apt-get update sudo apt-get install \ bison \ @@ -58,11 +59,15 @@ runs: libjpeg-dev \ libpng-dev \ libfreetype6-dev + mkdir /opt/oracle wget -nv https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip unzip instantclient-basiclite-linuxx64.zip && rm instantclient-basiclite-linuxx64.zip wget -nv https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip unzip instantclient-sdk-linuxx64.zip && rm instantclient-sdk-linuxx64.zip mv instantclient_*_* /opt/oracle/instantclient - # Interferes with libldap2 headers. + # interferes with libldap2 headers rm /opt/oracle/instantclient/sdk/include/ldap.h + # fix debug build warning: zend_signal: handler was replaced for signal (2) after startup + echo DISABLE_INTERRUPT=on > /opt/oracle/instantclient/network/admin/sqlnet.ora + sudo sh -c 'echo /opt/oracle/instantclient >/etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig' diff --git a/.github/actions/install-linux/action.yml b/.github/actions/install-linux/action.yml index e0f6726dbd1d3..7ac2ae4c4fcb1 100644 --- a/.github/actions/install-linux/action.yml +++ b/.github/actions/install-linux/action.yml @@ -10,3 +10,5 @@ runs: sudo chmod 777 /etc/php.d echo mysqli.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/mysqli.ini echo pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/pdo_mysql.ini + echo extension=oci8.so > /etc/php.d/oci8.ini + echo extension=pdo_oci.so > /etc/php.d/pdo_oci.ini diff --git a/.github/actions/mssql/action.yml b/.github/actions/setup-mssql/action.yml similarity index 91% rename from .github/actions/mssql/action.yml rename to .github/actions/setup-mssql/action.yml index 894380644c1ea..c069744a21b59 100644 --- a/.github/actions/mssql/action.yml +++ b/.github/actions/setup-mssql/action.yml @@ -1,4 +1,4 @@ -name: Create mssql container +name: Create MSSQL container runs: using: composite steps: diff --git a/.github/actions/setup-oracle/action.yml b/.github/actions/setup-oracle/action.yml new file mode 100644 index 0000000000000..11c16fe93d525 --- /dev/null +++ b/.github/actions/setup-oracle/action.yml @@ -0,0 +1,13 @@ +name: Create Oracle container +runs: + using: composite + steps: + - shell: bash + run: | + set -x + docker run \ + -e "ORACLE_PASSWORD=pass" \ + -p 1521:1521 \ + --name oracle \ + -h oracle \ + -d gvenzl/oracle-xe:slim diff --git a/.github/actions/setup-x64/action.yml b/.github/actions/setup-x64/action.yml index 6cec51d4c8079..bb014bfe9de11 100644 --- a/.github/actions/setup-x64/action.yml +++ b/.github/actions/setup-x64/action.yml @@ -17,7 +17,7 @@ runs: docker exec sql1 /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U SA -P "" -Q "create login pdo_test with password='password', check_policy=off; create user pdo_test for login pdo_test; grant alter, control to pdo_test;" sudo locale-gen de_DE - ./.github/scripts/setup-slapd.sh + ./.github/scripts/setup-slapd.sh &>/dev/null sudo cp ext/snmp/tests/snmpd.conf /etc/snmp sudo cp ext/snmp/tests/bigtest /etc/snmp diff --git a/.github/actions/test-linux/action.yml b/.github/actions/test-linux/action.yml index c7dab609820dd..7db8fa58900d3 100644 --- a/.github/actions/test-linux/action.yml +++ b/.github/actions/test-linux/action.yml @@ -17,6 +17,12 @@ runs: export PDO_DBLIB_TEST_DSN="dblib:host=127.0.0.1;dbname=master;version=7.0" export PDO_DBLIB_TEST_USER="pdo_test" export PDO_DBLIB_TEST_PASS="password" + export PHP_OCI8_TEST_USER="system" + export PHP_OCI8_TEST_PASS="pass" + export PHP_OCI8_TEST_DB="localhost/XEPDB1" + export PDO_OCI_TEST_USER="system" + export PDO_OCI_TEST_PASS="pass" + export PDO_OCI_TEST_DSN="oci:dbname=localhost/XEPDB1;charset=AL32UTF8" export SKIP_IO_CAPTURE_TESTS=1 sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \ -j$(/usr/bin/nproc) \ diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 33c9335ef72da..b5e28b2fdd8f9 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -47,8 +47,10 @@ jobs: uses: actions/checkout@v2 with: ref: ${{ matrix.branch.ref }} - - name: Create mssql container - uses: ./.github/actions/mssql + - name: Create MSSQL container + uses: ./.github/actions/setup-mssql + - name: Create Oracle container + uses: ./.github/actions/setup-oracle - name: apt uses: ./.github/actions/apt-x64 - name: ./configure diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index bd05e60d89572..520a701a0de43 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -32,8 +32,10 @@ jobs: steps: - name: git checkout uses: actions/checkout@v2 - - name: Create mssql container - uses: ./.github/actions/mssql + - name: Create MSSQL container + uses: ./.github/actions/setup-mssql + - name: Create Oracle container + uses: ./.github/actions/setup-oracle - name: apt uses: ./.github/actions/apt-x64 - name: ./configure From e787d9a0dce10732aea87761124fd8667545747a Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Thu, 18 Aug 2022 19:37:37 +0100 Subject: [PATCH 136/229] GH-9370: Fix opcache jit protection bits. Allow mprotect to occur, pthread_jit_write_np are just to allow mprotect flags to be used. Closes #9371. --- NEWS | 4 ++++ ext/opcache/jit/zend_jit.c | 2 -- ext/opcache/shared_alloc_mmap.c | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index df3ab007f7dfa..f78a64d2be8c7 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,10 @@ PHP NEWS . Fixed bug GH-9285 (Traits cannot be used in readonly classes). (kocsismate) +- Opcache: + . Fixed bug GH-9371 (Crash with JIT on mac arm64) + (jdp1024/David Carlier) + - Random: . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 always returns 1). (timwolla) diff --git a/ext/opcache/jit/zend_jit.c b/ext/opcache/jit/zend_jit.c index ac4fba9877a8d..8bf7c69377788 100644 --- a/ext/opcache/jit/zend_jit.c +++ b/ext/opcache/jit/zend_jit.c @@ -4611,7 +4611,6 @@ ZEND_EXT_API void zend_jit_unprotect(void) #ifdef HAVE_PTHREAD_JIT_WRITE_PROTECT_NP if (zend_write_protect) { pthread_jit_write_protect_np(0); - return; } #endif opts |= PROT_EXEC; @@ -4645,7 +4644,6 @@ ZEND_EXT_API void zend_jit_protect(void) #ifdef HAVE_PTHREAD_JIT_WRITE_PROTECT_NP if (zend_write_protect) { pthread_jit_write_protect_np(1); - return; } #endif if (mprotect(dasm_buf, dasm_size, PROT_READ | PROT_EXEC) != 0) { diff --git a/ext/opcache/shared_alloc_mmap.c b/ext/opcache/shared_alloc_mmap.c index add07cd1694b0..8a9921532d32e 100644 --- a/ext/opcache/shared_alloc_mmap.c +++ b/ext/opcache/shared_alloc_mmap.c @@ -166,6 +166,9 @@ static int create_segments(size_t requested_size, zend_shared_segment ***shared_ #ifdef PROT_MAX flags |= PROT_MAX(PROT_READ | PROT_WRITE | PROT_EXEC); #endif +#ifdef MAP_JIT + flags |= MAP_JIT; +#endif #if (defined(__linux__) || defined(__FreeBSD__)) && (defined(__x86_64__) || defined (__aarch64__)) void *hint = find_prefered_mmap_base(requested_size); if (hint != MAP_FAILED) { From de90edc42c69d8e9670a2ed68cc16e7921d85fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Wed, 24 Aug 2022 21:10:20 +0200 Subject: [PATCH 137/229] Declare ext/oci8 constants in stubs (#9419) Co-authored-by: Christoph M. Becker --- ext/oci8/oci8.c | 100 ---------- ext/oci8/oci8.stub.php | 397 ++++++++++++++++++++++++++++++++++++++++ ext/oci8/oci8_arginfo.h | 80 +++++++- 3 files changed, 476 insertions(+), 101 deletions(-) diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index 9b5a41832c6cc..98e1821568d7d 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -286,106 +286,6 @@ PHP_MINIT_FUNCTION(oci) oci_lob_class_entry_ptr = register_class_OCILob(); oci_coll_class_entry_ptr = register_class_OCICollection(); -/* thies@thieso.net 990203 i do not think that we will need all of them - just in here for completeness for now! */ - REGISTER_LONG_CONSTANT("OCI_DEFAULT",OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SYSOPER",OCI_SYSOPER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SYSDBA",OCI_SYSDBA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_CRED_EXT",PHP_OCI_CRED_EXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DESCRIBE_ONLY",OCI_DESCRIBE_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_COMMIT_ON_SUCCESS",OCI_COMMIT_ON_SUCCESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_NO_AUTO_COMMIT",OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_EXACT_FETCH",OCI_EXACT_FETCH, CONST_CS | CONST_PERSISTENT); - -/* for $LOB->seek() */ - REGISTER_LONG_CONSTANT("OCI_SEEK_SET",PHP_OCI_SEEK_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SEEK_CUR",PHP_OCI_SEEK_CUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SEEK_END",PHP_OCI_SEEK_END, CONST_CS | CONST_PERSISTENT); - -/* for $LOB->flush() */ - REGISTER_LONG_CONSTANT("OCI_LOB_BUFFER_FREE",OCI_LOB_BUFFER_FREE, CONST_CS | CONST_PERSISTENT); - -/* for OCIBindByName (real "oci" names + short "php" names */ - REGISTER_LONG_CONSTANT("SQLT_BFILEE",SQLT_BFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_CFILEE",SQLT_CFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_CLOB",SQLT_CLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BLOB",SQLT_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_RDD",SQLT_RDD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_INT",SQLT_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_NUM",SQLT_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_RSET",SQLT_RSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_AFC",SQLT_AFC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_CHR",SQLT_CHR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_VCS",SQLT_VCS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_AVC",SQLT_AVC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_STR",SQLT_STR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_LVC",SQLT_LVC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_FLT",SQLT_FLT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_UIN",SQLT_UIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_LNG",SQLT_LNG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_LBI",SQLT_LBI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BIN",SQLT_BIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_ODT",SQLT_ODT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BDOUBLE",SQLT_BDOUBLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BFLOAT",SQLT_BFLOAT, CONST_CS | CONST_PERSISTENT); -#if OCI_MAJOR_VERSION >= 12 - REGISTER_LONG_CONSTANT("SQLT_BOL",SQLT_BOL, CONST_CS | CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("OCI_B_NTY",SQLT_NTY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_NTY",SQLT_NTY, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("OCI_SYSDATE","SYSDATE", CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("OCI_B_BFILE",SQLT_BFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_CFILEE",SQLT_CFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_CLOB",SQLT_CLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_BLOB",SQLT_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_ROWID",SQLT_RDD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_CURSOR",SQLT_RSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_BIN",SQLT_BIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_INT",SQLT_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_NUM",SQLT_NUM, CONST_CS | CONST_PERSISTENT); -#if OCI_MAJOR_VERSION >= 12 - REGISTER_LONG_CONSTANT("OCI_B_BOL",SQLT_BOL, CONST_CS | CONST_PERSISTENT); -#endif - -/* for OCIFetchStatement */ - REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_COLUMN", PHP_OCI_FETCHSTATEMENT_BY_COLUMN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_ROW", PHP_OCI_FETCHSTATEMENT_BY_ROW, CONST_CS | CONST_PERSISTENT); - -/* for OCIFetchInto & OCIResult */ - REGISTER_LONG_CONSTANT("OCI_ASSOC",PHP_OCI_ASSOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_NUM",PHP_OCI_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_BOTH",PHP_OCI_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_RETURN_NULLS",PHP_OCI_RETURN_NULLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_RETURN_LOBS",PHP_OCI_RETURN_LOBS, CONST_CS | CONST_PERSISTENT); - -/* for OCINewDescriptor (real "oci" names + short "php" names */ - REGISTER_LONG_CONSTANT("OCI_DTYPE_FILE",OCI_DTYPE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DTYPE_LOB",OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DTYPE_ROWID",OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("OCI_D_FILE",OCI_DTYPE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_D_LOB",OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_D_ROWID",OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT); - -/* for OCIWriteTemporaryLob */ - REGISTER_LONG_CONSTANT("OCI_TEMP_CLOB",OCI_TEMP_CLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_TEMP_BLOB",OCI_TEMP_BLOB, CONST_CS | CONST_PERSISTENT); - -/* for Transparent Application Failover */ - REGISTER_LONG_CONSTANT("OCI_FO_END", OCI_FO_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_ABORT", OCI_FO_ABORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_REAUTH", OCI_FO_REAUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_BEGIN", OCI_FO_BEGIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_ERROR", OCI_FO_ERROR, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("OCI_FO_NONE", OCI_FO_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_SESSION", OCI_FO_SESSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_SELECT", OCI_FO_SELECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_TXNAL", OCI_FO_TXNAL, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("OCI_FO_RETRY", OCI_FO_RETRY, CONST_CS | CONST_PERSISTENT); - register_oci8_symbols(module_number); return SUCCESS; diff --git a/ext/oci8/oci8.stub.php b/ext/oci8/oci8.stub.php index adc7e9f9feb98..8fc39bd378d53 100644 --- a/ext/oci8/oci8.stub.php +++ b/ext/oci8/oci8.stub.php @@ -2,6 +2,403 @@ /** @generate-class-entries */ +/** + * @var int + * @cvalue OCI_DEFAULT + */ +const OCI_DEFAULT = UNKNOWN; +/** + * @var int + * @cvalue OCI_SYSOPER + */ +const OCI_SYSOPER = UNKNOWN; +/** + * @var int + * @cvalue OCI_SYSDBA + */ +const OCI_SYSDBA = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_CRED_EXT + */ +const OCI_CRED_EXT = UNKNOWN; +/** + * @var int + * @cvalue OCI_DESCRIBE_ONLY + */ +const OCI_DESCRIBE_ONLY = UNKNOWN; +/** + * @var int + * @cvalue OCI_COMMIT_ON_SUCCESS + */ +const OCI_COMMIT_ON_SUCCESS = UNKNOWN; +/** + * @var int + * @cvalue OCI_DEFAULT + */ +const OCI_NO_AUTO_COMMIT = UNKNOWN; +/** + * @var int + * @cvalue OCI_EXACT_FETCH + */ +const OCI_EXACT_FETCH = UNKNOWN; + +/* for $LOB->seek() */ + +/** + * @var int + * @cvalue PHP_OCI_SEEK_SET + */ +const OCI_SEEK_SET = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_SEEK_CUR + */ +const OCI_SEEK_CUR = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_SEEK_END + */ +const OCI_SEEK_END = UNKNOWN; + +/* for $LOB->flush() */ + +/** + * @var int + * @cvalue OCI_LOB_BUFFER_FREE + */ +const OCI_LOB_BUFFER_FREE = UNKNOWN; + +/* for OCIBindByName (real "oci" names + short "php" names */ + +/** + * @var int + * @cvalue SQLT_BFILEE + */ +const SQLT_BFILEE = UNKNOWN; +/** + * @var int + * @cvalue SQLT_CFILEE + */ +const SQLT_CFILEE = UNKNOWN; +/** + * @var int + * @cvalue SQLT_CLOB + */ +const SQLT_CLOB = UNKNOWN; +/** + * @var int + * @cvalue SQLT_BLOB + */ +const SQLT_BLOB = UNKNOWN; +/** + * @var int + * @cvalue SQLT_RDD + */ +const SQLT_RDD = UNKNOWN; +/** + * @var int + * @cvalue SQLT_INT + */ +const SQLT_INT = UNKNOWN; +/** + * @var int + * @cvalue SQLT_NUM + */ +const SQLT_NUM = UNKNOWN; +/** + * @var int + * @cvalue SQLT_RSET + */ +const SQLT_RSET = UNKNOWN; +/** + * @var int + * @cvalue SQLT_AFC + */ +const SQLT_AFC = UNKNOWN; +/** + * @var int + * @cvalue SQLT_CHR + */ +const SQLT_CHR = UNKNOWN; +/** + * @var int + * @cvalue SQLT_VCS + */ +const SQLT_VCS = UNKNOWN; +/** + * @var int + * @cvalue SQLT_AVC + */ +const SQLT_AVC = UNKNOWN; +/** + * @var int + * @cvalue SQLT_STR + */ +const SQLT_STR = UNKNOWN; +/** + * @var int + * @cvalue SQLT_LVC + */ +const SQLT_LVC = UNKNOWN; +/** + * @var int + * @cvalue SQLT_FLT + */ +const SQLT_FLT = UNKNOWN; +/** + * @var int + * @cvalue SQLT_UIN + */ +const SQLT_UIN = UNKNOWN; +/** + * @var int + * @cvalue SQLT_LNG + */ +const SQLT_LNG = UNKNOWN; +/** + * @var int + * @cvalue SQLT_LBI + */ +const SQLT_LBI = UNKNOWN; +/** + * @var int + * @cvalue SQLT_BIN + */ +const SQLT_BIN = UNKNOWN; +/** + * @var int + * @cvalue SQLT_ODT + */ +const SQLT_ODT = UNKNOWN; +/** + * @var int + * @cvalue SQLT_BDOUBLE + */ +const SQLT_BDOUBLE = UNKNOWN; +/** + * @var int + * @cvalue SQLT_BFLOAT + */ +const SQLT_BFLOAT = UNKNOWN; +#if OCI_MAJOR_VERSION >= 12 +/** + * @var int + * @cvalue SQLT_BOL + */ +const SQLT_BOL = UNKNOWN; +#endif + +/** + * @var int + * @cvalue SQLT_NTY + */ +const OCI_B_NTY = UNKNOWN; +/** + * @var int + * @cvalue SQLT_NTY + */ +const SQLT_NTY = UNKNOWN; + +/** @var string */ +const OCI_SYSDATE = "SYSDATE"; + +/** + * @var int + * @cvalue SQLT_BFILEE + */ +const OCI_B_BFILE = UNKNOWN; +/** + * @var int + * @cvalue SQLT_CFILEE + */ +const OCI_B_CFILEE = UNKNOWN; +/** + * @var int + * @cvalue SQLT_CLOB + */ +const OCI_B_CLOB = UNKNOWN; +/** + * @var int + * @cvalue SQLT_BLOB + */ +const OCI_B_BLOB = UNKNOWN; +/** + * @var int + * @cvalue SQLT_RDD + */ +const OCI_B_ROWID = UNKNOWN; +/** + * @var int + * @cvalue SQLT_RSET + */ +const OCI_B_CURSOR = UNKNOWN; +/** + * @var int + * @cvalue SQLT_BIN + */ +const OCI_B_BIN = UNKNOWN; +/** + * @var int + * @cvalue SQLT_INT + */ +const OCI_B_INT = UNKNOWN; +/** + * @var int + * @cvalue SQLT_NUM + */ +const OCI_B_NUM = UNKNOWN; +#if OCI_MAJOR_VERSION >= 12 +/** + * @var int + * @cvalue SQLT_BOL + */ +const OCI_B_BOL = UNKNOWN; +#endif + +/* for OCIFetchStatement */ + +/** + * @var int + * @cvalue PHP_OCI_FETCHSTATEMENT_BY_COLUMN + */ +const OCI_FETCHSTATEMENT_BY_COLUMN = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_FETCHSTATEMENT_BY_ROW + */ +const OCI_FETCHSTATEMENT_BY_ROW = UNKNOWN; + +/* for OCIFetchInto & OCIResult */ + +/** + * @var int + * @cvalue PHP_OCI_ASSOC + */ +const OCI_ASSOC = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_NUM + */ +const OCI_NUM = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_BOTH + */ +const OCI_BOTH = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_RETURN_NULLS + */ +const OCI_RETURN_NULLS = UNKNOWN; +/** + * @var int + * @cvalue PHP_OCI_RETURN_LOBS + */ +const OCI_RETURN_LOBS = UNKNOWN; + +/* for OCINewDescriptor (real "oci" names + short "php" names */ + +/** + * @var int + * @cvalue OCI_DTYPE_FILE + */ +const OCI_DTYPE_FILE = UNKNOWN; +/** + * @var int + * @cvalue OCI_DTYPE_LOB + */ +const OCI_DTYPE_LOB = UNKNOWN; +/** + * @var int + * @cvalue OCI_DTYPE_ROWID + */ +const OCI_DTYPE_ROWID = UNKNOWN; + +/** + * @var int + * @cvalue OCI_DTYPE_FILE + */ +const OCI_D_FILE = UNKNOWN; +/** + * @var int + * @cvalue OCI_DTYPE_LOB + */ +const OCI_D_LOB = UNKNOWN; +/** + * @var int + * @cvalue OCI_DTYPE_ROWID + */ +const OCI_D_ROWID = UNKNOWN; + +/* for OCIWriteTemporaryLob */ + +/** + * @var int + * @cvalue OCI_TEMP_CLOB + */ +const OCI_TEMP_CLOB = UNKNOWN; +/** + * @var int + * @cvalue OCI_TEMP_BLOB + */ +const OCI_TEMP_BLOB = UNKNOWN; + +/* for Transparent Application Failover */ + +/** + * @var int + * @cvalue OCI_FO_END + */ +const OCI_FO_END = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_ABORT + */ +const OCI_FO_ABORT = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_REAUTH + */ +const OCI_FO_REAUTH = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_BEGIN + */ +const OCI_FO_BEGIN = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_ERROR + */ +const OCI_FO_ERROR = UNKNOWN; + +/** + * @var int + * @cvalue OCI_FO_NONE + */ +const OCI_FO_NONE = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_SESSION + */ +const OCI_FO_SESSION = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_SELECT + */ +const OCI_FO_SELECT = UNKNOWN; +/** + * @var int + * @cvalue OCI_FO_TXNAL + */ +const OCI_FO_TXNAL = UNKNOWN; + +/** + * @var int + * @cvalue OCI_FO_RETRY + */ +const OCI_FO_RETRY = UNKNOWN; + /** @param resource $statement */ function oci_define_by_name($statement, string $column, mixed &$var, int $type = 0): bool {} diff --git a/ext/oci8/oci8_arginfo.h b/ext/oci8/oci8_arginfo.h index 1edc06351b3d2..ed505117e385a 100644 --- a/ext/oci8/oci8_arginfo.h +++ b/ext/oci8/oci8_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: e942a76bf66ad950c12f459b3f62bb6a0edf680c */ + * Stub hash: 850d4e63296c95a27cdfc1244d63b1ed496acd54 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_oci_define_by_name, 0, 3, _IS_BOOL, 0) ZEND_ARG_INFO(0, statement) @@ -801,6 +801,84 @@ static const zend_function_entry class_OCICollection_methods[] = { static void register_oci8_symbols(int module_number) { + REGISTER_LONG_CONSTANT("OCI_DEFAULT", OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SYSOPER", OCI_SYSOPER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SYSDBA", OCI_SYSDBA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_CRED_EXT", PHP_OCI_CRED_EXT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DESCRIBE_ONLY", OCI_DESCRIBE_ONLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_COMMIT_ON_SUCCESS", OCI_COMMIT_ON_SUCCESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_NO_AUTO_COMMIT", OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_EXACT_FETCH", OCI_EXACT_FETCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SEEK_SET", PHP_OCI_SEEK_SET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SEEK_CUR", PHP_OCI_SEEK_CUR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SEEK_END", PHP_OCI_SEEK_END, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_LOB_BUFFER_FREE", OCI_LOB_BUFFER_FREE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BFILEE", SQLT_BFILEE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_CFILEE", SQLT_CFILEE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_CLOB", SQLT_CLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BLOB", SQLT_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_RDD", SQLT_RDD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_INT", SQLT_INT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_NUM", SQLT_NUM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_RSET", SQLT_RSET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_AFC", SQLT_AFC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_CHR", SQLT_CHR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_VCS", SQLT_VCS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_AVC", SQLT_AVC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_STR", SQLT_STR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_LVC", SQLT_LVC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_FLT", SQLT_FLT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_UIN", SQLT_UIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_LNG", SQLT_LNG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_LBI", SQLT_LBI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BIN", SQLT_BIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_ODT", SQLT_ODT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BDOUBLE", SQLT_BDOUBLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BFLOAT", SQLT_BFLOAT, CONST_CS | CONST_PERSISTENT); +#if OCI_MAJOR_VERSION >= 12 + REGISTER_LONG_CONSTANT("SQLT_BOL", SQLT_BOL, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("OCI_B_NTY", SQLT_NTY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_NTY", SQLT_NTY, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("OCI_SYSDATE", "SYSDATE", CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BFILE", SQLT_BFILEE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_CFILEE", SQLT_CFILEE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_CLOB", SQLT_CLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BLOB", SQLT_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_ROWID", SQLT_RDD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_CURSOR", SQLT_RSET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BIN", SQLT_BIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_INT", SQLT_INT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_NUM", SQLT_NUM, CONST_CS | CONST_PERSISTENT); +#if OCI_MAJOR_VERSION >= 12 + REGISTER_LONG_CONSTANT("OCI_B_BOL", SQLT_BOL, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_COLUMN", PHP_OCI_FETCHSTATEMENT_BY_COLUMN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_ROW", PHP_OCI_FETCHSTATEMENT_BY_ROW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_ASSOC", PHP_OCI_ASSOC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_NUM", PHP_OCI_NUM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_BOTH", PHP_OCI_BOTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_RETURN_NULLS", PHP_OCI_RETURN_NULLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_RETURN_LOBS", PHP_OCI_RETURN_LOBS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DTYPE_FILE", OCI_DTYPE_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DTYPE_LOB", OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DTYPE_ROWID", OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_D_FILE", OCI_DTYPE_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_D_LOB", OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_D_ROWID", OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_TEMP_CLOB", OCI_TEMP_CLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_TEMP_BLOB", OCI_TEMP_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_END", OCI_FO_END, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_ABORT", OCI_FO_ABORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_REAUTH", OCI_FO_REAUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_BEGIN", OCI_FO_BEGIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_ERROR", OCI_FO_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_NONE", OCI_FO_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_SESSION", OCI_FO_SESSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_SELECT", OCI_FO_SELECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_TXNAL", OCI_FO_TXNAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_RETRY", OCI_FO_RETRY, CONST_CS | CONST_PERSISTENT); + zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "oci_new_connect", sizeof("oci_new_connect") - 1), 1, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); From cbb024cb3ddbff80cc382f7d52a0bc90fcd0bfd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Thu, 25 Aug 2022 09:42:32 +0200 Subject: [PATCH 138/229] Select `rand_rangeXX()` variant only based on the requested range (#9418) This fixes an incompatibility when wrapping native 32-bit engines with a userland engine. The latter always used the 64-bit range function which then used two 32-bit numbers from the underlying engine to fill the 64-bit range, whereas the native implementation used only one. Now the selection of the range variant only depends on the requested range. A 32-bit range uses the 32-bit variant (even for 64-bit engines), whereas a larger range uses the 64-bit variant. This was found in https://github.com/php/php-src/pull/9410#discussion_r953213000 --- NEWS | 1 + ext/random/random.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index f78a64d2be8c7..dacb9649b6833 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,7 @@ PHP NEWS - Random: . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 always returns 1). (timwolla) + . Fixed Randomizer::getInt() consistency for 32-bit engines. (timwolla) - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). diff --git a/ext/random/random.c b/ext/random/random.c index b0cf8cb6f2c1a..2380a83b75890 100644 --- a/ext/random/random.c +++ b/ext/random/random.c @@ -313,7 +313,7 @@ PHPAPI zend_long php_random_range(const php_random_algo *algo, php_random_status { zend_ulong umax = (zend_ulong) max - (zend_ulong) min; - if (algo->generate_size == 0 || algo->generate_size > sizeof(uint32_t) || umax > UINT32_MAX) { + if (umax > UINT32_MAX) { return (zend_long) (rand_range64(algo, status, umax) + min); } From f59754694eaebc75cba569f6f3e9b1a503d68b9a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 24 Aug 2022 14:13:20 +0200 Subject: [PATCH 139/229] xmlRelaxNGCleanupTypes() is deprecated as of libxml2 2.10.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The documentation[1] suggest to call `xmlCleanupParser()` instead, but we are not doing that for reasons[2]. Thus, we do no longer call `xmlRelaxNGCleanupTypes()` for libxml2 ≥ 2.10.0. [1] [2] Closes GH-9417. --- ext/libxml/libxml.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c index 2b2089a2d7b7c..73486ae253f84 100644 --- a/ext/libxml/libxml.c +++ b/ext/libxml/libxml.c @@ -772,7 +772,7 @@ PHP_LIBXML_API void php_libxml_initialize(void) PHP_LIBXML_API void php_libxml_shutdown(void) { if (_php_libxml_initialized) { -#ifdef LIBXML_SCHEMAS_ENABLED +#if defined(LIBXML_SCHEMAS_ENABLED) && LIBXML_VERSION < 21000 xmlRelaxNGCleanupTypes(); #endif /* xmlCleanupParser(); */ From be4dd60c55f5e2837124c2889bffe3784e4f712a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Thu, 25 Aug 2022 14:35:39 +0200 Subject: [PATCH 140/229] Fix oci8/pdo_oci random test failures when run in parallel Closes GH-9424. --- ext/oci8/tests/CONFLICTS | 1 + ext/pdo_oci/tests/CONFLICTS | 1 + 2 files changed, 2 insertions(+) create mode 100644 ext/oci8/tests/CONFLICTS create mode 100644 ext/pdo_oci/tests/CONFLICTS diff --git a/ext/oci8/tests/CONFLICTS b/ext/oci8/tests/CONFLICTS new file mode 100644 index 0000000000000..176b41ab8bb6f --- /dev/null +++ b/ext/oci8/tests/CONFLICTS @@ -0,0 +1 @@ +oci8 diff --git a/ext/pdo_oci/tests/CONFLICTS b/ext/pdo_oci/tests/CONFLICTS new file mode 100644 index 0000000000000..176b41ab8bb6f --- /dev/null +++ b/ext/pdo_oci/tests/CONFLICTS @@ -0,0 +1 @@ +oci8 From 7f74a300184ffd3a0f3a77ce649c80088fac5839 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 25 Aug 2022 19:49:16 +0300 Subject: [PATCH 141/229] Reduce observer overhead when restoring script from opcache (#9413) * Reduce observer overhead when restoring script from opcache * typo * Split loops to keep notifications in case of redeclaration errors --- ext/opcache/zend_accelerator_util_funcs.c | 41 ++++++++++++++++++----- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index 8363fe247d805..aab83bce4ecfc 100644 --- a/ext/opcache/zend_accelerator_util_funcs.c +++ b/ext/opcache/zend_accelerator_util_funcs.c @@ -140,14 +140,12 @@ void zend_accel_move_user_classes(HashTable *src, uint32_t count, zend_script *s src->pDestructor = orig_dtor; } -static void zend_accel_function_hash_copy(HashTable *target, HashTable *source) +static zend_always_inline void _zend_accel_function_hash_copy(HashTable *target, HashTable *source, bool call_observers) { zend_function *function1, *function2; Bucket *p, *end; zval *t; - bool call_observers = zend_observer_function_declared_observed; - zend_hash_extend(target, target->nNumUsed + source->nNumUsed, 0); p = source->arData; end = p + source->nNumUsed; @@ -164,6 +162,7 @@ static void zend_accel_function_hash_copy(HashTable *target, HashTable *source) } } target->nInternalPointer = 0; + return; failure: @@ -183,13 +182,21 @@ static void zend_accel_function_hash_copy(HashTable *target, HashTable *source) } } -static void zend_accel_class_hash_copy(HashTable *target, HashTable *source) +static zend_always_inline void zend_accel_function_hash_copy(HashTable *target, HashTable *source) +{ + _zend_accel_function_hash_copy(target, source, 0); +} + +static zend_never_inline void zend_accel_function_hash_copy_notify(HashTable *target, HashTable *source) +{ + _zend_accel_function_hash_copy(target, source, 1); +} + +static zend_always_inline void _zend_accel_class_hash_copy(HashTable *target, HashTable *source, bool call_observers) { Bucket *p, *end; zval *t; - bool call_observers = zend_observer_class_linked_observed; - zend_hash_extend(target, target->nNumUsed + source->nNumUsed, 0); p = source->arData; end = p + source->nNumUsed; @@ -238,6 +245,16 @@ static void zend_accel_class_hash_copy(HashTable *target, HashTable *source) target->nInternalPointer = 0; } +static zend_always_inline void zend_accel_class_hash_copy(HashTable *target, HashTable *source) +{ + _zend_accel_class_hash_copy(target, source, 0); +} + +static zend_never_inline void zend_accel_class_hash_copy_notify(HashTable *target, HashTable *source) +{ + _zend_accel_class_hash_copy(target, source, 1); +} + void zend_accel_build_delayed_early_binding_list(zend_persistent_script *persistent_script) { zend_op_array *op_array = &persistent_script->script.main_op_array; @@ -377,11 +394,19 @@ zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script, } if (zend_hash_num_elements(&persistent_script->script.function_table) > 0) { - zend_accel_function_hash_copy(CG(function_table), &persistent_script->script.function_table); + if (EXPECTED(!zend_observer_function_declared_observed)) { + zend_accel_function_hash_copy(CG(function_table), &persistent_script->script.function_table); + } else { + zend_accel_function_hash_copy_notify(CG(function_table), &persistent_script->script.function_table); + } } if (zend_hash_num_elements(&persistent_script->script.class_table) > 0) { - zend_accel_class_hash_copy(CG(class_table), &persistent_script->script.class_table); + if (EXPECTED(!zend_observer_class_linked_observed)) { + zend_accel_class_hash_copy(CG(class_table), &persistent_script->script.class_table); + } else { + zend_accel_class_hash_copy_notify(CG(class_table), &persistent_script->script.class_table); + } } if (persistent_script->num_early_bindings) { From 34d9e089c2124a7b101596fdf21402f66262b984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Fri, 26 Aug 2022 10:20:41 +0200 Subject: [PATCH 142/229] Fix GH-8348 for nightly --- .github/workflows/nightly.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b5e28b2fdd8f9..38d85d2b7224e 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -160,8 +160,10 @@ jobs: steps: - name: git checkout uses: actions/checkout@v2 - - name: Create mssql container - uses: ./.github/actions/mssql + - name: Create MSSQL container + uses: ./.github/actions/setup-mssql + - name: Create Oracle container + uses: ./.github/actions/setup-oracle - name: apt uses: ./.github/actions/apt-x64 - name: Install gcovr From 3264f2367d1079faae6ce0e14835b705e3de5920 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Fri, 26 Aug 2022 13:57:39 +0200 Subject: [PATCH 143/229] Fix strict-prototypes warning --- ext/opcache/jit/zend_jit_trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index cb5f3f6f0fd2d..f89d6f8a40d4d 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -7210,7 +7210,7 @@ static void zend_jit_stop_persistent_script(zend_persistent_script *script) } /* Get all scripts which are accelerated by JIT */ -static void zend_jit_stop_counter_handlers() +static void zend_jit_stop_counter_handlers(void) { for (uint32_t i = 0; i < ZCSG(hash).max_num_entries; i++) { zend_accel_hash_entry *cache_entry; From c643cbf38864cfced6c42b90ab095726b837ccd8 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 15 Jun 2022 13:25:40 +0200 Subject: [PATCH 144/229] Support test-ini also for phpize builds Automatically generating and using test INI files is supported for in-tree build (`buildconf`) for a long time, and this can make sense for phpize builds too, especially when the build extension is a zend extension, so it can be properly loaded. Thus we make `--enable-test-ini` and `--with-test-ini-ext-exclude` available for phpize, but default to false for full BC. Closes GH-8787. --- win32/build/Makefile.phpize | 10 +++++++++- win32/build/config.w32.phpize.in | 6 ++++++ win32/build/confutils.js | 12 ++++-------- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/win32/build/Makefile.phpize b/win32/build/Makefile.phpize index 37c449a059e3d..762b42444bfb1 100644 --- a/win32/build/Makefile.phpize +++ b/win32/build/Makefile.phpize @@ -42,11 +42,19 @@ _EXTENSION_DLL=$(PECL_TARGETS) _EXTENSION_DLL=$(EXT_TARGETS) !endif +!if $(PHP_TEST_INI_PATH) == "" test: set-tmp-env - $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(PHP_PREFIX)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php $(TESTS) -p "$(PHP_PREFIX)\php.exe" -d extension=$(BUILD_DIR)\$(_EXTENSION_DLL) + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(PHP_PREFIX)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php -p "$(PHP_PREFIX)\php.exe" -d extension=$(BUILD_DIR)\$(_EXTENSION_DLL) $(TESTS) run: set-tmp-env $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(PHP_PREFIX)\php.exe" -n -d extension=$(BUILD_DIR)\\$(_EXTENSION_DLL) $(ARGS) +!else +test: set-tmp-env + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(PHP_PREFIX)\php.exe" -n -d open_basedir= -d output_buffering=0 -d memory_limit=-1 run-tests.php -p "$(PHP_PREFIX)\php.exe" -n -c $(PHP_TEST_INI_PATH) $(TESTS) + +run: set-tmp-env + $(DEBUGGER_CMD) $(DEBUGGER_ARGS) "$(PHP_PREFIX)\php.exe" -n -c $(PHP_TEST_INI_PATH) $(ARGS) +!endif !if $(MT) == "" _VC_MANIFEST_EMBED_EXE= diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in index a82017f4f6579..a820cf10322a5 100644 --- a/win32/build/config.w32.phpize.in +++ b/win32/build/config.w32.phpize.in @@ -130,6 +130,12 @@ DEFINE("PHP_DIR", PHP_DIR); ARG_WITH("codegen-arch", "Architecture for code generation", "no"); toolset_setup_codegen_arch(); +ARG_ENABLE("test-ini", "Enable automatic php.ini generation. The test.ini will be put \ + into the build dir and used to automatically load the shared extensions.", "no"); + +ARG_WITH("test-ini-ext-exclude", "Comma separated list of shared extensions to \ + be excluded from the test.ini", "no"); + ARG_ENABLE("native-intrinsics", "Comma separated list of intrinsic optimizations to enable. \ Available optimization names are sse, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2. \ SSE and SSE2 are enabled by default. The best optimization specified will \ diff --git a/win32/build/confutils.js b/win32/build/confutils.js index dc6675c6d29d1..4eece37957327 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -2087,9 +2087,7 @@ function generate_files() } STDOUT.WriteLine("Generating files..."); - if (!MODE_PHPIZE) { - generate_tmp_php_ini(); - } + generate_tmp_php_ini(); generate_makefile(); if (!MODE_PHPIZE) { generate_internal_functions(); @@ -2532,11 +2530,9 @@ function generate_makefile() handle_analyzer_makefile_flags(MF, keys[i], val); } - if (!MODE_PHPIZE) { - var val = "yes" == PHP_TEST_INI ? PHP_TEST_INI_PATH : ""; - /* Be sure it's done after generate_tmp_php_ini(). */ - MF.WriteLine("PHP_TEST_INI_PATH=\"" + val + "\""); - } + var val = "yes" == PHP_TEST_INI ? PHP_TEST_INI_PATH : ""; + /* Be sure it's done after generate_tmp_php_ini(). */ + MF.WriteLine("PHP_TEST_INI_PATH=\"" + val + "\""); MF.WriteBlankLines(1); if (MODE_PHPIZE) { From c573b8228a1f88ed7a086ca3cee395ce2f221536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 26 Aug 2022 14:40:48 +0200 Subject: [PATCH 145/229] Declare ext/standard constants in stubs - part 2 (#9426) --- ext/standard/file.c | 142 +---------- ext/standard/file.stub.php | 478 ++++++++++++++++++++++++++++++++++++ ext/standard/file_arginfo.h | 153 ++++++++++++ 3 files changed, 634 insertions(+), 139 deletions(-) create mode 100644 ext/standard/file.stub.php create mode 100644 ext/standard/file_arginfo.h diff --git a/ext/standard/file.c b/ext/standard/file.c index da69840a9fa1d..1f3b6b2cf5824 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -110,6 +110,8 @@ php_file_globals file_globals; # include #endif +#include "file_arginfo.h" + /* }}} */ #define PHP_STREAM_TO_ZVAL(stream, arg) \ @@ -180,145 +182,7 @@ PHP_MINIT_FUNCTION(file) REGISTER_INI_ENTRIES(); - REGISTER_LONG_CONSTANT("SEEK_SET", SEEK_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SEEK_CUR", SEEK_CUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SEEK_END", SEEK_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_SH", PHP_LOCK_SH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_EX", PHP_LOCK_EX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_UN", PHP_LOCK_UN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_NB", PHP_LOCK_NB, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_CONNECT", PHP_STREAM_NOTIFY_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_AUTH_REQUIRED", PHP_STREAM_NOTIFY_AUTH_REQUIRED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_AUTH_RESULT", PHP_STREAM_NOTIFY_AUTH_RESULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_MIME_TYPE_IS", PHP_STREAM_NOTIFY_MIME_TYPE_IS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_FILE_SIZE_IS", PHP_STREAM_NOTIFY_FILE_SIZE_IS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_REDIRECTED", PHP_STREAM_NOTIFY_REDIRECTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_PROGRESS", PHP_STREAM_NOTIFY_PROGRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_FAILURE", PHP_STREAM_NOTIFY_FAILURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_COMPLETED", PHP_STREAM_NOTIFY_COMPLETED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_RESOLVE", PHP_STREAM_NOTIFY_RESOLVE, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_INFO", PHP_STREAM_NOTIFY_SEVERITY_INFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_WARN", PHP_STREAM_NOTIFY_SEVERITY_WARN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_ERR", PHP_STREAM_NOTIFY_SEVERITY_ERR, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_FILTER_READ", PHP_STREAM_FILTER_READ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_FILTER_WRITE", PHP_STREAM_FILTER_WRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_FILTER_ALL", PHP_STREAM_FILTER_ALL, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_CLIENT_PERSISTENT", PHP_STREAM_CLIENT_PERSISTENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CLIENT_ASYNC_CONNECT", PHP_STREAM_CLIENT_ASYNC_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CLIENT_CONNECT", PHP_STREAM_CLIENT_CONNECT, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_ANY_CLIENT", STREAM_CRYPTO_METHOD_ANY_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv2_CLIENT", STREAM_CRYPTO_METHOD_SSLv2_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv3_CLIENT", STREAM_CRYPTO_METHOD_SSLv3_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv23_CLIENT", STREAM_CRYPTO_METHOD_SSLv23_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLS_CLIENT", STREAM_CRYPTO_METHOD_TLS_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_ANY_SERVER", STREAM_CRYPTO_METHOD_ANY_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv2_SERVER", STREAM_CRYPTO_METHOD_SSLv2_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv3_SERVER", STREAM_CRYPTO_METHOD_SSLv3_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv23_SERVER", STREAM_CRYPTO_METHOD_SSLv23_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLS_SERVER", STREAM_CRYPTO_METHOD_TLS_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_0_SERVER", STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_1_SERVER", STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_2_SERVER", STREAM_CRYPTO_METHOD_TLSv1_2_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_3_SERVER", STREAM_CRYPTO_METHOD_TLSv1_3_SERVER, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_SSLv3", STREAM_CRYPTO_METHOD_SSLv3_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_0", STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_1", STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_2", STREAM_CRYPTO_METHOD_TLSv1_2_SERVER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_3", STREAM_CRYPTO_METHOD_TLSv1_3_SERVER, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_SHUT_RD", STREAM_SHUT_RD, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SHUT_WR", STREAM_SHUT_WR, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SHUT_RDWR", STREAM_SHUT_RDWR, CONST_CS|CONST_PERSISTENT); - -#ifdef PF_INET - REGISTER_LONG_CONSTANT("STREAM_PF_INET", PF_INET, CONST_CS|CONST_PERSISTENT); -#elif defined(AF_INET) - REGISTER_LONG_CONSTANT("STREAM_PF_INET", AF_INET, CONST_CS|CONST_PERSISTENT); -#endif - -#ifdef HAVE_IPV6 -# ifdef PF_INET6 - REGISTER_LONG_CONSTANT("STREAM_PF_INET6", PF_INET6, CONST_CS|CONST_PERSISTENT); -# elif defined(AF_INET6) - REGISTER_LONG_CONSTANT("STREAM_PF_INET6", AF_INET6, CONST_CS|CONST_PERSISTENT); -# endif -#endif - -#ifdef PF_UNIX - REGISTER_LONG_CONSTANT("STREAM_PF_UNIX", PF_UNIX, CONST_CS|CONST_PERSISTENT); -#elif defined(AF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_PF_UNIX", AF_UNIX, CONST_CS|CONST_PERSISTENT); -#endif - -#ifdef IPPROTO_IP - /* most people will use this one when calling socket() or socketpair() */ - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_IP", IPPROTO_IP, CONST_CS|CONST_PERSISTENT); -#endif - -#if defined(IPPROTO_TCP) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_TCP", IPPROTO_TCP, CONST_CS|CONST_PERSISTENT); -#endif - -#if defined(IPPROTO_UDP) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_UDP", IPPROTO_UDP, CONST_CS|CONST_PERSISTENT); -#endif - -#if defined(IPPROTO_ICMP) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_ICMP", IPPROTO_ICMP, CONST_CS|CONST_PERSISTENT); -#endif - -#if defined(IPPROTO_RAW) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_RAW", IPPROTO_RAW, CONST_CS|CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("STREAM_SOCK_STREAM", SOCK_STREAM, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SOCK_DGRAM", SOCK_DGRAM, CONST_CS|CONST_PERSISTENT); - -#ifdef SOCK_RAW - REGISTER_LONG_CONSTANT("STREAM_SOCK_RAW", SOCK_RAW, CONST_CS|CONST_PERSISTENT); -#endif - -#ifdef SOCK_SEQPACKET - REGISTER_LONG_CONSTANT("STREAM_SOCK_SEQPACKET", SOCK_SEQPACKET, CONST_CS|CONST_PERSISTENT); -#endif - -#ifdef SOCK_RDM - REGISTER_LONG_CONSTANT("STREAM_SOCK_RDM", SOCK_RDM, CONST_CS|CONST_PERSISTENT); -#endif - - REGISTER_LONG_CONSTANT("STREAM_PEEK", STREAM_PEEK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_OOB", STREAM_OOB, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_SERVER_BIND", STREAM_XPORT_BIND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SERVER_LISTEN", STREAM_XPORT_LISTEN, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("FILE_USE_INCLUDE_PATH", PHP_FILE_USE_INCLUDE_PATH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILE_IGNORE_NEW_LINES", PHP_FILE_IGNORE_NEW_LINES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILE_SKIP_EMPTY_LINES", PHP_FILE_SKIP_EMPTY_LINES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILE_APPEND", PHP_FILE_APPEND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILE_NO_DEFAULT_CONTEXT", PHP_FILE_NO_DEFAULT_CONTEXT, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("FILE_TEXT", 0, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("FILE_BINARY", 0, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - -#ifdef HAVE_FNMATCH - REGISTER_LONG_CONSTANT("FNM_NOESCAPE", FNM_NOESCAPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FNM_PATHNAME", FNM_PATHNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FNM_PERIOD", FNM_PERIOD, CONST_CS | CONST_PERSISTENT); -# ifdef FNM_CASEFOLD /* a GNU extension */ /* TODO emulate if not available */ - REGISTER_LONG_CONSTANT("FNM_CASEFOLD", FNM_CASEFOLD, CONST_CS | CONST_PERSISTENT); -# endif -#endif + register_file_symbols(module_number); return SUCCESS; } diff --git a/ext/standard/file.stub.php b/ext/standard/file.stub.php new file mode 100644 index 0000000000000..bd7295567fda4 --- /dev/null +++ b/ext/standard/file.stub.php @@ -0,0 +1,478 @@ + Date: Fri, 26 Aug 2022 14:47:34 +0200 Subject: [PATCH 146/229] Declare ext/standard constants in stubs - part 3 (#9427) --- ext/standard/basic_functions.c | 49 ------ ext/standard/basic_functions.stub.php | 215 +++++++++++++++++++++++++ ext/standard/basic_functions_arginfo.h | 60 ++++++- 3 files changed, 274 insertions(+), 50 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 826c635e6dbfc..2a2fc2e4ae1e1 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -296,55 +296,6 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ assertion_error_ce = register_class_AssertionError(zend_ce_error); - REGISTER_LONG_CONSTANT("CONNECTION_ABORTED", PHP_CONNECTION_ABORTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CONNECTION_NORMAL", PHP_CONNECTION_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CONNECTION_TIMEOUT", PHP_CONNECTION_TIMEOUT, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("INI_USER", ZEND_INI_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_PERDIR", ZEND_INI_PERDIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SYSTEM", ZEND_INI_SYSTEM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_ALL", ZEND_INI_ALL, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("INI_SCANNER_NORMAL", ZEND_INI_SCANNER_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SCANNER_RAW", ZEND_INI_SCANNER_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SCANNER_TYPED", ZEND_INI_SCANNER_TYPED, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("PHP_URL_SCHEME", PHP_URL_SCHEME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_HOST", PHP_URL_HOST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_PORT", PHP_URL_PORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_USER", PHP_URL_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_PASS", PHP_URL_PASS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_PATH", PHP_URL_PATH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_QUERY", PHP_URL_QUERY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_FRAGMENT", PHP_URL_FRAGMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_QUERY_RFC1738", PHP_QUERY_RFC1738, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_QUERY_RFC3986", PHP_QUERY_RFC3986, CONST_CS | CONST_PERSISTENT); - -#define REGISTER_MATH_CONSTANT(x) REGISTER_DOUBLE_CONSTANT(#x, x, CONST_CS | CONST_PERSISTENT) - REGISTER_MATH_CONSTANT(M_LOG2E); - REGISTER_MATH_CONSTANT(M_LOG10E); - REGISTER_MATH_CONSTANT(M_LN2); - REGISTER_MATH_CONSTANT(M_LN10); - REGISTER_MATH_CONSTANT(M_PI); - REGISTER_MATH_CONSTANT(M_PI_2); - REGISTER_MATH_CONSTANT(M_PI_4); - REGISTER_MATH_CONSTANT(M_1_PI); - REGISTER_MATH_CONSTANT(M_2_PI); - REGISTER_MATH_CONSTANT(M_SQRTPI); - REGISTER_MATH_CONSTANT(M_2_SQRTPI); - REGISTER_MATH_CONSTANT(M_LNPI); - REGISTER_MATH_CONSTANT(M_EULER); - REGISTER_MATH_CONSTANT(M_SQRT2); - REGISTER_MATH_CONSTANT(M_SQRT1_2); - REGISTER_MATH_CONSTANT(M_SQRT3); - REGISTER_DOUBLE_CONSTANT("INF", ZEND_INFINITY, CONST_CS | CONST_PERSISTENT); - REGISTER_DOUBLE_CONSTANT("NAN", ZEND_NAN, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_UP", PHP_ROUND_HALF_UP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_EVEN", PHP_ROUND_HALF_EVEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_CS | CONST_PERSISTENT); - #ifdef ENABLE_TEST_CLASS test_class_startup(); #endif diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 09a3c902dcdd2..6166cf6587bb6 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -122,11 +122,226 @@ /* basic_functions.h */ +/** + * @var int + * @cvalue PHP_CONNECTION_ABORTED + */ +const CONNECTION_ABORTED = UNKNOWN; +/** + * @var int + * @cvalue PHP_CONNECTION_NORMAL + */ +const CONNECTION_NORMAL = UNKNOWN; +/** + * @var int + * @cvalue PHP_CONNECTION_TIMEOUT + */ +const CONNECTION_TIMEOUT = UNKNOWN; + +/** + * @var int + * @cvalue ZEND_INI_USER + */ +const INI_USER = UNKNOWN; +/** + * @var int + * @cvalue ZEND_INI_PERDIR + */ +const INI_PERDIR = UNKNOWN; +/** + * @var int + * @cvalue ZEND_INI_SYSTEM + */ +const INI_SYSTEM = UNKNOWN; +/** + * @var int + * @cvalue ZEND_INI_ALL + */ +const INI_ALL = UNKNOWN; + +/** + * @var int + * @cvalue ZEND_INI_SCANNER_NORMAL + */ +const INI_SCANNER_NORMAL = UNKNOWN; +/** + * @var int + * @cvalue ZEND_INI_SCANNER_RAW + */ +const INI_SCANNER_RAW = UNKNOWN; +/** + * @var int + * @cvalue ZEND_INI_SCANNER_TYPED + */ +const INI_SCANNER_TYPED = UNKNOWN; + +/** + * @var int + * @cvalue PHP_URL_SCHEME + */ +const PHP_URL_SCHEME = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_HOST + */ +const PHP_URL_HOST = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_PORT + */ +const PHP_URL_PORT = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_USER + */ +const PHP_URL_USER = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_PASS + */ +const PHP_URL_PASS = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_PATH + */ +const PHP_URL_PATH = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_QUERY + */ +const PHP_URL_QUERY = UNKNOWN; +/** + * @var int + * @cvalue PHP_URL_FRAGMENT + */ +const PHP_URL_FRAGMENT = UNKNOWN; +/** + * @var int + * @cvalue PHP_QUERY_RFC1738 + */ +const PHP_QUERY_RFC1738 = UNKNOWN; +/** + * @var int + * @cvalue PHP_QUERY_RFC3986 + */ +const PHP_QUERY_RFC3986 = UNKNOWN; + /** * @var float * @cvalue M_E */ const M_E = 2.718281828459045; +/** + * @var float + * @cvalue M_LOG2E + */ +const M_LOG2E = 1.4426950408889634074; +/** + * @var float + * @cvalue M_LOG10E + */ +const M_LOG10E = 0.43429448190325182765; +/** + * @var float + * @cvalue M_LN2 + */ +const M_LN2 = 0.69314718055994530942; +/** + * @var float + * @cvalue M_LN10 + */ +const M_LN10 = 2.30258509299404568402; +/** + * @var float + * @cvalue M_PI + */ +const M_PI = 3.14159265358979323846; +/** + * @var float + * @cvalue M_PI_2 + */ +const M_PI_2 = 1.57079632679489661923; +/** + * @var float + * @cvalue M_PI_4 + */ +const M_PI_4 = 0.78539816339744830962; +/** + * @var float + * @cvalue M_1_PI + */ +const M_1_PI = 0.31830988618379067154; +/** + * @var float + * @cvalue M_2_PI + */ +const M_2_PI = 0.63661977236758134308; +/** + * @var float + * @cvalue M_SQRTPI + */ +const M_SQRTPI = 1.77245385090551602729; +/** + * @var float + * @cvalue M_2_SQRTPI + */ +const M_2_SQRTPI = 1.12837916709551257390; +/** + * @var float + * @cvalue M_LNPI + */ +const M_LNPI = 1.14472988584940017414; +/** + * @var float + * @cvalue M_EULER + */ +const M_EULER = 0.57721566490153286061; +/** + * @var float + * @cvalue M_SQRT2 + */ +const M_SQRT2 = 1.41421356237309504880; +/** + * @var float + * @cvalue M_SQRT1_2 + */ +const M_SQRT1_2 = 0.70710678118654752440; +/** + * @var float + * @cvalue M_SQRT3 + */ +const M_SQRT3 = 1.73205080756887729352; +/** + * @var float + * @cvalue ZEND_INFINITY + */ +const INF = UNKNOWN; +/** + * @var float + * @cvalue ZEND_NAN + */ +const NAN = UNKNOWN; + +/** + * @var int + * @cvalue PHP_ROUND_HALF_UP + */ +const PHP_ROUND_HALF_UP = UNKNOWN; +/** + * @var int + * @cvalue PHP_ROUND_HALF_DOWN + */ +const PHP_ROUND_HALF_DOWN = UNKNOWN; +/** + * @var int + * @cvalue PHP_ROUND_HALF_EVEN + */ +const PHP_ROUND_HALF_EVEN = UNKNOWN; +/** + * @var int + * @cvalue PHP_ROUND_HALF_ODD + */ +const PHP_ROUND_HALF_ODD = UNKNOWN; final class __PHP_Incomplete_Class { diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index ef8ae6cac66c7..7b01c8f7bd278 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 51ffd17ba03a2a419b94ef633a621dbf90eb16ee */ + * Stub hash: 0411f358f211eb9173272c6f296899d349ab5971 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3505,8 +3505,66 @@ static void register_basic_functions_symbols(int module_number) REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", PHP_COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CONNECTION_ABORTED", PHP_CONNECTION_ABORTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CONNECTION_NORMAL", PHP_CONNECTION_NORMAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CONNECTION_TIMEOUT", PHP_CONNECTION_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_USER", ZEND_INI_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_PERDIR", ZEND_INI_PERDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SYSTEM", ZEND_INI_SYSTEM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_ALL", ZEND_INI_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SCANNER_NORMAL", ZEND_INI_SCANNER_NORMAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SCANNER_RAW", ZEND_INI_SCANNER_RAW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SCANNER_TYPED", ZEND_INI_SCANNER_TYPED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_SCHEME", PHP_URL_SCHEME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_HOST", PHP_URL_HOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_PORT", PHP_URL_PORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_USER", PHP_URL_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_PASS", PHP_URL_PASS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_PATH", PHP_URL_PATH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_QUERY", PHP_URL_QUERY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_FRAGMENT", PHP_URL_FRAGMENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_QUERY_RFC1738", PHP_QUERY_RFC1738, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_QUERY_RFC3986", PHP_QUERY_RFC3986, CONST_CS | CONST_PERSISTENT); REGISTER_DOUBLE_CONSTANT("M_E", M_E, CONST_CS | CONST_PERSISTENT); ZEND_ASSERT(M_E == 2.718281828459045); + REGISTER_DOUBLE_CONSTANT("M_LOG2E", M_LOG2E, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_LOG2E == 1.4426950408889634); + REGISTER_DOUBLE_CONSTANT("M_LOG10E", M_LOG10E, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_LOG10E == 0.4342944819032518); + REGISTER_DOUBLE_CONSTANT("M_LN2", M_LN2, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_LN2 == 0.6931471805599453); + REGISTER_DOUBLE_CONSTANT("M_LN10", M_LN10, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_LN10 == 2.302585092994046); + REGISTER_DOUBLE_CONSTANT("M_PI", M_PI, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_PI == 3.141592653589793); + REGISTER_DOUBLE_CONSTANT("M_PI_2", M_PI_2, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_PI_2 == 1.5707963267948966); + REGISTER_DOUBLE_CONSTANT("M_PI_4", M_PI_4, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_PI_4 == 0.7853981633974483); + REGISTER_DOUBLE_CONSTANT("M_1_PI", M_1_PI, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_1_PI == 0.3183098861837907); + REGISTER_DOUBLE_CONSTANT("M_2_PI", M_2_PI, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_2_PI == 0.6366197723675814); + REGISTER_DOUBLE_CONSTANT("M_SQRTPI", M_SQRTPI, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_SQRTPI == 1.772453850905516); + REGISTER_DOUBLE_CONSTANT("M_2_SQRTPI", M_2_SQRTPI, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_2_SQRTPI == 1.1283791670955126); + REGISTER_DOUBLE_CONSTANT("M_LNPI", M_LNPI, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_LNPI == 1.1447298858494002); + REGISTER_DOUBLE_CONSTANT("M_EULER", M_EULER, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_EULER == 0.5772156649015329); + REGISTER_DOUBLE_CONSTANT("M_SQRT2", M_SQRT2, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_SQRT2 == 1.4142135623730951); + REGISTER_DOUBLE_CONSTANT("M_SQRT1_2", M_SQRT1_2, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_SQRT1_2 == 0.7071067811865476); + REGISTER_DOUBLE_CONSTANT("M_SQRT3", M_SQRT3, CONST_CS | CONST_PERSISTENT); + ZEND_ASSERT(M_SQRT3 == 1.7320508075688772); + REGISTER_DOUBLE_CONSTANT("INF", ZEND_INFINITY, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("NAN", ZEND_NAN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_UP", PHP_ROUND_HALF_UP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_EVEN", PHP_ROUND_HALF_EVEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_CS | CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "password_hash", sizeof("password_hash") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); From f86629569ced0816a8d51c32b8b23fda23f2804e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Fri, 26 Aug 2022 13:14:35 +0200 Subject: [PATCH 147/229] Fix pdo_dblib ext test conflicts when run in parallel Closes GH-9430. --- ext/pdo_dblib/tests/CONFLICTS | 1 + 1 file changed, 1 insertion(+) create mode 100644 ext/pdo_dblib/tests/CONFLICTS diff --git a/ext/pdo_dblib/tests/CONFLICTS b/ext/pdo_dblib/tests/CONFLICTS new file mode 100644 index 0000000000000..7980e46ba3fa6 --- /dev/null +++ b/ext/pdo_dblib/tests/CONFLICTS @@ -0,0 +1 @@ +pdo_dblib From b4ec3e9bc019dde2b544e754d959522a7873ecfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sun, 28 Aug 2022 08:27:19 +0200 Subject: [PATCH 148/229] Do not generate CONST_CS when registering constants (#9439) --- Zend/zend_constants_arginfo.h | 32 +- build/gen_stub.php | 2 +- ext/calendar/calendar_arginfo.h | 42 +- ext/com_dotnet/com_extension_arginfo.h | 110 +- ext/curl/curl_arginfo.h | 1306 ++++++++++++------------ ext/date/php_date_arginfo.h | 34 +- ext/dba/dba_arginfo.h | 4 +- ext/dom/php_dom_arginfo.h | 92 +- ext/enchant/enchant_arginfo.h | 6 +- ext/exif/exif_arginfo.h | 2 +- ext/fileinfo/fileinfo_arginfo.h | 22 +- ext/filter/filter_arginfo.h | 110 +- ext/ftp/ftp_arginfo.h | 22 +- ext/gd/gd_arginfo.h | 182 ++-- ext/gmp/gmp_arginfo.h | 20 +- ext/hash/hash_arginfo.h | 2 +- ext/iconv/iconv_arginfo.h | 8 +- ext/imap/php_imap_arginfo.h | 136 +-- ext/intl/collator/collator_arginfo.h | 4 +- ext/intl/common/common_arginfo.h | 282 ++--- ext/intl/php_intl_arginfo.h | 54 +- ext/json/json_arginfo.h | 58 +- ext/ldap/ldap_arginfo.h | 196 ++-- ext/libxml/libxml_arginfo.h | 54 +- ext/mbstring/mbstring_arginfo.h | 20 +- ext/mysqli/mysqli_arginfo.h | 228 ++--- ext/oci8/oci8_arginfo.h | 146 +-- ext/odbc/odbc_arginfo.h | 114 +-- ext/openssl/openssl_arginfo.h | 120 +-- ext/pcntl/pcntl_arginfo.h | 276 ++--- ext/pcre/php_pcre_arginfo.h | 38 +- ext/pgsql/pgsql_arginfo.h | 140 +-- ext/posix/posix_arginfo.h | 56 +- ext/pspell/pspell_arginfo.h | 8 +- ext/random/random_arginfo.h | 4 +- ext/readline/readline_arginfo.h | 2 +- ext/session/session_arginfo.h | 6 +- ext/snmp/snmp_arginfo.h | 42 +- ext/soap/soap_arginfo.h | 162 +-- ext/sockets/sockets_arginfo.h | 490 ++++----- ext/sodium/libsodium_arginfo.h | 196 ++-- ext/sqlite3/sqlite3_arginfo.h | 24 +- ext/standard/basic_functions_arginfo.h | 130 +-- ext/standard/file_arginfo.h | 166 +-- ext/sysvmsg/sysvmsg_arginfo.h | 10 +- ext/tidy/tidy_arginfo.h | 322 +++--- ext/tokenizer/tokenizer_arginfo.h | 2 +- ext/tokenizer/tokenizer_data_arginfo.h | 294 +++--- ext/xml/xml_arginfo.h | 52 +- ext/xsl/php_xsl_arginfo.h | 28 +- ext/zend_test/test_arginfo.h | 2 +- ext/zlib/zlib_arginfo.h | 54 +- sapi/phpdbg/phpdbg_arginfo.h | 8 +- 53 files changed, 2960 insertions(+), 2960 deletions(-) diff --git a/Zend/zend_constants_arginfo.h b/Zend/zend_constants_arginfo.h index 0665c0b942539..3cfaee30143cb 100644 --- a/Zend/zend_constants_arginfo.h +++ b/Zend/zend_constants_arginfo.h @@ -5,20 +5,20 @@ static void register_zend_constants_symbols(int module_number) { - REGISTER_LONG_CONSTANT("E_ERROR", E_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_WARNING", E_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_PARSE", E_PARSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_NOTICE", E_NOTICE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_CORE_ERROR", E_CORE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_CORE_WARNING", E_CORE_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_COMPILE_ERROR", E_COMPILE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_COMPILE_WARNING", E_COMPILE_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_USER_ERROR", E_USER_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_USER_WARNING", E_USER_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_USER_NOTICE", E_USER_NOTICE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_STRICT", E_STRICT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_RECOVERABLE_ERROR", E_RECOVERABLE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_DEPRECATED", E_DEPRECATED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_USER_DEPRECATED", E_USER_DEPRECATED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("E_ALL", E_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_ERROR", E_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_WARNING", E_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_PARSE", E_PARSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_NOTICE", E_NOTICE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_CORE_ERROR", E_CORE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_CORE_WARNING", E_CORE_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_COMPILE_ERROR", E_COMPILE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_COMPILE_WARNING", E_COMPILE_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_USER_ERROR", E_USER_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_USER_WARNING", E_USER_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_USER_NOTICE", E_USER_NOTICE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_STRICT", E_STRICT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_RECOVERABLE_ERROR", E_RECOVERABLE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_DEPRECATED", E_DEPRECATED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_USER_DEPRECATED", E_USER_DEPRECATED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("E_ALL", E_ALL, CONST_PERSISTENT); } diff --git a/build/gen_stub.php b/build/gen_stub.php index f3ba2bb05f91e..1aadd2cdda216 100755 --- a/build/gen_stub.php +++ b/build/gen_stub.php @@ -2013,7 +2013,7 @@ private function getGlobalConstDeclaration(EvaluatedValue $value, iterable $allC $constValue = $value->value; $cConstValue = $value->getCConstValue($allConstInfos); - $flags = "CONST_CS | CONST_PERSISTENT"; + $flags = "CONST_PERSISTENT"; if ($this->isDeprecated) { $flags .= " | CONST_DEPRECATED"; } diff --git a/ext/calendar/calendar_arginfo.h b/ext/calendar/calendar_arginfo.h index f518d36e413bb..1ea1a9e4c530b 100644 --- a/ext/calendar/calendar_arginfo.h +++ b/ext/calendar/calendar_arginfo.h @@ -119,25 +119,25 @@ static const zend_function_entry ext_functions[] = { static void register_calendar_symbols(int module_number) { - REGISTER_LONG_CONSTANT("CAL_GREGORIAN", CAL_GREGORIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_JULIAN", CAL_JULIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_JEWISH", CAL_JEWISH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_FRENCH", CAL_FRENCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_NUM_CALS", CAL_NUM_CALS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_DOW_DAYNO", CAL_DOW_DAYNO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_DOW_SHORT", CAL_DOW_SHORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_DOW_LONG", CAL_DOW_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_SHORT", CAL_MONTH_GREGORIAN_SHORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_LONG", CAL_MONTH_GREGORIAN_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_SHORT", CAL_MONTH_JULIAN_SHORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_LONG", CAL_MONTH_JULIAN_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_MONTH_JEWISH", CAL_MONTH_JEWISH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_MONTH_FRENCH", CAL_MONTH_FRENCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_EASTER_DEFAULT", CAL_EASTER_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_EASTER_ROMAN", CAL_EASTER_ROMAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_GREGORIAN", CAL_EASTER_ALWAYS_GREGORIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_JULIAN", CAL_EASTER_ALWAYS_JULIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM_GERESH", CAL_JEWISH_ADD_ALAFIM_GERESH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM", CAL_JEWISH_ADD_ALAFIM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_GERESHAYIM", CAL_JEWISH_ADD_GERESHAYIM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_GREGORIAN", CAL_GREGORIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_JULIAN", CAL_JULIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_JEWISH", CAL_JEWISH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_FRENCH", CAL_FRENCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_NUM_CALS", CAL_NUM_CALS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_DOW_DAYNO", CAL_DOW_DAYNO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_DOW_SHORT", CAL_DOW_SHORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_DOW_LONG", CAL_DOW_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_SHORT", CAL_MONTH_GREGORIAN_SHORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_LONG", CAL_MONTH_GREGORIAN_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_SHORT", CAL_MONTH_JULIAN_SHORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_LONG", CAL_MONTH_JULIAN_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_MONTH_JEWISH", CAL_MONTH_JEWISH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_MONTH_FRENCH", CAL_MONTH_FRENCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_EASTER_DEFAULT", CAL_EASTER_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_EASTER_ROMAN", CAL_EASTER_ROMAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_GREGORIAN", CAL_EASTER_ALWAYS_GREGORIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_JULIAN", CAL_EASTER_ALWAYS_JULIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM_GERESH", CAL_JEWISH_ADD_ALAFIM_GERESH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM", CAL_JEWISH_ADD_ALAFIM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_GERESHAYIM", CAL_JEWISH_ADD_GERESHAYIM, CONST_PERSISTENT); } diff --git a/ext/com_dotnet/com_extension_arginfo.h b/ext/com_dotnet/com_extension_arginfo.h index 7fda790b8a1ac..65ede9fbf9b40 100644 --- a/ext/com_dotnet/com_extension_arginfo.h +++ b/ext/com_dotnet/com_extension_arginfo.h @@ -239,66 +239,66 @@ static const zend_function_entry class_com_exception_methods[] = { static void register_com_extension_symbols(int module_number) { - REGISTER_LONG_CONSTANT("CLSCTX_INPROC_SERVER", CLSCTX_INPROC_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CLSCTX_INPROC_HANDLER", CLSCTX_INPROC_HANDLER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CLSCTX_LOCAL_SERVER", CLSCTX_LOCAL_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CLSCTX_REMOTE_SERVER", CLSCTX_REMOTE_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CLSCTX_SERVER", CLSCTX_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CLSCTX_ALL", CLSCTX_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_NULL", VT_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_EMPTY", VT_EMPTY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_UI1", VT_UI1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_I1", VT_I1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_UI2", VT_UI2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_I2", VT_I2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_UI4", VT_UI4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_I4", VT_I4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_R4", VT_R4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_R8", VT_R8, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_BOOL", VT_BOOL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_ERROR", VT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_CY", VT_CY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_DATE", VT_DATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_BSTR", VT_BSTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_DECIMAL", VT_DECIMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_UNKNOWN", VT_UNKNOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_DISPATCH", VT_DISPATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_VARIANT", VT_VARIANT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_INT", VT_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_UINT", VT_UINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_ARRAY", VT_ARRAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VT_BYREF", VT_BYREF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_ACP", CP_ACP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_MACCP", CP_MACCP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_OEMCP", CP_OEMCP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_UTF7", CP_UTF7, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_UTF8", CP_UTF8, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_SYMBOL", CP_SYMBOL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_THREAD_ACP", CP_THREAD_ACP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VARCMP_LT", VARCMP_LT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VARCMP_EQ", VARCMP_EQ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VARCMP_GT", VARCMP_GT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("VARCMP_NULL", VARCMP_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCALE_SYSTEM_DEFAULT", LOCALE_SYSTEM_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCALE_NEUTRAL", LOCALE_NEUTRAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("NORM_IGNORECASE", NORM_IGNORECASE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("NORM_IGNORENONSPACE", NORM_IGNORENONSPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("NORM_IGNORESYMBOLS", NORM_IGNORESYMBOLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("NORM_IGNOREWIDTH", NORM_IGNOREWIDTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("NORM_IGNOREKANATYPE", NORM_IGNOREKANATYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLSCTX_INPROC_SERVER", CLSCTX_INPROC_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLSCTX_INPROC_HANDLER", CLSCTX_INPROC_HANDLER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLSCTX_LOCAL_SERVER", CLSCTX_LOCAL_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLSCTX_REMOTE_SERVER", CLSCTX_REMOTE_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLSCTX_SERVER", CLSCTX_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLSCTX_ALL", CLSCTX_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_NULL", VT_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_EMPTY", VT_EMPTY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_UI1", VT_UI1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_I1", VT_I1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_UI2", VT_UI2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_I2", VT_I2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_UI4", VT_UI4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_I4", VT_I4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_R4", VT_R4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_R8", VT_R8, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_BOOL", VT_BOOL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_ERROR", VT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_CY", VT_CY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_DATE", VT_DATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_BSTR", VT_BSTR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_DECIMAL", VT_DECIMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_UNKNOWN", VT_UNKNOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_DISPATCH", VT_DISPATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_VARIANT", VT_VARIANT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_INT", VT_INT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_UINT", VT_UINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_ARRAY", VT_ARRAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_BYREF", VT_BYREF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_ACP", CP_ACP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_MACCP", CP_MACCP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_OEMCP", CP_OEMCP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_UTF7", CP_UTF7, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_UTF8", CP_UTF8, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_SYMBOL", CP_SYMBOL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_THREAD_ACP", CP_THREAD_ACP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VARCMP_LT", VARCMP_LT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VARCMP_EQ", VARCMP_EQ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VARCMP_GT", VARCMP_GT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VARCMP_NULL", VARCMP_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCALE_SYSTEM_DEFAULT", LOCALE_SYSTEM_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCALE_NEUTRAL", LOCALE_NEUTRAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NORM_IGNORECASE", NORM_IGNORECASE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NORM_IGNORENONSPACE", NORM_IGNORENONSPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NORM_IGNORESYMBOLS", NORM_IGNORESYMBOLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NORM_IGNOREWIDTH", NORM_IGNOREWIDTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NORM_IGNOREKANATYPE", NORM_IGNOREKANATYPE, CONST_PERSISTENT); #if defined(NORM_IGNOREKASHIDA) - REGISTER_LONG_CONSTANT("NORM_IGNOREKASHIDA", NORM_IGNOREKASHIDA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NORM_IGNOREKASHIDA", NORM_IGNOREKASHIDA, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("DISP_E_DIVBYZERO", PHP_DISP_E_DIVBYZERO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DISP_E_OVERFLOW", PHP_DISP_E_OVERFLOW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DISP_E_BADINDEX", PHP_DISP_E_BADINDEX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DISP_E_PARAMNOTFOUND", PHP_DISP_E_PARAMNOTFOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MK_E_UNAVAILABLE", PHP_MK_E_UNAVAILABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DISP_E_DIVBYZERO", PHP_DISP_E_DIVBYZERO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DISP_E_OVERFLOW", PHP_DISP_E_OVERFLOW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DISP_E_BADINDEX", PHP_DISP_E_BADINDEX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DISP_E_PARAMNOTFOUND", PHP_DISP_E_PARAMNOTFOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MK_E_UNAVAILABLE", PHP_MK_E_UNAVAILABLE, CONST_PERSISTENT); #if SIZEOF_ZEND_LONG == 8 - REGISTER_LONG_CONSTANT("VT_UI8", VT_UI8, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_UI8", VT_UI8, CONST_PERSISTENT); #endif #if SIZEOF_ZEND_LONG == 8 - REGISTER_LONG_CONSTANT("VT_I8", VT_I8, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("VT_I8", VT_I8, CONST_PERSISTENT); #endif } diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h index 1f05be710a19a..c746edbb4a41c 100644 --- a/ext/curl/curl_arginfo.h +++ b/ext/curl/curl_arginfo.h @@ -232,1071 +232,1071 @@ static const zend_function_entry class_CurlShareHandle_methods[] = { static void register_curl_symbols(int module_number) { - REGISTER_LONG_CONSTANT("CURLOPT_AUTOREFERER", CURLOPT_AUTOREFERER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_BINARYTRANSFER", CURLOPT_BINARYTRANSFER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_BUFFERSIZE", CURLOPT_BUFFERSIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CAINFO", CURLOPT_CAINFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CAPATH", CURLOPT_CAPATH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CONNECTTIMEOUT", CURLOPT_CONNECTTIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_COOKIE", CURLOPT_COOKIE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_COOKIEFILE", CURLOPT_COOKIEFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_COOKIEJAR", CURLOPT_COOKIEJAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_COOKIESESSION", CURLOPT_COOKIESESSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CRLF", CURLOPT_CRLF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CUSTOMREQUEST", CURLOPT_CUSTOMREQUEST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_DNS_CACHE_TIMEOUT", CURLOPT_DNS_CACHE_TIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_DNS_USE_GLOBAL_CACHE", CURLOPT_DNS_USE_GLOBAL_CACHE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_EGDSOCKET", CURLOPT_EGDSOCKET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_ENCODING", CURLOPT_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FAILONERROR", CURLOPT_FAILONERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FILE", CURLOPT_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FILETIME", CURLOPT_FILETIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FOLLOWLOCATION", CURLOPT_FOLLOWLOCATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FORBID_REUSE", CURLOPT_FORBID_REUSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FRESH_CONNECT", CURLOPT_FRESH_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTPAPPEND", CURLOPT_FTPAPPEND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTPLISTONLY", CURLOPT_FTPLISTONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTPPORT", CURLOPT_FTPPORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_EPRT", CURLOPT_FTP_USE_EPRT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_EPSV", CURLOPT_FTP_USE_EPSV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HEADER", CURLOPT_HEADER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HEADERFUNCTION", CURLOPT_HEADERFUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTP200ALIASES", CURLOPT_HTTP200ALIASES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTPGET", CURLOPT_HTTPGET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HTTPHEADER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTPPROXYTUNNEL", CURLOPT_HTTPPROXYTUNNEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTP_VERSION", CURLOPT_HTTP_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_INFILE", CURLOPT_INFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_INFILESIZE", CURLOPT_INFILESIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_INTERFACE", CURLOPT_INTERFACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_KRB4LEVEL", CURLOPT_KRB4LEVEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_LOW_SPEED_LIMIT", CURLOPT_LOW_SPEED_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_LOW_SPEED_TIME", CURLOPT_LOW_SPEED_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAXCONNECTS", CURLOPT_MAXCONNECTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAXREDIRS", CURLOPT_MAXREDIRS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NETRC", CURLOPT_NETRC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NOBODY", CURLOPT_NOBODY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NOPROGRESS", CURLOPT_NOPROGRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NOSIGNAL", CURLOPT_NOSIGNAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PORT", CURLOPT_PORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_POST", CURLOPT_POST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_POSTFIELDS", CURLOPT_POSTFIELDS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_POSTQUOTE", CURLOPT_POSTQUOTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PREQUOTE", CURLOPT_PREQUOTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PRIVATE", CURLOPT_PRIVATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXY", CURLOPT_PROXY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXYPORT", CURLOPT_PROXYPORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXYTYPE", CURLOPT_PROXYTYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXYUSERPWD", CURLOPT_PROXYUSERPWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PUT", CURLOPT_PUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_QUOTE", CURLOPT_QUOTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RANDOM_FILE", CURLOPT_RANDOM_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RANGE", CURLOPT_RANGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_READDATA", CURLOPT_READDATA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_READFUNCTION", CURLOPT_READFUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_REFERER", CURLOPT_REFERER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RESUME_FROM", CURLOPT_RESUME_FROM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RETURNTRANSFER", CURLOPT_RETURNTRANSFER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SHARE", CURLOPT_SHARE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLCERT", CURLOPT_SSLCERT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLCERTPASSWD", CURLOPT_SSLCERTPASSWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLCERTTYPE", CURLOPT_SSLCERTTYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLENGINE", CURLOPT_SSLENGINE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLENGINE_DEFAULT", CURLOPT_SSLENGINE_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLKEY", CURLOPT_SSLKEY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLKEYPASSWD", CURLOPT_SSLKEYPASSWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLKEYTYPE", CURLOPT_SSLKEYTYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSLVERSION", CURLOPT_SSLVERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSL_CIPHER_LIST", CURLOPT_SSL_CIPHER_LIST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYHOST", CURLOPT_SSL_VERIFYHOST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYPEER", CURLOPT_SSL_VERIFYPEER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_STDERR", CURLOPT_STDERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TELNETOPTIONS", CURLOPT_TELNETOPTIONS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TIMECONDITION", CURLOPT_TIMECONDITION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TIMEOUT", CURLOPT_TIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE", CURLOPT_TIMEVALUE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TRANSFERTEXT", CURLOPT_TRANSFERTEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_UNRESTRICTED_AUTH", CURLOPT_UNRESTRICTED_AUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_UPLOAD", CURLOPT_UPLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_URL", CURLOPT_URL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_USERAGENT", CURLOPT_USERAGENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_USERPWD", CURLOPT_USERPWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_VERBOSE", CURLOPT_VERBOSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_WRITEHEADER", CURLOPT_WRITEHEADER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_AUTOREFERER", CURLOPT_AUTOREFERER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_BINARYTRANSFER", CURLOPT_BINARYTRANSFER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_BUFFERSIZE", CURLOPT_BUFFERSIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CAINFO", CURLOPT_CAINFO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CAPATH", CURLOPT_CAPATH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECTTIMEOUT", CURLOPT_CONNECTTIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIE", CURLOPT_COOKIE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIEFILE", CURLOPT_COOKIEFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIEJAR", CURLOPT_COOKIEJAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIESESSION", CURLOPT_COOKIESESSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CRLF", CURLOPT_CRLF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CUSTOMREQUEST", CURLOPT_CUSTOMREQUEST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_CACHE_TIMEOUT", CURLOPT_DNS_CACHE_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_USE_GLOBAL_CACHE", CURLOPT_DNS_USE_GLOBAL_CACHE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_EGDSOCKET", CURLOPT_EGDSOCKET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ENCODING", CURLOPT_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FAILONERROR", CURLOPT_FAILONERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FILE", CURLOPT_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FILETIME", CURLOPT_FILETIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FOLLOWLOCATION", CURLOPT_FOLLOWLOCATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FORBID_REUSE", CURLOPT_FORBID_REUSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FRESH_CONNECT", CURLOPT_FRESH_CONNECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPAPPEND", CURLOPT_FTPAPPEND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPLISTONLY", CURLOPT_FTPLISTONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPPORT", CURLOPT_FTPPORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_EPRT", CURLOPT_FTP_USE_EPRT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_EPSV", CURLOPT_FTP_USE_EPSV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HEADER", CURLOPT_HEADER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HEADERFUNCTION", CURLOPT_HEADERFUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP200ALIASES", CURLOPT_HTTP200ALIASES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPGET", CURLOPT_HTTPGET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HTTPHEADER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPPROXYTUNNEL", CURLOPT_HTTPPROXYTUNNEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP_VERSION", CURLOPT_HTTP_VERSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_INFILE", CURLOPT_INFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_INFILESIZE", CURLOPT_INFILESIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_INTERFACE", CURLOPT_INTERFACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KRB4LEVEL", CURLOPT_KRB4LEVEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOW_SPEED_LIMIT", CURLOPT_LOW_SPEED_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOW_SPEED_TIME", CURLOPT_LOW_SPEED_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXCONNECTS", CURLOPT_MAXCONNECTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXREDIRS", CURLOPT_MAXREDIRS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NETRC", CURLOPT_NETRC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOBODY", CURLOPT_NOBODY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOPROGRESS", CURLOPT_NOPROGRESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOSIGNAL", CURLOPT_NOSIGNAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PORT", CURLOPT_PORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POST", CURLOPT_POST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POSTFIELDS", CURLOPT_POSTFIELDS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POSTQUOTE", CURLOPT_POSTQUOTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PREQUOTE", CURLOPT_PREQUOTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PRIVATE", CURLOPT_PRIVATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY", CURLOPT_PROXY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYPORT", CURLOPT_PROXYPORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYTYPE", CURLOPT_PROXYTYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYUSERPWD", CURLOPT_PROXYUSERPWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PUT", CURLOPT_PUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_QUOTE", CURLOPT_QUOTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RANDOM_FILE", CURLOPT_RANDOM_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RANGE", CURLOPT_RANGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_READDATA", CURLOPT_READDATA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_READFUNCTION", CURLOPT_READFUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_REFERER", CURLOPT_REFERER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RESUME_FROM", CURLOPT_RESUME_FROM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RETURNTRANSFER", CURLOPT_RETURNTRANSFER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SHARE", CURLOPT_SHARE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERT", CURLOPT_SSLCERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERTPASSWD", CURLOPT_SSLCERTPASSWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERTTYPE", CURLOPT_SSLCERTTYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLENGINE", CURLOPT_SSLENGINE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLENGINE_DEFAULT", CURLOPT_SSLENGINE_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEY", CURLOPT_SSLKEY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEYPASSWD", CURLOPT_SSLKEYPASSWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEYTYPE", CURLOPT_SSLKEYTYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLVERSION", CURLOPT_SSLVERSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_CIPHER_LIST", CURLOPT_SSL_CIPHER_LIST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYHOST", CURLOPT_SSL_VERIFYHOST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYPEER", CURLOPT_SSL_VERIFYPEER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_STDERR", CURLOPT_STDERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TELNETOPTIONS", CURLOPT_TELNETOPTIONS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMECONDITION", CURLOPT_TIMECONDITION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEOUT", CURLOPT_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE", CURLOPT_TIMEVALUE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TRANSFERTEXT", CURLOPT_TRANSFERTEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UNRESTRICTED_AUTH", CURLOPT_UNRESTRICTED_AUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UPLOAD", CURLOPT_UPLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_URL", CURLOPT_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USERAGENT", CURLOPT_USERAGENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USERPWD", CURLOPT_USERPWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_VERBOSE", CURLOPT_VERBOSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_WRITEHEADER", CURLOPT_WRITEHEADER, CONST_PERSISTENT); #if LIBCURL_VERSION_NUM >= 0x072000 - REGISTER_LONG_CONSTANT("CURLOPT_XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("CURLE_ABORTED_BY_CALLBACK", CURLE_ABORTED_BY_CALLBACK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_BAD_CALLING_ORDER", CURLE_BAD_CALLING_ORDER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_BAD_CONTENT_ENCODING", CURLE_BAD_CONTENT_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_BAD_DOWNLOAD_RESUME", CURLE_BAD_DOWNLOAD_RESUME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_BAD_FUNCTION_ARGUMENT", CURLE_BAD_FUNCTION_ARGUMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_BAD_PASSWORD_ENTERED", CURLE_BAD_PASSWORD_ENTERED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_COULDNT_CONNECT", CURLE_COULDNT_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_COULDNT_RESOLVE_HOST", CURLE_COULDNT_RESOLVE_HOST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_COULDNT_RESOLVE_PROXY", CURLE_COULDNT_RESOLVE_PROXY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FAILED_INIT", CURLE_FAILED_INIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FILE_COULDNT_READ_FILE", CURLE_FILE_COULDNT_READ_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_ACCESS_DENIED", CURLE_FTP_ACCESS_DENIED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_BAD_DOWNLOAD_RESUME", CURLE_FTP_BAD_DOWNLOAD_RESUME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_CANT_GET_HOST", CURLE_FTP_CANT_GET_HOST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_CANT_RECONNECT", CURLE_FTP_CANT_RECONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_GET_SIZE", CURLE_FTP_COULDNT_GET_SIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_RETR_FILE", CURLE_FTP_COULDNT_RETR_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_SET_ASCII", CURLE_FTP_COULDNT_SET_ASCII, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_SET_BINARY", CURLE_FTP_COULDNT_SET_BINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_STOR_FILE", CURLE_FTP_COULDNT_STOR_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_USE_REST", CURLE_FTP_COULDNT_USE_REST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_PARTIAL_FILE", CURLE_FTP_PARTIAL_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_PORT_FAILED", CURLE_FTP_PORT_FAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_QUOTE_ERROR", CURLE_FTP_QUOTE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_USER_PASSWORD_INCORRECT", CURLE_FTP_USER_PASSWORD_INCORRECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_227_FORMAT", CURLE_FTP_WEIRD_227_FORMAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_PASS_REPLY", CURLE_FTP_WEIRD_PASS_REPLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_PASV_REPLY", CURLE_FTP_WEIRD_PASV_REPLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_SERVER_REPLY", CURLE_FTP_WEIRD_SERVER_REPLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_USER_REPLY", CURLE_FTP_WEIRD_USER_REPLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_WRITE_ERROR", CURLE_FTP_WRITE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FUNCTION_NOT_FOUND", CURLE_FUNCTION_NOT_FOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_GOT_NOTHING", CURLE_GOT_NOTHING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_HTTP_NOT_FOUND", CURLE_HTTP_NOT_FOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_HTTP_PORT_FAILED", CURLE_HTTP_PORT_FAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_HTTP_POST_ERROR", CURLE_HTTP_POST_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_HTTP_RANGE_ERROR", CURLE_HTTP_RANGE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_HTTP_RETURNED_ERROR", CURLE_HTTP_RETURNED_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_LDAP_CANNOT_BIND", CURLE_LDAP_CANNOT_BIND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_LDAP_SEARCH_FAILED", CURLE_LDAP_SEARCH_FAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_LIBRARY_NOT_FOUND", CURLE_LIBRARY_NOT_FOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_MALFORMAT_USER", CURLE_MALFORMAT_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_OBSOLETE", CURLE_OBSOLETE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_OK", CURLE_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEDOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_OPERATION_TIMEOUTED", CURLE_OPERATION_TIMEOUTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_OUT_OF_MEMORY", CURLE_OUT_OF_MEMORY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_PARTIAL_FILE", CURLE_PARTIAL_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_READ_ERROR", CURLE_READ_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_RECV_ERROR", CURLE_RECV_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SEND_ERROR", CURLE_SEND_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SHARE_IN_USE", CURLE_SHARE_IN_USE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_CACERT", CURLE_SSL_CACERT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_CERTPROBLEM", CURLE_SSL_CERTPROBLEM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_CIPHER", CURLE_SSL_CIPHER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_CONNECT_ERROR", CURLE_SSL_CONNECT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_NOTFOUND", CURLE_SSL_ENGINE_NOTFOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_SETFAILED", CURLE_SSL_ENGINE_SETFAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_PEER_CERTIFICATE", CURLE_SSL_PEER_CERTIFICATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLE_ABORTED_BY_CALLBACK", CURLE_ABORTED_BY_CALLBACK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_CALLING_ORDER", CURLE_BAD_CALLING_ORDER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_CONTENT_ENCODING", CURLE_BAD_CONTENT_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_DOWNLOAD_RESUME", CURLE_BAD_DOWNLOAD_RESUME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_FUNCTION_ARGUMENT", CURLE_BAD_FUNCTION_ARGUMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_BAD_PASSWORD_ENTERED", CURLE_BAD_PASSWORD_ENTERED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_COULDNT_CONNECT", CURLE_COULDNT_CONNECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_COULDNT_RESOLVE_HOST", CURLE_COULDNT_RESOLVE_HOST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_COULDNT_RESOLVE_PROXY", CURLE_COULDNT_RESOLVE_PROXY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FAILED_INIT", CURLE_FAILED_INIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FILE_COULDNT_READ_FILE", CURLE_FILE_COULDNT_READ_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_ACCESS_DENIED", CURLE_FTP_ACCESS_DENIED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_BAD_DOWNLOAD_RESUME", CURLE_FTP_BAD_DOWNLOAD_RESUME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_CANT_GET_HOST", CURLE_FTP_CANT_GET_HOST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_CANT_RECONNECT", CURLE_FTP_CANT_RECONNECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_GET_SIZE", CURLE_FTP_COULDNT_GET_SIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_RETR_FILE", CURLE_FTP_COULDNT_RETR_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_SET_ASCII", CURLE_FTP_COULDNT_SET_ASCII, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_SET_BINARY", CURLE_FTP_COULDNT_SET_BINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_STOR_FILE", CURLE_FTP_COULDNT_STOR_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_COULDNT_USE_REST", CURLE_FTP_COULDNT_USE_REST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_PARTIAL_FILE", CURLE_FTP_PARTIAL_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_PORT_FAILED", CURLE_FTP_PORT_FAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_QUOTE_ERROR", CURLE_FTP_QUOTE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_USER_PASSWORD_INCORRECT", CURLE_FTP_USER_PASSWORD_INCORRECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_227_FORMAT", CURLE_FTP_WEIRD_227_FORMAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_PASS_REPLY", CURLE_FTP_WEIRD_PASS_REPLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_PASV_REPLY", CURLE_FTP_WEIRD_PASV_REPLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_SERVER_REPLY", CURLE_FTP_WEIRD_SERVER_REPLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WEIRD_USER_REPLY", CURLE_FTP_WEIRD_USER_REPLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_WRITE_ERROR", CURLE_FTP_WRITE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FUNCTION_NOT_FOUND", CURLE_FUNCTION_NOT_FOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_GOT_NOTHING", CURLE_GOT_NOTHING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_NOT_FOUND", CURLE_HTTP_NOT_FOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_PORT_FAILED", CURLE_HTTP_PORT_FAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_POST_ERROR", CURLE_HTTP_POST_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_RANGE_ERROR", CURLE_HTTP_RANGE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_HTTP_RETURNED_ERROR", CURLE_HTTP_RETURNED_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LDAP_CANNOT_BIND", CURLE_LDAP_CANNOT_BIND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LDAP_SEARCH_FAILED", CURLE_LDAP_SEARCH_FAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LIBRARY_NOT_FOUND", CURLE_LIBRARY_NOT_FOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_MALFORMAT_USER", CURLE_MALFORMAT_USER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OBSOLETE", CURLE_OBSOLETE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OK", CURLE_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEDOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OPERATION_TIMEOUTED", CURLE_OPERATION_TIMEOUTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_OUT_OF_MEMORY", CURLE_OUT_OF_MEMORY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_PARTIAL_FILE", CURLE_PARTIAL_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_READ_ERROR", CURLE_READ_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_RECV_ERROR", CURLE_RECV_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SEND_ERROR", CURLE_SEND_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SHARE_IN_USE", CURLE_SHARE_IN_USE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CACERT", CURLE_SSL_CACERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CERTPROBLEM", CURLE_SSL_CERTPROBLEM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CIPHER", CURLE_SSL_CIPHER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CONNECT_ERROR", CURLE_SSL_CONNECT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_NOTFOUND", CURLE_SSL_ENGINE_NOTFOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_ENGINE_SETFAILED", CURLE_SSL_ENGINE_SETFAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_PEER_CERTIFICATE", CURLE_SSL_PEER_CERTIFICATE, CONST_PERSISTENT); #if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ - REGISTER_LONG_CONSTANT("CURLE_SSL_PINNEDPUBKEYNOTMATCH", CURLE_SSL_PINNEDPUBKEYNOTMATCH, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("CURLE_TELNET_OPTION_SYNTAX", CURLE_TELNET_OPTION_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_TOO_MANY_REDIRECTS", CURLE_TOO_MANY_REDIRECTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_UNKNOWN_TELNET_OPTION", CURLE_UNKNOWN_TELNET_OPTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_UNSUPPORTED_PROTOCOL", CURLE_UNSUPPORTED_PROTOCOL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_URL_MALFORMAT", CURLE_URL_MALFORMAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_URL_MALFORMAT_USER", CURLE_URL_MALFORMAT_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_WRITE_ERROR", CURLE_WRITE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME", CURLINFO_CONNECT_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD", CURLINFO_CONTENT_LENGTH_DOWNLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD", CURLINFO_CONTENT_LENGTH_UPLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_TYPE", CURLINFO_CONTENT_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_EFFECTIVE_URL", CURLINFO_EFFECTIVE_URL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_FILETIME", CURLINFO_FILETIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_HEADER_OUT", CURLINFO_HEADER_OUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_HEADER_SIZE", CURLINFO_HEADER_SIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_HTTP_CODE", CURLINFO_HTTP_CODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_LASTONE", CURLINFO_LASTONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME", CURLINFO_NAMELOOKUP_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME", CURLINFO_PRETRANSFER_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_PRIVATE", CURLINFO_PRIVATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_COUNT", CURLINFO_REDIRECT_COUNT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME", CURLINFO_REDIRECT_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_REQUEST_SIZE", CURLINFO_REQUEST_SIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD", CURLINFO_SIZE_DOWNLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD", CURLINFO_SIZE_UPLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD", CURLINFO_SPEED_DOWNLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD", CURLINFO_SPEED_UPLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_SSL_VERIFYRESULT", CURLINFO_SSL_VERIFYRESULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME", CURLINFO_STARTTRANSFER_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME", CURLINFO_TOTAL_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_PINNEDPUBKEYNOTMATCH", CURLE_SSL_PINNEDPUBKEYNOTMATCH, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLE_TELNET_OPTION_SYNTAX", CURLE_TELNET_OPTION_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_TOO_MANY_REDIRECTS", CURLE_TOO_MANY_REDIRECTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_UNKNOWN_TELNET_OPTION", CURLE_UNKNOWN_TELNET_OPTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_UNSUPPORTED_PROTOCOL", CURLE_UNSUPPORTED_PROTOCOL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_URL_MALFORMAT", CURLE_URL_MALFORMAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_URL_MALFORMAT_USER", CURLE_URL_MALFORMAT_USER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_WRITE_ERROR", CURLE_WRITE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME", CURLINFO_CONNECT_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD", CURLINFO_CONTENT_LENGTH_DOWNLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD", CURLINFO_CONTENT_LENGTH_UPLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_TYPE", CURLINFO_CONTENT_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_EFFECTIVE_URL", CURLINFO_EFFECTIVE_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_FILETIME", CURLINFO_FILETIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HEADER_OUT", CURLINFO_HEADER_OUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HEADER_SIZE", CURLINFO_HEADER_SIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTP_CODE", CURLINFO_HTTP_CODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_LASTONE", CURLINFO_LASTONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME", CURLINFO_NAMELOOKUP_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME", CURLINFO_PRETRANSFER_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRIVATE", CURLINFO_PRIVATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_COUNT", CURLINFO_REDIRECT_COUNT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME", CURLINFO_REDIRECT_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REQUEST_SIZE", CURLINFO_REQUEST_SIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD", CURLINFO_SIZE_DOWNLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD", CURLINFO_SIZE_UPLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD", CURLINFO_SPEED_DOWNLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD", CURLINFO_SPEED_UPLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SSL_VERIFYRESULT", CURLINFO_SSL_VERIFYRESULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME", CURLINFO_STARTTRANSFER_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME", CURLINFO_TOTAL_TIME, CONST_PERSISTENT); #if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_EFFECTIVE_METHOD", CURLINFO_EFFECTIVE_METHOD, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("CURLMSG_DONE", CURLMSG_DONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLVERSION_NOW", CURLVERSION_NOW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLM_BAD_EASY_HANDLE", CURLM_BAD_EASY_HANDLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLM_BAD_HANDLE", CURLM_BAD_HANDLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLM_CALL_MULTI_PERFORM", CURLM_CALL_MULTI_PERFORM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLM_INTERNAL_ERROR", CURLM_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLM_OK", CURLM_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLM_OUT_OF_MEMORY", CURLM_OUT_OF_MEMORY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_EFFECTIVE_METHOD", CURLINFO_EFFECTIVE_METHOD, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLMSG_DONE", CURLMSG_DONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLVERSION_NOW", CURLVERSION_NOW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_BAD_EASY_HANDLE", CURLM_BAD_EASY_HANDLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_BAD_HANDLE", CURLM_BAD_HANDLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_CALL_MULTI_PERFORM", CURLM_CALL_MULTI_PERFORM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_INTERNAL_ERROR", CURLM_INTERNAL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_OK", CURLM_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_OUT_OF_MEMORY", CURLM_OUT_OF_MEMORY, CONST_PERSISTENT); #if LIBCURL_VERSION_NUM >= 0x072001 /* Available since 7.32.1 */ - REGISTER_LONG_CONSTANT("CURLM_ADDED_ALREADY", CURLM_ADDED_ALREADY, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("CURLPROXY_HTTP", CURLPROXY_HTTP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4", CURLPROXY_SOCKS4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5", CURLPROXY_SOCKS5, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSHOPT_NONE", CURLSHOPT_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSHOPT_SHARE", CURLSHOPT_SHARE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSHOPT_UNSHARE", CURLSHOPT_UNSHARE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_1_0", CURL_HTTP_VERSION_1_0, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_1_1", CURL_HTTP_VERSION_1_1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_NONE", CURL_HTTP_VERSION_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_COOKIE", CURL_LOCK_DATA_COOKIE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_DNS", CURL_LOCK_DATA_DNS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_SSL_SESSION", CURL_LOCK_DATA_SSL_SESSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_NETRC_IGNORED", CURL_NETRC_IGNORED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_NETRC_OPTIONAL", CURL_NETRC_OPTIONAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_NETRC_REQUIRED", CURL_NETRC_REQUIRED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_DEFAULT", CURL_SSLVERSION_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_SSLv2", CURL_SSLVERSION_SSLv2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_SSLv3", CURL_SSLVERSION_SSLv3, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1", CURL_SSLVERSION_TLSv1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_TIMECOND_IFMODSINCE", CURL_TIMECOND_IFMODSINCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_TIMECOND_IFUNMODSINCE", CURL_TIMECOND_IFUNMODSINCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_TIMECOND_LASTMOD", CURL_TIMECOND_LASTMOD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_TIMECOND_NONE", CURL_TIMECOND_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_ASYNCHDNS", CURL_VERSION_ASYNCHDNS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_CONV", CURL_VERSION_CONV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_DEBUG", CURL_VERSION_DEBUG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_GSSNEGOTIATE", CURL_VERSION_GSSNEGOTIATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_IDN", CURL_VERSION_IDN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_IPV6", CURL_VERSION_IPV6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS4", CURL_VERSION_KERBEROS4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_LARGEFILE", CURL_VERSION_LARGEFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_LIBZ", CURL_VERSION_LIBZ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_NTLM", CURL_VERSION_NTLM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_SPNEGO", CURL_VERSION_SPNEGO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_SSL", CURL_VERSION_SSL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_SSPI", CURL_VERSION_SSPI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTPAUTH", CURLOPT_HTTPAUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_ANY", CURLAUTH_ANY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_ANYSAFE", CURLAUTH_ANYSAFE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_BASIC", CURLAUTH_BASIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_DIGEST", CURLAUTH_DIGEST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_GSSNEGOTIATE", CURLAUTH_GSSNEGOTIATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_NONE", CURLAUTH_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_NTLM", CURLAUTH_NTLM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_HTTP_CONNECTCODE", CURLINFO_HTTP_CONNECTCODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXYAUTH", CURLOPT_PROXYAUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FILESIZE_EXCEEDED", CURLE_FILESIZE_EXCEEDED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_LDAP_INVALID_URL", CURLE_LDAP_INVALID_URL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_HTTPAUTH_AVAIL", CURLINFO_HTTPAUTH_AVAIL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_RESPONSE_CODE", CURLINFO_RESPONSE_CODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_PROXYAUTH_AVAIL", CURLINFO_PROXYAUTH_AVAIL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_RESPONSE_TIMEOUT", CURLOPT_FTP_RESPONSE_TIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_IPRESOLVE", CURLOPT_IPRESOLVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAXFILESIZE", CURLOPT_MAXFILESIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_V4", CURL_IPRESOLVE_V4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_V6", CURL_IPRESOLVE_V6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_WHATEVER", CURL_IPRESOLVE_WHATEVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_FTP_SSL_FAILED", CURLE_FTP_SSL_FAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_ALL", CURLFTPSSL_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_CONTROL", CURLFTPSSL_CONTROL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_NONE", CURLFTPSSL_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_TRY", CURLFTPSSL_TRY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_SSL", CURLOPT_FTP_SSL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NETRC_FILE", CURLOPT_NETRC_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAXFILESIZE_LARGE", CURLOPT_MAXFILESIZE_LARGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TCP_NODELAY", CURLOPT_TCP_NODELAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPAUTH_DEFAULT", CURLFTPAUTH_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPAUTH_SSL", CURLFTPAUTH_SSL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPAUTH_TLS", CURLFTPAUTH_TLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTPSSLAUTH", CURLOPT_FTPSSLAUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_OS_ERRNO", CURLINFO_OS_ERRNO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_NUM_CONNECTS", CURLINFO_NUM_CONNECTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_SSL_ENGINES", CURLINFO_SSL_ENGINES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_COOKIELIST", CURLINFO_COOKIELIST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_COOKIELIST", CURLOPT_COOKIELIST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_IGNORE_CONTENT_LENGTH", CURLOPT_IGNORE_CONTENT_LENGTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_SKIP_PASV_IP", CURLOPT_FTP_SKIP_PASV_IP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_ONLY", CURLOPT_CONNECT_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_LOCALPORT", CURLOPT_LOCALPORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_LOCALPORTRANGE", CURLOPT_LOCALPORTRANGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPMETHOD_DEFAULT", CURLFTPMETHOD_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPMETHOD_MULTICWD", CURLFTPMETHOD_MULTICWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPMETHOD_NOCWD", CURLFTPMETHOD_NOCWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPMETHOD_SINGLECWD", CURLFTPMETHOD_SINGLECWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_FTP_ENTRY_PATH", CURLINFO_FTP_ENTRY_PATH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAX_RECV_SPEED_LARGE", CURLOPT_MAX_RECV_SPEED_LARGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAX_SEND_SPEED_LARGE", CURLOPT_MAX_SEND_SPEED_LARGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSL_CACERT_BADFILE", CURLE_SSL_CACERT_BADFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSL_SESSIONID_CACHE", CURLOPT_SSL_SESSIONID_CACHE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLMOPT_PIPELINING", CURLMOPT_PIPELINING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLE_SSH", CURLE_SSH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_SSL_CCC", CURLOPT_FTP_SSL_CCC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSH_AUTH_TYPES", CURLOPT_SSH_AUTH_TYPES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSH_PRIVATE_KEYFILE", CURLOPT_SSH_PRIVATE_KEYFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSH_PUBLIC_KEYFILE", CURLOPT_SSH_PUBLIC_KEYFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_ACTIVE", CURLFTPSSL_CCC_ACTIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_NONE", CURLFTPSSL_CCC_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_PASSIVE", CURLFTPSSL_CCC_PASSIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CONNECTTIMEOUT_MS", CURLOPT_CONNECTTIMEOUT_MS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTP_CONTENT_DECODING", CURLOPT_HTTP_CONTENT_DECODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_HTTP_TRANSFER_DECODING", CURLOPT_HTTP_TRANSFER_DECODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TIMEOUT_MS", CURLOPT_TIMEOUT_MS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLMOPT_MAXCONNECTS", CURLMOPT_MAXCONNECTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_KRBLEVEL", CURLOPT_KRBLEVEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NEW_DIRECTORY_PERMS", CURLOPT_NEW_DIRECTORY_PERMS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NEW_FILE_PERMS", CURLOPT_NEW_FILE_PERMS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_APPEND", CURLOPT_APPEND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_DIRLISTONLY", CURLOPT_DIRLISTONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_USE_SSL", CURLOPT_USE_SSL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLUSESSL_ALL", CURLUSESSL_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLUSESSL_CONTROL", CURLUSESSL_CONTROL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLUSESSL_NONE", CURLUSESSL_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLUSESSL_TRY", CURLUSESSL_TRY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSH_HOST_PUBLIC_KEY_MD5", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TRANSFER_MODE", CURLOPT_PROXY_TRANSFER_MODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPAUSE_ALL", CURLPAUSE_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPAUSE_CONT", CURLPAUSE_CONT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPAUSE_RECV", CURLPAUSE_RECV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPAUSE_RECV_CONT", CURLPAUSE_RECV_CONT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPAUSE_SEND", CURLPAUSE_SEND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPAUSE_SEND_CONT", CURLPAUSE_SEND_CONT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_READFUNC_PAUSE", CURL_READFUNC_PAUSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_WRITEFUNC_PAUSE", CURL_WRITEFUNC_PAUSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4A", CURLPROXY_SOCKS4A, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5_HOSTNAME", CURLPROXY_SOCKS5_HOSTNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_URL", CURLINFO_REDIRECT_URL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME", CURLINFO_APPCONNECT_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_PRIMARY_IP", CURLINFO_PRIMARY_IP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_ADDRESS_SCOPE", CURLOPT_ADDRESS_SCOPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CRLFILE", CURLOPT_CRLFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_ISSUERCERT", CURLOPT_ISSUERCERT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_KEYPASSWD", CURLOPT_KEYPASSWD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_ANY", CURLSSH_AUTH_ANY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_DEFAULT", CURLSSH_AUTH_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_HOST", CURLSSH_AUTH_HOST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_KEYBOARD", CURLSSH_AUTH_KEYBOARD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_NONE", CURLSSH_AUTH_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_PASSWORD", CURLSSH_AUTH_PASSWORD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_PUBLICKEY", CURLSSH_AUTH_PUBLICKEY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_CERTINFO", CURLINFO_CERTINFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_CERTINFO", CURLOPT_CERTINFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PASSWORD", CURLOPT_PASSWORD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_POSTREDIR", CURLOPT_POSTREDIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXYPASSWORD", CURLOPT_PROXYPASSWORD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROXYUSERNAME", CURLOPT_PROXYUSERNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_USERNAME", CURLOPT_USERNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_REDIR_POST_301", CURL_REDIR_POST_301, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_REDIR_POST_302", CURL_REDIR_POST_302, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_REDIR_POST_ALL", CURL_REDIR_POST_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_DIGEST_IE", CURLAUTH_DIGEST_IE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_CONDITION_UNMET", CURLINFO_CONDITION_UNMET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_NOPROXY", CURLOPT_NOPROXY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_PROTOCOLS", CURLOPT_PROTOCOLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_REDIR_PROTOCOLS", CURLOPT_REDIR_PROTOCOLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_GSSAPI_NEC", CURLOPT_SOCKS5_GSSAPI_NEC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_GSSAPI_SERVICE", CURLOPT_SOCKS5_GSSAPI_SERVICE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TFTP_BLKSIZE", CURLOPT_TFTP_BLKSIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_ALL", CURLPROTO_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_DICT", CURLPROTO_DICT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_FILE", CURLPROTO_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_FTP", CURLPROTO_FTP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_FTPS", CURLPROTO_FTPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_HTTP", CURLPROTO_HTTP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_HTTPS", CURLPROTO_HTTPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_LDAP", CURLPROTO_LDAP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_LDAPS", CURLPROTO_LDAPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_SCP", CURLPROTO_SCP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_SFTP", CURLPROTO_SFTP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_TELNET", CURLPROTO_TELNET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_TFTP", CURLPROTO_TFTP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROXY_HTTP_1_0", CURLPROXY_HTTP_1_0, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR", CURLFTP_CREATE_DIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR_NONE", CURLFTP_CREATE_DIR_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR_RETRY", CURLFTP_CREATE_DIR_RETRY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_CURLDEBUG", CURL_VERSION_CURLDEBUG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSH_KNOWNHOSTS", CURLOPT_SSH_KNOWNHOSTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_RTSP_CLIENT_CSEQ", CURLINFO_RTSP_CLIENT_CSEQ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_RTSP_CSEQ_RECV", CURLINFO_RTSP_CSEQ_RECV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_RTSP_SERVER_CSEQ", CURLINFO_RTSP_SERVER_CSEQ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_RTSP_SESSION_ID", CURLINFO_RTSP_SESSION_ID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_PRET", CURLOPT_FTP_USE_PRET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAIL_FROM", CURLOPT_MAIL_FROM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAIL_RCPT", CURLOPT_MAIL_RCPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RTSP_CLIENT_CSEQ", CURLOPT_RTSP_CLIENT_CSEQ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RTSP_REQUEST", CURLOPT_RTSP_REQUEST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RTSP_SERVER_CSEQ", CURLOPT_RTSP_SERVER_CSEQ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RTSP_SESSION_ID", CURLOPT_RTSP_SESSION_ID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RTSP_STREAM_URI", CURLOPT_RTSP_STREAM_URI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RTSP_TRANSPORT", CURLOPT_RTSP_TRANSPORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_IMAP", CURLPROTO_IMAP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_IMAPS", CURLPROTO_IMAPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_POP3", CURLPROTO_POP3, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_POP3S", CURLPROTO_POP3S, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTSP", CURLPROTO_RTSP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_SMTP", CURLPROTO_SMTP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_SMTPS", CURLPROTO_SMTPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_ANNOUNCE", CURL_RTSPREQ_ANNOUNCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_DESCRIBE", CURL_RTSPREQ_DESCRIBE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_GET_PARAMETER", CURL_RTSPREQ_GET_PARAMETER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_OPTIONS", CURL_RTSPREQ_OPTIONS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_PAUSE", CURL_RTSPREQ_PAUSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_PLAY", CURL_RTSPREQ_PLAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_RECEIVE", CURL_RTSPREQ_RECEIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_RECORD", CURL_RTSPREQ_RECORD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_SET_PARAMETER", CURL_RTSPREQ_SET_PARAMETER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_SETUP", CURL_RTSPREQ_SETUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_RTSPREQ_TEARDOWN", CURL_RTSPREQ_TEARDOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_LOCAL_IP", CURLINFO_LOCAL_IP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_LOCAL_PORT", CURLINFO_LOCAL_PORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLINFO_PRIMARY_PORT", CURLINFO_PRIMARY_PORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_FNMATCH_FUNCTION", CURLOPT_FNMATCH_FUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_WILDCARDMATCH", CURLOPT_WILDCARDMATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTMP", CURLPROTO_RTMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTMPE", CURLPROTO_RTMPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTMPS", CURLPROTO_RTMPS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTMPT", CURLPROTO_RTMPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTMPTE", CURLPROTO_RTMPTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_RTMPTS", CURLPROTO_RTMPTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_FAIL", CURL_FNMATCHFUNC_FAIL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_MATCH", CURL_FNMATCHFUNC_MATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_NOMATCH", CURL_FNMATCHFUNC_NOMATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLPROTO_GOPHER", CURLPROTO_GOPHER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_ONLY", CURLAUTH_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_RESOLVE", CURLOPT_RESOLVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_PASSWORD", CURLOPT_TLSAUTH_PASSWORD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_TYPE", CURLOPT_TLSAUTH_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_USERNAME", CURLOPT_TLSAUTH_USERNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_TLSAUTH_SRP", CURL_TLSAUTH_SRP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_TLSAUTH_SRP", CURL_VERSION_TLSAUTH_SRP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_ACCEPT_ENCODING", CURLOPT_ACCEPT_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TRANSFER_ENCODING", CURLOPT_TRANSFER_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLAUTH_NTLM_WB", CURLAUTH_NTLM_WB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLGSSAPI_DELEGATION_FLAG", CURLGSSAPI_DELEGATION_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLGSSAPI_DELEGATION_POLICY_FLAG", CURLGSSAPI_DELEGATION_POLICY_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_GSSAPI_DELEGATION", CURLOPT_GSSAPI_DELEGATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_VERSION_NTLM_WB", CURL_VERSION_NTLM_WB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_ACCEPTTIMEOUT_MS", CURLOPT_ACCEPTTIMEOUT_MS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_DNS_SERVERS", CURLOPT_DNS_SERVERS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_MAIL_AUTH", CURLOPT_MAIL_AUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_SSL_OPTIONS", CURLOPT_SSL_OPTIONS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPALIVE", CURLOPT_TCP_KEEPALIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPIDLE", CURLOPT_TCP_KEEPIDLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPINTVL", CURLOPT_TCP_KEEPINTVL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSLOPT_ALLOW_BEAST", CURLSSLOPT_ALLOW_BEAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURL_REDIR_POST_303", CURL_REDIR_POST_303, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_AGENT", CURLSSH_AUTH_AGENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLM_ADDED_ALREADY", CURLM_ADDED_ALREADY, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("CURLPROXY_HTTP", CURLPROXY_HTTP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4", CURLPROXY_SOCKS4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5", CURLPROXY_SOCKS5, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSHOPT_NONE", CURLSHOPT_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSHOPT_SHARE", CURLSHOPT_SHARE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSHOPT_UNSHARE", CURLSHOPT_UNSHARE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_1_0", CURL_HTTP_VERSION_1_0, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_1_1", CURL_HTTP_VERSION_1_1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_NONE", CURL_HTTP_VERSION_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_COOKIE", CURL_LOCK_DATA_COOKIE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_DNS", CURL_LOCK_DATA_DNS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_SSL_SESSION", CURL_LOCK_DATA_SSL_SESSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_NETRC_IGNORED", CURL_NETRC_IGNORED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_NETRC_OPTIONAL", CURL_NETRC_OPTIONAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_NETRC_REQUIRED", CURL_NETRC_REQUIRED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_DEFAULT", CURL_SSLVERSION_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_SSLv2", CURL_SSLVERSION_SSLv2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_SSLv3", CURL_SSLVERSION_SSLv3, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1", CURL_SSLVERSION_TLSv1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_IFMODSINCE", CURL_TIMECOND_IFMODSINCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_IFUNMODSINCE", CURL_TIMECOND_IFUNMODSINCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_LASTMOD", CURL_TIMECOND_LASTMOD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TIMECOND_NONE", CURL_TIMECOND_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_ASYNCHDNS", CURL_VERSION_ASYNCHDNS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_CONV", CURL_VERSION_CONV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_DEBUG", CURL_VERSION_DEBUG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_GSSNEGOTIATE", CURL_VERSION_GSSNEGOTIATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_IDN", CURL_VERSION_IDN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_IPV6", CURL_VERSION_IPV6, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS4", CURL_VERSION_KERBEROS4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_LARGEFILE", CURL_VERSION_LARGEFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_LIBZ", CURL_VERSION_LIBZ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_NTLM", CURL_VERSION_NTLM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_SPNEGO", CURL_VERSION_SPNEGO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_SSL", CURL_VERSION_SSL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_SSPI", CURL_VERSION_SSPI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTPAUTH", CURLOPT_HTTPAUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_ANY", CURLAUTH_ANY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_ANYSAFE", CURLAUTH_ANYSAFE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_BASIC", CURLAUTH_BASIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_DIGEST", CURLAUTH_DIGEST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_GSSNEGOTIATE", CURLAUTH_GSSNEGOTIATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NONE", CURLAUTH_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NTLM", CURLAUTH_NTLM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTP_CONNECTCODE", CURLINFO_HTTP_CONNECTCODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYAUTH", CURLOPT_PROXYAUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FILESIZE_EXCEEDED", CURLE_FILESIZE_EXCEEDED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_LDAP_INVALID_URL", CURLE_LDAP_INVALID_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTPAUTH_AVAIL", CURLINFO_HTTPAUTH_AVAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RESPONSE_CODE", CURLINFO_RESPONSE_CODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PROXYAUTH_AVAIL", CURLINFO_PROXYAUTH_AVAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_RESPONSE_TIMEOUT", CURLOPT_FTP_RESPONSE_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_IPRESOLVE", CURLOPT_IPRESOLVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXFILESIZE", CURLOPT_MAXFILESIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_V4", CURL_IPRESOLVE_V4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_V6", CURL_IPRESOLVE_V6, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_IPRESOLVE_WHATEVER", CURL_IPRESOLVE_WHATEVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_FTP_SSL_FAILED", CURLE_FTP_SSL_FAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_ALL", CURLFTPSSL_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CONTROL", CURLFTPSSL_CONTROL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_NONE", CURLFTPSSL_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_TRY", CURLFTPSSL_TRY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_SSL", CURLOPT_FTP_SSL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NETRC_FILE", CURLOPT_NETRC_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXFILESIZE_LARGE", CURLOPT_MAXFILESIZE_LARGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_NODELAY", CURLOPT_TCP_NODELAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPAUTH_DEFAULT", CURLFTPAUTH_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPAUTH_SSL", CURLFTPAUTH_SSL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPAUTH_TLS", CURLFTPAUTH_TLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTPSSLAUTH", CURLOPT_FTPSSLAUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_OS_ERRNO", CURLINFO_OS_ERRNO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_NUM_CONNECTS", CURLINFO_NUM_CONNECTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SSL_ENGINES", CURLINFO_SSL_ENGINES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_COOKIELIST", CURLINFO_COOKIELIST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_COOKIELIST", CURLOPT_COOKIELIST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_IGNORE_CONTENT_LENGTH", CURLOPT_IGNORE_CONTENT_LENGTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_SKIP_PASV_IP", CURLOPT_FTP_SKIP_PASV_IP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_ONLY", CURLOPT_CONNECT_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOCALPORT", CURLOPT_LOCALPORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOCALPORTRANGE", CURLOPT_LOCALPORTRANGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_DEFAULT", CURLFTPMETHOD_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_MULTICWD", CURLFTPMETHOD_MULTICWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_NOCWD", CURLFTPMETHOD_NOCWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPMETHOD_SINGLECWD", CURLFTPMETHOD_SINGLECWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_FTP_ENTRY_PATH", CURLINFO_FTP_ENTRY_PATH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAX_RECV_SPEED_LARGE", CURLOPT_MAX_RECV_SPEED_LARGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAX_SEND_SPEED_LARGE", CURLOPT_MAX_SEND_SPEED_LARGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSL_CACERT_BADFILE", CURLE_SSL_CACERT_BADFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_SESSIONID_CACHE", CURLOPT_SSL_SESSIONID_CACHE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_PIPELINING", CURLMOPT_PIPELINING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_SSH", CURLE_SSH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_SSL_CCC", CURLOPT_FTP_SSL_CCC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_AUTH_TYPES", CURLOPT_SSH_AUTH_TYPES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_PRIVATE_KEYFILE", CURLOPT_SSH_PRIVATE_KEYFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_PUBLIC_KEYFILE", CURLOPT_SSH_PUBLIC_KEYFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_ACTIVE", CURLFTPSSL_CCC_ACTIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_NONE", CURLFTPSSL_CCC_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTPSSL_CCC_PASSIVE", CURLFTPSSL_CCC_PASSIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECTTIMEOUT_MS", CURLOPT_CONNECTTIMEOUT_MS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP_CONTENT_DECODING", CURLOPT_HTTP_CONTENT_DECODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP_TRANSFER_DECODING", CURLOPT_HTTP_TRANSFER_DECODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEOUT_MS", CURLOPT_TIMEOUT_MS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_MAXCONNECTS", CURLMOPT_MAXCONNECTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KRBLEVEL", CURLOPT_KRBLEVEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NEW_DIRECTORY_PERMS", CURLOPT_NEW_DIRECTORY_PERMS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NEW_FILE_PERMS", CURLOPT_NEW_FILE_PERMS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_APPEND", CURLOPT_APPEND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DIRLISTONLY", CURLOPT_DIRLISTONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USE_SSL", CURLOPT_USE_SSL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_ALL", CURLUSESSL_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_CONTROL", CURLUSESSL_CONTROL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_NONE", CURLUSESSL_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLUSESSL_TRY", CURLUSESSL_TRY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_HOST_PUBLIC_KEY_MD5", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TRANSFER_MODE", CURLOPT_PROXY_TRANSFER_MODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_ALL", CURLPAUSE_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_CONT", CURLPAUSE_CONT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_RECV", CURLPAUSE_RECV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_RECV_CONT", CURLPAUSE_RECV_CONT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_SEND", CURLPAUSE_SEND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPAUSE_SEND_CONT", CURLPAUSE_SEND_CONT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_READFUNC_PAUSE", CURL_READFUNC_PAUSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_WRITEFUNC_PAUSE", CURL_WRITEFUNC_PAUSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS4A", CURLPROXY_SOCKS4A, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_SOCKS5_HOSTNAME", CURLPROXY_SOCKS5_HOSTNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_URL", CURLINFO_REDIRECT_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME", CURLINFO_APPCONNECT_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRIMARY_IP", CURLINFO_PRIMARY_IP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ADDRESS_SCOPE", CURLOPT_ADDRESS_SCOPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CRLFILE", CURLOPT_CRLFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ISSUERCERT", CURLOPT_ISSUERCERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KEYPASSWD", CURLOPT_KEYPASSWD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_ANY", CURLSSH_AUTH_ANY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_DEFAULT", CURLSSH_AUTH_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_HOST", CURLSSH_AUTH_HOST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_KEYBOARD", CURLSSH_AUTH_KEYBOARD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_NONE", CURLSSH_AUTH_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_PASSWORD", CURLSSH_AUTH_PASSWORD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_PUBLICKEY", CURLSSH_AUTH_PUBLICKEY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CERTINFO", CURLINFO_CERTINFO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CERTINFO", CURLOPT_CERTINFO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PASSWORD", CURLOPT_PASSWORD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_POSTREDIR", CURLOPT_POSTREDIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYPASSWORD", CURLOPT_PROXYPASSWORD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYUSERNAME", CURLOPT_PROXYUSERNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_USERNAME", CURLOPT_USERNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_301", CURL_REDIR_POST_301, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_302", CURL_REDIR_POST_302, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_ALL", CURL_REDIR_POST_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_DIGEST_IE", CURLAUTH_DIGEST_IE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONDITION_UNMET", CURLINFO_CONDITION_UNMET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_NOPROXY", CURLOPT_NOPROXY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROTOCOLS", CURLOPT_PROTOCOLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_REDIR_PROTOCOLS", CURLOPT_REDIR_PROTOCOLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_GSSAPI_NEC", CURLOPT_SOCKS5_GSSAPI_NEC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_GSSAPI_SERVICE", CURLOPT_SOCKS5_GSSAPI_SERVICE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TFTP_BLKSIZE", CURLOPT_TFTP_BLKSIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_ALL", CURLPROTO_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_DICT", CURLPROTO_DICT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_FILE", CURLPROTO_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_FTP", CURLPROTO_FTP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_FTPS", CURLPROTO_FTPS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_HTTP", CURLPROTO_HTTP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_HTTPS", CURLPROTO_HTTPS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_LDAP", CURLPROTO_LDAP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_LDAPS", CURLPROTO_LDAPS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SCP", CURLPROTO_SCP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SFTP", CURLPROTO_SFTP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_TELNET", CURLPROTO_TELNET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_TFTP", CURLPROTO_TFTP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_HTTP_1_0", CURLPROXY_HTTP_1_0, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR", CURLFTP_CREATE_DIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR_NONE", CURLFTP_CREATE_DIR_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLFTP_CREATE_DIR_RETRY", CURLFTP_CREATE_DIR_RETRY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_CURLDEBUG", CURL_VERSION_CURLDEBUG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_KNOWNHOSTS", CURLOPT_SSH_KNOWNHOSTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_CLIENT_CSEQ", CURLINFO_RTSP_CLIENT_CSEQ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_CSEQ_RECV", CURLINFO_RTSP_CSEQ_RECV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_SERVER_CSEQ", CURLINFO_RTSP_SERVER_CSEQ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RTSP_SESSION_ID", CURLINFO_RTSP_SESSION_ID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FTP_USE_PRET", CURLOPT_FTP_USE_PRET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_FROM", CURLOPT_MAIL_FROM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_RCPT", CURLOPT_MAIL_RCPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_CLIENT_CSEQ", CURLOPT_RTSP_CLIENT_CSEQ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_REQUEST", CURLOPT_RTSP_REQUEST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_SERVER_CSEQ", CURLOPT_RTSP_SERVER_CSEQ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_SESSION_ID", CURLOPT_RTSP_SESSION_ID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_STREAM_URI", CURLOPT_RTSP_STREAM_URI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RTSP_TRANSPORT", CURLOPT_RTSP_TRANSPORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_IMAP", CURLPROTO_IMAP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_IMAPS", CURLPROTO_IMAPS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_POP3", CURLPROTO_POP3, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_POP3S", CURLPROTO_POP3S, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTSP", CURLPROTO_RTSP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SMTP", CURLPROTO_SMTP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SMTPS", CURLPROTO_SMTPS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_ANNOUNCE", CURL_RTSPREQ_ANNOUNCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_DESCRIBE", CURL_RTSPREQ_DESCRIBE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_GET_PARAMETER", CURL_RTSPREQ_GET_PARAMETER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_OPTIONS", CURL_RTSPREQ_OPTIONS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_PAUSE", CURL_RTSPREQ_PAUSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_PLAY", CURL_RTSPREQ_PLAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_RECEIVE", CURL_RTSPREQ_RECEIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_RECORD", CURL_RTSPREQ_RECORD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_SET_PARAMETER", CURL_RTSPREQ_SET_PARAMETER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_SETUP", CURL_RTSPREQ_SETUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_RTSPREQ_TEARDOWN", CURL_RTSPREQ_TEARDOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_LOCAL_IP", CURLINFO_LOCAL_IP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_LOCAL_PORT", CURLINFO_LOCAL_PORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRIMARY_PORT", CURLINFO_PRIMARY_PORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_FNMATCH_FUNCTION", CURLOPT_FNMATCH_FUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_WILDCARDMATCH", CURLOPT_WILDCARDMATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMP", CURLPROTO_RTMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPE", CURLPROTO_RTMPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPS", CURLPROTO_RTMPS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPT", CURLPROTO_RTMPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPTE", CURLPROTO_RTMPTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_RTMPTS", CURLPROTO_RTMPTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_FAIL", CURL_FNMATCHFUNC_FAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_MATCH", CURL_FNMATCHFUNC_MATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_FNMATCHFUNC_NOMATCH", CURL_FNMATCHFUNC_NOMATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_GOPHER", CURLPROTO_GOPHER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_ONLY", CURLAUTH_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_RESOLVE", CURLOPT_RESOLVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_PASSWORD", CURLOPT_TLSAUTH_PASSWORD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_TYPE", CURLOPT_TLSAUTH_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLSAUTH_USERNAME", CURLOPT_TLSAUTH_USERNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_TLSAUTH_SRP", CURL_TLSAUTH_SRP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_TLSAUTH_SRP", CURL_VERSION_TLSAUTH_SRP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ACCEPT_ENCODING", CURLOPT_ACCEPT_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TRANSFER_ENCODING", CURLOPT_TRANSFER_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NTLM_WB", CURLAUTH_NTLM_WB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLGSSAPI_DELEGATION_FLAG", CURLGSSAPI_DELEGATION_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLGSSAPI_DELEGATION_POLICY_FLAG", CURLGSSAPI_DELEGATION_POLICY_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_GSSAPI_DELEGATION", CURLOPT_GSSAPI_DELEGATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_NTLM_WB", CURL_VERSION_NTLM_WB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ACCEPTTIMEOUT_MS", CURLOPT_ACCEPTTIMEOUT_MS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_SERVERS", CURLOPT_DNS_SERVERS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_AUTH", CURLOPT_MAIL_AUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_OPTIONS", CURLOPT_SSL_OPTIONS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPALIVE", CURLOPT_TCP_KEEPALIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPIDLE", CURLOPT_TCP_KEEPIDLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_KEEPINTVL", CURLOPT_TCP_KEEPINTVL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_ALLOW_BEAST", CURLSSLOPT_ALLOW_BEAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_REDIR_POST_303", CURL_REDIR_POST_303, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_AGENT", CURLSSH_AUTH_AGENT, CONST_PERSISTENT); #if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE", CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE", CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE", CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE", CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_MAX_HOST_CONNECTIONS", CURLMOPT_MAX_HOST_CONNECTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_HOST_CONNECTIONS", CURLMOPT_MAX_HOST_CONNECTIONS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_MAX_PIPELINE_LENGTH", CURLMOPT_MAX_PIPELINE_LENGTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_PIPELINE_LENGTH", CURLMOPT_MAX_PIPELINE_LENGTH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x071e00 /* Available since 7.30.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_MAX_TOTAL_CONNECTIONS", CURLMOPT_MAX_TOTAL_CONNECTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_TOTAL_CONNECTIONS", CURLMOPT_MAX_TOTAL_CONNECTIONS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x071f00 /* Available since 7.31.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SASL_IR", CURLOPT_SASL_IR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SASL_IR", CURLOPT_SASL_IR, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DNS_INTERFACE", CURLOPT_DNS_INTERFACE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_INTERFACE", CURLOPT_DNS_INTERFACE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP4", CURLOPT_DNS_LOCAL_IP4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP4", CURLOPT_DNS_LOCAL_IP4, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP6", CURLOPT_DNS_LOCAL_IP6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_LOCAL_IP6", CURLOPT_DNS_LOCAL_IP6, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_0", CURL_HTTP_VERSION_2_0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_0", CURL_HTTP_VERSION_2_0, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072100 /* Available since 7.33.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP2", CURL_VERSION_HTTP2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP2", CURL_VERSION_HTTP2, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_LOGIN_OPTIONS", CURLOPT_LOGIN_OPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_LOGIN_OPTIONS", CURLOPT_LOGIN_OPTIONS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_0", CURL_SSLVERSION_TLSv1_0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_0", CURL_SSLVERSION_TLSv1_0, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_1", CURL_SSLVERSION_TLSv1_1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_1", CURL_SSLVERSION_TLSv1_1, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_2", CURL_SSLVERSION_TLSv1_2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_2", CURL_SSLVERSION_TLSv1_2, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_EXPECT_100_TIMEOUT_MS", CURLOPT_EXPECT_100_TIMEOUT_MS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_EXPECT_100_TIMEOUT_MS", CURLOPT_EXPECT_100_TIMEOUT_MS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_ALPN", CURLOPT_SSL_ENABLE_ALPN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_ALPN", CURLOPT_SSL_ENABLE_ALPN, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072400 /* Available since 7.36.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_NPN", CURLOPT_SSL_ENABLE_NPN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_ENABLE_NPN", CURLOPT_SSL_ENABLE_NPN, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ - REGISTER_LONG_CONSTANT("CURLHEADER_SEPARATE", CURLHEADER_SEPARATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLHEADER_SEPARATE", CURLHEADER_SEPARATE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ - REGISTER_LONG_CONSTANT("CURLHEADER_UNIFIED", CURLHEADER_UNIFIED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLHEADER_UNIFIED", CURLHEADER_UNIFIED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_HEADEROPT", CURLOPT_HEADEROPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HEADEROPT", CURLOPT_HEADEROPT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072500 /* Available since 7.37.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXYHEADER", CURLOPT_PROXYHEADER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXYHEADER", CURLOPT_PROXYHEADER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ - REGISTER_LONG_CONSTANT("CURLAUTH_NEGOTIATE", CURLAUTH_NEGOTIATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_NEGOTIATE", CURLAUTH_NEGOTIATE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072600 /* Available since 7.38.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_GSSAPI", CURL_VERSION_GSSAPI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_GSSAPI", CURL_VERSION_GSSAPI, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072700 /* Available since 7.39.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PINNEDPUBLICKEY", CURLOPT_PINNEDPUBLICKEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PINNEDPUBLICKEY", CURLOPT_PINNEDPUBLICKEY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_UNIX_SOCKET_PATH", CURLOPT_UNIX_SOCKET_PATH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UNIX_SOCKET_PATH", CURLOPT_UNIX_SOCKET_PATH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ - REGISTER_LONG_CONSTANT("CURLPROTO_SMB", CURLPROTO_SMB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SMB", CURLPROTO_SMB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ - REGISTER_LONG_CONSTANT("CURLPROTO_SMBS", CURLPROTO_SMBS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_SMBS", CURLPROTO_SMBS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS5", CURL_VERSION_KERBEROS5, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_KERBEROS5", CURL_VERSION_KERBEROS5, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072800 /* Available since 7.40.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_UNIX_SOCKETS", CURL_VERSION_UNIX_SOCKETS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_UNIX_SOCKETS", CURL_VERSION_UNIX_SOCKETS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072900 /* Available since 7.41.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYSTATUS", CURLOPT_SSL_VERIFYSTATUS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_VERIFYSTATUS", CURLOPT_SSL_VERIFYSTATUS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PATH_AS_IS", CURLOPT_PATH_AS_IS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PATH_AS_IS", CURLOPT_PATH_AS_IS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072a00 /* Available since 7.42.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSL_FALSESTART", CURLOPT_SSL_FALSESTART, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_FALSESTART", CURLOPT_SSL_FALSESTART, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2", CURL_HTTP_VERSION_2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2", CURL_HTTP_VERSION_2, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PIPEWAIT", CURLOPT_PIPEWAIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PIPEWAIT", CURLOPT_PIPEWAIT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SERVICE_NAME", CURLOPT_PROXY_SERVICE_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SERVICE_NAME", CURLOPT_PROXY_SERVICE_NAME, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SERVICE_NAME", CURLOPT_SERVICE_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SERVICE_NAME", CURLOPT_SERVICE_NAME, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURLPIPE_NOTHING", CURLPIPE_NOTHING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPIPE_NOTHING", CURLPIPE_NOTHING, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURLPIPE_HTTP1", CURLPIPE_HTTP1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPIPE_HTTP1", CURLPIPE_HTTP1, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072b00 /* Available since 7.43.0 */ - REGISTER_LONG_CONSTANT("CURLPIPE_MULTIPLEX", CURLPIPE_MULTIPLEX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPIPE_MULTIPLEX", CURLPIPE_MULTIPLEX, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072c00 /* Available since 7.44.0 */ - REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_REVOKE", CURLSSLOPT_NO_REVOKE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_REVOKE", CURLSSLOPT_NO_REVOKE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072d00 /* Available since 7.45.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DEFAULT_PROTOCOL", CURLOPT_DEFAULT_PROTOCOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DEFAULT_PROTOCOL", CURLOPT_DEFAULT_PROTOCOL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_STREAM_WEIGHT", CURLOPT_STREAM_WEIGHT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_STREAM_WEIGHT", CURLOPT_STREAM_WEIGHT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_PUSHFUNCTION", CURLMOPT_PUSHFUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_PUSHFUNCTION", CURLMOPT_PUSHFUNCTION, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ - REGISTER_LONG_CONSTANT("CURL_PUSH_OK", CURL_PUSH_OK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_PUSH_OK", CURL_PUSH_OK, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072e00 /* Available since 7.46.0 */ - REGISTER_LONG_CONSTANT("CURL_PUSH_DENY", CURL_PUSH_DENY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_PUSH_DENY", CURL_PUSH_DENY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2TLS", CURL_HTTP_VERSION_2TLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2TLS", CURL_HTTP_VERSION_2TLS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x072f00 /* Available since 7.47.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_PSL", CURL_VERSION_PSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_PSL", CURL_VERSION_PSL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073000 /* Available since 7.48.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_TFTP_NO_OPTIONS", CURLOPT_TFTP_NO_OPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TFTP_NO_OPTIONS", CURLOPT_TFTP_NO_OPTIONS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ - REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE", CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE", CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_TO", CURLOPT_CONNECT_TO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CONNECT_TO", CURLOPT_CONNECT_TO, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073100 /* Available since 7.49.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_TCP_FASTOPEN", CURLOPT_TCP_FASTOPEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TCP_FASTOPEN", CURLOPT_TCP_FASTOPEN, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073200 /* Available since 7.50.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_HTTP_VERSION", CURLINFO_HTTP_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_HTTP_VERSION", CURLINFO_HTTP_VERSION, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ - REGISTER_LONG_CONSTANT("CURLE_WEIRD_SERVER_REPLY", CURLE_WEIRD_SERVER_REPLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_WEIRD_SERVER_REPLY", CURLE_WEIRD_SERVER_REPLY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073300 /* Available since 7.51.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_KEEP_SENDING_ON_ERROR", CURLOPT_KEEP_SENDING_ON_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_KEEP_SENDING_ON_ERROR", CURLOPT_KEEP_SENDING_ON_ERROR, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_3", CURL_SSLVERSION_TLSv1_3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_TLSv1_3", CURL_SSLVERSION_TLSv1_3, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_HTTPS_PROXY", CURL_VERSION_HTTPS_PROXY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_HTTPS_PROXY", CURL_VERSION_HTTPS_PROXY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_PROTOCOL", CURLINFO_PROTOCOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PROTOCOL", CURLINFO_PROTOCOL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_PROXY_SSL_VERIFYRESULT", CURLINFO_PROXY_SSL_VERIFYRESULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PROXY_SSL_VERIFYRESULT", CURLINFO_PROXY_SSL_VERIFYRESULT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_SCHEME", CURLINFO_SCHEME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SCHEME", CURLINFO_SCHEME, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PRE_PROXY", CURLOPT_PRE_PROXY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PRE_PROXY", CURLOPT_PRE_PROXY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO", CURLOPT_PROXY_CAINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO", CURLOPT_PROXY_CAINFO, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAPATH", CURLOPT_PROXY_CAPATH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAPATH", CURLOPT_PROXY_CAPATH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CRLFILE", CURLOPT_PROXY_CRLFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CRLFILE", CURLOPT_PROXY_CRLFILE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_KEYPASSWD", CURLOPT_PROXY_KEYPASSWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_KEYPASSWD", CURLOPT_PROXY_KEYPASSWD, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_PINNEDPUBLICKEY", CURLOPT_PROXY_PINNEDPUBLICKEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_PINNEDPUBLICKEY", CURLOPT_PROXY_PINNEDPUBLICKEY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_CIPHER_LIST", CURLOPT_PROXY_SSL_CIPHER_LIST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_CIPHER_LIST", CURLOPT_PROXY_SSL_CIPHER_LIST, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_OPTIONS", CURLOPT_PROXY_SSL_OPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_OPTIONS", CURLOPT_PROXY_SSL_OPTIONS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYHOST", CURLOPT_PROXY_SSL_VERIFYHOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYHOST", CURLOPT_PROXY_SSL_VERIFYHOST, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYPEER", CURLOPT_PROXY_SSL_VERIFYPEER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSL_VERIFYPEER", CURLOPT_PROXY_SSL_VERIFYPEER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT", CURLOPT_PROXY_SSLCERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT", CURLOPT_PROXY_SSLCERT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERTTYPE", CURLOPT_PROXY_SSLCERTTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERTTYPE", CURLOPT_PROXY_SSLCERTTYPE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY", CURLOPT_PROXY_SSLKEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY", CURLOPT_PROXY_SSLKEY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEYTYPE", CURLOPT_PROXY_SSLKEYTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEYTYPE", CURLOPT_PROXY_SSLKEYTYPE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLVERSION", CURLOPT_PROXY_SSLVERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLVERSION", CURLOPT_PROXY_SSLVERSION, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_PASSWORD", CURLOPT_PROXY_TLSAUTH_PASSWORD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_PASSWORD", CURLOPT_PROXY_TLSAUTH_PASSWORD, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_TYPE", CURLOPT_PROXY_TLSAUTH_TYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_TYPE", CURLOPT_PROXY_TLSAUTH_TYPE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_USERNAME", CURLOPT_PROXY_TLSAUTH_USERNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLSAUTH_USERNAME", CURLOPT_PROXY_TLSAUTH_USERNAME, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073400 /* Available since 7.52.0 */ - REGISTER_LONG_CONSTANT("CURLPROXY_HTTPS", CURLPROXY_HTTPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROXY_HTTPS", CURLPROXY_HTTPS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ - REGISTER_LONG_CONSTANT("CURL_MAX_READ_SIZE", CURL_MAX_READ_SIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_MAX_READ_SIZE", CURL_MAX_READ_SIZE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073500 /* Available since 7.53.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_ABSTRACT_UNIX_SOCKET", CURLOPT_ABSTRACT_UNIX_SOCKET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ABSTRACT_UNIX_SOCKET", CURLOPT_ABSTRACT_UNIX_SOCKET, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_DEFAULT", CURL_SSLVERSION_MAX_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_DEFAULT", CURL_SSLVERSION_MAX_DEFAULT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_NONE", CURL_SSLVERSION_MAX_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_NONE", CURL_SSLVERSION_MAX_NONE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_0", CURL_SSLVERSION_MAX_TLSv1_0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_0", CURL_SSLVERSION_MAX_TLSv1_0, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_1", CURL_SSLVERSION_MAX_TLSv1_1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_1", CURL_SSLVERSION_MAX_TLSv1_1, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_2", CURL_SSLVERSION_MAX_TLSv1_2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_2", CURL_SSLVERSION_MAX_TLSv1_2, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_3", CURL_SSLVERSION_MAX_TLSv1_3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_SSLVERSION_MAX_TLSv1_3", CURL_SSLVERSION_MAX_TLSv1_3, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073600 /* Available since 7.54.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SUPPRESS_CONNECT_HEADERS", CURLOPT_SUPPRESS_CONNECT_HEADERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SUPPRESS_CONNECT_HEADERS", CURLOPT_SUPPRESS_CONNECT_HEADERS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073601 /* Available since 7.54.1 */ - REGISTER_LONG_CONSTANT("CURLAUTH_GSSAPI", CURLAUTH_GSSAPI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_GSSAPI", CURLAUTH_GSSAPI, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD_T", CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_DOWNLOAD_T", CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD_T", CURLINFO_CONTENT_LENGTH_UPLOAD_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONTENT_LENGTH_UPLOAD_T", CURLINFO_CONTENT_LENGTH_UPLOAD_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD_T", CURLINFO_SIZE_DOWNLOAD_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_DOWNLOAD_T", CURLINFO_SIZE_DOWNLOAD_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD_T", CURLINFO_SIZE_UPLOAD_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SIZE_UPLOAD_T", CURLINFO_SIZE_UPLOAD_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD_T", CURLINFO_SPEED_DOWNLOAD_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_DOWNLOAD_T", CURLINFO_SPEED_DOWNLOAD_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD_T", CURLINFO_SPEED_UPLOAD_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_SPEED_UPLOAD_T", CURLINFO_SPEED_UPLOAD_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073700 /* Available since 7.55.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_AUTH", CURLOPT_SOCKS5_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SOCKS5_AUTH", CURLOPT_SOCKS5_AUTH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSH_COMPRESSION", CURLOPT_SSH_COMPRESSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_COMPRESSION", CURLOPT_SSH_COMPRESSION, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073800 /* Available since 7.56.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_MULTI_SSL", CURL_VERSION_MULTI_SSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_MULTI_SSL", CURL_VERSION_MULTI_SSL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_BROTLI", CURL_VERSION_BROTLI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_BROTLI", CURL_VERSION_BROTLI, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073900 /* Available since 7.57.0 */ - REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_CONNECT", CURL_LOCK_DATA_CONNECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_CONNECT", CURL_LOCK_DATA_CONNECT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073a00 /* Available since 7.58.0 */ - REGISTER_LONG_CONSTANT("CURLSSH_AUTH_GSSAPI", CURLSSH_AUTH_GSSAPI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSH_AUTH_GSSAPI", CURLSSH_AUTH_GSSAPI, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_FILETIME_T", CURLINFO_FILETIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_FILETIME_T", CURLINFO_FILETIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS", CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS", CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073b00 /* Available since 7.59.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE_LARGE", CURLOPT_TIMEVALUE_LARGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TIMEVALUE_LARGE", CURLOPT_TIMEVALUE_LARGE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DNS_SHUFFLE_ADDRESSES", CURLOPT_DNS_SHUFFLE_ADDRESSES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DNS_SHUFFLE_ADDRESSES", CURLOPT_DNS_SHUFFLE_ADDRESSES, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073c00 /* Available since 7.60.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_HAPROXYPROTOCOL", CURLOPT_HAPROXYPROTOCOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HAPROXYPROTOCOL", CURLOPT_HAPROXYPROTOCOL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_PSL", CURL_LOCK_DATA_PSL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_LOCK_DATA_PSL", CURL_LOCK_DATA_PSL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLAUTH_BEARER", CURLAUTH_BEARER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_BEARER", CURLAUTH_BEARER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME_T", CURLINFO_APPCONNECT_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_APPCONNECT_TIME_T", CURLINFO_APPCONNECT_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME_T", CURLINFO_CONNECT_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_CONNECT_TIME_T", CURLINFO_CONNECT_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME_T", CURLINFO_NAMELOOKUP_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_NAMELOOKUP_TIME_T", CURLINFO_NAMELOOKUP_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME_T", CURLINFO_PRETRANSFER_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PRETRANSFER_TIME_T", CURLINFO_PRETRANSFER_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME_T", CURLINFO_REDIRECT_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REDIRECT_TIME_T", CURLINFO_REDIRECT_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME_T", CURLINFO_STARTTRANSFER_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_STARTTRANSFER_TIME_T", CURLINFO_STARTTRANSFER_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME_T", CURLINFO_TOTAL_TIME_T, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_TOTAL_TIME_T", CURLINFO_TOTAL_TIME_T, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DISALLOW_USERNAME_IN_URL", CURLOPT_DISALLOW_USERNAME_IN_URL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DISALLOW_USERNAME_IN_URL", CURLOPT_DISALLOW_USERNAME_IN_URL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073d00 /* Available since 7.61.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_TLS13_CIPHERS", CURLOPT_TLS13_CIPHERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_TLS13_CIPHERS", CURLOPT_TLS13_CIPHERS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DOH_URL", CURLOPT_DOH_URL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DOH_URL", CURLOPT_DOH_URL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_UPKEEP_INTERVAL_MS", CURLOPT_UPKEEP_INTERVAL_MS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UPKEEP_INTERVAL_MS", CURLOPT_UPKEEP_INTERVAL_MS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x073E00 /* Available since 7.62.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_UPLOAD_BUFFERSIZE", CURLOPT_UPLOAD_BUFFERSIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_UPLOAD_BUFFERSIZE", CURLOPT_UPLOAD_BUFFERSIZE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074000 /* Available since 7.64.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_HTTP09_ALLOWED", CURLOPT_HTTP09_ALLOWED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HTTP09_ALLOWED", CURLOPT_HTTP09_ALLOWED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURLALTSVC_H1", CURLALTSVC_H1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLALTSVC_H1", CURLALTSVC_H1, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURLALTSVC_H2", CURLALTSVC_H2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLALTSVC_H2", CURLALTSVC_H2, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURLALTSVC_H3", CURLALTSVC_H3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLALTSVC_H3", CURLALTSVC_H3, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURLALTSVC_READONLYFILE", CURLALTSVC_READONLYFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLALTSVC_READONLYFILE", CURLALTSVC_READONLYFILE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURLOPT_ALTSVC", CURLOPT_ALTSVC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ALTSVC", CURLOPT_ALTSVC, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURLOPT_ALTSVC_CTRL", CURLOPT_ALTSVC_CTRL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ALTSVC_CTRL", CURLOPT_ALTSVC_CTRL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074001 /* Available since 7.64.1 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_ALTSVC", CURL_VERSION_ALTSVC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_ALTSVC", CURL_VERSION_ALTSVC, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074100 /* Available since 7.65.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_MAXAGE_CONN", CURLOPT_MAXAGE_CONN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXAGE_CONN", CURLOPT_MAXAGE_CONN, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SASL_AUTHZID", CURLOPT_SASL_AUTHZID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SASL_AUTHZID", CURLOPT_SASL_AUTHZID, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP3", CURL_VERSION_HTTP3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_HTTP3", CURL_VERSION_HTTP3, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074200 /* Available since 7.66.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_RETRY_AFTER", CURLINFO_RETRY_AFTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_RETRY_AFTER", CURLINFO_RETRY_AFTER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074300 /* Available since 7.67.0 */ - REGISTER_LONG_CONSTANT("CURLMOPT_MAX_CONCURRENT_STREAMS", CURLMOPT_MAX_CONCURRENT_STREAMS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLMOPT_MAX_CONCURRENT_STREAMS", CURLMOPT_MAX_CONCURRENT_STREAMS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074400 /* Available since 7.68.0 */ - REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_PARTIALCHAIN", CURLSSLOPT_NO_PARTIALCHAIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_NO_PARTIALCHAIN", CURLSSLOPT_NO_PARTIALCHAIN, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074500 /* Available since 7.69.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_MAIL_RCPT_ALLLOWFAILS", CURLOPT_MAIL_RCPT_ALLLOWFAILS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAIL_RCPT_ALLLOWFAILS", CURLOPT_MAIL_RCPT_ALLLOWFAILS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074600 /* Available since 7.70.0 */ - REGISTER_LONG_CONSTANT("CURLSSLOPT_REVOKE_BEST_EFFORT", CURLSSLOPT_REVOKE_BEST_EFFORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_REVOKE_BEST_EFFORT", CURLSSLOPT_REVOKE_BEST_EFFORT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_ISSUERCERT_BLOB", CURLOPT_ISSUERCERT_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_ISSUERCERT_BLOB", CURLOPT_ISSUERCERT_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_ISSUERCERT", CURLOPT_PROXY_ISSUERCERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_ISSUERCERT", CURLOPT_PROXY_ISSUERCERT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_ISSUERCERT_BLOB", CURLOPT_PROXY_ISSUERCERT_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_ISSUERCERT_BLOB", CURLOPT_PROXY_ISSUERCERT_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT_BLOB", CURLOPT_PROXY_SSLCERT_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLCERT_BLOB", CURLOPT_PROXY_SSLCERT_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY_BLOB", CURLOPT_PROXY_SSLKEY_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_SSLKEY_BLOB", CURLOPT_PROXY_SSLKEY_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSLCERT_BLOB", CURLOPT_SSLCERT_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLCERT_BLOB", CURLOPT_SSLCERT_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSLKEY_BLOB", CURLOPT_SSLKEY_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSLKEY_BLOB", CURLOPT_SSLKEY_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLPROTO_MQTT", CURLPROTO_MQTT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPROTO_MQTT", CURLPROTO_MQTT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074700 /* Available since 7.71.0 */ - REGISTER_LONG_CONSTANT("CURLSSLOPT_NATIVE_CA", CURLSSLOPT_NATIVE_CA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_NATIVE_CA", CURLSSLOPT_NATIVE_CA, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_UNICODE", CURL_VERSION_UNICODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_UNICODE", CURL_VERSION_UNICODE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074800 /* Available since 7.72.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_ZSTD", CURL_VERSION_ZSTD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_ZSTD", CURL_VERSION_ZSTD, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLE_PROXY", CURLE_PROXY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLE_PROXY", CURLE_PROXY, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_PROXY_ERROR", CURLINFO_PROXY_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_PROXY_ERROR", CURLINFO_PROXY_ERROR, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSL_EC_CURVES", CURLOPT_SSL_EC_CURVES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSL_EC_CURVES", CURLOPT_SSL_EC_CURVES, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_BAD_ADDRESS_TYPE", CURLPX_BAD_ADDRESS_TYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_BAD_ADDRESS_TYPE", CURLPX_BAD_ADDRESS_TYPE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_BAD_VERSION", CURLPX_BAD_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_BAD_VERSION", CURLPX_BAD_VERSION, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_CLOSED", CURLPX_CLOSED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_CLOSED", CURLPX_CLOSED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_GSSAPI", CURLPX_GSSAPI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_GSSAPI", CURLPX_GSSAPI, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_GSSAPI_PERMSG", CURLPX_GSSAPI_PERMSG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_GSSAPI_PERMSG", CURLPX_GSSAPI_PERMSG, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_GSSAPI_PROTECTION", CURLPX_GSSAPI_PROTECTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_GSSAPI_PROTECTION", CURLPX_GSSAPI_PROTECTION, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_IDENTD", CURLPX_IDENTD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_IDENTD", CURLPX_IDENTD, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_IDENTD_DIFFER", CURLPX_IDENTD_DIFFER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_IDENTD_DIFFER", CURLPX_IDENTD_DIFFER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_LONG_HOSTNAME", CURLPX_LONG_HOSTNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_LONG_HOSTNAME", CURLPX_LONG_HOSTNAME, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_LONG_PASSWD", CURLPX_LONG_PASSWD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_LONG_PASSWD", CURLPX_LONG_PASSWD, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_LONG_USER", CURLPX_LONG_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_LONG_USER", CURLPX_LONG_USER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_NO_AUTH", CURLPX_NO_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_NO_AUTH", CURLPX_NO_AUTH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_OK", CURLPX_OK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_OK", CURLPX_OK, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_RECV_ADDRESS", CURLPX_RECV_ADDRESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_RECV_ADDRESS", CURLPX_RECV_ADDRESS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_RECV_AUTH", CURLPX_RECV_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_RECV_AUTH", CURLPX_RECV_AUTH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_RECV_CONNECT", CURLPX_RECV_CONNECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_RECV_CONNECT", CURLPX_RECV_CONNECT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_RECV_REQACK", CURLPX_RECV_REQACK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_RECV_REQACK", CURLPX_RECV_REQACK, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED", CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED", CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_COMMAND_NOT_SUPPORTED", CURLPX_REPLY_COMMAND_NOT_SUPPORTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_COMMAND_NOT_SUPPORTED", CURLPX_REPLY_COMMAND_NOT_SUPPORTED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_CONNECTION_REFUSED", CURLPX_REPLY_CONNECTION_REFUSED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_CONNECTION_REFUSED", CURLPX_REPLY_CONNECTION_REFUSED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_GENERAL_SERVER_FAILURE", CURLPX_REPLY_GENERAL_SERVER_FAILURE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_GENERAL_SERVER_FAILURE", CURLPX_REPLY_GENERAL_SERVER_FAILURE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_HOST_UNREACHABLE", CURLPX_REPLY_HOST_UNREACHABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_HOST_UNREACHABLE", CURLPX_REPLY_HOST_UNREACHABLE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_NETWORK_UNREACHABLE", CURLPX_REPLY_NETWORK_UNREACHABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_NETWORK_UNREACHABLE", CURLPX_REPLY_NETWORK_UNREACHABLE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_NOT_ALLOWED", CURLPX_REPLY_NOT_ALLOWED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_NOT_ALLOWED", CURLPX_REPLY_NOT_ALLOWED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_TTL_EXPIRED", CURLPX_REPLY_TTL_EXPIRED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_TTL_EXPIRED", CURLPX_REPLY_TTL_EXPIRED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REPLY_UNASSIGNED", CURLPX_REPLY_UNASSIGNED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REPLY_UNASSIGNED", CURLPX_REPLY_UNASSIGNED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_REQUEST_FAILED", CURLPX_REQUEST_FAILED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_REQUEST_FAILED", CURLPX_REQUEST_FAILED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_RESOLVE_HOST", CURLPX_RESOLVE_HOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_RESOLVE_HOST", CURLPX_RESOLVE_HOST, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_SEND_AUTH", CURLPX_SEND_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_SEND_AUTH", CURLPX_SEND_AUTH, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_SEND_CONNECT", CURLPX_SEND_CONNECT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_SEND_CONNECT", CURLPX_SEND_CONNECT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_SEND_REQUEST", CURLPX_SEND_REQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_SEND_REQUEST", CURLPX_SEND_REQUEST, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_UNKNOWN_FAIL", CURLPX_UNKNOWN_FAIL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_UNKNOWN_FAIL", CURLPX_UNKNOWN_FAIL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_UNKNOWN_MODE", CURLPX_UNKNOWN_MODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_UNKNOWN_MODE", CURLPX_UNKNOWN_MODE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074900 /* Available since 7.73.0 */ - REGISTER_LONG_CONSTANT("CURLPX_USER_REJECTED", CURLPX_USER_REJECTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLPX_USER_REJECTED", CURLPX_USER_REJECTED, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ - REGISTER_LONG_CONSTANT("CURLHSTS_ENABLE", CURLHSTS_ENABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLHSTS_ENABLE", CURLHSTS_ENABLE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ - REGISTER_LONG_CONSTANT("CURLHSTS_READONLYFILE", CURLHSTS_READONLYFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLHSTS_READONLYFILE", CURLHSTS_READONLYFILE, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_HSTS", CURLOPT_HSTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HSTS", CURLOPT_HSTS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_HSTS_CTRL", CURLOPT_HSTS_CTRL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_HSTS_CTRL", CURLOPT_HSTS_CTRL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074a00 /* Available since 7.74.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_HSTS", CURL_VERSION_HSTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_HSTS", CURL_VERSION_HSTS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */ - REGISTER_LONG_CONSTANT("CURLAUTH_AWS_SIGV4", CURLAUTH_AWS_SIGV4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLAUTH_AWS_SIGV4", CURLAUTH_AWS_SIGV4, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074b00 /* Available since 7.75.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_AWS_SIGV4", CURLOPT_AWS_SIGV4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_AWS_SIGV4", CURLOPT_AWS_SIGV4, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ - REGISTER_LONG_CONSTANT("CURLINFO_REFERER", CURLINFO_REFERER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLINFO_REFERER", CURLINFO_REFERER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYHOST", CURLOPT_DOH_SSL_VERIFYHOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYHOST", CURLOPT_DOH_SSL_VERIFYHOST, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYPEER", CURLOPT_DOH_SSL_VERIFYPEER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYPEER", CURLOPT_DOH_SSL_VERIFYPEER, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYSTATUS", CURLOPT_DOH_SSL_VERIFYSTATUS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_DOH_SSL_VERIFYSTATUS", CURLOPT_DOH_SSL_VERIFYSTATUS, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074c00 /* Available since 7.76.0 */ - REGISTER_LONG_CONSTANT("CURL_VERSION_GSASL", CURL_VERSION_GSASL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURL_VERSION_GSASL", CURL_VERSION_GSASL, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_CAINFO_BLOB", CURLOPT_CAINFO_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_CAINFO_BLOB", CURLOPT_CAINFO_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO_BLOB", CURLOPT_PROXY_CAINFO_BLOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_PROXY_CAINFO_BLOB", CURLOPT_PROXY_CAINFO_BLOB, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x074d00 /* Available since 7.77.0 */ - REGISTER_LONG_CONSTANT("CURLSSLOPT_AUTO_CLIENT_CERT", CURLSSLOPT_AUTO_CLIENT_CERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLSSLOPT_AUTO_CLIENT_CERT", CURLSSLOPT_AUTO_CLIENT_CERT, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_MAXLIFETIME_CONN", CURLOPT_MAXLIFETIME_CONN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_MAXLIFETIME_CONN", CURLOPT_MAXLIFETIME_CONN, CONST_PERSISTENT); #endif #if LIBCURL_VERSION_NUM >= 0x075000 /* Available since 7.80.0 */ - REGISTER_LONG_CONSTANT("CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256", CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256", CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("CURLOPT_SAFE_UPLOAD", CURLOPT_SAFE_UPLOAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CURLOPT_SAFE_UPLOAD", CURLOPT_SAFE_UPLOAD, CONST_PERSISTENT); } static zend_class_entry *register_class_CurlHandle(void) diff --git a/ext/date/php_date_arginfo.h b/ext/date/php_date_arginfo.h index dab0380169059..cdd31ee7189bc 100644 --- a/ext/date/php_date_arginfo.h +++ b/ext/date/php_date_arginfo.h @@ -750,35 +750,35 @@ static const zend_function_entry class_DatePeriod_methods[] = { static void register_php_date_symbols(int module_number) { - REGISTER_STRING_CONSTANT("DATE_ATOM", DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_ATOM", DATE_FORMAT_RFC3339, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339, "Y-m-d\\TH:i:sP") == 0); - REGISTER_STRING_CONSTANT("DATE_COOKIE", DATE_FORMAT_COOKIE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_COOKIE", DATE_FORMAT_COOKIE, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_COOKIE, "l, d-M-Y H:i:s T") == 0); - REGISTER_STRING_CONSTANT("DATE_ISO8601", DATE_FORMAT_ISO8601, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_ISO8601", DATE_FORMAT_ISO8601, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_ISO8601, "Y-m-d\\TH:i:sO") == 0); - REGISTER_STRING_CONSTANT("DATE_ISO8601_EXPANDED", DATE_FORMAT_ISO8601_EXPANDED, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_ISO8601_EXPANDED", DATE_FORMAT_ISO8601_EXPANDED, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_ISO8601_EXPANDED, "X-m-d\\TH:i:sP") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC822", DATE_FORMAT_RFC822, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC822", DATE_FORMAT_RFC822, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC822, "D, d M y H:i:s O") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC850", DATE_FORMAT_RFC850, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC850", DATE_FORMAT_RFC850, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC850, "l, d-M-y H:i:s T") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC1036", DATE_FORMAT_RFC1036, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC1036", DATE_FORMAT_RFC1036, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC1036, "D, d M y H:i:s O") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC1123", DATE_FORMAT_RFC1123, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC1123", DATE_FORMAT_RFC1123, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC1123, "D, d M Y H:i:s O") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC7231", DATE_FORMAT_RFC7231, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC7231", DATE_FORMAT_RFC7231, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC7231, "D, d M Y H:i:s \\G\\M\\T") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC2822", DATE_FORMAT_RFC2822, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC2822", DATE_FORMAT_RFC2822, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC2822, "D, d M Y H:i:s O") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC3339", DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC3339", DATE_FORMAT_RFC3339, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339, "Y-m-d\\TH:i:sP") == 0); - REGISTER_STRING_CONSTANT("DATE_RFC3339_EXTENDED", DATE_FORMAT_RFC3339_EXTENDED, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RFC3339_EXTENDED", DATE_FORMAT_RFC3339_EXTENDED, CONST_PERSISTENT); ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339_EXTENDED, "Y-m-d\\TH:i:s.vP") == 0); - REGISTER_STRING_CONSTANT("DATE_RSS", DATE_FORMAT_RFC1123, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("DATE_W3C", DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SUNFUNCS_RET_STRING", SUNFUNCS_RET_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SUNFUNCS_RET_DOUBLE", SUNFUNCS_RET_DOUBLE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_RSS", DATE_FORMAT_RFC1123, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_W3C", DATE_FORMAT_RFC3339, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SUNFUNCS_RET_STRING", SUNFUNCS_RET_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SUNFUNCS_RET_DOUBLE", SUNFUNCS_RET_DOUBLE, CONST_PERSISTENT); } static zend_class_entry *register_class_DateTimeInterface(void) diff --git a/ext/dba/dba_arginfo.h b/ext/dba/dba_arginfo.h index 63f845e192be5..447f1ff3cc2ee 100644 --- a/ext/dba/dba_arginfo.h +++ b/ext/dba/dba_arginfo.h @@ -100,9 +100,9 @@ static const zend_function_entry ext_functions[] = { static void register_dba_symbols(int module_number) { #if defined(DBA_LMDB) - REGISTER_LONG_CONSTANT("DBA_LMDB_USE_SUB_DIR", 0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DBA_LMDB_USE_SUB_DIR", 0, CONST_PERSISTENT); #endif #if defined(DBA_LMDB) - REGISTER_LONG_CONSTANT("DBA_LMDB_NO_SUB_DIR", MDB_NOSUBDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DBA_LMDB_NO_SUB_DIR", MDB_NOSUBDIR, CONST_PERSISTENT); #endif } diff --git a/ext/dom/php_dom_arginfo.h b/ext/dom/php_dom_arginfo.h index f33b8be46ff7b..4edb4cf2bb15c 100644 --- a/ext/dom/php_dom_arginfo.h +++ b/ext/dom/php_dom_arginfo.h @@ -889,54 +889,54 @@ static const zend_function_entry class_DOMXPath_methods[] = { static void register_php_dom_symbols(int module_number) { - REGISTER_LONG_CONSTANT("XML_ELEMENT_NODE", XML_ELEMENT_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NODE", XML_ATTRIBUTE_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_TEXT_NODE", XML_TEXT_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_CDATA_SECTION_NODE", XML_CDATA_SECTION_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ENTITY_REF_NODE", XML_ENTITY_REF_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ENTITY_NODE", XML_ENTITY_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_PI_NODE", XML_PI_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_COMMENT_NODE", XML_COMMENT_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_DOCUMENT_NODE", XML_DOCUMENT_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_DOCUMENT_TYPE_NODE", XML_DOCUMENT_TYPE_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_DOCUMENT_FRAG_NODE", XML_DOCUMENT_FRAG_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_NOTATION_NODE", XML_NOTATION_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_HTML_DOCUMENT_NODE", XML_HTML_DOCUMENT_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_DTD_NODE", XML_DTD_NODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ELEMENT_DECL_NODE", XML_ELEMENT_DECL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_DECL_NODE", XML_ATTRIBUTE_DECL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ENTITY_DECL_NODE", XML_ENTITY_DECL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_NAMESPACE_DECL_NODE", XML_NAMESPACE_DECL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ELEMENT_NODE", XML_ELEMENT_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NODE", XML_ATTRIBUTE_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_TEXT_NODE", XML_TEXT_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_CDATA_SECTION_NODE", XML_CDATA_SECTION_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ENTITY_REF_NODE", XML_ENTITY_REF_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ENTITY_NODE", XML_ENTITY_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_PI_NODE", XML_PI_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_COMMENT_NODE", XML_COMMENT_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_DOCUMENT_NODE", XML_DOCUMENT_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_DOCUMENT_TYPE_NODE", XML_DOCUMENT_TYPE_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_DOCUMENT_FRAG_NODE", XML_DOCUMENT_FRAG_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_NOTATION_NODE", XML_NOTATION_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_HTML_DOCUMENT_NODE", XML_HTML_DOCUMENT_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_DTD_NODE", XML_DTD_NODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ELEMENT_DECL_NODE", XML_ELEMENT_DECL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_DECL_NODE", XML_ATTRIBUTE_DECL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ENTITY_DECL_NODE", XML_ENTITY_DECL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_NAMESPACE_DECL_NODE", XML_NAMESPACE_DECL, CONST_PERSISTENT); #if defined(XML_GLOBAL_NAMESPACE) - REGISTER_LONG_CONSTANT("XML_GLOBAL_NAMESPACE", XML_GLOBAL_NAMESPACE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_GLOBAL_NAMESPACE", XML_GLOBAL_NAMESPACE, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("XML_LOCAL_NAMESPACE", XML_LOCAL_NAMESPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_CDATA", XML_ATTRIBUTE_CDATA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ID", XML_ATTRIBUTE_ID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_IDREF", XML_ATTRIBUTE_IDREF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_IDREFS", XML_ATTRIBUTE_IDREFS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ENTITY", XML_ATTRIBUTE_ENTITIES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NMTOKEN", XML_ATTRIBUTE_NMTOKEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NMTOKENS", XML_ATTRIBUTE_NMTOKENS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ENUMERATION", XML_ATTRIBUTE_ENUMERATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NOTATION", XML_ATTRIBUTE_NOTATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_PHP_ERR", PHP_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_INDEX_SIZE_ERR", INDEX_SIZE_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOMSTRING_SIZE_ERR", DOMSTRING_SIZE_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_HIERARCHY_REQUEST_ERR", HIERARCHY_REQUEST_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_WRONG_DOCUMENT_ERR", WRONG_DOCUMENT_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_INVALID_CHARACTER_ERR", INVALID_CHARACTER_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_NO_DATA_ALLOWED_ERR", NO_DATA_ALLOWED_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_NO_MODIFICATION_ALLOWED_ERR", NO_MODIFICATION_ALLOWED_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_NOT_FOUND_ERR", NOT_FOUND_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_NOT_SUPPORTED_ERR", NOT_SUPPORTED_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_INUSE_ATTRIBUTE_ERR", INUSE_ATTRIBUTE_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_INVALID_STATE_ERR", INVALID_STATE_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_SYNTAX_ERR", SYNTAX_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_INVALID_MODIFICATION_ERR", INVALID_MODIFICATION_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_NAMESPACE_ERR", NAMESPACE_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_INVALID_ACCESS_ERR", INVALID_ACCESS_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DOM_VALIDATION_ERR", VALIDATION_ERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_LOCAL_NAMESPACE", XML_LOCAL_NAMESPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_CDATA", XML_ATTRIBUTE_CDATA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ID", XML_ATTRIBUTE_ID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_IDREF", XML_ATTRIBUTE_IDREF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_IDREFS", XML_ATTRIBUTE_IDREFS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ENTITY", XML_ATTRIBUTE_ENTITIES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NMTOKEN", XML_ATTRIBUTE_NMTOKEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NMTOKENS", XML_ATTRIBUTE_NMTOKENS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ENUMERATION", XML_ATTRIBUTE_ENUMERATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NOTATION", XML_ATTRIBUTE_NOTATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_PHP_ERR", PHP_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_INDEX_SIZE_ERR", INDEX_SIZE_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOMSTRING_SIZE_ERR", DOMSTRING_SIZE_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_HIERARCHY_REQUEST_ERR", HIERARCHY_REQUEST_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_WRONG_DOCUMENT_ERR", WRONG_DOCUMENT_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_INVALID_CHARACTER_ERR", INVALID_CHARACTER_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_NO_DATA_ALLOWED_ERR", NO_DATA_ALLOWED_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_NO_MODIFICATION_ALLOWED_ERR", NO_MODIFICATION_ALLOWED_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_NOT_FOUND_ERR", NOT_FOUND_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_NOT_SUPPORTED_ERR", NOT_SUPPORTED_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_INUSE_ATTRIBUTE_ERR", INUSE_ATTRIBUTE_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_INVALID_STATE_ERR", INVALID_STATE_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_SYNTAX_ERR", SYNTAX_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_INVALID_MODIFICATION_ERR", INVALID_MODIFICATION_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_NAMESPACE_ERR", NAMESPACE_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_INVALID_ACCESS_ERR", INVALID_ACCESS_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("DOM_VALIDATION_ERR", VALIDATION_ERR, CONST_PERSISTENT); } static zend_class_entry *register_class_DOMDocumentType(zend_class_entry *class_entry_DOMNode) diff --git a/ext/enchant/enchant_arginfo.h b/ext/enchant/enchant_arginfo.h index 3a2fa5b90d83a..65e9c461cf605 100644 --- a/ext/enchant/enchant_arginfo.h +++ b/ext/enchant/enchant_arginfo.h @@ -160,10 +160,10 @@ static const zend_function_entry class_EnchantDictionary_methods[] = { static void register_enchant_symbols(int module_number) { - REGISTER_LONG_CONSTANT("ENCHANT_MYSPELL", PHP_ENCHANT_MYSPELL, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("ENCHANT_ISPELL", PHP_ENCHANT_ISPELL, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("ENCHANT_MYSPELL", PHP_ENCHANT_MYSPELL, CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("ENCHANT_ISPELL", PHP_ENCHANT_ISPELL, CONST_PERSISTENT | CONST_DEPRECATED); #if defined(HAVE_ENCHANT_GET_VERSION) - REGISTER_STRING_CONSTANT("LIBENCHANT_VERSION", PHP_ENCHANT_GET_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LIBENCHANT_VERSION", PHP_ENCHANT_GET_VERSION, CONST_PERSISTENT); #endif } diff --git a/ext/exif/exif_arginfo.h b/ext/exif/exif_arginfo.h index dca9535a48667..da463404cdabd 100644 --- a/ext/exif/exif_arginfo.h +++ b/ext/exif/exif_arginfo.h @@ -40,5 +40,5 @@ static const zend_function_entry ext_functions[] = { static void register_exif_symbols(int module_number) { - REGISTER_LONG_CONSTANT("EXIF_USE_MBSTRING", USE_MBSTRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXIF_USE_MBSTRING", USE_MBSTRING, CONST_PERSISTENT); } diff --git a/ext/fileinfo/fileinfo_arginfo.h b/ext/fileinfo/fileinfo_arginfo.h index 8906643939fe3..0d2dff82bb40c 100644 --- a/ext/fileinfo/fileinfo_arginfo.h +++ b/ext/fileinfo/fileinfo_arginfo.h @@ -84,21 +84,21 @@ static const zend_function_entry class_finfo_methods[] = { static void register_fileinfo_symbols(int module_number) { - REGISTER_LONG_CONSTANT("FILEINFO_NONE", MAGIC_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_SYMLINK", MAGIC_SYMLINK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_MIME", MAGIC_MIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_MIME_TYPE", MAGIC_MIME_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_MIME_ENCODING", MAGIC_MIME_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_DEVICES", MAGIC_DEVICES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_CONTINUE", MAGIC_CONTINUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_NONE", MAGIC_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_SYMLINK", MAGIC_SYMLINK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_MIME", MAGIC_MIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_MIME_TYPE", MAGIC_MIME_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_MIME_ENCODING", MAGIC_MIME_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_DEVICES", MAGIC_DEVICES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_CONTINUE", MAGIC_CONTINUE, CONST_PERSISTENT); #if defined(MAGIC_PRESERVE_ATIME) - REGISTER_LONG_CONSTANT("FILEINFO_PRESERVE_ATIME", MAGIC_PRESERVE_ATIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_PRESERVE_ATIME", MAGIC_PRESERVE_ATIME, CONST_PERSISTENT); #endif #if defined(MAGIC_RAW) - REGISTER_LONG_CONSTANT("FILEINFO_RAW", MAGIC_RAW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_RAW", MAGIC_RAW, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("FILEINFO_APPLE", MAGIC_APPLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILEINFO_EXTENSION", MAGIC_EXTENSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_APPLE", MAGIC_APPLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILEINFO_EXTENSION", MAGIC_EXTENSION, CONST_PERSISTENT); } static zend_class_entry *register_class_finfo(void) diff --git a/ext/filter/filter_arginfo.h b/ext/filter/filter_arginfo.h index f79b7112f601c..6eb5912182d09 100644 --- a/ext/filter/filter_arginfo.h +++ b/ext/filter/filter_arginfo.h @@ -61,59 +61,59 @@ static const zend_function_entry ext_functions[] = { static void register_filter_symbols(int module_number) { - REGISTER_LONG_CONSTANT("INPUT_POST", PARSE_POST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INPUT_GET", PARSE_GET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INPUT_COOKIE", PARSE_COOKIE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INPUT_ENV", PARSE_ENV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INPUT_SERVER", PARSE_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_NONE", FILTER_FLAG_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_REQUIRE_SCALAR", FILTER_REQUIRE_SCALAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_REQUIRE_ARRAY", FILTER_REQUIRE_ARRAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FORCE_ARRAY", FILTER_FORCE_ARRAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOL", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_FLOAT", FILTER_VALIDATE_FLOAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_REGEXP", FILTER_VALIDATE_REGEXP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_DOMAIN", FILTER_VALIDATE_DOMAIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_URL", FILTER_VALIDATE_URL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_EMAIL", FILTER_VALIDATE_EMAIL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_IP", FILTER_VALIDATE_IP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_VALIDATE_MAC", FILTER_VALIDATE_MAC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_DEFAULT", FILTER_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_UNSAFE_RAW", FILTER_UNSAFE_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRING", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRIPPED", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ENCODED", FILTER_SANITIZE_ENCODED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_SPECIAL_CHARS", FILTER_SANITIZE_SPECIAL_CHARS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_FULL_SPECIAL_CHARS", FILTER_SANITIZE_FULL_SPECIAL_CHARS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_EMAIL", FILTER_SANITIZE_EMAIL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_URL", FILTER_SANITIZE_URL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_NUMBER_INT", FILTER_SANITIZE_NUMBER_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_NUMBER_FLOAT", FILTER_SANITIZE_NUMBER_FLOAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ADD_SLASHES", FILTER_SANITIZE_ADD_SLASHES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_CALLBACK", FILTER_CALLBACK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_OCTAL", FILTER_FLAG_ALLOW_OCTAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_HEX", FILTER_FLAG_ALLOW_HEX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_BACKTICK", FILTER_FLAG_STRIP_BACKTICK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_LOW", FILTER_FLAG_ENCODE_LOW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_HIGH", FILTER_FLAG_ENCODE_HIGH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_ENCODE_QUOTES", FILTER_FLAG_NO_ENCODE_QUOTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_EMPTY_STRING_NULL", FILTER_FLAG_EMPTY_STRING_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_FRACTION", FILTER_FLAG_ALLOW_FRACTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_THOUSAND", FILTER_FLAG_ALLOW_THOUSAND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_SCIENTIFIC", FILTER_FLAG_ALLOW_SCIENTIFIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_PATH_REQUIRED", FILTER_FLAG_PATH_REQUIRED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_QUERY_REQUIRED", FILTER_FLAG_QUERY_REQUIRED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV4", FILTER_FLAG_IPV4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV6", FILTER_FLAG_IPV6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_RES_RANGE", FILTER_FLAG_NO_RES_RANGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_PRIV_RANGE", FILTER_FLAG_NO_PRIV_RANGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_GLOBAL_RANGE", FILTER_FLAG_GLOBAL_RANGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_HOSTNAME", FILTER_FLAG_HOSTNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FILTER_FLAG_EMAIL_UNICODE", FILTER_FLAG_EMAIL_UNICODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INPUT_POST", PARSE_POST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INPUT_GET", PARSE_GET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INPUT_COOKIE", PARSE_COOKIE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INPUT_ENV", PARSE_ENV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INPUT_SERVER", PARSE_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_NONE", FILTER_FLAG_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_REQUIRE_SCALAR", FILTER_REQUIRE_SCALAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_REQUIRE_ARRAY", FILTER_REQUIRE_ARRAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FORCE_ARRAY", FILTER_FORCE_ARRAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOL", FILTER_VALIDATE_BOOL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_FLOAT", FILTER_VALIDATE_FLOAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_REGEXP", FILTER_VALIDATE_REGEXP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_DOMAIN", FILTER_VALIDATE_DOMAIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_URL", FILTER_VALIDATE_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_EMAIL", FILTER_VALIDATE_EMAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_IP", FILTER_VALIDATE_IP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_VALIDATE_MAC", FILTER_VALIDATE_MAC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_DEFAULT", FILTER_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_UNSAFE_RAW", FILTER_UNSAFE_RAW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRING", FILTER_SANITIZE_STRING, CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRIPPED", FILTER_SANITIZE_STRING, CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ENCODED", FILTER_SANITIZE_ENCODED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_SPECIAL_CHARS", FILTER_SANITIZE_SPECIAL_CHARS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_FULL_SPECIAL_CHARS", FILTER_SANITIZE_FULL_SPECIAL_CHARS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_EMAIL", FILTER_SANITIZE_EMAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_URL", FILTER_SANITIZE_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_NUMBER_INT", FILTER_SANITIZE_NUMBER_INT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_NUMBER_FLOAT", FILTER_SANITIZE_NUMBER_FLOAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ADD_SLASHES", FILTER_SANITIZE_ADD_SLASHES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_CALLBACK", FILTER_CALLBACK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_OCTAL", FILTER_FLAG_ALLOW_OCTAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_HEX", FILTER_FLAG_ALLOW_HEX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_BACKTICK", FILTER_FLAG_STRIP_BACKTICK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_LOW", FILTER_FLAG_ENCODE_LOW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_HIGH", FILTER_FLAG_ENCODE_HIGH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_ENCODE_QUOTES", FILTER_FLAG_NO_ENCODE_QUOTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_EMPTY_STRING_NULL", FILTER_FLAG_EMPTY_STRING_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_FRACTION", FILTER_FLAG_ALLOW_FRACTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_THOUSAND", FILTER_FLAG_ALLOW_THOUSAND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_SCIENTIFIC", FILTER_FLAG_ALLOW_SCIENTIFIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_PATH_REQUIRED", FILTER_FLAG_PATH_REQUIRED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_QUERY_REQUIRED", FILTER_FLAG_QUERY_REQUIRED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV4", FILTER_FLAG_IPV4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV6", FILTER_FLAG_IPV6, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_RES_RANGE", FILTER_FLAG_NO_RES_RANGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_PRIV_RANGE", FILTER_FLAG_NO_PRIV_RANGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_GLOBAL_RANGE", FILTER_FLAG_GLOBAL_RANGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_HOSTNAME", FILTER_FLAG_HOSTNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILTER_FLAG_EMAIL_UNICODE", FILTER_FLAG_EMAIL_UNICODE, CONST_PERSISTENT); } diff --git a/ext/ftp/ftp_arginfo.h b/ext/ftp/ftp_arginfo.h index a3c1cea469e24..6df8aecc3d73a 100644 --- a/ext/ftp/ftp_arginfo.h +++ b/ext/ftp/ftp_arginfo.h @@ -282,17 +282,17 @@ static const zend_function_entry class_FTP_Connection_methods[] = { static void register_ftp_symbols(int module_number) { - REGISTER_LONG_CONSTANT("FTP_ASCII", FTPTYPE_ASCII, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_TEXT", FTPTYPE_ASCII, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_BINARY", FTPTYPE_IMAGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_IMAGE", FTPTYPE_IMAGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_AUTORESUME", PHP_FTP_AUTORESUME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_TIMEOUT_SEC", PHP_FTP_OPT_TIMEOUT_SEC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_AUTOSEEK", PHP_FTP_OPT_AUTOSEEK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_USEPASVADDRESS", PHP_FTP_OPT_USEPASVADDRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_FAILED", PHP_FTP_FAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_FINISHED", PHP_FTP_FINISHED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FTP_MOREDATA", PHP_FTP_MOREDATA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_ASCII", FTPTYPE_ASCII, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_TEXT", FTPTYPE_ASCII, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_BINARY", FTPTYPE_IMAGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_IMAGE", FTPTYPE_IMAGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_AUTORESUME", PHP_FTP_AUTORESUME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_TIMEOUT_SEC", PHP_FTP_OPT_TIMEOUT_SEC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_AUTOSEEK", PHP_FTP_OPT_AUTOSEEK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_USEPASVADDRESS", PHP_FTP_OPT_USEPASVADDRESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_FAILED", PHP_FTP_FAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_FINISHED", PHP_FTP_FINISHED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FTP_MOREDATA", PHP_FTP_MOREDATA, CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ftp_login", sizeof("ftp_login") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/gd/gd_arginfo.h b/ext/gd/gd_arginfo.h index 9e644c19f9a50..9e4ac86455928 100644 --- a/ext/gd/gd_arginfo.h +++ b/ext/gd/gd_arginfo.h @@ -877,122 +877,122 @@ static const zend_function_entry class_GdFont_methods[] = { static void register_gd_symbols(int module_number) { - REGISTER_LONG_CONSTANT("IMG_AVIF", PHP_IMG_AVIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_GIF", PHP_IMG_GIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_JPG", PHP_IMG_JPG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_JPEG", PHP_IMG_JPEG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_PNG", PHP_IMG_PNG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_WBMP", PHP_IMG_WBMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_XPM", PHP_IMG_XPM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_WEBP", PHP_IMG_WEBP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BMP", PHP_IMG_BMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_TGA", PHP_IMG_TGA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_AVIF", PHP_IMG_AVIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_GIF", PHP_IMG_GIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_JPG", PHP_IMG_JPG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_JPEG", PHP_IMG_JPEG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_PNG", PHP_IMG_PNG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_WBMP", PHP_IMG_WBMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_XPM", PHP_IMG_XPM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_WEBP", PHP_IMG_WEBP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BMP", PHP_IMG_BMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_TGA", PHP_IMG_TGA, CONST_PERSISTENT); #if defined(gdWebpLossless) - REGISTER_LONG_CONSTANT("IMG_WEBP_LOSSLESS", gdWebpLossless, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_COLOR_STYLED", gdStyled, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_COLOR_BRUSHED", gdBrushed, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_COLOR_STYLEDBRUSHED", gdStyledBrushed, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_COLOR_TRANSPARENT", gdTransparent, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_ARC_ROUNDED", gdArc, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_ARC_PIE", gdPie, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_ARC_CHORD", gdChord, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_ARC_NOFILL", gdNoFill, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_ARC_EDGED", gdEdged, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_WEBP_LOSSLESS", gdWebpLossless, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_COLOR_STYLED", gdStyled, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_COLOR_BRUSHED", gdBrushed, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_COLOR_STYLEDBRUSHED", gdStyledBrushed, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_COLOR_TRANSPARENT", gdTransparent, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_ARC_ROUNDED", gdArc, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_ARC_PIE", gdPie, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_ARC_CHORD", gdChord, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_ARC_NOFILL", gdNoFill, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_ARC_EDGED", gdEdged, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_PERSISTENT); #if defined(gdEffectMultiply) - REGISTER_LONG_CONSTANT("IMG_EFFECT_MULTIPLY", gdEffectMultiply, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("IMG_CROP_DEFAULT", GD_CROP_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_CROP_TRANSPARENT", GD_CROP_TRANSPARENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_CROP_BLACK", GD_CROP_BLACK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_CROP_WHITE", GD_CROP_WHITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BICUBIC", GD_BICUBIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BICUBIC_FIXED", GD_BICUBIC_FIXED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BLACKMAN", GD_BLACKMAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BOX", GD_BOX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_BSPLINE", GD_BSPLINE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_CATMULLROM", GD_CATMULLROM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_GAUSSIAN", GD_GAUSSIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_GENERALIZED_CUBIC", GD_GENERALIZED_CUBIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_HERMITE", GD_HERMITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_HAMMING", GD_HAMMING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_HANNING", GD_HANNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_MITCHELL", GD_MITCHELL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_POWER", GD_POWER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_QUADRATIC", GD_QUADRATIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_SINC", GD_SINC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_NEAREST_NEIGHBOUR", GD_NEAREST_NEIGHBOUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_WEIGHTED4", GD_WEIGHTED4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_TRIANGLE", GD_TRIANGLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_AFFINE_TRANSLATE", GD_AFFINE_TRANSLATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_AFFINE_SCALE", GD_AFFINE_SCALE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_AFFINE_ROTATE", GD_AFFINE_ROTATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_HORIZONTAL", GD_AFFINE_SHEAR_HORIZONTAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_VERTICAL", GD_AFFINE_SHEAR_VERTICAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GD_BUNDLED", GD_BUNDLED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_NEGATE", IMAGE_FILTER_NEGATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_GRAYSCALE", IMAGE_FILTER_GRAYSCALE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_BRIGHTNESS", IMAGE_FILTER_BRIGHTNESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_CONTRAST", IMAGE_FILTER_CONTRAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_COLORIZE", IMAGE_FILTER_COLORIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_EDGEDETECT", IMAGE_FILTER_EDGEDETECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_GAUSSIAN_BLUR", IMAGE_FILTER_GAUSSIAN_BLUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_SELECTIVE_BLUR", IMAGE_FILTER_SELECTIVE_BLUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_EMBOSS", IMAGE_FILTER_EMBOSS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_MEAN_REMOVAL", IMAGE_FILTER_MEAN_REMOVAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_SMOOTH", IMAGE_FILTER_SMOOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_PIXELATE", IMAGE_FILTER_PIXELATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_FILTER_SCATTER", IMAGE_FILTER_SCATTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_EFFECT_MULTIPLY", gdEffectMultiply, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("IMG_CROP_DEFAULT", GD_CROP_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_CROP_TRANSPARENT", GD_CROP_TRANSPARENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_CROP_BLACK", GD_CROP_BLACK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_CROP_WHITE", GD_CROP_WHITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BICUBIC", GD_BICUBIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BICUBIC_FIXED", GD_BICUBIC_FIXED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BLACKMAN", GD_BLACKMAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BOX", GD_BOX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_BSPLINE", GD_BSPLINE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_CATMULLROM", GD_CATMULLROM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_GAUSSIAN", GD_GAUSSIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_GENERALIZED_CUBIC", GD_GENERALIZED_CUBIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_HERMITE", GD_HERMITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_HAMMING", GD_HAMMING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_HANNING", GD_HANNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_MITCHELL", GD_MITCHELL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_POWER", GD_POWER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_QUADRATIC", GD_QUADRATIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_SINC", GD_SINC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_NEAREST_NEIGHBOUR", GD_NEAREST_NEIGHBOUR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_WEIGHTED4", GD_WEIGHTED4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_TRIANGLE", GD_TRIANGLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_AFFINE_TRANSLATE", GD_AFFINE_TRANSLATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_AFFINE_SCALE", GD_AFFINE_SCALE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_AFFINE_ROTATE", GD_AFFINE_ROTATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_HORIZONTAL", GD_AFFINE_SHEAR_HORIZONTAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_AFFINE_SHEAR_VERTICAL", GD_AFFINE_SHEAR_VERTICAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GD_BUNDLED", GD_BUNDLED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_NEGATE", IMAGE_FILTER_NEGATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_GRAYSCALE", IMAGE_FILTER_GRAYSCALE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_BRIGHTNESS", IMAGE_FILTER_BRIGHTNESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_CONTRAST", IMAGE_FILTER_CONTRAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_COLORIZE", IMAGE_FILTER_COLORIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_EDGEDETECT", IMAGE_FILTER_EDGEDETECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_GAUSSIAN_BLUR", IMAGE_FILTER_GAUSSIAN_BLUR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_SELECTIVE_BLUR", IMAGE_FILTER_SELECTIVE_BLUR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_EMBOSS", IMAGE_FILTER_EMBOSS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_MEAN_REMOVAL", IMAGE_FILTER_MEAN_REMOVAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_SMOOTH", IMAGE_FILTER_SMOOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_PIXELATE", IMAGE_FILTER_PIXELATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_FILTER_SCATTER", IMAGE_FILTER_SCATTER, CONST_PERSISTENT); #if defined(GD_VERSION_STRING) - REGISTER_STRING_CONSTANT("GD_VERSION", GD_VERSION_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("GD_VERSION", GD_VERSION_STRING, CONST_PERSISTENT); #endif #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION)) - REGISTER_LONG_CONSTANT("GD_MAJOR_VERSION", GD_MAJOR_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GD_MAJOR_VERSION", GD_MAJOR_VERSION, CONST_PERSISTENT); #endif #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION)) - REGISTER_LONG_CONSTANT("GD_MINOR_VERSION", GD_MINOR_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GD_MINOR_VERSION", GD_MINOR_VERSION, CONST_PERSISTENT); #endif #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION)) - REGISTER_LONG_CONSTANT("GD_RELEASE_VERSION", GD_RELEASE_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GD_RELEASE_VERSION", GD_RELEASE_VERSION, CONST_PERSISTENT); #endif #if (defined(GD_MAJOR_VERSION) && defined(GD_MINOR_VERSION) && defined(GD_RELEASE_VERSION) && defined(GD_EXTRA_VERSION)) - REGISTER_STRING_CONSTANT("GD_EXTRA_VERSION", GD_EXTRA_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("GD_EXTRA_VERSION", GD_EXTRA_VERSION, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_NO_FILTER", 0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_NO_FILTER", 0, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_FILTER_NONE", 8, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_FILTER_NONE", 8, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_FILTER_SUB", 16, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_FILTER_SUB", 16, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_FILTER_UP", 32, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_FILTER_UP", 32, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_FILTER_AVG", 64, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_FILTER_AVG", 64, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_FILTER_PAETH", 128, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_FILTER_PAETH", 128, CONST_PERSISTENT); #endif #if defined(HAVE_GD_PNG) - REGISTER_LONG_CONSTANT("PNG_ALL_FILTERS", 248, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PNG_ALL_FILTERS", 248, CONST_PERSISTENT); #endif } diff --git a/ext/gmp/gmp_arginfo.h b/ext/gmp/gmp_arginfo.h index 2fc7d4fdb7072..c0e029f6fc396 100644 --- a/ext/gmp/gmp_arginfo.h +++ b/ext/gmp/gmp_arginfo.h @@ -310,18 +310,18 @@ static const zend_function_entry class_GMP_methods[] = { static void register_gmp_symbols(int module_number) { - REGISTER_LONG_CONSTANT("GMP_ROUND_ZERO", GMP_ROUND_ZERO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_ROUND_PLUSINF", GMP_ROUND_PLUSINF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_ROUND_MINUSINF", GMP_ROUND_MINUSINF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_ROUND_ZERO", GMP_ROUND_ZERO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_ROUND_PLUSINF", GMP_ROUND_PLUSINF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_ROUND_MINUSINF", GMP_ROUND_MINUSINF, CONST_PERSISTENT); #if defined(mpir_version) - REGISTER_STRING_CONSTANT("GMP_MPIR_VERSION", GMP_MPIR_VERSION_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("GMP_MPIR_VERSION", GMP_MPIR_VERSION_STRING, CONST_PERSISTENT); #endif - REGISTER_STRING_CONSTANT("GMP_VERSION", GMP_VERSION_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_MSW_FIRST", GMP_MSW_FIRST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_LSW_FIRST", GMP_LSW_FIRST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_LITTLE_ENDIAN", GMP_LITTLE_ENDIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_BIG_ENDIAN", GMP_BIG_ENDIAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GMP_NATIVE_ENDIAN", GMP_NATIVE_ENDIAN, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("GMP_VERSION", GMP_VERSION_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_MSW_FIRST", GMP_MSW_FIRST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_LSW_FIRST", GMP_LSW_FIRST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_LITTLE_ENDIAN", GMP_LITTLE_ENDIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_BIG_ENDIAN", GMP_BIG_ENDIAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GMP_NATIVE_ENDIAN", GMP_NATIVE_ENDIAN, CONST_PERSISTENT); } static zend_class_entry *register_class_GMP(void) diff --git a/ext/hash/hash_arginfo.h b/ext/hash/hash_arginfo.h index 5e064fea08a45..dca428af029b5 100644 --- a/ext/hash/hash_arginfo.h +++ b/ext/hash/hash_arginfo.h @@ -212,7 +212,7 @@ static const zend_function_entry class_HashContext_methods[] = { static void register_hash_symbols(int module_number) { - REGISTER_LONG_CONSTANT("HASH_HMAC", PHP_HASH_HMAC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("HASH_HMAC", PHP_HASH_HMAC, CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "hash_hmac", sizeof("hash_hmac") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/iconv/iconv_arginfo.h b/ext/iconv/iconv_arginfo.h index 5b7d7a02ce578..324cac4f21019 100644 --- a/ext/iconv/iconv_arginfo.h +++ b/ext/iconv/iconv_arginfo.h @@ -88,8 +88,8 @@ static const zend_function_entry ext_functions[] = { static void register_iconv_symbols(int module_number) { - REGISTER_STRING_CONSTANT("ICONV_IMPL", PHP_ICONV_IMPL_VALUE, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("ICONV_VERSION", get_iconv_version(), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ICONV_MIME_DECODE_STRICT", PHP_ICONV_MIME_DECODE_STRICT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ICONV_MIME_DECODE_CONTINUE_ON_ERROR", PHP_ICONV_MIME_DECODE_CONTINUE_ON_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("ICONV_IMPL", PHP_ICONV_IMPL_VALUE, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("ICONV_VERSION", get_iconv_version(), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ICONV_MIME_DECODE_STRICT", PHP_ICONV_MIME_DECODE_STRICT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ICONV_MIME_DECODE_CONTINUE_ON_ERROR", PHP_ICONV_MIME_DECODE_CONTINUE_ON_ERROR, CONST_PERSISTENT); } diff --git a/ext/imap/php_imap_arginfo.h b/ext/imap/php_imap_arginfo.h index 1c409f2da27c0..fe283484746e0 100644 --- a/ext/imap/php_imap_arginfo.h +++ b/ext/imap/php_imap_arginfo.h @@ -520,80 +520,80 @@ static const zend_function_entry class_IMAP_Connection_methods[] = { static void register_php_imap_symbols(int module_number) { - REGISTER_LONG_CONSTANT("NIL", NIL, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("IMAP_OPENTIMEOUT", PHP_IMAP_OPENTIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAP_READTIMEOUT", PHP_IMAP_READTIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAP_WRITETIMEOUT", PHP_IMAP_WRITETIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAP_CLOSETIMEOUT", PHP_IMAP_CLOSETIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_DEBUG", OP_DEBUG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_READONLY", OP_READONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_ANONYMOUS", OP_ANONYMOUS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_SHORTCACHE", OP_SHORTCACHE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_SILENT", OP_SILENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_PROTOTYPE", OP_PROTOTYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_HALFOPEN", OP_HALFOPEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_EXPUNGE", OP_EXPUNGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OP_SECURE", OP_SECURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CL_EXPUNGE", PHP_EXPUNGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FT_UID", FT_UID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FT_PEEK", FT_PEEK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FT_NOT", FT_NOT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FT_INTERNAL", FT_INTERNAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FT_PREFETCHTEXT", FT_PREFETCHTEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ST_UID", ST_UID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ST_SILENT", ST_SILENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ST_SET", ST_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_UID", CP_UID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CP_MOVE", CP_MOVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SE_UID", SE_UID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SE_FREE", SE_FREE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SE_NOPREFETCH", SE_NOPREFETCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_FREE", SO_FREE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_NOSERVER", SO_FREE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SA_MESSAGES", SA_MESSAGES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SA_RECENT", SA_RECENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SA_UNSEEN", SA_UNSEEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SA_UIDNEXT", SA_UIDNEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SA_UIDVALIDITY", SA_UIDVALIDITY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SA_ALL", SA_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LATT_NOINFERIORS", LATT_NOINFERIORS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LATT_NOSELECT", LATT_NOSELECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LATT_MARKED", LATT_MARKED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LATT_UNMARKED", LATT_UNMARKED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("NIL", NIL, CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("IMAP_OPENTIMEOUT", PHP_IMAP_OPENTIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAP_READTIMEOUT", PHP_IMAP_READTIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAP_WRITETIMEOUT", PHP_IMAP_WRITETIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAP_CLOSETIMEOUT", PHP_IMAP_CLOSETIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_DEBUG", OP_DEBUG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_READONLY", OP_READONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_ANONYMOUS", OP_ANONYMOUS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_SHORTCACHE", OP_SHORTCACHE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_SILENT", OP_SILENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_PROTOTYPE", OP_PROTOTYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_HALFOPEN", OP_HALFOPEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_EXPUNGE", OP_EXPUNGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OP_SECURE", OP_SECURE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CL_EXPUNGE", PHP_EXPUNGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FT_UID", FT_UID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FT_PEEK", FT_PEEK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FT_NOT", FT_NOT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FT_INTERNAL", FT_INTERNAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FT_PREFETCHTEXT", FT_PREFETCHTEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ST_UID", ST_UID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ST_SILENT", ST_SILENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ST_SET", ST_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_UID", CP_UID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CP_MOVE", CP_MOVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SE_UID", SE_UID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SE_FREE", SE_FREE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SE_NOPREFETCH", SE_NOPREFETCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_FREE", SO_FREE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_NOSERVER", SO_FREE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SA_MESSAGES", SA_MESSAGES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SA_RECENT", SA_RECENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SA_UNSEEN", SA_UNSEEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SA_UIDNEXT", SA_UIDNEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SA_UIDVALIDITY", SA_UIDVALIDITY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SA_ALL", SA_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_NOINFERIORS", LATT_NOINFERIORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_NOSELECT", LATT_NOSELECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_MARKED", LATT_MARKED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_UNMARKED", LATT_UNMARKED, CONST_PERSISTENT); #if defined(LATT_REFERRAL) - REGISTER_LONG_CONSTANT("LATT_REFERRAL", LATT_REFERRAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_REFERRAL", LATT_REFERRAL, CONST_PERSISTENT); #endif #if defined(LATT_HASCHILDREN) - REGISTER_LONG_CONSTANT("LATT_HASCHILDREN", LATT_HASCHILDREN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_HASCHILDREN", LATT_HASCHILDREN, CONST_PERSISTENT); #endif #if defined(LATT_HASNOCHILDREN) - REGISTER_LONG_CONSTANT("LATT_HASNOCHILDREN", LATT_HASNOCHILDREN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LATT_HASNOCHILDREN", LATT_HASNOCHILDREN, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("SORTDATE", SORTDATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORTARRIVAL", SORTARRIVAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORTFROM", SORTFROM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORTSUBJECT", SORTSUBJECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORTTO", SORTTO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORTCC", SORTCC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORTSIZE", SORTSIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPETEXT", TYPETEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEMULTIPART", TYPEMULTIPART, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEMESSAGE", TYPEMESSAGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEAPPLICATION", TYPEAPPLICATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEAUDIO", TYPEAUDIO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEIMAGE", TYPEIMAGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEVIDEO", TYPEVIDEO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEMODEL", TYPEMODEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TYPEOTHER", TYPEOTHER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ENC7BIT", ENC7BIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ENC8BIT", ENC8BIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ENCBINARY", ENCBINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ENCBASE64", ENCBASE64, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ENCQUOTEDPRINTABLE", ENCQUOTEDPRINTABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ENCOTHER", ENCOTHER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAP_GC_ELT", GC_ELT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAP_GC_ENV", GC_ENV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAP_GC_TEXTS", GC_TEXTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTDATE", SORTDATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTARRIVAL", SORTARRIVAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTFROM", SORTFROM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTSUBJECT", SORTSUBJECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTTO", SORTTO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTCC", SORTCC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORTSIZE", SORTSIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPETEXT", TYPETEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEMULTIPART", TYPEMULTIPART, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEMESSAGE", TYPEMESSAGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEAPPLICATION", TYPEAPPLICATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEAUDIO", TYPEAUDIO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEIMAGE", TYPEIMAGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEVIDEO", TYPEVIDEO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEMODEL", TYPEMODEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TYPEOTHER", TYPEOTHER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ENC7BIT", ENC7BIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ENC8BIT", ENC8BIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ENCBINARY", ENCBINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ENCBASE64", ENCBASE64, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ENCQUOTEDPRINTABLE", ENCQUOTEDPRINTABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ENCOTHER", ENCOTHER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAP_GC_ELT", GC_ELT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAP_GC_ENV", GC_ENV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAP_GC_TEXTS", GC_TEXTS, CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "imap_open", sizeof("imap_open") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/intl/collator/collator_arginfo.h b/ext/intl/collator/collator_arginfo.h index 37fa57fff5300..6ca30c4e49b34 100644 --- a/ext/intl/collator/collator_arginfo.h +++ b/ext/intl/collator/collator_arginfo.h @@ -92,8 +92,8 @@ static const zend_function_entry class_Collator_methods[] = { static void register_collator_symbols(int module_number) { - REGISTER_LONG_CONSTANT("ULOC_ACTUAL_LOCALE", ULOC_ACTUAL_LOCALE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ULOC_VALID_LOCALE", ULOC_VALID_LOCALE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ULOC_ACTUAL_LOCALE", ULOC_ACTUAL_LOCALE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ULOC_VALID_LOCALE", ULOC_VALID_LOCALE, CONST_PERSISTENT); } static zend_class_entry *register_class_Collator(void) diff --git a/ext/intl/common/common_arginfo.h b/ext/intl/common/common_arginfo.h index 14dab2c5ba0cf..d549e7964c6c2 100644 --- a/ext/intl/common/common_arginfo.h +++ b/ext/intl/common/common_arginfo.h @@ -33,147 +33,147 @@ static const zend_function_entry class_IntlIterator_methods[] = { static void register_common_symbols(int module_number) { - REGISTER_LONG_CONSTANT("U_USING_FALLBACK_WARNING", U_USING_FALLBACK_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ERROR_WARNING_START", U_ERROR_WARNING_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_USING_DEFAULT_WARNING", U_USING_DEFAULT_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_SAFECLONE_ALLOCATED_WARNING", U_SAFECLONE_ALLOCATED_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STATE_OLD_WARNING", U_STATE_OLD_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STRING_NOT_TERMINATED_WARNING", U_STRING_NOT_TERMINATED_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_SORT_KEY_TOO_SHORT_WARNING", U_SORT_KEY_TOO_SHORT_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_AMBIGUOUS_ALIAS_WARNING", U_AMBIGUOUS_ALIAS_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_DIFFERENT_UCA_VERSION", U_DIFFERENT_UCA_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ERROR_WARNING_LIMIT", U_ERROR_WARNING_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ZERO_ERROR", U_ZERO_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ILLEGAL_ARGUMENT_ERROR", U_ILLEGAL_ARGUMENT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISSING_RESOURCE_ERROR", U_MISSING_RESOURCE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_FORMAT_ERROR", U_INVALID_FORMAT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_FILE_ACCESS_ERROR", U_FILE_ACCESS_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INTERNAL_PROGRAM_ERROR", U_INTERNAL_PROGRAM_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MESSAGE_PARSE_ERROR", U_MESSAGE_PARSE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MEMORY_ALLOCATION_ERROR", U_MEMORY_ALLOCATION_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INDEX_OUTOFBOUNDS_ERROR", U_INDEX_OUTOFBOUNDS_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_PARSE_ERROR", U_PARSE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_CHAR_FOUND", U_INVALID_CHAR_FOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_TRUNCATED_CHAR_FOUND", U_TRUNCATED_CHAR_FOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ILLEGAL_CHAR_FOUND", U_ILLEGAL_CHAR_FOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_TABLE_FORMAT", U_INVALID_TABLE_FORMAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_TABLE_FILE", U_INVALID_TABLE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BUFFER_OVERFLOW_ERROR", U_BUFFER_OVERFLOW_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ERROR", U_UNSUPPORTED_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_RESOURCE_TYPE_MISMATCH", U_RESOURCE_TYPE_MISMATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ILLEGAL_ESCAPE_SEQUENCE", U_ILLEGAL_ESCAPE_SEQUENCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ESCAPE_SEQUENCE", U_UNSUPPORTED_ESCAPE_SEQUENCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_NO_SPACE_AVAILABLE", U_NO_SPACE_AVAILABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_CE_NOT_FOUND_ERROR", U_CE_NOT_FOUND_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_PRIMARY_TOO_LONG_ERROR", U_PRIMARY_TOO_LONG_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STATE_TOO_OLD_ERROR", U_STATE_TOO_OLD_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_TOO_MANY_ALIASES_ERROR", U_TOO_MANY_ALIASES_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ENUM_OUT_OF_SYNC_ERROR", U_ENUM_OUT_OF_SYNC_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVARIANT_CONVERSION_ERROR", U_INVARIANT_CONVERSION_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_STATE_ERROR", U_INVALID_STATE_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_COLLATOR_VERSION_MISMATCH", U_COLLATOR_VERSION_MISMATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_USELESS_COLLATOR_ERROR", U_USELESS_COLLATOR_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_NO_WRITE_PERMISSION", U_NO_WRITE_PERMISSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STANDARD_ERROR_LIMIT", U_STANDARD_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BAD_VARIABLE_DEFINITION", U_BAD_VARIABLE_DEFINITION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_PARSE_ERROR_START", U_PARSE_ERROR_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_RULE", U_MALFORMED_RULE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_SET", U_MALFORMED_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_SYMBOL_REFERENCE", U_MALFORMED_SYMBOL_REFERENCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_UNICODE_ESCAPE", U_MALFORMED_UNICODE_ESCAPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_VARIABLE_DEFINITION", U_MALFORMED_VARIABLE_DEFINITION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_VARIABLE_REFERENCE", U_MALFORMED_VARIABLE_REFERENCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISMATCHED_SEGMENT_DELIMITERS", U_MISMATCHED_SEGMENT_DELIMITERS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISPLACED_ANCHOR_START", U_MISPLACED_ANCHOR_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISPLACED_CURSOR_OFFSET", U_MISPLACED_CURSOR_OFFSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISPLACED_QUANTIFIER", U_MISPLACED_QUANTIFIER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISSING_OPERATOR", U_MISSING_OPERATOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISSING_SEGMENT_CLOSE", U_MISSING_SEGMENT_CLOSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_ANTE_CONTEXTS", U_MULTIPLE_ANTE_CONTEXTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_CURSORS", U_MULTIPLE_CURSORS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_POST_CONTEXTS", U_MULTIPLE_POST_CONTEXTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_TRAILING_BACKSLASH", U_TRAILING_BACKSLASH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNDEFINED_SEGMENT_REFERENCE", U_UNDEFINED_SEGMENT_REFERENCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNDEFINED_VARIABLE", U_UNDEFINED_VARIABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNQUOTED_SPECIAL", U_UNQUOTED_SPECIAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNTERMINATED_QUOTE", U_UNTERMINATED_QUOTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_RULE_MASK_ERROR", U_RULE_MASK_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MISPLACED_COMPOUND_FILTER", U_MISPLACED_COMPOUND_FILTER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_COMPOUND_FILTERS", U_MULTIPLE_COMPOUND_FILTERS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_RBT_SYNTAX", U_INVALID_RBT_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_PROPERTY_PATTERN", U_INVALID_PROPERTY_PATTERN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_PRAGMA", U_MALFORMED_PRAGMA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNCLOSED_SEGMENT", U_UNCLOSED_SEGMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ILLEGAL_CHAR_IN_SEGMENT", U_ILLEGAL_CHAR_IN_SEGMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_VARIABLE_RANGE_EXHAUSTED", U_VARIABLE_RANGE_EXHAUSTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_VARIABLE_RANGE_OVERLAP", U_VARIABLE_RANGE_OVERLAP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ILLEGAL_CHARACTER", U_ILLEGAL_CHARACTER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INTERNAL_TRANSLITERATOR_ERROR", U_INTERNAL_TRANSLITERATOR_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_ID", U_INVALID_ID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_INVALID_FUNCTION", U_INVALID_FUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_PARSE_ERROR_LIMIT", U_PARSE_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNEXPECTED_TOKEN", U_UNEXPECTED_TOKEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_FMT_PARSE_ERROR_START", U_FMT_PARSE_ERROR_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_DECIMAL_SEPARATORS", U_MULTIPLE_DECIMAL_SEPARATORS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_DECIMAL_SEPERATORS", U_MULTIPLE_DECIMAL_SEPERATORS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_EXPONENTIAL_SYMBOLS", U_MULTIPLE_EXPONENTIAL_SYMBOLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MALFORMED_EXPONENTIAL_PATTERN", U_MALFORMED_EXPONENTIAL_PATTERN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_PERCENT_SYMBOLS", U_MULTIPLE_PERCENT_SYMBOLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_PERMILL_SYMBOLS", U_MULTIPLE_PERMILL_SYMBOLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_MULTIPLE_PAD_SPECIFIERS", U_MULTIPLE_PAD_SPECIFIERS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_PATTERN_SYNTAX_ERROR", U_PATTERN_SYNTAX_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ILLEGAL_PAD_POSITION", U_ILLEGAL_PAD_POSITION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNMATCHED_BRACES", U_UNMATCHED_BRACES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNSUPPORTED_PROPERTY", U_UNSUPPORTED_PROPERTY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ATTRIBUTE", U_UNSUPPORTED_ATTRIBUTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_FMT_PARSE_ERROR_LIMIT", U_FMT_PARSE_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_INTERNAL_ERROR", U_BRK_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_ERROR_START", U_BRK_ERROR_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_HEX_DIGITS_EXPECTED", U_BRK_HEX_DIGITS_EXPECTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_SEMICOLON_EXPECTED", U_BRK_SEMICOLON_EXPECTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_RULE_SYNTAX", U_BRK_RULE_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_UNCLOSED_SET", U_BRK_UNCLOSED_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_ASSIGN_ERROR", U_BRK_ASSIGN_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_VARIABLE_REDFINITION", U_BRK_VARIABLE_REDFINITION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_MISMATCHED_PAREN", U_BRK_MISMATCHED_PAREN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_NEW_LINE_IN_QUOTED_STRING", U_BRK_NEW_LINE_IN_QUOTED_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_UNDEFINED_VARIABLE", U_BRK_UNDEFINED_VARIABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_INIT_ERROR", U_BRK_INIT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_RULE_EMPTY_SET", U_BRK_RULE_EMPTY_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_UNRECOGNIZED_OPTION", U_BRK_UNRECOGNIZED_OPTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_MALFORMED_RULE_TAG", U_BRK_MALFORMED_RULE_TAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_BRK_ERROR_LIMIT", U_BRK_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_INTERNAL_ERROR", U_REGEX_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_ERROR_START", U_REGEX_ERROR_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_RULE_SYNTAX", U_REGEX_RULE_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_INVALID_STATE", U_REGEX_INVALID_STATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_BAD_ESCAPE_SEQUENCE", U_REGEX_BAD_ESCAPE_SEQUENCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_PROPERTY_SYNTAX", U_REGEX_PROPERTY_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_UNIMPLEMENTED", U_REGEX_UNIMPLEMENTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_MISMATCHED_PAREN", U_REGEX_MISMATCHED_PAREN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_NUMBER_TOO_BIG", U_REGEX_NUMBER_TOO_BIG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_BAD_INTERVAL", U_REGEX_BAD_INTERVAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_MAX_LT_MIN", U_REGEX_MAX_LT_MIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_INVALID_BACK_REF", U_REGEX_INVALID_BACK_REF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_INVALID_FLAG", U_REGEX_INVALID_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_LOOK_BEHIND_LIMIT", U_REGEX_LOOK_BEHIND_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_SET_CONTAINS_STRING", U_REGEX_SET_CONTAINS_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_REGEX_ERROR_LIMIT", U_REGEX_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_PROHIBITED_ERROR", U_IDNA_PROHIBITED_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_ERROR_START", U_IDNA_ERROR_START, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_UNASSIGNED_ERROR", U_IDNA_UNASSIGNED_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_CHECK_BIDI_ERROR", U_IDNA_CHECK_BIDI_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_STD3_ASCII_RULES_ERROR", U_IDNA_STD3_ASCII_RULES_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_ACE_PREFIX_ERROR", U_IDNA_ACE_PREFIX_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_VERIFICATION_ERROR", U_IDNA_VERIFICATION_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_LABEL_TOO_LONG_ERROR", U_IDNA_LABEL_TOO_LONG_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_ZERO_LENGTH_LABEL_ERROR", U_IDNA_ZERO_LENGTH_LABEL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR", U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_IDNA_ERROR_LIMIT", U_IDNA_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STRINGPREP_PROHIBITED_ERROR", U_STRINGPREP_PROHIBITED_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STRINGPREP_UNASSIGNED_ERROR", U_STRINGPREP_UNASSIGNED_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_STRINGPREP_CHECK_BIDI_ERROR", U_STRINGPREP_CHECK_BIDI_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("U_ERROR_LIMIT", U_ERROR_LIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_USING_FALLBACK_WARNING", U_USING_FALLBACK_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ERROR_WARNING_START", U_ERROR_WARNING_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_USING_DEFAULT_WARNING", U_USING_DEFAULT_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_SAFECLONE_ALLOCATED_WARNING", U_SAFECLONE_ALLOCATED_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STATE_OLD_WARNING", U_STATE_OLD_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRING_NOT_TERMINATED_WARNING", U_STRING_NOT_TERMINATED_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_SORT_KEY_TOO_SHORT_WARNING", U_SORT_KEY_TOO_SHORT_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_AMBIGUOUS_ALIAS_WARNING", U_AMBIGUOUS_ALIAS_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_DIFFERENT_UCA_VERSION", U_DIFFERENT_UCA_VERSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ERROR_WARNING_LIMIT", U_ERROR_WARNING_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ZERO_ERROR", U_ZERO_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_ARGUMENT_ERROR", U_ILLEGAL_ARGUMENT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISSING_RESOURCE_ERROR", U_MISSING_RESOURCE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_FORMAT_ERROR", U_INVALID_FORMAT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_FILE_ACCESS_ERROR", U_FILE_ACCESS_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INTERNAL_PROGRAM_ERROR", U_INTERNAL_PROGRAM_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MESSAGE_PARSE_ERROR", U_MESSAGE_PARSE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MEMORY_ALLOCATION_ERROR", U_MEMORY_ALLOCATION_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INDEX_OUTOFBOUNDS_ERROR", U_INDEX_OUTOFBOUNDS_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PARSE_ERROR", U_PARSE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_CHAR_FOUND", U_INVALID_CHAR_FOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_TRUNCATED_CHAR_FOUND", U_TRUNCATED_CHAR_FOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_CHAR_FOUND", U_ILLEGAL_CHAR_FOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_TABLE_FORMAT", U_INVALID_TABLE_FORMAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_TABLE_FILE", U_INVALID_TABLE_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BUFFER_OVERFLOW_ERROR", U_BUFFER_OVERFLOW_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ERROR", U_UNSUPPORTED_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_RESOURCE_TYPE_MISMATCH", U_RESOURCE_TYPE_MISMATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_ESCAPE_SEQUENCE", U_ILLEGAL_ESCAPE_SEQUENCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ESCAPE_SEQUENCE", U_UNSUPPORTED_ESCAPE_SEQUENCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_NO_SPACE_AVAILABLE", U_NO_SPACE_AVAILABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_CE_NOT_FOUND_ERROR", U_CE_NOT_FOUND_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PRIMARY_TOO_LONG_ERROR", U_PRIMARY_TOO_LONG_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STATE_TOO_OLD_ERROR", U_STATE_TOO_OLD_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_TOO_MANY_ALIASES_ERROR", U_TOO_MANY_ALIASES_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ENUM_OUT_OF_SYNC_ERROR", U_ENUM_OUT_OF_SYNC_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVARIANT_CONVERSION_ERROR", U_INVARIANT_CONVERSION_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_STATE_ERROR", U_INVALID_STATE_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_COLLATOR_VERSION_MISMATCH", U_COLLATOR_VERSION_MISMATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_USELESS_COLLATOR_ERROR", U_USELESS_COLLATOR_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_NO_WRITE_PERMISSION", U_NO_WRITE_PERMISSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STANDARD_ERROR_LIMIT", U_STANDARD_ERROR_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BAD_VARIABLE_DEFINITION", U_BAD_VARIABLE_DEFINITION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PARSE_ERROR_START", U_PARSE_ERROR_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_RULE", U_MALFORMED_RULE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_SET", U_MALFORMED_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_SYMBOL_REFERENCE", U_MALFORMED_SYMBOL_REFERENCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_UNICODE_ESCAPE", U_MALFORMED_UNICODE_ESCAPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_VARIABLE_DEFINITION", U_MALFORMED_VARIABLE_DEFINITION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_VARIABLE_REFERENCE", U_MALFORMED_VARIABLE_REFERENCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISMATCHED_SEGMENT_DELIMITERS", U_MISMATCHED_SEGMENT_DELIMITERS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_ANCHOR_START", U_MISPLACED_ANCHOR_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_CURSOR_OFFSET", U_MISPLACED_CURSOR_OFFSET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_QUANTIFIER", U_MISPLACED_QUANTIFIER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISSING_OPERATOR", U_MISSING_OPERATOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISSING_SEGMENT_CLOSE", U_MISSING_SEGMENT_CLOSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_ANTE_CONTEXTS", U_MULTIPLE_ANTE_CONTEXTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_CURSORS", U_MULTIPLE_CURSORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_POST_CONTEXTS", U_MULTIPLE_POST_CONTEXTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_TRAILING_BACKSLASH", U_TRAILING_BACKSLASH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNDEFINED_SEGMENT_REFERENCE", U_UNDEFINED_SEGMENT_REFERENCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNDEFINED_VARIABLE", U_UNDEFINED_VARIABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNQUOTED_SPECIAL", U_UNQUOTED_SPECIAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNTERMINATED_QUOTE", U_UNTERMINATED_QUOTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_RULE_MASK_ERROR", U_RULE_MASK_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MISPLACED_COMPOUND_FILTER", U_MISPLACED_COMPOUND_FILTER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_COMPOUND_FILTERS", U_MULTIPLE_COMPOUND_FILTERS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_RBT_SYNTAX", U_INVALID_RBT_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_PROPERTY_PATTERN", U_INVALID_PROPERTY_PATTERN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_PRAGMA", U_MALFORMED_PRAGMA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNCLOSED_SEGMENT", U_UNCLOSED_SEGMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_CHAR_IN_SEGMENT", U_ILLEGAL_CHAR_IN_SEGMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_VARIABLE_RANGE_EXHAUSTED", U_VARIABLE_RANGE_EXHAUSTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_VARIABLE_RANGE_OVERLAP", U_VARIABLE_RANGE_OVERLAP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_CHARACTER", U_ILLEGAL_CHARACTER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INTERNAL_TRANSLITERATOR_ERROR", U_INTERNAL_TRANSLITERATOR_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_ID", U_INVALID_ID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_INVALID_FUNCTION", U_INVALID_FUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PARSE_ERROR_LIMIT", U_PARSE_ERROR_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNEXPECTED_TOKEN", U_UNEXPECTED_TOKEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_FMT_PARSE_ERROR_START", U_FMT_PARSE_ERROR_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_DECIMAL_SEPARATORS", U_MULTIPLE_DECIMAL_SEPARATORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_DECIMAL_SEPERATORS", U_MULTIPLE_DECIMAL_SEPERATORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_EXPONENTIAL_SYMBOLS", U_MULTIPLE_EXPONENTIAL_SYMBOLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MALFORMED_EXPONENTIAL_PATTERN", U_MALFORMED_EXPONENTIAL_PATTERN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_PERCENT_SYMBOLS", U_MULTIPLE_PERCENT_SYMBOLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_PERMILL_SYMBOLS", U_MULTIPLE_PERMILL_SYMBOLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_MULTIPLE_PAD_SPECIFIERS", U_MULTIPLE_PAD_SPECIFIERS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_PATTERN_SYNTAX_ERROR", U_PATTERN_SYNTAX_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ILLEGAL_PAD_POSITION", U_ILLEGAL_PAD_POSITION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNMATCHED_BRACES", U_UNMATCHED_BRACES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_PROPERTY", U_UNSUPPORTED_PROPERTY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_UNSUPPORTED_ATTRIBUTE", U_UNSUPPORTED_ATTRIBUTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_FMT_PARSE_ERROR_LIMIT", U_FMT_PARSE_ERROR_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_INTERNAL_ERROR", U_BRK_INTERNAL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_ERROR_START", U_BRK_ERROR_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_HEX_DIGITS_EXPECTED", U_BRK_HEX_DIGITS_EXPECTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_SEMICOLON_EXPECTED", U_BRK_SEMICOLON_EXPECTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_RULE_SYNTAX", U_BRK_RULE_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_UNCLOSED_SET", U_BRK_UNCLOSED_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_ASSIGN_ERROR", U_BRK_ASSIGN_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_VARIABLE_REDFINITION", U_BRK_VARIABLE_REDFINITION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_MISMATCHED_PAREN", U_BRK_MISMATCHED_PAREN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_NEW_LINE_IN_QUOTED_STRING", U_BRK_NEW_LINE_IN_QUOTED_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_UNDEFINED_VARIABLE", U_BRK_UNDEFINED_VARIABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_INIT_ERROR", U_BRK_INIT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_RULE_EMPTY_SET", U_BRK_RULE_EMPTY_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_UNRECOGNIZED_OPTION", U_BRK_UNRECOGNIZED_OPTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_MALFORMED_RULE_TAG", U_BRK_MALFORMED_RULE_TAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_BRK_ERROR_LIMIT", U_BRK_ERROR_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INTERNAL_ERROR", U_REGEX_INTERNAL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_ERROR_START", U_REGEX_ERROR_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_RULE_SYNTAX", U_REGEX_RULE_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INVALID_STATE", U_REGEX_INVALID_STATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_BAD_ESCAPE_SEQUENCE", U_REGEX_BAD_ESCAPE_SEQUENCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_PROPERTY_SYNTAX", U_REGEX_PROPERTY_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_UNIMPLEMENTED", U_REGEX_UNIMPLEMENTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_MISMATCHED_PAREN", U_REGEX_MISMATCHED_PAREN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_NUMBER_TOO_BIG", U_REGEX_NUMBER_TOO_BIG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_BAD_INTERVAL", U_REGEX_BAD_INTERVAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_MAX_LT_MIN", U_REGEX_MAX_LT_MIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INVALID_BACK_REF", U_REGEX_INVALID_BACK_REF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_INVALID_FLAG", U_REGEX_INVALID_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_LOOK_BEHIND_LIMIT", U_REGEX_LOOK_BEHIND_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_SET_CONTAINS_STRING", U_REGEX_SET_CONTAINS_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_REGEX_ERROR_LIMIT", U_REGEX_ERROR_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_PROHIBITED_ERROR", U_IDNA_PROHIBITED_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ERROR_START", U_IDNA_ERROR_START, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_UNASSIGNED_ERROR", U_IDNA_UNASSIGNED_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_CHECK_BIDI_ERROR", U_IDNA_CHECK_BIDI_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_STD3_ASCII_RULES_ERROR", U_IDNA_STD3_ASCII_RULES_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ACE_PREFIX_ERROR", U_IDNA_ACE_PREFIX_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_VERIFICATION_ERROR", U_IDNA_VERIFICATION_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_LABEL_TOO_LONG_ERROR", U_IDNA_LABEL_TOO_LONG_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ZERO_LENGTH_LABEL_ERROR", U_IDNA_ZERO_LENGTH_LABEL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR", U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_IDNA_ERROR_LIMIT", U_IDNA_ERROR_LIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRINGPREP_PROHIBITED_ERROR", U_STRINGPREP_PROHIBITED_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRINGPREP_UNASSIGNED_ERROR", U_STRINGPREP_UNASSIGNED_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_STRINGPREP_CHECK_BIDI_ERROR", U_STRINGPREP_CHECK_BIDI_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("U_ERROR_LIMIT", U_ERROR_LIMIT, CONST_PERSISTENT); } static zend_class_entry *register_class_IntlIterator(zend_class_entry *class_entry_Iterator) diff --git a/ext/intl/php_intl_arginfo.h b/ext/intl/php_intl_arginfo.h index c28c74b9e9664..b715413989145 100644 --- a/ext/intl/php_intl_arginfo.h +++ b/ext/intl/php_intl_arginfo.h @@ -1173,35 +1173,35 @@ static const zend_function_entry class_IntlException_methods[] = { static void register_php_intl_symbols(int module_number) { - REGISTER_LONG_CONSTANT("INTL_MAX_LOCALE_LEN", INTL_MAX_LOCALE_LEN, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("INTL_ICU_VERSION", U_ICU_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INTL_MAX_LOCALE_LEN", INTL_MAX_LOCALE_LEN, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("INTL_ICU_VERSION", U_ICU_VERSION, CONST_PERSISTENT); #if defined(U_ICU_DATA_VERSION) - REGISTER_STRING_CONSTANT("INTL_ICU_DATA_VERSION", U_ICU_DATA_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("INTL_ICU_DATA_VERSION", U_ICU_DATA_VERSION, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_COUNT", GRAPHEME_EXTRACT_TYPE_COUNT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXBYTES", GRAPHEME_EXTRACT_TYPE_MAXBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXCHARS", GRAPHEME_EXTRACT_TYPE_MAXCHARS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_DEFAULT", UIDNA_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ALLOW_UNASSIGNED", UIDNA_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_USE_STD3_RULES", UIDNA_USE_STD3_RULES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_CHECK_BIDI", UIDNA_CHECK_BIDI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_CHECK_CONTEXTJ", UIDNA_CHECK_CONTEXTJ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_ASCII", UIDNA_NONTRANSITIONAL_TO_ASCII, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_UTS46", INTL_IDN_VARIANT_UTS46, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_DOMAIN_NAME_TOO_LONG", UIDNA_ERROR_DOMAIN_NAME_TOO_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_HYPHEN", UIDNA_ERROR_LEADING_HYPHEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_TRAILING_HYPHEN", UIDNA_ERROR_TRAILING_HYPHEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_HYPHEN_3_4", UIDNA_ERROR_HYPHEN_3_4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_COMBINING_MARK", UIDNA_ERROR_LEADING_COMBINING_MARK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_DISALLOWED", UIDNA_ERROR_DISALLOWED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_PUNYCODE", UIDNA_ERROR_PUNYCODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_HAS_DOT", UIDNA_ERROR_LABEL_HAS_DOT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_BIDI", UIDNA_ERROR_BIDI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_COUNT", GRAPHEME_EXTRACT_TYPE_COUNT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXBYTES", GRAPHEME_EXTRACT_TYPE_MAXBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GRAPHEME_EXTR_MAXCHARS", GRAPHEME_EXTRACT_TYPE_MAXCHARS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_DEFAULT", UIDNA_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ALLOW_UNASSIGNED", UIDNA_ALLOW_UNASSIGNED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_USE_STD3_RULES", UIDNA_USE_STD3_RULES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_CHECK_BIDI", UIDNA_CHECK_BIDI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_CHECK_CONTEXTJ", UIDNA_CHECK_CONTEXTJ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_ASCII", UIDNA_NONTRANSITIONAL_TO_ASCII, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_UTS46", INTL_IDN_VARIANT_UTS46, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_DOMAIN_NAME_TOO_LONG", UIDNA_ERROR_DOMAIN_NAME_TOO_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_HYPHEN", UIDNA_ERROR_LEADING_HYPHEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_TRAILING_HYPHEN", UIDNA_ERROR_TRAILING_HYPHEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_HYPHEN_3_4", UIDNA_ERROR_HYPHEN_3_4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LEADING_COMBINING_MARK", UIDNA_ERROR_LEADING_COMBINING_MARK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_DISALLOWED", UIDNA_ERROR_DISALLOWED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_PUNYCODE", UIDNA_ERROR_PUNYCODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_HAS_DOT", UIDNA_ERROR_LABEL_HAS_DOT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_BIDI", UIDNA_ERROR_BIDI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ, CONST_PERSISTENT); } static zend_class_entry *register_class_IntlException(zend_class_entry *class_entry_Exception) diff --git a/ext/json/json_arginfo.h b/ext/json/json_arginfo.h index 8c88f24c403cd..53a31f542bbc9 100644 --- a/ext/json/json_arginfo.h +++ b/ext/json/json_arginfo.h @@ -51,35 +51,35 @@ static const zend_function_entry class_JsonException_methods[] = { static void register_json_symbols(int module_number) { - REGISTER_LONG_CONSTANT("JSON_HEX_TAG", PHP_JSON_HEX_TAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_HEX_AMP", PHP_JSON_HEX_AMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_HEX_APOS", PHP_JSON_HEX_APOS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_HEX_QUOT", PHP_JSON_HEX_QUOT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_FORCE_OBJECT", PHP_JSON_FORCE_OBJECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_NUMERIC_CHECK", PHP_JSON_NUMERIC_CHECK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_UNESCAPED_SLASHES", PHP_JSON_UNESCAPED_SLASHES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_PRETTY_PRINT", PHP_JSON_PRETTY_PRINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_UNESCAPED_UNICODE", PHP_JSON_UNESCAPED_UNICODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_PARTIAL_OUTPUT_ON_ERROR", PHP_JSON_PARTIAL_OUTPUT_ON_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_PRESERVE_ZERO_FRACTION", PHP_JSON_PRESERVE_ZERO_FRACTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_UNESCAPED_LINE_TERMINATORS", PHP_JSON_UNESCAPED_LINE_TERMINATORS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_OBJECT_AS_ARRAY", PHP_JSON_OBJECT_AS_ARRAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_BIGINT_AS_STRING", PHP_JSON_BIGINT_AS_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_INVALID_UTF8_IGNORE", PHP_JSON_INVALID_UTF8_IGNORE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_INVALID_UTF8_SUBSTITUTE", PHP_JSON_INVALID_UTF8_SUBSTITUTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_THROW_ON_ERROR", PHP_JSON_THROW_ON_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_NONE", PHP_JSON_ERROR_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_DEPTH", PHP_JSON_ERROR_DEPTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_STATE_MISMATCH", PHP_JSON_ERROR_STATE_MISMATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_CTRL_CHAR", PHP_JSON_ERROR_CTRL_CHAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_SYNTAX", PHP_JSON_ERROR_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_UTF8", PHP_JSON_ERROR_UTF8, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_RECURSION", PHP_JSON_ERROR_RECURSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_INF_OR_NAN", PHP_JSON_ERROR_INF_OR_NAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_UNSUPPORTED_TYPE", PHP_JSON_ERROR_UNSUPPORTED_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_INVALID_PROPERTY_NAME", PHP_JSON_ERROR_INVALID_PROPERTY_NAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_UTF16", PHP_JSON_ERROR_UTF16, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("JSON_ERROR_NON_BACKED_ENUM", PHP_JSON_ERROR_NON_BACKED_ENUM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_HEX_TAG", PHP_JSON_HEX_TAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_HEX_AMP", PHP_JSON_HEX_AMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_HEX_APOS", PHP_JSON_HEX_APOS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_HEX_QUOT", PHP_JSON_HEX_QUOT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_FORCE_OBJECT", PHP_JSON_FORCE_OBJECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_NUMERIC_CHECK", PHP_JSON_NUMERIC_CHECK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_UNESCAPED_SLASHES", PHP_JSON_UNESCAPED_SLASHES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_PRETTY_PRINT", PHP_JSON_PRETTY_PRINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_UNESCAPED_UNICODE", PHP_JSON_UNESCAPED_UNICODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_PARTIAL_OUTPUT_ON_ERROR", PHP_JSON_PARTIAL_OUTPUT_ON_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_PRESERVE_ZERO_FRACTION", PHP_JSON_PRESERVE_ZERO_FRACTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_UNESCAPED_LINE_TERMINATORS", PHP_JSON_UNESCAPED_LINE_TERMINATORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_OBJECT_AS_ARRAY", PHP_JSON_OBJECT_AS_ARRAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_BIGINT_AS_STRING", PHP_JSON_BIGINT_AS_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_INVALID_UTF8_IGNORE", PHP_JSON_INVALID_UTF8_IGNORE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_INVALID_UTF8_SUBSTITUTE", PHP_JSON_INVALID_UTF8_SUBSTITUTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_THROW_ON_ERROR", PHP_JSON_THROW_ON_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_NONE", PHP_JSON_ERROR_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_DEPTH", PHP_JSON_ERROR_DEPTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_STATE_MISMATCH", PHP_JSON_ERROR_STATE_MISMATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_CTRL_CHAR", PHP_JSON_ERROR_CTRL_CHAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_SYNTAX", PHP_JSON_ERROR_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_UTF8", PHP_JSON_ERROR_UTF8, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_RECURSION", PHP_JSON_ERROR_RECURSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_INF_OR_NAN", PHP_JSON_ERROR_INF_OR_NAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_UNSUPPORTED_TYPE", PHP_JSON_ERROR_UNSUPPORTED_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_INVALID_PROPERTY_NAME", PHP_JSON_ERROR_INVALID_PROPERTY_NAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_UTF16", PHP_JSON_ERROR_UTF16, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_NON_BACKED_ENUM", PHP_JSON_ERROR_NON_BACKED_ENUM, CONST_PERSISTENT); } static zend_class_entry *register_class_JsonSerializable(void) diff --git a/ext/ldap/ldap_arginfo.h b/ext/ldap/ldap_arginfo.h index 858840f4750b3..0fcc3446afaf3 100644 --- a/ext/ldap/ldap_arginfo.h +++ b/ext/ldap/ldap_arginfo.h @@ -561,273 +561,273 @@ static const zend_function_entry class_LDAP_ResultEntry_methods[] = { static void register_ldap_symbols(int module_number) { - REGISTER_LONG_CONSTANT("LDAP_DEREF_NEVER", LDAP_DEREF_NEVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_DEREF_SEARCHING", LDAP_DEREF_SEARCHING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_DEREF_FINDING", LDAP_DEREF_FINDING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_DEREF_ALWAYS", LDAP_DEREF_ALWAYS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_ADD", LDAP_MODIFY_BATCH_ADD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REMOVE", LDAP_MODIFY_BATCH_REMOVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REMOVE_ALL", LDAP_MODIFY_BATCH_REMOVE_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REPLACE", LDAP_MODIFY_BATCH_REPLACE, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_ATTRIB", LDAP_MODIFY_BATCH_ATTRIB, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_MODTYPE", LDAP_MODIFY_BATCH_MODTYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_VALUES", LDAP_MODIFY_BATCH_VALUES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_DEREF_NEVER", LDAP_DEREF_NEVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_DEREF_SEARCHING", LDAP_DEREF_SEARCHING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_DEREF_FINDING", LDAP_DEREF_FINDING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_DEREF_ALWAYS", LDAP_DEREF_ALWAYS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_ADD", LDAP_MODIFY_BATCH_ADD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REMOVE", LDAP_MODIFY_BATCH_REMOVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REMOVE_ALL", LDAP_MODIFY_BATCH_REMOVE_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REPLACE", LDAP_MODIFY_BATCH_REPLACE, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_ATTRIB", LDAP_MODIFY_BATCH_ATTRIB, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_MODTYPE", LDAP_MODIFY_BATCH_MODTYPE, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_VALUES", LDAP_MODIFY_BATCH_VALUES, CONST_PERSISTENT); #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_DEREF", LDAP_OPT_DEREF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_DEREF", LDAP_OPT_DEREF, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_SIZELIMIT", LDAP_OPT_SIZELIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_SIZELIMIT", LDAP_OPT_SIZELIMIT, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_TIMELIMIT", LDAP_OPT_TIMELIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_TIMELIMIT", LDAP_OPT_TIMELIMIT, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_NETWORK_TIMEOUT) - REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT", LDAP_OPT_NETWORK_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT", LDAP_OPT_NETWORK_TIMEOUT, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && (!defined(LDAP_OPT_NETWORK_TIMEOUT) && defined(LDAP_X_OPT_CONNECT_TIMEOUT)) - REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT", LDAP_X_OPT_CONNECT_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT", LDAP_X_OPT_CONNECT_TIMEOUT, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_TIMEOUT) - REGISTER_LONG_CONSTANT("LDAP_OPT_TIMEOUT", LDAP_OPT_TIMEOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_TIMEOUT", LDAP_OPT_TIMEOUT, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_PROTOCOL_VERSION", LDAP_OPT_PROTOCOL_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_PROTOCOL_VERSION", LDAP_OPT_PROTOCOL_VERSION, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_NUMBER", LDAP_OPT_ERROR_NUMBER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_NUMBER", LDAP_OPT_ERROR_NUMBER, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_REFERRALS", LDAP_OPT_REFERRALS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_REFERRALS", LDAP_OPT_REFERRALS, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_RESTART) - REGISTER_LONG_CONSTANT("LDAP_OPT_RESTART", LDAP_OPT_RESTART, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_RESTART", LDAP_OPT_RESTART, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_HOST_NAME) - REGISTER_LONG_CONSTANT("LDAP_OPT_HOST_NAME", LDAP_OPT_HOST_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_HOST_NAME", LDAP_OPT_HOST_NAME, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_STRING", LDAP_OPT_ERROR_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_STRING", LDAP_OPT_ERROR_STRING, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_MATCHED_DN) - REGISTER_LONG_CONSTANT("LDAP_OPT_MATCHED_DN", LDAP_OPT_MATCHED_DN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_MATCHED_DN", LDAP_OPT_MATCHED_DN, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_SERVER_CONTROLS", LDAP_OPT_SERVER_CONTROLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_SERVER_CONTROLS", LDAP_OPT_SERVER_CONTROLS, CONST_PERSISTENT); #endif #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) - REGISTER_LONG_CONSTANT("LDAP_OPT_CLIENT_CONTROLS", LDAP_OPT_CLIENT_CONTROLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_CLIENT_CONTROLS", LDAP_OPT_CLIENT_CONTROLS, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_DEBUG_LEVEL) - REGISTER_LONG_CONSTANT("LDAP_OPT_DEBUG_LEVEL", LDAP_OPT_DEBUG_LEVEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_DEBUG_LEVEL", LDAP_OPT_DEBUG_LEVEL, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_DIAGNOSTIC_MESSAGE) - REGISTER_LONG_CONSTANT("LDAP_OPT_DIAGNOSTIC_MESSAGE", LDAP_OPT_DIAGNOSTIC_MESSAGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_DIAGNOSTIC_MESSAGE", LDAP_OPT_DIAGNOSTIC_MESSAGE, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_SASL) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_MECH", LDAP_OPT_X_SASL_MECH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_MECH", LDAP_OPT_X_SASL_MECH, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_SASL) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_REALM", LDAP_OPT_X_SASL_REALM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_REALM", LDAP_OPT_X_SASL_REALM, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_SASL) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_AUTHCID", LDAP_OPT_X_SASL_AUTHCID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_AUTHCID", LDAP_OPT_X_SASL_AUTHCID, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_SASL) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_AUTHZID", LDAP_OPT_X_SASL_AUTHZID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_AUTHZID", LDAP_OPT_X_SASL_AUTHZID, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_SASL_NOCANON) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_NOCANON", LDAP_OPT_X_SASL_NOCANON, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_NOCANON", LDAP_OPT_X_SASL_NOCANON, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_SASL_USERNAME) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_USERNAME", LDAP_OPT_X_SASL_USERNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_USERNAME", LDAP_OPT_X_SASL_USERNAME, CONST_PERSISTENT); #endif #if defined(ORALDAP) - REGISTER_LONG_CONSTANT("GSLC_SSL_NO_AUTH", GSLC_SSL_NO_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GSLC_SSL_NO_AUTH", GSLC_SSL_NO_AUTH, CONST_PERSISTENT); #endif #if defined(ORALDAP) - REGISTER_LONG_CONSTANT("GSLC_SSL_ONEWAY_AUTH", GSLC_SSL_ONEWAY_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GSLC_SSL_ONEWAY_AUTH", GSLC_SSL_ONEWAY_AUTH, CONST_PERSISTENT); #endif #if defined(ORALDAP) - REGISTER_LONG_CONSTANT("GSLC_SSL_TWOWAY_AUTH", GSLC_SSL_TWOWAY_AUTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GSLC_SSL_TWOWAY_AUTH", GSLC_SSL_TWOWAY_AUTH, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_REQUIRE_CERT", LDAP_OPT_X_TLS_REQUIRE_CERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_REQUIRE_CERT", LDAP_OPT_X_TLS_REQUIRE_CERT, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_NEVER", LDAP_OPT_X_TLS_NEVER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_NEVER", LDAP_OPT_X_TLS_NEVER, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_HARD", LDAP_OPT_X_TLS_HARD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_HARD", LDAP_OPT_X_TLS_HARD, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_DEMAND", LDAP_OPT_X_TLS_DEMAND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_DEMAND", LDAP_OPT_X_TLS_DEMAND, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_ALLOW", LDAP_OPT_X_TLS_ALLOW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_ALLOW", LDAP_OPT_X_TLS_ALLOW, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_TRY", LDAP_OPT_X_TLS_TRY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_TRY", LDAP_OPT_X_TLS_TRY, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CACERTDIR", LDAP_OPT_X_TLS_CACERTDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CACERTDIR", LDAP_OPT_X_TLS_CACERTDIR, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CACERTFILE", LDAP_OPT_X_TLS_CACERTFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CACERTFILE", LDAP_OPT_X_TLS_CACERTFILE, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CERTFILE", LDAP_OPT_X_TLS_CERTFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CERTFILE", LDAP_OPT_X_TLS_CERTFILE, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CIPHER_SUITE", LDAP_OPT_X_TLS_CIPHER_SUITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CIPHER_SUITE", LDAP_OPT_X_TLS_CIPHER_SUITE, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_KEYFILE", LDAP_OPT_X_TLS_KEYFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_KEYFILE", LDAP_OPT_X_TLS_KEYFILE, CONST_PERSISTENT); #endif #if (LDAP_API_VERSION > 2000) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_RANDOM_FILE", LDAP_OPT_X_TLS_RANDOM_FILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_RANDOM_FILE", LDAP_OPT_X_TLS_RANDOM_FILE, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_CRLCHECK) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRLCHECK", LDAP_OPT_X_TLS_CRLCHECK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRLCHECK", LDAP_OPT_X_TLS_CRLCHECK, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_CRLCHECK) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_NONE", LDAP_OPT_X_TLS_CRL_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_NONE", LDAP_OPT_X_TLS_CRL_NONE, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_CRLCHECK) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_PEER", LDAP_OPT_X_TLS_CRL_PEER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_PEER", LDAP_OPT_X_TLS_CRL_PEER, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_CRLCHECK) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_ALL", LDAP_OPT_X_TLS_CRL_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_ALL", LDAP_OPT_X_TLS_CRL_ALL, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_DHFILE) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_DHFILE", LDAP_OPT_X_TLS_DHFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_DHFILE", LDAP_OPT_X_TLS_DHFILE, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_CRLFILE) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRLFILE", LDAP_OPT_X_TLS_CRLFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRLFILE", LDAP_OPT_X_TLS_CRLFILE, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_MIN", LDAP_OPT_X_TLS_PROTOCOL_MIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_MIN", LDAP_OPT_X_TLS_PROTOCOL_MIN, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_SSL2", LDAP_OPT_X_TLS_PROTOCOL_SSL2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_SSL2", LDAP_OPT_X_TLS_PROTOCOL_SSL2, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_SSL3", LDAP_OPT_X_TLS_PROTOCOL_SSL3, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_SSL3", LDAP_OPT_X_TLS_PROTOCOL_SSL3, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_0", LDAP_OPT_X_TLS_PROTOCOL_TLS1_0, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_0", LDAP_OPT_X_TLS_PROTOCOL_TLS1_0, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_1", LDAP_OPT_X_TLS_PROTOCOL_TLS1_1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_1", LDAP_OPT_X_TLS_PROTOCOL_TLS1_1, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_2", LDAP_OPT_X_TLS_PROTOCOL_TLS1_2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_2", LDAP_OPT_X_TLS_PROTOCOL_TLS1_2, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_TLS_PACKAGE) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PACKAGE", LDAP_OPT_X_TLS_PACKAGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PACKAGE", LDAP_OPT_X_TLS_PACKAGE, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_KEEPALIVE_IDLE) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_IDLE", LDAP_OPT_X_KEEPALIVE_IDLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_IDLE", LDAP_OPT_X_KEEPALIVE_IDLE, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_KEEPALIVE_IDLE) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_PROBES", LDAP_OPT_X_KEEPALIVE_PROBES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_PROBES", LDAP_OPT_X_KEEPALIVE_PROBES, CONST_PERSISTENT); #endif #if defined(LDAP_OPT_X_KEEPALIVE_IDLE) - REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_INTERVAL", LDAP_OPT_X_KEEPALIVE_INTERVAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_INTERVAL", LDAP_OPT_X_KEEPALIVE_INTERVAL, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("LDAP_ESCAPE_FILTER", PHP_LDAP_ESCAPE_FILTER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LDAP_ESCAPE_DN", PHP_LDAP_ESCAPE_DN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_ESCAPE_FILTER", PHP_LDAP_ESCAPE_FILTER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LDAP_ESCAPE_DN", PHP_LDAP_ESCAPE_DN, CONST_PERSISTENT); #if defined(HAVE_LDAP_EXTENDED_OPERATION_S) - REGISTER_STRING_CONSTANT("LDAP_EXOP_START_TLS", LDAP_EXOP_START_TLS, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_EXOP_START_TLS", LDAP_EXOP_START_TLS, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_EXTENDED_OPERATION_S) - REGISTER_STRING_CONSTANT("LDAP_EXOP_MODIFY_PASSWD", LDAP_EXOP_MODIFY_PASSWD, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_EXOP_MODIFY_PASSWD", LDAP_EXOP_MODIFY_PASSWD, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_EXTENDED_OPERATION_S) - REGISTER_STRING_CONSTANT("LDAP_EXOP_REFRESH", LDAP_EXOP_REFRESH, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_EXOP_REFRESH", LDAP_EXOP_REFRESH, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_EXTENDED_OPERATION_S) - REGISTER_STRING_CONSTANT("LDAP_EXOP_WHO_AM_I", LDAP_EXOP_WHO_AM_I, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_EXOP_WHO_AM_I", LDAP_EXOP_WHO_AM_I, CONST_PERSISTENT); #endif #if defined(HAVE_LDAP_EXTENDED_OPERATION_S) - REGISTER_STRING_CONSTANT("LDAP_EXOP_TURN", LDAP_EXOP_TURN, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_EXOP_TURN", LDAP_EXOP_TURN, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_MANAGEDSAIT) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_MANAGEDSAIT", LDAP_CONTROL_MANAGEDSAIT, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_MANAGEDSAIT", LDAP_CONTROL_MANAGEDSAIT, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_PROXY_AUTHZ) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_PROXY_AUTHZ", LDAP_CONTROL_PROXY_AUTHZ, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_PROXY_AUTHZ", LDAP_CONTROL_PROXY_AUTHZ, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_SUBENTRIES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_SUBENTRIES", LDAP_CONTROL_SUBENTRIES, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_SUBENTRIES", LDAP_CONTROL_SUBENTRIES, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_VALUESRETURNFILTER) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_VALUESRETURNFILTER", LDAP_CONTROL_VALUESRETURNFILTER, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_VALUESRETURNFILTER", LDAP_CONTROL_VALUESRETURNFILTER, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_ASSERT) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_ASSERT", LDAP_CONTROL_ASSERT, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_ASSERT", LDAP_CONTROL_ASSERT, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_ASSERT) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_PRE_READ", LDAP_CONTROL_PRE_READ, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_PRE_READ", LDAP_CONTROL_PRE_READ, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_ASSERT) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_POST_READ", LDAP_CONTROL_POST_READ, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_POST_READ", LDAP_CONTROL_POST_READ, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_SORTREQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_SORTREQUEST", LDAP_CONTROL_SORTREQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_SORTREQUEST", LDAP_CONTROL_SORTREQUEST, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_SORTREQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_SORTRESPONSE", LDAP_CONTROL_SORTRESPONSE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_SORTRESPONSE", LDAP_CONTROL_SORTRESPONSE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_PAGEDRESULTS) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_PAGEDRESULTS", LDAP_CONTROL_PAGEDRESULTS, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_PAGEDRESULTS", LDAP_CONTROL_PAGEDRESULTS, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_AUTHZID_REQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_AUTHZID_REQUEST", LDAP_CONTROL_AUTHZID_REQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_AUTHZID_REQUEST", LDAP_CONTROL_AUTHZID_REQUEST, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_AUTHZID_REQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_AUTHZID_RESPONSE", LDAP_CONTROL_AUTHZID_RESPONSE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_AUTHZID_RESPONSE", LDAP_CONTROL_AUTHZID_RESPONSE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_SYNC) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC", LDAP_CONTROL_SYNC, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC", LDAP_CONTROL_SYNC, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_SYNC) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC_STATE", LDAP_CONTROL_SYNC_STATE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC_STATE", LDAP_CONTROL_SYNC_STATE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_SYNC) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC_DONE", LDAP_CONTROL_SYNC_DONE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC_DONE", LDAP_CONTROL_SYNC_DONE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_DONTUSECOPY) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_DONTUSECOPY", LDAP_CONTROL_DONTUSECOPY, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_DONTUSECOPY", LDAP_CONTROL_DONTUSECOPY, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_PASSWORDPOLICYREQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_PASSWORDPOLICYREQUEST", LDAP_CONTROL_PASSWORDPOLICYREQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_PASSWORDPOLICYREQUEST", LDAP_CONTROL_PASSWORDPOLICYREQUEST, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_PASSWORDPOLICYREQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_PASSWORDPOLICYRESPONSE", LDAP_CONTROL_PASSWORDPOLICYRESPONSE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_PASSWORDPOLICYRESPONSE", LDAP_CONTROL_PASSWORDPOLICYRESPONSE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_INCREMENTAL_VALUES", LDAP_CONTROL_X_INCREMENTAL_VALUES, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_INCREMENTAL_VALUES", LDAP_CONTROL_X_INCREMENTAL_VALUES, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_DOMAIN_SCOPE", LDAP_CONTROL_X_DOMAIN_SCOPE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_DOMAIN_SCOPE", LDAP_CONTROL_X_DOMAIN_SCOPE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_PERMISSIVE_MODIFY", LDAP_CONTROL_X_PERMISSIVE_MODIFY, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_PERMISSIVE_MODIFY", LDAP_CONTROL_X_PERMISSIVE_MODIFY, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_SEARCH_OPTIONS", LDAP_CONTROL_X_SEARCH_OPTIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_SEARCH_OPTIONS", LDAP_CONTROL_X_SEARCH_OPTIONS, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_TREE_DELETE", LDAP_CONTROL_X_TREE_DELETE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_TREE_DELETE", LDAP_CONTROL_X_TREE_DELETE, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_EXTENDED_DN", LDAP_CONTROL_X_EXTENDED_DN, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_EXTENDED_DN", LDAP_CONTROL_X_EXTENDED_DN, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_VLVREQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_VLVREQUEST", LDAP_CONTROL_VLVREQUEST, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_VLVREQUEST", LDAP_CONTROL_VLVREQUEST, CONST_PERSISTENT); #endif #if defined(LDAP_CONTROL_VLVREQUEST) - REGISTER_STRING_CONSTANT("LDAP_CONTROL_VLVRESPONSE", LDAP_CONTROL_VLVRESPONSE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LDAP_CONTROL_VLVRESPONSE", LDAP_CONTROL_VLVRESPONSE, CONST_PERSISTENT); #endif #if defined(HAVE_ORALDAP) diff --git a/ext/libxml/libxml_arginfo.h b/ext/libxml/libxml_arginfo.h index 09ba9fa5871a0..58ca8c7540cc4 100644 --- a/ext/libxml/libxml_arginfo.h +++ b/ext/libxml/libxml_arginfo.h @@ -54,41 +54,41 @@ static const zend_function_entry class_LibXMLError_methods[] = { static void register_libxml_symbols(int module_number) { - REGISTER_LONG_CONSTANT("LIBXML_VERSION", LIBXML_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("LIBXML_DOTTED_VERSION", LIBXML_DOTTED_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("LIBXML_LOADED_VERSION", PHP_LIBXML_LOADED_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NOENT", XML_PARSE_NOENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_DTDLOAD", XML_PARSE_DTDLOAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_DTDATTR", XML_PARSE_DTDATTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_DTDVALID", XML_PARSE_DTDVALID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NOERROR", XML_PARSE_NOERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NOWARNING", XML_PARSE_NOWARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NOBLANKS", XML_PARSE_NOBLANKS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_XINCLUDE", XML_PARSE_XINCLUDE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NSCLEAN", XML_PARSE_NSCLEAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NOCDATA", XML_PARSE_NOCDATA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NONET", XML_PARSE_NONET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_PEDANTIC", XML_PARSE_PEDANTIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_COMPACT", XML_PARSE_COMPACT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_NOXMLDECL", XML_SAVE_NO_DECL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_PARSEHUGE", XML_PARSE_HUGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_VERSION", LIBXML_VERSION, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LIBXML_DOTTED_VERSION", LIBXML_DOTTED_VERSION, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LIBXML_LOADED_VERSION", PHP_LIBXML_LOADED_VERSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOENT", XML_PARSE_NOENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_DTDLOAD", XML_PARSE_DTDLOAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_DTDATTR", XML_PARSE_DTDATTR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_DTDVALID", XML_PARSE_DTDVALID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOERROR", XML_PARSE_NOERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOWARNING", XML_PARSE_NOWARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOBLANKS", XML_PARSE_NOBLANKS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_XINCLUDE", XML_PARSE_XINCLUDE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NSCLEAN", XML_PARSE_NSCLEAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOCDATA", XML_PARSE_NOCDATA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NONET", XML_PARSE_NONET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_PEDANTIC", XML_PARSE_PEDANTIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_COMPACT", XML_PARSE_COMPACT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOXMLDECL", XML_SAVE_NO_DECL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_PARSEHUGE", XML_PARSE_HUGE, CONST_PERSISTENT); #if LIBXML_VERSION >= 20900 - REGISTER_LONG_CONSTANT("LIBXML_BIGLINES", XML_PARSE_BIG_LINES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_BIGLINES", XML_PARSE_BIG_LINES, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("LIBXML_NOEMPTYTAG", LIBXML_SAVE_NOEMPTYTAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_NOEMPTYTAG", LIBXML_SAVE_NOEMPTYTAG, CONST_PERSISTENT); #if defined(LIBXML_SCHEMAS_ENABLED) - REGISTER_LONG_CONSTANT("LIBXML_SCHEMA_CREATE", XML_SCHEMA_VAL_VC_I_CREATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_SCHEMA_CREATE", XML_SCHEMA_VAL_VC_I_CREATE, CONST_PERSISTENT); #endif #if LIBXML_VERSION >= 20707 - REGISTER_LONG_CONSTANT("LIBXML_HTML_NOIMPLIED", HTML_PARSE_NOIMPLIED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_HTML_NOIMPLIED", HTML_PARSE_NOIMPLIED, CONST_PERSISTENT); #endif #if LIBXML_VERSION >= 20708 - REGISTER_LONG_CONSTANT("LIBXML_HTML_NODEFDTD", HTML_PARSE_NODEFDTD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_HTML_NODEFDTD", HTML_PARSE_NODEFDTD, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("LIBXML_ERR_NONE", XML_ERR_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_ERR_WARNING", XML_ERR_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_ERR_ERROR", XML_ERR_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXML_ERR_FATAL", XML_ERR_FATAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_ERR_NONE", XML_ERR_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_ERR_WARNING", XML_ERR_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_ERR_ERROR", XML_ERR_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXML_ERR_FATAL", XML_ERR_FATAL, CONST_PERSISTENT); } static zend_class_entry *register_class_LibXMLError(void) diff --git a/ext/mbstring/mbstring_arginfo.h b/ext/mbstring/mbstring_arginfo.h index ea1b749873eb0..3bf10789e0d6c 100644 --- a/ext/mbstring/mbstring_arginfo.h +++ b/ext/mbstring/mbstring_arginfo.h @@ -494,14 +494,14 @@ static const zend_function_entry ext_functions[] = { static void register_mbstring_symbols(int module_number) { #if defined(HAVE_MBREGEX) - REGISTER_STRING_CONSTANT("MB_ONIGURUMA_VERSION", php_mb_oniguruma_version, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("MB_CASE_UPPER", PHP_UNICODE_CASE_UPPER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_LOWER", PHP_UNICODE_CASE_LOWER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_TITLE", PHP_UNICODE_CASE_TITLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_FOLD", PHP_UNICODE_CASE_FOLD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_UPPER_SIMPLE", PHP_UNICODE_CASE_UPPER_SIMPLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_LOWER_SIMPLE", PHP_UNICODE_CASE_LOWER_SIMPLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_TITLE_SIMPLE", PHP_UNICODE_CASE_TITLE_SIMPLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MB_CASE_FOLD_SIMPLE", PHP_UNICODE_CASE_FOLD_SIMPLE, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("MB_ONIGURUMA_VERSION", php_mb_oniguruma_version, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("MB_CASE_UPPER", PHP_UNICODE_CASE_UPPER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_LOWER", PHP_UNICODE_CASE_LOWER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_TITLE", PHP_UNICODE_CASE_TITLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_FOLD", PHP_UNICODE_CASE_FOLD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_UPPER_SIMPLE", PHP_UNICODE_CASE_UPPER_SIMPLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_LOWER_SIMPLE", PHP_UNICODE_CASE_LOWER_SIMPLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_TITLE_SIMPLE", PHP_UNICODE_CASE_TITLE_SIMPLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MB_CASE_FOLD_SIMPLE", PHP_UNICODE_CASE_FOLD_SIMPLE, CONST_PERSISTENT); } diff --git a/ext/mysqli/mysqli_arginfo.h b/ext/mysqli/mysqli_arginfo.h index 3efc9c6a19471..7252c8bee8d05 100644 --- a/ext/mysqli/mysqli_arginfo.h +++ b/ext/mysqli/mysqli_arginfo.h @@ -1045,134 +1045,134 @@ static const zend_function_entry class_mysqli_sql_exception_methods[] = { static void register_mysqli_symbols(int module_number) { - REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_GROUP", MYSQL_READ_DEFAULT_GROUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_FILE", MYSQL_READ_DEFAULT_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_CONNECT_TIMEOUT", MYSQL_OPT_CONNECT_TIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOCAL_INFILE", MYSQL_OPT_LOCAL_INFILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOAD_DATA_LOCAL_DIR", MYSQL_OPT_LOAD_DATA_LOCAL_DIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_INIT_COMMAND", MYSQL_INIT_COMMAND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_READ_TIMEOUT", MYSQL_OPT_READ_TIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_CMD_BUFFER_SIZE", MYSQLND_OPT_NET_CMD_BUFFER_SIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_READ_BUFFER_SIZE", MYSQLND_OPT_NET_READ_BUFFER_SIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_FLOAT_NATIVE", MYSQLND_OPT_INT_AND_FLOAT_NATIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_SSL_VERIFY_SERVER_CERT", MYSQL_OPT_SSL_VERIFY_SERVER_CERT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PUBLIC_KEY", MYSQL_SERVER_PUBLIC_KEY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL", CLIENT_SSL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_COMPRESS", CLIENT_COMPRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_FOUND_ROWS", CLIENT_FOUND_ROWS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_GROUP", MYSQL_READ_DEFAULT_GROUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_FILE", MYSQL_READ_DEFAULT_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_CONNECT_TIMEOUT", MYSQL_OPT_CONNECT_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOCAL_INFILE", MYSQL_OPT_LOCAL_INFILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOAD_DATA_LOCAL_DIR", MYSQL_OPT_LOAD_DATA_LOCAL_DIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_INIT_COMMAND", MYSQL_INIT_COMMAND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_READ_TIMEOUT", MYSQL_OPT_READ_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_CMD_BUFFER_SIZE", MYSQLND_OPT_NET_CMD_BUFFER_SIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_READ_BUFFER_SIZE", MYSQLND_OPT_NET_READ_BUFFER_SIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_FLOAT_NATIVE", MYSQLND_OPT_INT_AND_FLOAT_NATIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_SSL_VERIFY_SERVER_CERT", MYSQL_OPT_SSL_VERIFY_SERVER_CERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PUBLIC_KEY", MYSQL_SERVER_PUBLIC_KEY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL", CLIENT_SSL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_COMPRESS", CLIENT_COMPRESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_FOUND_ROWS", CLIENT_FOUND_ROWS, CONST_PERSISTENT); #if defined(CLIENT_SSL_VERIFY_SERVER_CERT) - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT", CLIENT_SSL_VERIFY_SERVER_CERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT", CLIENT_SSL_VERIFY_SERVER_CERT, CONST_PERSISTENT); #endif #if defined(CLIENT_SSL_VERIFY_SERVER_CERT) - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT", CLIENT_SSL_DONT_VERIFY_SERVER_CERT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT", CLIENT_SSL_DONT_VERIFY_SERVER_CERT, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS", CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT", MYSQLI_STORE_RESULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_USE_RESULT", MYSQLI_USE_RESULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_ASYNC", MYSQLI_ASYNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT_COPY_DATA", MYSQLI_STORE_RESULT_COPY_DATA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_ASSOC", MYSQLI_ASSOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_NUM", MYSQLI_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_BOTH", MYSQLI_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH", STMT_ATTR_UPDATE_MAX_LENGTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_CURSOR_TYPE", STMT_ATTR_CURSOR_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_NO_CURSOR", CURSOR_TYPE_NO_CURSOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_READ_ONLY", CURSOR_TYPE_READ_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_FOR_UPDATE", CURSOR_TYPE_FOR_UPDATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_SCROLLABLE", CURSOR_TYPE_SCROLLABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_PREFETCH_ROWS", STMT_ATTR_PREFETCH_ROWS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_NOT_NULL_FLAG", NOT_NULL_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_PRI_KEY_FLAG", PRI_KEY_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_UNIQUE_KEY_FLAG", UNIQUE_KEY_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_MULTIPLE_KEY_FLAG", MULTIPLE_KEY_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_BLOB_FLAG", BLOB_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_UNSIGNED_FLAG", UNSIGNED_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_ZEROFILL_FLAG", ZEROFILL_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_AUTO_INCREMENT_FLAG", AUTO_INCREMENT_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TIMESTAMP_FLAG", TIMESTAMP_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_SET_FLAG", SET_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_NUM_FLAG", NUM_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_PART_KEY_FLAG", PART_KEY_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_GROUP_FLAG", GROUP_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_ENUM_FLAG", ENUM_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_BINARY_FLAG", BINARY_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_NO_DEFAULT_VALUE_FLAG", NO_DEFAULT_VALUE_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DECIMAL", FIELD_TYPE_DECIMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY", FIELD_TYPE_TINY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SHORT", FIELD_TYPE_SHORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG", FIELD_TYPE_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_FLOAT", FIELD_TYPE_FLOAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DOUBLE", FIELD_TYPE_DOUBLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NULL", FIELD_TYPE_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIMESTAMP", FIELD_TYPE_TIMESTAMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONGLONG", FIELD_TYPE_LONGLONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INT24", FIELD_TYPE_INT24, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATE", FIELD_TYPE_DATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIME", FIELD_TYPE_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATETIME", FIELD_TYPE_DATETIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_YEAR", FIELD_TYPE_YEAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDATE", FIELD_TYPE_NEWDATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_ENUM", FIELD_TYPE_ENUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SET", FIELD_TYPE_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY_BLOB", FIELD_TYPE_TINY_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_MEDIUM_BLOB", FIELD_TYPE_MEDIUM_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG_BLOB", FIELD_TYPE_LONG_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BLOB", FIELD_TYPE_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_VAR_STRING", FIELD_TYPE_VAR_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_STRING", FIELD_TYPE_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_CHAR", FIELD_TYPE_CHAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INTERVAL", FIELD_TYPE_INTERVAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_GEOMETRY", FIELD_TYPE_GEOMETRY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS", CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT", MYSQLI_STORE_RESULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_USE_RESULT", MYSQLI_USE_RESULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_ASYNC", MYSQLI_ASYNC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT_COPY_DATA", MYSQLI_STORE_RESULT_COPY_DATA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_ASSOC", MYSQLI_ASSOC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_NUM", MYSQLI_NUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_BOTH", MYSQLI_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH", STMT_ATTR_UPDATE_MAX_LENGTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_CURSOR_TYPE", STMT_ATTR_CURSOR_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_NO_CURSOR", CURSOR_TYPE_NO_CURSOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_READ_ONLY", CURSOR_TYPE_READ_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_FOR_UPDATE", CURSOR_TYPE_FOR_UPDATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_SCROLLABLE", CURSOR_TYPE_SCROLLABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_PREFETCH_ROWS", STMT_ATTR_PREFETCH_ROWS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_NOT_NULL_FLAG", NOT_NULL_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_PRI_KEY_FLAG", PRI_KEY_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_UNIQUE_KEY_FLAG", UNIQUE_KEY_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_MULTIPLE_KEY_FLAG", MULTIPLE_KEY_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_BLOB_FLAG", BLOB_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_UNSIGNED_FLAG", UNSIGNED_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_ZEROFILL_FLAG", ZEROFILL_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_AUTO_INCREMENT_FLAG", AUTO_INCREMENT_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TIMESTAMP_FLAG", TIMESTAMP_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_SET_FLAG", SET_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_NUM_FLAG", NUM_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_PART_KEY_FLAG", PART_KEY_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_GROUP_FLAG", GROUP_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_ENUM_FLAG", ENUM_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_BINARY_FLAG", BINARY_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_NO_DEFAULT_VALUE_FLAG", NO_DEFAULT_VALUE_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DECIMAL", FIELD_TYPE_DECIMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY", FIELD_TYPE_TINY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SHORT", FIELD_TYPE_SHORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG", FIELD_TYPE_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_FLOAT", FIELD_TYPE_FLOAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DOUBLE", FIELD_TYPE_DOUBLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NULL", FIELD_TYPE_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIMESTAMP", FIELD_TYPE_TIMESTAMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONGLONG", FIELD_TYPE_LONGLONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INT24", FIELD_TYPE_INT24, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATE", FIELD_TYPE_DATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIME", FIELD_TYPE_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATETIME", FIELD_TYPE_DATETIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_YEAR", FIELD_TYPE_YEAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDATE", FIELD_TYPE_NEWDATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_ENUM", FIELD_TYPE_ENUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SET", FIELD_TYPE_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY_BLOB", FIELD_TYPE_TINY_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_MEDIUM_BLOB", FIELD_TYPE_MEDIUM_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG_BLOB", FIELD_TYPE_LONG_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BLOB", FIELD_TYPE_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_VAR_STRING", FIELD_TYPE_VAR_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_STRING", FIELD_TYPE_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_CHAR", FIELD_TYPE_CHAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INTERVAL", FIELD_TYPE_INTERVAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_GEOMETRY", FIELD_TYPE_GEOMETRY, CONST_PERSISTENT); #if defined(FIELD_TYPE_JSON) - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_JSON", FIELD_TYPE_JSON, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_JSON", FIELD_TYPE_JSON, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDECIMAL", FIELD_TYPE_NEWDECIMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BIT", FIELD_TYPE_BIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_DIR", MYSQL_SET_CHARSET_DIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDECIMAL", FIELD_TYPE_NEWDECIMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BIT", FIELD_TYPE_BIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_DIR", MYSQL_SET_CHARSET_DIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_PERSISTENT | CONST_DEPRECATED); #if defined(MYSQL_DATA_TRUNCATED) - REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATED", MYSQL_DATA_TRUNCATED, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATED", MYSQL_DATA_TRUNCATED, CONST_PERSISTENT | CONST_DEPRECATED); #endif - REGISTER_LONG_CONSTANT("MYSQLI_REPORT_INDEX", MYSQLI_REPORT_INDEX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ERROR", MYSQLI_REPORT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REPORT_STRICT", MYSQLI_REPORT_STRICT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ALL", MYSQLI_REPORT_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REPORT_OFF", MYSQLI_REPORT_OFF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", MYSQLND_DBG_ENABLED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_REPORT_INDEX", MYSQLI_REPORT_INDEX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ERROR", MYSQLI_REPORT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REPORT_STRICT", MYSQLI_REPORT_STRICT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ALL", MYSQLI_REPORT_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REPORT_OFF", MYSQLI_REPORT_OFF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", MYSQLND_DBG_ENABLED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_PERSISTENT | CONST_DEPRECATED); #if defined(SERVER_QUERY_WAS_SLOW) - REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_PERSISTENT | CONST_DEPRECATED); #endif #if defined(SERVER_PS_OUT_PARAMS) - REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PS_OUT_PARAMS", SERVER_PS_OUT_PARAMS, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PS_OUT_PARAMS", SERVER_PS_OUT_PARAMS, CONST_PERSISTENT | CONST_DEPRECATED); #endif - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_GRANT", REFRESH_GRANT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_LOG", REFRESH_LOG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_TABLES", REFRESH_TABLES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_HOSTS", REFRESH_HOSTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_STATUS", REFRESH_STATUS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_THREADS", REFRESH_THREADS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_REPLICA", REFRESH_SLAVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_SLAVE", REFRESH_SLAVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_MASTER", REFRESH_MASTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_GRANT", REFRESH_GRANT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_LOG", REFRESH_LOG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_TABLES", REFRESH_TABLES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_HOSTS", REFRESH_HOSTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_STATUS", REFRESH_STATUS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_THREADS", REFRESH_THREADS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_REPLICA", REFRESH_SLAVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_SLAVE", REFRESH_SLAVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_MASTER", REFRESH_MASTER, CONST_PERSISTENT); #if defined(REFRESH_BACKUP_LOG) - REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT", TRANS_START_WITH_CONSISTENT_SNAPSHOT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_WRITE", TRANS_START_READ_WRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_ONLY", TRANS_START_READ_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_CHAIN", TRANS_COR_AND_CHAIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_NO_CHAIN", TRANS_COR_AND_NO_CHAIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_RELEASE", TRANS_COR_RELEASE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_NO_RELEASE", TRANS_COR_NO_RELEASE, CONST_CS | CONST_PERSISTENT); - REGISTER_BOOL_CONSTANT("MYSQLI_IS_MARIADB", false, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT", TRANS_START_WITH_CONSISTENT_SNAPSHOT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_WRITE", TRANS_START_READ_WRITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_ONLY", TRANS_START_READ_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_CHAIN", TRANS_COR_AND_CHAIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_NO_CHAIN", TRANS_COR_AND_NO_CHAIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_RELEASE", TRANS_COR_RELEASE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_NO_RELEASE", TRANS_COR_NO_RELEASE, CONST_PERSISTENT); + REGISTER_BOOL_CONSTANT("MYSQLI_IS_MARIADB", false, CONST_PERSISTENT | CONST_DEPRECATED); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "mysqli_change_user", sizeof("mysqli_change_user") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/oci8/oci8_arginfo.h b/ext/oci8/oci8_arginfo.h index ed505117e385a..a6869afd2e64b 100644 --- a/ext/oci8/oci8_arginfo.h +++ b/ext/oci8/oci8_arginfo.h @@ -801,83 +801,83 @@ static const zend_function_entry class_OCICollection_methods[] = { static void register_oci8_symbols(int module_number) { - REGISTER_LONG_CONSTANT("OCI_DEFAULT", OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SYSOPER", OCI_SYSOPER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SYSDBA", OCI_SYSDBA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_CRED_EXT", PHP_OCI_CRED_EXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DESCRIBE_ONLY", OCI_DESCRIBE_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_COMMIT_ON_SUCCESS", OCI_COMMIT_ON_SUCCESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_NO_AUTO_COMMIT", OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_EXACT_FETCH", OCI_EXACT_FETCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SEEK_SET", PHP_OCI_SEEK_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SEEK_CUR", PHP_OCI_SEEK_CUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_SEEK_END", PHP_OCI_SEEK_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_LOB_BUFFER_FREE", OCI_LOB_BUFFER_FREE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BFILEE", SQLT_BFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_CFILEE", SQLT_CFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_CLOB", SQLT_CLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BLOB", SQLT_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_RDD", SQLT_RDD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_INT", SQLT_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_NUM", SQLT_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_RSET", SQLT_RSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_AFC", SQLT_AFC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_CHR", SQLT_CHR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_VCS", SQLT_VCS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_AVC", SQLT_AVC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_STR", SQLT_STR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_LVC", SQLT_LVC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_FLT", SQLT_FLT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_UIN", SQLT_UIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_LNG", SQLT_LNG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_LBI", SQLT_LBI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BIN", SQLT_BIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_ODT", SQLT_ODT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BDOUBLE", SQLT_BDOUBLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_BFLOAT", SQLT_BFLOAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DEFAULT", OCI_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SYSOPER", OCI_SYSOPER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SYSDBA", OCI_SYSDBA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_CRED_EXT", PHP_OCI_CRED_EXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DESCRIBE_ONLY", OCI_DESCRIBE_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_COMMIT_ON_SUCCESS", OCI_COMMIT_ON_SUCCESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_NO_AUTO_COMMIT", OCI_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_EXACT_FETCH", OCI_EXACT_FETCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SEEK_SET", PHP_OCI_SEEK_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SEEK_CUR", PHP_OCI_SEEK_CUR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_SEEK_END", PHP_OCI_SEEK_END, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_LOB_BUFFER_FREE", OCI_LOB_BUFFER_FREE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BFILEE", SQLT_BFILEE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_CFILEE", SQLT_CFILEE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_CLOB", SQLT_CLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BLOB", SQLT_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_RDD", SQLT_RDD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_INT", SQLT_INT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_NUM", SQLT_NUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_RSET", SQLT_RSET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_AFC", SQLT_AFC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_CHR", SQLT_CHR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_VCS", SQLT_VCS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_AVC", SQLT_AVC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_STR", SQLT_STR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_LVC", SQLT_LVC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_FLT", SQLT_FLT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_UIN", SQLT_UIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_LNG", SQLT_LNG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_LBI", SQLT_LBI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BIN", SQLT_BIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_ODT", SQLT_ODT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BDOUBLE", SQLT_BDOUBLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BFLOAT", SQLT_BFLOAT, CONST_PERSISTENT); #if OCI_MAJOR_VERSION >= 12 - REGISTER_LONG_CONSTANT("SQLT_BOL", SQLT_BOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_BOL", SQLT_BOL, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OCI_B_NTY", SQLT_NTY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLT_NTY", SQLT_NTY, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("OCI_SYSDATE", "SYSDATE", CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_BFILE", SQLT_BFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_CFILEE", SQLT_CFILEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_CLOB", SQLT_CLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_BLOB", SQLT_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_ROWID", SQLT_RDD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_CURSOR", SQLT_RSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_BIN", SQLT_BIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_INT", SQLT_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_B_NUM", SQLT_NUM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_NTY", SQLT_NTY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLT_NTY", SQLT_NTY, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("OCI_SYSDATE", "SYSDATE", CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BFILE", SQLT_BFILEE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_CFILEE", SQLT_CFILEE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_CLOB", SQLT_CLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BLOB", SQLT_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_ROWID", SQLT_RDD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_CURSOR", SQLT_RSET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BIN", SQLT_BIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_INT", SQLT_INT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_NUM", SQLT_NUM, CONST_PERSISTENT); #if OCI_MAJOR_VERSION >= 12 - REGISTER_LONG_CONSTANT("OCI_B_BOL", SQLT_BOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_B_BOL", SQLT_BOL, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_COLUMN", PHP_OCI_FETCHSTATEMENT_BY_COLUMN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_ROW", PHP_OCI_FETCHSTATEMENT_BY_ROW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_ASSOC", PHP_OCI_ASSOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_NUM", PHP_OCI_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_BOTH", PHP_OCI_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_RETURN_NULLS", PHP_OCI_RETURN_NULLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_RETURN_LOBS", PHP_OCI_RETURN_LOBS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DTYPE_FILE", OCI_DTYPE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DTYPE_LOB", OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_DTYPE_ROWID", OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_D_FILE", OCI_DTYPE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_D_LOB", OCI_DTYPE_LOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_D_ROWID", OCI_DTYPE_ROWID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_TEMP_CLOB", OCI_TEMP_CLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_TEMP_BLOB", OCI_TEMP_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_END", OCI_FO_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_ABORT", OCI_FO_ABORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_REAUTH", OCI_FO_REAUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_BEGIN", OCI_FO_BEGIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_ERROR", OCI_FO_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_NONE", OCI_FO_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_SESSION", OCI_FO_SESSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_SELECT", OCI_FO_SELECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_TXNAL", OCI_FO_TXNAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OCI_FO_RETRY", OCI_FO_RETRY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_COLUMN", PHP_OCI_FETCHSTATEMENT_BY_COLUMN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FETCHSTATEMENT_BY_ROW", PHP_OCI_FETCHSTATEMENT_BY_ROW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_ASSOC", PHP_OCI_ASSOC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_NUM", PHP_OCI_NUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_BOTH", PHP_OCI_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_RETURN_NULLS", PHP_OCI_RETURN_NULLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_RETURN_LOBS", PHP_OCI_RETURN_LOBS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DTYPE_FILE", OCI_DTYPE_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DTYPE_LOB", OCI_DTYPE_LOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_DTYPE_ROWID", OCI_DTYPE_ROWID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_D_FILE", OCI_DTYPE_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_D_LOB", OCI_DTYPE_LOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_D_ROWID", OCI_DTYPE_ROWID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_TEMP_CLOB", OCI_TEMP_CLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_TEMP_BLOB", OCI_TEMP_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_END", OCI_FO_END, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_ABORT", OCI_FO_ABORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_REAUTH", OCI_FO_REAUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_BEGIN", OCI_FO_BEGIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_ERROR", OCI_FO_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_NONE", OCI_FO_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_SESSION", OCI_FO_SESSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_SELECT", OCI_FO_SELECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_TXNAL", OCI_FO_TXNAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OCI_FO_RETRY", OCI_FO_RETRY, CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "oci_new_connect", sizeof("oci_new_connect") - 1), 1, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/odbc/odbc_arginfo.h b/ext/odbc/odbc_arginfo.h index 843376ada6a80..df3c7248f045e 100644 --- a/ext/odbc/odbc_arginfo.h +++ b/ext/odbc/odbc_arginfo.h @@ -394,96 +394,96 @@ static const zend_function_entry ext_functions[] = { static void register_odbc_symbols(int module_number) { - REGISTER_STRING_CONSTANT("ODBC_TYPE", PHP_ODBC_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", PHP_ODBC_BINMODE_PASSTHRU, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ODBC_BINMODE_RETURN", PHP_ODBC_BINMODE_RETURN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ODBC_BINMODE_CONVERT", PHP_ODBC_BINMODE_CONVERT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_ODBC_CURSORS", SQL_ODBC_CURSORS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CUR_USE_DRIVER", SQL_CUR_USE_DRIVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CUR_USE_IF_NEEDED", SQL_CUR_USE_IF_NEEDED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CUR_USE_ODBC", SQL_CUR_USE_ODBC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CONCURRENCY", SQL_CONCURRENCY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CONCUR_READ_ONLY", SQL_CONCUR_READ_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CONCUR_LOCK", SQL_CONCUR_LOCK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CONCUR_ROWVER", SQL_CONCUR_ROWVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CONCUR_VALUES", SQL_CONCUR_VALUES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CURSOR_TYPE", SQL_CURSOR_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CURSOR_FORWARD_ONLY", SQL_CURSOR_FORWARD_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CURSOR_KEYSET_DRIVEN", SQL_CURSOR_KEYSET_DRIVEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CURSOR_DYNAMIC", SQL_CURSOR_DYNAMIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CURSOR_STATIC", SQL_CURSOR_STATIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_KEYSET_SIZE", SQL_KEYSET_SIZE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_FETCH_FIRST", SQL_FETCH_FIRST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_FETCH_NEXT", SQL_FETCH_NEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_CHAR", SQL_CHAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_VARCHAR", SQL_VARCHAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_LONGVARCHAR", SQL_LONGVARCHAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_DECIMAL", SQL_DECIMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_NUMERIC", SQL_NUMERIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_BIT", SQL_BIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_TINYINT", SQL_TINYINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_SMALLINT", SQL_SMALLINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_INTEGER", SQL_INTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_BIGINT", SQL_BIGINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_REAL", SQL_REAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_FLOAT", SQL_FLOAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_DOUBLE", SQL_DOUBLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_BINARY", SQL_BINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_VARBINARY", SQL_VARBINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_LONGVARBINARY", SQL_LONGVARBINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_DATE", SQL_DATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_TIME", SQL_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQL_TIMESTAMP", SQL_TIMESTAMP, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("ODBC_TYPE", PHP_ODBC_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", PHP_ODBC_BINMODE_PASSTHRU, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ODBC_BINMODE_RETURN", PHP_ODBC_BINMODE_RETURN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ODBC_BINMODE_CONVERT", PHP_ODBC_BINMODE_CONVERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_ODBC_CURSORS", SQL_ODBC_CURSORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CUR_USE_DRIVER", SQL_CUR_USE_DRIVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CUR_USE_IF_NEEDED", SQL_CUR_USE_IF_NEEDED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CUR_USE_ODBC", SQL_CUR_USE_ODBC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CONCURRENCY", SQL_CONCURRENCY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CONCUR_READ_ONLY", SQL_CONCUR_READ_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CONCUR_LOCK", SQL_CONCUR_LOCK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CONCUR_ROWVER", SQL_CONCUR_ROWVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CONCUR_VALUES", SQL_CONCUR_VALUES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CURSOR_TYPE", SQL_CURSOR_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CURSOR_FORWARD_ONLY", SQL_CURSOR_FORWARD_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CURSOR_KEYSET_DRIVEN", SQL_CURSOR_KEYSET_DRIVEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CURSOR_DYNAMIC", SQL_CURSOR_DYNAMIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CURSOR_STATIC", SQL_CURSOR_STATIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_KEYSET_SIZE", SQL_KEYSET_SIZE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_FETCH_FIRST", SQL_FETCH_FIRST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_FETCH_NEXT", SQL_FETCH_NEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_CHAR", SQL_CHAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_VARCHAR", SQL_VARCHAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_LONGVARCHAR", SQL_LONGVARCHAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_DECIMAL", SQL_DECIMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_NUMERIC", SQL_NUMERIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_BIT", SQL_BIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_TINYINT", SQL_TINYINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_SMALLINT", SQL_SMALLINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_INTEGER", SQL_INTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_BIGINT", SQL_BIGINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_REAL", SQL_REAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_FLOAT", SQL_FLOAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_DOUBLE", SQL_DOUBLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_BINARY", SQL_BINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_VARBINARY", SQL_VARBINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_LONGVARBINARY", SQL_LONGVARBINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_DATE", SQL_DATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_TIME", SQL_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_TIMESTAMP", SQL_TIMESTAMP, CONST_PERSISTENT); #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_BEST_ROWID", SQL_BEST_ROWID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_BEST_ROWID", SQL_BEST_ROWID, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_ROWVER", SQL_ROWVER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_ROWVER", SQL_ROWVER, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_SCOPE_CURROW", SQL_SCOPE_CURROW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_SCOPE_CURROW", SQL_SCOPE_CURROW, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_SCOPE_TRANSACTION", SQL_SCOPE_TRANSACTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_SCOPE_TRANSACTION", SQL_SCOPE_TRANSACTION, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_SCOPE_SESSION", SQL_SCOPE_SESSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_SCOPE_SESSION", SQL_SCOPE_SESSION, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_NO_NULLS", SQL_NO_NULLS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_NO_NULLS", SQL_NO_NULLS, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_NULLABLE", SQL_NULLABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_NULLABLE", SQL_NULLABLE, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_INDEX_UNIQUE", SQL_INDEX_UNIQUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_INDEX_UNIQUE", SQL_INDEX_UNIQUE, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_INDEX_ALL", SQL_INDEX_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_INDEX_ALL", SQL_INDEX_ALL, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_ENSURE", SQL_ENSURE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_ENSURE", SQL_ENSURE, CONST_PERSISTENT); #endif #if defined(ODBCVER) && (ODBCVER >= 0x0300) - REGISTER_LONG_CONSTANT("SQL_QUICK", SQL_QUICK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQL_QUICK", SQL_QUICK, CONST_PERSISTENT); #endif diff --git a/ext/openssl/openssl_arginfo.h b/ext/openssl/openssl_arginfo.h index 21e39515ccc79..6813737c9ccf1 100644 --- a/ext/openssl/openssl_arginfo.h +++ b/ext/openssl/openssl_arginfo.h @@ -536,96 +536,96 @@ static const zend_function_entry class_OpenSSLAsymmetricKey_methods[] = { static void register_openssl_symbols(int module_number) { - REGISTER_STRING_CONSTANT("OPENSSL_VERSION_TEXT", OPENSSL_VERSION_TEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_VERSION_NUMBER", OPENSSL_VERSION_NUMBER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("X509_PURPOSE_SSL_CLIENT", X509_PURPOSE_SSL_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("X509_PURPOSE_SSL_SERVER", X509_PURPOSE_SSL_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("X509_PURPOSE_NS_SSL_SERVER", X509_PURPOSE_NS_SSL_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("X509_PURPOSE_SMIME_SIGN", X509_PURPOSE_SMIME_SIGN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("X509_PURPOSE_SMIME_ENCRYPT", X509_PURPOSE_SMIME_ENCRYPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("X509_PURPOSE_CRL_SIGN", X509_PURPOSE_CRL_SIGN, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("OPENSSL_VERSION_TEXT", OPENSSL_VERSION_TEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_VERSION_NUMBER", OPENSSL_VERSION_NUMBER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_SSL_CLIENT", X509_PURPOSE_SSL_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_SSL_SERVER", X509_PURPOSE_SSL_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_NS_SSL_SERVER", X509_PURPOSE_NS_SSL_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_SMIME_SIGN", X509_PURPOSE_SMIME_SIGN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_SMIME_ENCRYPT", X509_PURPOSE_SMIME_ENCRYPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_CRL_SIGN", X509_PURPOSE_CRL_SIGN, CONST_PERSISTENT); #if defined(X509_PURPOSE_ANY) - REGISTER_LONG_CONSTANT("X509_PURPOSE_ANY", X509_PURPOSE_ANY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("X509_PURPOSE_ANY", X509_PURPOSE_ANY, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA1", OPENSSL_ALGO_SHA1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD5", OPENSSL_ALGO_MD5, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD4", OPENSSL_ALGO_MD4, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA1", OPENSSL_ALGO_SHA1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD5", OPENSSL_ALGO_MD5, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD4", OPENSSL_ALGO_MD4, CONST_PERSISTENT); #if defined(HAVE_OPENSSL_MD2_H) - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_PERSISTENT); #endif #if PHP_OPENSSL_API_VERSION < 0x10100 - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA384", OPENSSL_ALGO_SHA384, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA512", OPENSSL_ALGO_SHA512, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_RMD160", OPENSSL_ALGO_RMD160, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_DETACHED", PKCS7_DETACHED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_TEXT", PKCS7_TEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_NOINTERN", PKCS7_NOINTERN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_NOVERIFY", PKCS7_NOVERIFY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_NOCHAIN", PKCS7_NOCHAIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_NOCERTS", PKCS7_NOCERTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_NOATTR", PKCS7_NOATTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_BINARY", PKCS7_BINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PKCS7_NOSIGS", PKCS7_NOSIGS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_DETACHED", CMS_DETACHED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_TEXT", CMS_TEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOINTERN", CMS_NOINTERN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOVERIFY", CMS_NOVERIFY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOCERTS", CMS_NOCERTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOATTR", CMS_NOATTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_BINARY", CMS_BINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOSIGS", CMS_NOSIGS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_PADDING", RSA_PKCS1_PADDING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA384", OPENSSL_ALGO_SHA384, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA512", OPENSSL_ALGO_SHA512, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ALGO_RMD160", OPENSSL_ALGO_RMD160, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_DETACHED", PKCS7_DETACHED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_TEXT", PKCS7_TEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_NOINTERN", PKCS7_NOINTERN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_NOVERIFY", PKCS7_NOVERIFY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_NOCHAIN", PKCS7_NOCHAIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_NOCERTS", PKCS7_NOCERTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_NOATTR", PKCS7_NOATTR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_BINARY", PKCS7_BINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PKCS7_NOSIGS", PKCS7_NOSIGS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_DETACHED", CMS_DETACHED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_TEXT", CMS_TEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOINTERN", CMS_NOINTERN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOVERIFY", CMS_NOVERIFY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOCERTS", CMS_NOCERTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOATTR", CMS_NOATTR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_BINARY", CMS_BINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOSIGS", CMS_NOSIGS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_PADDING", RSA_PKCS1_PADDING, CONST_PERSISTENT); #if defined(RSA_SSLV23_PADDING) - REGISTER_LONG_CONSTANT("OPENSSL_SSLV23_PADDING", RSA_SSLV23_PADDING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_SSLV23_PADDING", RSA_SSLV23_PADDING, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_NO_PADDING", RSA_NO_PADDING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_OAEP_PADDING", RSA_PKCS1_OAEP_PADDING, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("OPENSSL_DEFAULT_STREAM_CIPHERS", OPENSSL_DEFAULT_STREAM_CIPHERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_NO_PADDING", RSA_NO_PADDING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_OAEP_PADDING", RSA_PKCS1_OAEP_PADDING, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("OPENSSL_DEFAULT_STREAM_CIPHERS", OPENSSL_DEFAULT_STREAM_CIPHERS, CONST_PERSISTENT); #if !defined(OPENSSL_NO_RC2) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_40", PHP_OPENSSL_CIPHER_RC2_40, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_40", PHP_OPENSSL_CIPHER_RC2_40, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_RC2) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_128", PHP_OPENSSL_CIPHER_RC2_128, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_128", PHP_OPENSSL_CIPHER_RC2_128, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_RC2) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_64", PHP_OPENSSL_CIPHER_RC2_64, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_64", PHP_OPENSSL_CIPHER_RC2_64, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_DES) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_DES", PHP_OPENSSL_CIPHER_DES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_DES", PHP_OPENSSL_CIPHER_DES, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_DES) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_3DES", PHP_OPENSSL_CIPHER_3DES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_3DES", PHP_OPENSSL_CIPHER_3DES, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_AES) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_AES_128_CBC", PHP_OPENSSL_CIPHER_AES_128_CBC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_AES_128_CBC", PHP_OPENSSL_CIPHER_AES_128_CBC, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_AES) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_AES_192_CBC", PHP_OPENSSL_CIPHER_AES_192_CBC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_AES_192_CBC", PHP_OPENSSL_CIPHER_AES_192_CBC, CONST_PERSISTENT); #endif #if !defined(OPENSSL_NO_AES) - REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_AES_256_CBC", PHP_OPENSSL_CIPHER_AES_256_CBC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_AES_256_CBC", PHP_OPENSSL_CIPHER_AES_256_CBC, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_RSA", OPENSSL_KEYTYPE_RSA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_RSA", OPENSSL_KEYTYPE_RSA, CONST_PERSISTENT); #if !defined(NO_DSA) - REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DSA", OPENSSL_KEYTYPE_DSA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DSA", OPENSSL_KEYTYPE_DSA, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DH", OPENSSL_KEYTYPE_DH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DH", OPENSSL_KEYTYPE_DH, CONST_PERSISTENT); #if defined(HAVE_EVP_PKEY_EC) - REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_EC", OPENSSL_KEYTYPE_EC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_EC", OPENSSL_KEYTYPE_EC, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_RAW_DATA", OPENSSL_RAW_DATA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ZERO_PADDING", OPENSSL_ZERO_PADDING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_DONT_ZERO_PAD_KEY", OPENSSL_DONT_ZERO_PAD_KEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_RAW_DATA", OPENSSL_RAW_DATA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ZERO_PADDING", OPENSSL_ZERO_PADDING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_DONT_ZERO_PAD_KEY", OPENSSL_DONT_ZERO_PAD_KEY, CONST_PERSISTENT); #if !defined(OPENSSL_NO_TLSEXT) - REGISTER_LONG_CONSTANT("OPENSSL_TLSEXT_SERVER_NAME", 1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_TLSEXT_SERVER_NAME", 1, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("OPENSSL_ENCODING_DER", ENCODING_DER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ENCODING_SMIME", ENCODING_SMIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ENCODING_PEM", ENCODING_PEM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ENCODING_DER", ENCODING_DER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ENCODING_SMIME", ENCODING_SMIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("OPENSSL_ENCODING_PEM", ENCODING_PEM, CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "openssl_x509_check_private_key", sizeof("openssl_x509_check_private_key") - 1), 1, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/pcntl/pcntl_arginfo.h b/ext/pcntl/pcntl_arginfo.h index 7a4988b24ec2c..e29098f2fa689 100644 --- a/ext/pcntl/pcntl_arginfo.h +++ b/ext/pcntl/pcntl_arginfo.h @@ -231,350 +231,350 @@ static const zend_function_entry ext_functions[] = { static void register_pcntl_symbols(int module_number) { #if defined(WNOHANG) - REGISTER_LONG_CONSTANT("WNOHANG", LONG_CONST(WNOHANG), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WNOHANG", LONG_CONST(WNOHANG), CONST_PERSISTENT); #endif #if defined(WUNTRACED) - REGISTER_LONG_CONSTANT("WUNTRACED", LONG_CONST(WUNTRACED), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WUNTRACED", LONG_CONST(WUNTRACED), CONST_PERSISTENT); #endif #if defined(HAVE_WCONTINUED) - REGISTER_LONG_CONSTANT("WCONTINUED", LONG_CONST(WCONTINUED), CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SIG_IGN", LONG_CONST(SIG_IGN), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIG_DFL", LONG_CONST(SIG_DFL), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIG_ERR", LONG_CONST(SIG_ERR), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGHUP", LONG_CONST(SIGHUP), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGINT", LONG_CONST(SIGINT), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGQUIT", LONG_CONST(SIGQUIT), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGILL", LONG_CONST(SIGILL), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGTRAP", LONG_CONST(SIGTRAP), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGABRT", LONG_CONST(SIGABRT), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WCONTINUED", LONG_CONST(WCONTINUED), CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SIG_IGN", LONG_CONST(SIG_IGN), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_DFL", LONG_CONST(SIG_DFL), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_ERR", LONG_CONST(SIG_ERR), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGHUP", LONG_CONST(SIGHUP), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGINT", LONG_CONST(SIGINT), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGQUIT", LONG_CONST(SIGQUIT), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGILL", LONG_CONST(SIGILL), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGTRAP", LONG_CONST(SIGTRAP), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGABRT", LONG_CONST(SIGABRT), CONST_PERSISTENT); #if defined(SIGIOT) - REGISTER_LONG_CONSTANT("SIGIOT", LONG_CONST(SIGIOT), CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SIGBUS", LONG_CONST(SIGBUS), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGFPE", LONG_CONST(SIGFPE), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGKILL", LONG_CONST(SIGKILL), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGUSR1", LONG_CONST(SIGUSR1), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGSEGV", LONG_CONST(SIGSEGV), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGUSR2", LONG_CONST(SIGUSR2), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGPIPE", LONG_CONST(SIGPIPE), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGALRM", LONG_CONST(SIGALRM), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGTERM", LONG_CONST(SIGTERM), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGIOT", LONG_CONST(SIGIOT), CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SIGBUS", LONG_CONST(SIGBUS), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGFPE", LONG_CONST(SIGFPE), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGKILL", LONG_CONST(SIGKILL), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGUSR1", LONG_CONST(SIGUSR1), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGSEGV", LONG_CONST(SIGSEGV), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGUSR2", LONG_CONST(SIGUSR2), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGPIPE", LONG_CONST(SIGPIPE), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGALRM", LONG_CONST(SIGALRM), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGTERM", LONG_CONST(SIGTERM), CONST_PERSISTENT); #if defined(SIGSTKFLT) - REGISTER_LONG_CONSTANT("SIGSTKFLT", LONG_CONST(SIGSTKFLT), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGSTKFLT", LONG_CONST(SIGSTKFLT), CONST_PERSISTENT); #endif #if defined(SIGCLD) - REGISTER_LONG_CONSTANT("SIGCLD", LONG_CONST(SIGCLD), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGCLD", LONG_CONST(SIGCLD), CONST_PERSISTENT); #endif #if defined(SIGCHLD) - REGISTER_LONG_CONSTANT("SIGCHLD", LONG_CONST(SIGCHLD), CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SIGCONT", LONG_CONST(SIGCONT), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGSTOP", LONG_CONST(SIGSTOP), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGTSTP", LONG_CONST(SIGTSTP), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGTTIN", LONG_CONST(SIGTTIN), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGTTOU", LONG_CONST(SIGTTOU), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGURG", LONG_CONST(SIGURG), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGXCPU", LONG_CONST(SIGXCPU), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGXFSZ", LONG_CONST(SIGXFSZ), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGVTALRM", LONG_CONST(SIGVTALRM), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGPROF", LONG_CONST(SIGPROF), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIGWINCH", LONG_CONST(SIGWINCH), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGCHLD", LONG_CONST(SIGCHLD), CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SIGCONT", LONG_CONST(SIGCONT), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGSTOP", LONG_CONST(SIGSTOP), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGTSTP", LONG_CONST(SIGTSTP), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGTTIN", LONG_CONST(SIGTTIN), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGTTOU", LONG_CONST(SIGTTOU), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGURG", LONG_CONST(SIGURG), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGXCPU", LONG_CONST(SIGXCPU), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGXFSZ", LONG_CONST(SIGXFSZ), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGVTALRM", LONG_CONST(SIGVTALRM), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGPROF", LONG_CONST(SIGPROF), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGWINCH", LONG_CONST(SIGWINCH), CONST_PERSISTENT); #if defined(SIGPOLL) - REGISTER_LONG_CONSTANT("SIGPOLL", LONG_CONST(SIGPOLL), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGPOLL", LONG_CONST(SIGPOLL), CONST_PERSISTENT); #endif #if defined(SIGIO) - REGISTER_LONG_CONSTANT("SIGIO", LONG_CONST(SIGIO), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGIO", LONG_CONST(SIGIO), CONST_PERSISTENT); #endif #if defined(SIGPWR) - REGISTER_LONG_CONSTANT("SIGPWR", LONG_CONST(SIGPWR), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGPWR", LONG_CONST(SIGPWR), CONST_PERSISTENT); #endif #if defined(SIGSYS) - REGISTER_LONG_CONSTANT("SIGSYS", LONG_CONST(SIGSYS), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGSYS", LONG_CONST(SIGSYS), CONST_PERSISTENT); #endif #if defined(SIGSYS) - REGISTER_LONG_CONSTANT("SIGBABY", LONG_CONST(SIGSYS), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGBABY", LONG_CONST(SIGSYS), CONST_PERSISTENT); #endif #if defined(SIGRTMIN) - REGISTER_LONG_CONSTANT("SIGRTMIN", LONG_CONST(SIGRTMIN), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGRTMIN", LONG_CONST(SIGRTMIN), CONST_PERSISTENT); #endif #if defined(SIGRTMAX) - REGISTER_LONG_CONSTANT("SIGRTMAX", LONG_CONST(SIGRTMAX), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIGRTMAX", LONG_CONST(SIGRTMAX), CONST_PERSISTENT); #endif #if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY)) - REGISTER_LONG_CONSTANT("PRIO_PGRP", PRIO_PGRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PRIO_PGRP", PRIO_PGRP, CONST_PERSISTENT); #endif #if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY)) - REGISTER_LONG_CONSTANT("PRIO_USER", PRIO_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PRIO_USER", PRIO_USER, CONST_PERSISTENT); #endif #if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY)) - REGISTER_LONG_CONSTANT("PRIO_PROCESS", PRIO_PROCESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PRIO_PROCESS", PRIO_PROCESS, CONST_PERSISTENT); #endif #if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY)) && defined(PRIO_DARWIN_BG) - REGISTER_LONG_CONSTANT("PRIO_DARWIN_BG", PRIO_DARWIN_BG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PRIO_DARWIN_BG", PRIO_DARWIN_BG, CONST_PERSISTENT); #endif #if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY)) && defined(PRIO_DARWIN_BG) - REGISTER_LONG_CONSTANT("PRIO_DARWIN_THREAD", PRIO_DARWIN_THREAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PRIO_DARWIN_THREAD", PRIO_DARWIN_THREAD, CONST_PERSISTENT); #endif #if defined(HAVE_SIGPROCMASK) - REGISTER_LONG_CONSTANT("SIG_BLOCK", SIG_BLOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_BLOCK", SIG_BLOCK, CONST_PERSISTENT); #endif #if defined(HAVE_SIGPROCMASK) - REGISTER_LONG_CONSTANT("SIG_UNBLOCK", SIG_UNBLOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_UNBLOCK", SIG_UNBLOCK, CONST_PERSISTENT); #endif #if defined(HAVE_SIGPROCMASK) - REGISTER_LONG_CONSTANT("SIG_SETMASK", SIG_SETMASK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_SETMASK", SIG_SETMASK, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) - REGISTER_LONG_CONSTANT("SI_USER", SI_USER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_USER", SI_USER, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_NOINFO) - REGISTER_LONG_CONSTANT("SI_NOINFO", SI_NOINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_NOINFO", SI_NOINFO, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_KERNEL) - REGISTER_LONG_CONSTANT("SI_KERNEL", SI_KERNEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_KERNEL", SI_KERNEL, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) - REGISTER_LONG_CONSTANT("SI_QUEUE", SI_QUEUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_QUEUE", SI_QUEUE, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) - REGISTER_LONG_CONSTANT("SI_TIMER", SI_TIMER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_TIMER", SI_TIMER, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) - REGISTER_LONG_CONSTANT("SI_MESGQ", SI_MESGQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_MESGQ", SI_MESGQ, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) - REGISTER_LONG_CONSTANT("SI_ASYNCIO", SI_ASYNCIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_ASYNCIO", SI_ASYNCIO, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_SIGIO) - REGISTER_LONG_CONSTANT("SI_SIGIO", SI_SIGIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_SIGIO", SI_SIGIO, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_TKILL) - REGISTER_LONG_CONSTANT("SI_TKILL", SI_TKILL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SI_TKILL", SI_TKILL, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_EXITED) - REGISTER_LONG_CONSTANT("CLD_EXITED", CLD_EXITED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLD_EXITED", CLD_EXITED, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_KILLED) - REGISTER_LONG_CONSTANT("CLD_KILLED", CLD_KILLED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLD_KILLED", CLD_KILLED, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_DUMPED) - REGISTER_LONG_CONSTANT("CLD_DUMPED", CLD_DUMPED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLD_DUMPED", CLD_DUMPED, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_TRAPPED) - REGISTER_LONG_CONSTANT("CLD_TRAPPED", CLD_TRAPPED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLD_TRAPPED", CLD_TRAPPED, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_STOPPED) - REGISTER_LONG_CONSTANT("CLD_STOPPED", CLD_STOPPED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLD_STOPPED", CLD_STOPPED, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_CONTINUED) - REGISTER_LONG_CONSTANT("CLD_CONTINUED", CLD_CONTINUED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLD_CONTINUED", CLD_CONTINUED, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(TRAP_BRKPT) - REGISTER_LONG_CONSTANT("TRAP_BRKPT", TRAP_BRKPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TRAP_BRKPT", TRAP_BRKPT, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(TRAP_TRACE) - REGISTER_LONG_CONSTANT("TRAP_TRACE", TRAP_TRACE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TRAP_TRACE", TRAP_TRACE, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_IN) - REGISTER_LONG_CONSTANT("POLL_IN", POLL_IN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POLL_IN", POLL_IN, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_OUT) - REGISTER_LONG_CONSTANT("POLL_OUT", POLL_OUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POLL_OUT", POLL_OUT, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_MSG) - REGISTER_LONG_CONSTANT("POLL_MSG", POLL_MSG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POLL_MSG", POLL_MSG, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_ERR) - REGISTER_LONG_CONSTANT("POLL_ERR", POLL_ERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POLL_ERR", POLL_ERR, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_PRI) - REGISTER_LONG_CONSTANT("POLL_PRI", POLL_PRI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POLL_PRI", POLL_PRI, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_HUP) - REGISTER_LONG_CONSTANT("POLL_HUP", POLL_HUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POLL_HUP", POLL_HUP, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLOPC) - REGISTER_LONG_CONSTANT("ILL_ILLOPC", ILL_ILLOPC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_ILLOPC", ILL_ILLOPC, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLOPN) - REGISTER_LONG_CONSTANT("ILL_ILLOPN", ILL_ILLOPN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_ILLOPN", ILL_ILLOPN, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLADR) - REGISTER_LONG_CONSTANT("ILL_ILLADR", ILL_ILLADR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_ILLADR", ILL_ILLADR, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLTRP) - REGISTER_LONG_CONSTANT("ILL_ILLTRP", ILL_ILLTRP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_ILLTRP", ILL_ILLTRP, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_PRVOPC) - REGISTER_LONG_CONSTANT("ILL_PRVOPC", ILL_PRVOPC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_PRVOPC", ILL_PRVOPC, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_PRVREG) - REGISTER_LONG_CONSTANT("ILL_PRVREG", ILL_PRVREG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_PRVREG", ILL_PRVREG, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_COPROC) - REGISTER_LONG_CONSTANT("ILL_COPROC", ILL_COPROC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_COPROC", ILL_COPROC, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_BADSTK) - REGISTER_LONG_CONSTANT("ILL_BADSTK", ILL_BADSTK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ILL_BADSTK", ILL_BADSTK, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_INTDIV) - REGISTER_LONG_CONSTANT("FPE_INTDIV", FPE_INTDIV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_INTDIV", FPE_INTDIV, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_INTOVF) - REGISTER_LONG_CONSTANT("FPE_INTOVF", FPE_INTOVF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_INTOVF", FPE_INTOVF, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTDIV) - REGISTER_LONG_CONSTANT("FPE_FLTDIV", FPE_FLTDIV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_FLTDIV", FPE_FLTDIV, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTOVF) - REGISTER_LONG_CONSTANT("FPE_FLTOVF", FPE_FLTOVF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_FLTOVF", FPE_FLTOVF, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTUND) - REGISTER_LONG_CONSTANT("FPE_FLTUND", FPE_FLTUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_FLTUND", FPE_FLTUND, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTRES) - REGISTER_LONG_CONSTANT("FPE_FLTRES", FPE_FLTRES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_FLTRES", FPE_FLTRES, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTINV) - REGISTER_LONG_CONSTANT("FPE_FLTINV", FPE_FLTINV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_FLTINV", FPE_FLTINV, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTSUB) - REGISTER_LONG_CONSTANT("FPE_FLTSUB", FPE_FLTSUB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FPE_FLTSUB", FPE_FLTSUB, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SEGV_MAPERR) - REGISTER_LONG_CONSTANT("SEGV_MAPERR", SEGV_MAPERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SEGV_MAPERR", SEGV_MAPERR, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SEGV_ACCERR) - REGISTER_LONG_CONSTANT("SEGV_ACCERR", SEGV_ACCERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SEGV_ACCERR", SEGV_ACCERR, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(BUS_ADRALN) - REGISTER_LONG_CONSTANT("BUS_ADRALN", BUS_ADRALN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("BUS_ADRALN", BUS_ADRALN, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(BUS_ADRERR) - REGISTER_LONG_CONSTANT("BUS_ADRERR", BUS_ADRERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("BUS_ADRERR", BUS_ADRERR, CONST_PERSISTENT); #endif #if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(BUS_OBJERR) - REGISTER_LONG_CONSTANT("BUS_OBJERR", BUS_OBJERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("BUS_OBJERR", BUS_OBJERR, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) - REGISTER_LONG_CONSTANT("CLONE_NEWNS", CLONE_NEWNS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWNS", CLONE_NEWNS, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) && defined(CLONE_NEWIPC) - REGISTER_LONG_CONSTANT("CLONE_NEWIPC", CLONE_NEWIPC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWIPC", CLONE_NEWIPC, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) && defined(CLONE_NEWUTS) - REGISTER_LONG_CONSTANT("CLONE_NEWUTS", CLONE_NEWUTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWUTS", CLONE_NEWUTS, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) && defined(CLONE_NEWNET) - REGISTER_LONG_CONSTANT("CLONE_NEWNET", CLONE_NEWNET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWNET", CLONE_NEWNET, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) && defined(CLONE_NEWPID) - REGISTER_LONG_CONSTANT("CLONE_NEWPID", CLONE_NEWPID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWPID", CLONE_NEWPID, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) && defined(CLONE_NEWUSER) - REGISTER_LONG_CONSTANT("CLONE_NEWUSER", CLONE_NEWUSER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWUSER", CLONE_NEWUSER, CONST_PERSISTENT); #endif #if defined(HAVE_UNSHARE) && defined(CLONE_NEWCGROUP) - REGISTER_LONG_CONSTANT("CLONE_NEWCGROUP", CLONE_NEWCGROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CLONE_NEWCGROUP", CLONE_NEWCGROUP, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFPROC) - REGISTER_LONG_CONSTANT("RFPROC", RFPROC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFPROC", RFPROC, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFNOWAIT) - REGISTER_LONG_CONSTANT("RFNOWAIT", RFNOWAIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFNOWAIT", RFNOWAIT, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFCFDG) - REGISTER_LONG_CONSTANT("RFCFDG", RFCFDG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFCFDG", RFCFDG, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFFDG) - REGISTER_LONG_CONSTANT("RFFDG", RFFDG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFFDG", RFFDG, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFLINUXTHPN) - REGISTER_LONG_CONSTANT("RFLINUXTHPN", RFLINUXTHPN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFLINUXTHPN", RFLINUXTHPN, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFTSIGZMB) - REGISTER_LONG_CONSTANT("RFTSIGZMB", RFTSIGZMB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFTSIGZMB", RFTSIGZMB, CONST_PERSISTENT); #endif #if defined(HAVE_RFORK) && defined(RFTHREAD) - REGISTER_LONG_CONSTANT("RFTHREAD", RFTHREAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("RFTHREAD", RFTHREAD, CONST_PERSISTENT); #endif #if defined(HAVE_FORKX) - REGISTER_LONG_CONSTANT("FORK_NOSIGCHLD", FORK_NOSIGCHLD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FORK_NOSIGCHLD", FORK_NOSIGCHLD, CONST_PERSISTENT); #endif #if defined(HAVE_FORKX) - REGISTER_LONG_CONSTANT("FORK_WAITPID", FORK_WAITPID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FORK_WAITPID", FORK_WAITPID, CONST_PERSISTENT); #endif #if defined(EINTR) - REGISTER_LONG_CONSTANT("PCNTL_EINTR", EINTR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EINTR", EINTR, CONST_PERSISTENT); #endif #if defined(ECHILD) - REGISTER_LONG_CONSTANT("PCNTL_ECHILD", ECHILD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ECHILD", ECHILD, CONST_PERSISTENT); #endif #if defined(EINVAL) - REGISTER_LONG_CONSTANT("PCNTL_EINVAL", EINVAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EINVAL", EINVAL, CONST_PERSISTENT); #endif #if defined(EAGAIN) - REGISTER_LONG_CONSTANT("PCNTL_EAGAIN", EAGAIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EAGAIN", EAGAIN, CONST_PERSISTENT); #endif #if defined(ESRCH) - REGISTER_LONG_CONSTANT("PCNTL_ESRCH", ESRCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ESRCH", ESRCH, CONST_PERSISTENT); #endif #if defined(EACCES) - REGISTER_LONG_CONSTANT("PCNTL_EACCES", EACCES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EACCES", EACCES, CONST_PERSISTENT); #endif #if defined(EPERM) - REGISTER_LONG_CONSTANT("PCNTL_EPERM", EPERM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EPERM", EPERM, CONST_PERSISTENT); #endif #if defined(ENOMEM) - REGISTER_LONG_CONSTANT("PCNTL_ENOMEM", ENOMEM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENOMEM", ENOMEM, CONST_PERSISTENT); #endif #if defined(E2BIG) - REGISTER_LONG_CONSTANT("PCNTL_E2BIG", E2BIG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_E2BIG", E2BIG, CONST_PERSISTENT); #endif #if defined(EFAULT) - REGISTER_LONG_CONSTANT("PCNTL_EFAULT", EFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EFAULT", EFAULT, CONST_PERSISTENT); #endif #if defined(EIO) - REGISTER_LONG_CONSTANT("PCNTL_EIO", EIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EIO", EIO, CONST_PERSISTENT); #endif #if defined(EISDIR) - REGISTER_LONG_CONSTANT("PCNTL_EISDIR", EISDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EISDIR", EISDIR, CONST_PERSISTENT); #endif #if defined(ELIBBAD) - REGISTER_LONG_CONSTANT("PCNTL_ELIBBAD", ELIBBAD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ELIBBAD", ELIBBAD, CONST_PERSISTENT); #endif #if defined(ELOOP) - REGISTER_LONG_CONSTANT("PCNTL_ELOOP", ELOOP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ELOOP", ELOOP, CONST_PERSISTENT); #endif #if defined(EMFILE) - REGISTER_LONG_CONSTANT("PCNTL_EMFILE", EMFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EMFILE", EMFILE, CONST_PERSISTENT); #endif #if defined(ENAMETOOLONG) - REGISTER_LONG_CONSTANT("PCNTL_ENAMETOOLONG", ENAMETOOLONG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENAMETOOLONG", ENAMETOOLONG, CONST_PERSISTENT); #endif #if defined(ENFILE) - REGISTER_LONG_CONSTANT("PCNTL_ENFILE", ENFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENFILE", ENFILE, CONST_PERSISTENT); #endif #if defined(ENOENT) - REGISTER_LONG_CONSTANT("PCNTL_ENOENT", ENOENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENOENT", ENOENT, CONST_PERSISTENT); #endif #if defined(ENOEXEC) - REGISTER_LONG_CONSTANT("PCNTL_ENOEXEC", ENOEXEC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENOEXEC", ENOEXEC, CONST_PERSISTENT); #endif #if defined(ENOTDIR) - REGISTER_LONG_CONSTANT("PCNTL_ENOTDIR", ENOTDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENOTDIR", ENOTDIR, CONST_PERSISTENT); #endif #if defined(ETXTBSY) - REGISTER_LONG_CONSTANT("PCNTL_ETXTBSY", ETXTBSY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ETXTBSY", ETXTBSY, CONST_PERSISTENT); #endif #if defined(ENOSPC) - REGISTER_LONG_CONSTANT("PCNTL_ENOSPC", ENOSPC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ENOSPC", ENOSPC, CONST_PERSISTENT); #endif #if defined(EUSERS) - REGISTER_LONG_CONSTANT("PCNTL_EUSERS", EUSERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_EUSERS", EUSERS, CONST_PERSISTENT); #endif #if defined(ECAPMODE) - REGISTER_LONG_CONSTANT("PCNTL_ECAPMODE", ECAPMODE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCNTL_ECAPMODE", ECAPMODE, CONST_PERSISTENT); #endif } diff --git a/ext/pcre/php_pcre_arginfo.h b/ext/pcre/php_pcre_arginfo.h index cba3bed340de0..a4132e28e598c 100644 --- a/ext/pcre/php_pcre_arginfo.h +++ b/ext/pcre/php_pcre_arginfo.h @@ -93,23 +93,23 @@ static const zend_function_entry ext_functions[] = { static void register_php_pcre_symbols(int module_number) { - REGISTER_LONG_CONSTANT("PREG_PATTERN_ORDER", PREG_PATTERN_ORDER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_SET_ORDER", PREG_SET_ORDER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_OFFSET_CAPTURE", PREG_OFFSET_CAPTURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_UNMATCHED_AS_NULL", PREG_UNMATCHED_AS_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_SPLIT_NO_EMPTY", PREG_SPLIT_NO_EMPTY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_SPLIT_DELIM_CAPTURE", PREG_SPLIT_DELIM_CAPTURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_SPLIT_OFFSET_CAPTURE", PREG_SPLIT_OFFSET_CAPTURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_GREP_INVERT", PREG_GREP_INVERT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_NO_ERROR", PHP_PCRE_NO_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_INTERNAL_ERROR", PHP_PCRE_INTERNAL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_BACKTRACK_LIMIT_ERROR", PHP_PCRE_BACKTRACK_LIMIT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_RECURSION_LIMIT_ERROR", PHP_PCRE_RECURSION_LIMIT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_ERROR", PHP_PCRE_BAD_UTF8_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_OFFSET_ERROR", PHP_PCRE_BAD_UTF8_OFFSET_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("PCRE_VERSION", php_pcre_version, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PCRE_VERSION_MAJOR", PCRE2_MAJOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PCRE_VERSION_MINOR", PCRE2_MINOR, CONST_CS | CONST_PERSISTENT); - REGISTER_BOOL_CONSTANT("PCRE_JIT_SUPPORT", PHP_PCRE_JIT_SUPPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_PATTERN_ORDER", PREG_PATTERN_ORDER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_SET_ORDER", PREG_SET_ORDER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_OFFSET_CAPTURE", PREG_OFFSET_CAPTURE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_UNMATCHED_AS_NULL", PREG_UNMATCHED_AS_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_SPLIT_NO_EMPTY", PREG_SPLIT_NO_EMPTY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_SPLIT_DELIM_CAPTURE", PREG_SPLIT_DELIM_CAPTURE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_SPLIT_OFFSET_CAPTURE", PREG_SPLIT_OFFSET_CAPTURE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_GREP_INVERT", PREG_GREP_INVERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_NO_ERROR", PHP_PCRE_NO_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_INTERNAL_ERROR", PHP_PCRE_INTERNAL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_BACKTRACK_LIMIT_ERROR", PHP_PCRE_BACKTRACK_LIMIT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_RECURSION_LIMIT_ERROR", PHP_PCRE_RECURSION_LIMIT_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_ERROR", PHP_PCRE_BAD_UTF8_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_OFFSET_ERROR", PHP_PCRE_BAD_UTF8_OFFSET_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PCRE_VERSION", php_pcre_version, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCRE_VERSION_MAJOR", PCRE2_MAJOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PCRE_VERSION_MINOR", PCRE2_MINOR, CONST_PERSISTENT); + REGISTER_BOOL_CONSTANT("PCRE_JIT_SUPPORT", PHP_PCRE_JIT_SUPPORT, CONST_PERSISTENT); } diff --git a/ext/pgsql/pgsql_arginfo.h b/ext/pgsql/pgsql_arginfo.h index dd6abfc29a6e6..e6ade23529e50 100644 --- a/ext/pgsql/pgsql_arginfo.h +++ b/ext/pgsql/pgsql_arginfo.h @@ -676,94 +676,94 @@ static const zend_function_entry class_PgSql_Lob_methods[] = { static void register_pgsql_symbols(int module_number) { - REGISTER_STRING_CONSTANT("PGSQL_LIBPQ_VERSION", pgsql_libpq_version, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("PGSQL_LIBPQ_VERSION_STR", pgsql_libpq_version, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("PGSQL_CONNECT_FORCE_NEW", PGSQL_CONNECT_FORCE_NEW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECT_ASYNC", PGSQL_CONNECT_ASYNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_ASSOC", PGSQL_ASSOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_NUM", PGSQL_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_BOTH", PGSQL_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_NOTICE_LAST", PGSQL_NOTICE_LAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_NOTICE_ALL", PGSQL_NOTICE_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_NOTICE_CLEAR", PGSQL_NOTICE_CLEAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_BAD", CONNECTION_BAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_OK", CONNECTION_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_STARTED", CONNECTION_STARTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_MADE", CONNECTION_MADE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_AWAITING_RESPONSE", CONNECTION_AWAITING_RESPONSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_AUTH_OK", CONNECTION_AUTH_OK, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PGSQL_LIBPQ_VERSION", pgsql_libpq_version, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PGSQL_LIBPQ_VERSION_STR", pgsql_libpq_version, CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("PGSQL_CONNECT_FORCE_NEW", PGSQL_CONNECT_FORCE_NEW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECT_ASYNC", PGSQL_CONNECT_ASYNC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_ASSOC", PGSQL_ASSOC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_NUM", PGSQL_NUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_BOTH", PGSQL_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_NOTICE_LAST", PGSQL_NOTICE_LAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_NOTICE_ALL", PGSQL_NOTICE_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_NOTICE_CLEAR", PGSQL_NOTICE_CLEAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_BAD", CONNECTION_BAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_OK", CONNECTION_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_STARTED", CONNECTION_STARTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_MADE", CONNECTION_MADE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_AWAITING_RESPONSE", CONNECTION_AWAITING_RESPONSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_AUTH_OK", CONNECTION_AUTH_OK, CONST_PERSISTENT); #if defined(CONNECTION_SSL_STARTUP) - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_SSL_STARTUP", CONNECTION_SSL_STARTUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_SSL_STARTUP", CONNECTION_SSL_STARTUP, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_SETENV", CONNECTION_SETENV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_POLLING_FAILED", PGRES_POLLING_FAILED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_POLLING_READING", PGRES_POLLING_READING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_POLLING_WRITING", PGRES_POLLING_WRITING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_POLLING_OK", PGRES_POLLING_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_POLLING_ACTIVE", PGRES_POLLING_ACTIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_IDLE", PQTRANS_IDLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_ACTIVE", PQTRANS_ACTIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_INTRANS", PQTRANS_INTRANS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_INERROR", PQTRANS_INERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_UNKNOWN", PQTRANS_UNKNOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_ERRORS_TERSE", PQERRORS_TERSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_ERRORS_DEFAULT", PQERRORS_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_ERRORS_VERBOSE", PQERRORS_VERBOSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_SEEK_SET", SEEK_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_SEEK_CUR", SEEK_CUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_SEEK_END", SEEK_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_STATUS_LONG", PGSQL_STATUS_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_STATUS_STRING", PGSQL_STATUS_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_EMPTY_QUERY", PGRES_EMPTY_QUERY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_COMMAND_OK", PGRES_COMMAND_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_TUPLES_OK", PGRES_TUPLES_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_COPY_OUT", PGRES_COPY_OUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_COPY_IN", PGRES_COPY_IN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_BAD_RESPONSE", PGRES_BAD_RESPONSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_NONFATAL_ERROR", PGRES_NONFATAL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_FATAL_ERROR", PGRES_FATAL_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SEVERITY", PG_DIAG_SEVERITY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SQLSTATE", PG_DIAG_SQLSTATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_PRIMARY", PG_DIAG_MESSAGE_PRIMARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_DETAIL", PG_DIAG_MESSAGE_DETAIL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_HINT", PG_DIAG_MESSAGE_HINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_STATEMENT_POSITION", PG_DIAG_STATEMENT_POSITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_SETENV", CONNECTION_SETENV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_POLLING_FAILED", PGRES_POLLING_FAILED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_POLLING_READING", PGRES_POLLING_READING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_POLLING_WRITING", PGRES_POLLING_WRITING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_POLLING_OK", PGRES_POLLING_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_POLLING_ACTIVE", PGRES_POLLING_ACTIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_IDLE", PQTRANS_IDLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_ACTIVE", PQTRANS_ACTIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_INTRANS", PQTRANS_INTRANS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_INERROR", PQTRANS_INERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_TRANSACTION_UNKNOWN", PQTRANS_UNKNOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_ERRORS_TERSE", PQERRORS_TERSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_ERRORS_DEFAULT", PQERRORS_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_ERRORS_VERBOSE", PQERRORS_VERBOSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_SEEK_SET", SEEK_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_SEEK_CUR", SEEK_CUR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_SEEK_END", SEEK_END, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_STATUS_LONG", PGSQL_STATUS_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_STATUS_STRING", PGSQL_STATUS_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_EMPTY_QUERY", PGRES_EMPTY_QUERY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_COMMAND_OK", PGRES_COMMAND_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_TUPLES_OK", PGRES_TUPLES_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_COPY_OUT", PGRES_COPY_OUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_COPY_IN", PGRES_COPY_IN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_BAD_RESPONSE", PGRES_BAD_RESPONSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_NONFATAL_ERROR", PGRES_NONFATAL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_FATAL_ERROR", PGRES_FATAL_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SEVERITY", PG_DIAG_SEVERITY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SQLSTATE", PG_DIAG_SQLSTATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_PRIMARY", PG_DIAG_MESSAGE_PRIMARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_DETAIL", PG_DIAG_MESSAGE_DETAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_MESSAGE_HINT", PG_DIAG_MESSAGE_HINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_STATEMENT_POSITION", PG_DIAG_STATEMENT_POSITION, CONST_PERSISTENT); #if defined(PG_DIAG_INTERNAL_POSITION) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_INTERNAL_POSITION", PG_DIAG_INTERNAL_POSITION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_INTERNAL_POSITION", PG_DIAG_INTERNAL_POSITION, CONST_PERSISTENT); #endif #if defined(PG_DIAG_INTERNAL_QUERY) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_INTERNAL_QUERY", PG_DIAG_INTERNAL_QUERY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_INTERNAL_QUERY", PG_DIAG_INTERNAL_QUERY, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("PGSQL_DIAG_CONTEXT", PG_DIAG_CONTEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_FILE", PG_DIAG_SOURCE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_LINE", PG_DIAG_SOURCE_LINE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_FUNCTION", PG_DIAG_SOURCE_FUNCTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_CONTEXT", PG_DIAG_CONTEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_FILE", PG_DIAG_SOURCE_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_LINE", PG_DIAG_SOURCE_LINE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SOURCE_FUNCTION", PG_DIAG_SOURCE_FUNCTION, CONST_PERSISTENT); #if defined(PG_DIAG_SCHEMA_NAME) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SCHEMA_NAME", PG_DIAG_SCHEMA_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SCHEMA_NAME", PG_DIAG_SCHEMA_NAME, CONST_PERSISTENT); #endif #if defined(PG_DIAG_TABLE_NAME) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_TABLE_NAME", PG_DIAG_TABLE_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_TABLE_NAME", PG_DIAG_TABLE_NAME, CONST_PERSISTENT); #endif #if defined(PG_DIAG_COLUMN_NAME) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_COLUMN_NAME", PG_DIAG_COLUMN_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_COLUMN_NAME", PG_DIAG_COLUMN_NAME, CONST_PERSISTENT); #endif #if defined(PG_DIAG_DATATYPE_NAME) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_DATATYPE_NAME", PG_DIAG_DATATYPE_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_DATATYPE_NAME", PG_DIAG_DATATYPE_NAME, CONST_PERSISTENT); #endif #if defined(PG_DIAG_CONSTRAINT_NAME) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_CONSTRAINT_NAME", PG_DIAG_CONSTRAINT_NAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_CONSTRAINT_NAME", PG_DIAG_CONSTRAINT_NAME, CONST_PERSISTENT); #endif #if defined(PG_DIAG_SEVERITY_NONLOCALIZED) - REGISTER_LONG_CONSTANT("PGSQL_DIAG_SEVERITY_NONLOCALIZED", PG_DIAG_SEVERITY_NONLOCALIZED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DIAG_SEVERITY_NONLOCALIZED", PG_DIAG_SEVERITY_NONLOCALIZED, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("PGSQL_CONV_IGNORE_DEFAULT", PGSQL_CONV_IGNORE_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONV_FORCE_NULL", PGSQL_CONV_FORCE_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_CONV_IGNORE_NOT_NULL", PGSQL_CONV_IGNORE_NOT_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DML_ESCAPE", PGSQL_DML_ESCAPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DML_NO_CONV", PGSQL_DML_NO_CONV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DML_EXEC", PGSQL_DML_EXEC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DML_ASYNC", PGSQL_DML_ASYNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PGSQL_DML_STRING", PGSQL_DML_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONV_IGNORE_DEFAULT", PGSQL_CONV_IGNORE_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONV_FORCE_NULL", PGSQL_CONV_FORCE_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_CONV_IGNORE_NOT_NULL", PGSQL_CONV_IGNORE_NOT_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DML_ESCAPE", PGSQL_DML_ESCAPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DML_NO_CONV", PGSQL_DML_NO_CONV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DML_EXEC", PGSQL_DML_EXEC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DML_ASYNC", PGSQL_DML_ASYNC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PGSQL_DML_STRING", PGSQL_DML_STRING, CONST_PERSISTENT); } static zend_class_entry *register_class_PgSql_Connection(void) diff --git a/ext/posix/posix_arginfo.h b/ext/posix/posix_arginfo.h index 1f0a243582565..e91a99504477c 100644 --- a/ext/posix/posix_arginfo.h +++ b/ext/posix/posix_arginfo.h @@ -293,80 +293,80 @@ static const zend_function_entry ext_functions[] = { static void register_posix_symbols(int module_number) { - REGISTER_LONG_CONSTANT("POSIX_F_OK", F_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("POSIX_X_OK", X_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("POSIX_W_OK", W_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("POSIX_R_OK", R_OK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_F_OK", F_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_X_OK", X_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_W_OK", W_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_R_OK", R_OK, CONST_PERSISTENT); #if defined(S_IFREG) - REGISTER_LONG_CONSTANT("POSIX_S_IFREG", S_IFREG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_S_IFREG", S_IFREG, CONST_PERSISTENT); #endif #if defined(S_IFCHR) - REGISTER_LONG_CONSTANT("POSIX_S_IFCHR", S_IFCHR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_S_IFCHR", S_IFCHR, CONST_PERSISTENT); #endif #if defined(S_IFBLK) - REGISTER_LONG_CONSTANT("POSIX_S_IFBLK", S_IFBLK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_S_IFBLK", S_IFBLK, CONST_PERSISTENT); #endif #if defined(S_IFIFO) - REGISTER_LONG_CONSTANT("POSIX_S_IFIFO", S_IFIFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_S_IFIFO", S_IFIFO, CONST_PERSISTENT); #endif #if defined(S_IFSOCK) - REGISTER_LONG_CONSTANT("POSIX_S_IFSOCK", S_IFSOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_S_IFSOCK", S_IFSOCK, CONST_PERSISTENT); #endif #if defined(RLIMIT_AS) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_AS", RLIMIT_AS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_AS", RLIMIT_AS, CONST_PERSISTENT); #endif #if defined(RLIMIT_CORE) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_CORE", RLIMIT_CORE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_CORE", RLIMIT_CORE, CONST_PERSISTENT); #endif #if defined(RLIMIT_CPU) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_CPU", RLIMIT_CPU, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_CPU", RLIMIT_CPU, CONST_PERSISTENT); #endif #if defined(RLIMIT_DATA) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_DATA", RLIMIT_DATA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_DATA", RLIMIT_DATA, CONST_PERSISTENT); #endif #if defined(RLIMIT_FSIZE) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_FSIZE", RLIMIT_FSIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_FSIZE", RLIMIT_FSIZE, CONST_PERSISTENT); #endif #if defined(RLIMIT_LOCKS) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_LOCKS", RLIMIT_LOCKS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_LOCKS", RLIMIT_LOCKS, CONST_PERSISTENT); #endif #if defined(RLIMIT_MEMLOCK) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_MEMLOCK", RLIMIT_MEMLOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_MEMLOCK", RLIMIT_MEMLOCK, CONST_PERSISTENT); #endif #if defined(RLIMIT_MSGQUEUE) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE, CONST_PERSISTENT); #endif #if defined(RLIMIT_NICE) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NICE", RLIMIT_NICE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NICE", RLIMIT_NICE, CONST_PERSISTENT); #endif #if defined(RLIMIT_NOFILE) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NOFILE", RLIMIT_NOFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NOFILE", RLIMIT_NOFILE, CONST_PERSISTENT); #endif #if defined(RLIMIT_NPROC) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NPROC", RLIMIT_NPROC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NPROC", RLIMIT_NPROC, CONST_PERSISTENT); #endif #if defined(RLIMIT_RSS) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RSS", RLIMIT_RSS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RSS", RLIMIT_RSS, CONST_PERSISTENT); #endif #if defined(RLIMIT_RTPRIO) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RTPRIO", RLIMIT_RTPRIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RTPRIO", RLIMIT_RTPRIO, CONST_PERSISTENT); #endif #if defined(RLIMIT_RTTIME) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RTTIME", RLIMIT_RTTIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_RTTIME", RLIMIT_RTTIME, CONST_PERSISTENT); #endif #if defined(RLIMIT_SIGPENDING) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_SIGPENDING", RLIMIT_SIGPENDING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_SIGPENDING", RLIMIT_SIGPENDING, CONST_PERSISTENT); #endif #if defined(RLIMIT_STACK) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_STACK", RLIMIT_STACK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_STACK", RLIMIT_STACK, CONST_PERSISTENT); #endif #if defined(RLIMIT_KQUEUES) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_KQUEUES", RLIMIT_KQUEUES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_KQUEUES", RLIMIT_KQUEUES, CONST_PERSISTENT); #endif #if defined(RLIMIT_NPTS) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NPTS", RLIMIT_NPTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_NPTS", RLIMIT_NPTS, CONST_PERSISTENT); #endif #if defined(HAVE_SETRLIMIT) - REGISTER_LONG_CONSTANT("POSIX_RLIMIT_INFINITY", RLIM_INFINITY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POSIX_RLIMIT_INFINITY", RLIM_INFINITY, CONST_PERSISTENT); #endif } diff --git a/ext/pspell/pspell_arginfo.h b/ext/pspell/pspell_arginfo.h index dcbaba9e10c41..98d09ad038f6e 100644 --- a/ext/pspell/pspell_arginfo.h +++ b/ext/pspell/pspell_arginfo.h @@ -146,10 +146,10 @@ static const zend_function_entry class_PSpell_Config_methods[] = { static void register_pspell_symbols(int module_number) { - REGISTER_LONG_CONSTANT("PSPELL_FAST", PSPELL_FAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSPELL_NORMAL", PSPELL_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSPELL_BAD_SPELLERS", PSPELL_BAD_SPELLERS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSPELL_RUN_TOGETHER", PSPELL_RUN_TOGETHER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSPELL_FAST", PSPELL_FAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSPELL_NORMAL", PSPELL_NORMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSPELL_BAD_SPELLERS", PSPELL_BAD_SPELLERS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSPELL_RUN_TOGETHER", PSPELL_RUN_TOGETHER, CONST_PERSISTENT); } static zend_class_entry *register_class_PSpell_Dictionary(void) diff --git a/ext/random/random_arginfo.h b/ext/random/random_arginfo.h index 440e77c62ef45..fc272607360d0 100644 --- a/ext/random/random_arginfo.h +++ b/ext/random/random_arginfo.h @@ -234,8 +234,8 @@ static const zend_function_entry class_Random_RandomException_methods[] = { static void register_random_symbols(int module_number) { - REGISTER_LONG_CONSTANT("MT_RAND_MT19937", MT_RAND_MT19937, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MT_RAND_PHP", MT_RAND_PHP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MT_RAND_MT19937", MT_RAND_MT19937, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MT_RAND_PHP", MT_RAND_PHP, CONST_PERSISTENT); } static zend_class_entry *register_class_Random_Engine_Mt19937(zend_class_entry *class_entry_Random_Engine) diff --git a/ext/readline/readline_arginfo.h b/ext/readline/readline_arginfo.h index 4c64448d715c9..ca68dbf143c81 100644 --- a/ext/readline/readline_arginfo.h +++ b/ext/readline/readline_arginfo.h @@ -117,5 +117,5 @@ static const zend_function_entry ext_functions[] = { static void register_readline_symbols(int module_number) { - REGISTER_STRING_CONSTANT("READLINE_LIB", READLINE_LIB, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("READLINE_LIB", READLINE_LIB, CONST_PERSISTENT); } diff --git a/ext/session/session_arginfo.h b/ext/session/session_arginfo.h index 4627d9eaece89..f82530252f1f4 100644 --- a/ext/session/session_arginfo.h +++ b/ext/session/session_arginfo.h @@ -232,9 +232,9 @@ static const zend_function_entry class_SessionHandler_methods[] = { static void register_session_symbols(int module_number) { - REGISTER_LONG_CONSTANT("PHP_SESSION_DISABLED", php_session_disabled, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_SESSION_NONE", php_session_none, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_SESSION_ACTIVE", php_session_active, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_SESSION_DISABLED", php_session_disabled, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_SESSION_NONE", php_session_none, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_SESSION_ACTIVE", php_session_active, CONST_PERSISTENT); } static zend_class_entry *register_class_SessionHandlerInterface(void) diff --git a/ext/snmp/snmp_arginfo.h b/ext/snmp/snmp_arginfo.h index ac5140a6e2cc2..19974c85753e3 100644 --- a/ext/snmp/snmp_arginfo.h +++ b/ext/snmp/snmp_arginfo.h @@ -246,27 +246,27 @@ static const zend_function_entry class_SNMPException_methods[] = { static void register_snmp_symbols(int module_number) { - REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_SUFFIX", NETSNMP_OID_OUTPUT_SUFFIX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_MODULE", NETSNMP_OID_OUTPUT_MODULE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_FULL", NETSNMP_OID_OUTPUT_FULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NUMERIC", NETSNMP_OID_OUTPUT_NUMERIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_UCD", NETSNMP_OID_OUTPUT_UCD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NONE", NETSNMP_OID_OUTPUT_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_VALUE_LIBRARY", SNMP_VALUE_LIBRARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_VALUE_PLAIN", SNMP_VALUE_PLAIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_VALUE_OBJECT", SNMP_VALUE_OBJECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_BIT_STR", ASN_BIT_STR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OCTET_STR", ASN_OCTET_STR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OPAQUE", ASN_OPAQUE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_NULL", ASN_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_OBJECT_ID", ASN_OBJECT_ID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_IPADDRESS", ASN_IPADDRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_COUNTER", ASN_GAUGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_UNSIGNED", ASN_UNSIGNED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_TIMETICKS", ASN_TIMETICKS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_UINTEGER", ASN_UINTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_INTEGER", ASN_INTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SNMP_COUNTER64", ASN_COUNTER64, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_SUFFIX", NETSNMP_OID_OUTPUT_SUFFIX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_MODULE", NETSNMP_OID_OUTPUT_MODULE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_FULL", NETSNMP_OID_OUTPUT_FULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NUMERIC", NETSNMP_OID_OUTPUT_NUMERIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_UCD", NETSNMP_OID_OUTPUT_UCD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NONE", NETSNMP_OID_OUTPUT_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_VALUE_LIBRARY", SNMP_VALUE_LIBRARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_VALUE_PLAIN", SNMP_VALUE_PLAIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_VALUE_OBJECT", SNMP_VALUE_OBJECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_BIT_STR", ASN_BIT_STR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OCTET_STR", ASN_OCTET_STR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OPAQUE", ASN_OPAQUE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_NULL", ASN_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_OBJECT_ID", ASN_OBJECT_ID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_IPADDRESS", ASN_IPADDRESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_COUNTER", ASN_GAUGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_UNSIGNED", ASN_UNSIGNED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_TIMETICKS", ASN_TIMETICKS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_UINTEGER", ASN_UINTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_INTEGER", ASN_INTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SNMP_COUNTER64", ASN_COUNTER64, CONST_PERSISTENT); } static zend_class_entry *register_class_SNMP(void) diff --git a/ext/soap/soap_arginfo.h b/ext/soap/soap_arginfo.h index e725f5d3ebce9..5305b6e9891b1 100644 --- a/ext/soap/soap_arginfo.h +++ b/ext/soap/soap_arginfo.h @@ -235,87 +235,87 @@ static const zend_function_entry class_SoapClient_methods[] = { static void register_soap_symbols(int module_number) { - REGISTER_LONG_CONSTANT("SOAP_1_1", SOAP_1_1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_1_2", SOAP_1_2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_PERSISTENCE_SESSION", SOAP_PERSISTENCE_SESSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_PERSISTENCE_REQUEST", SOAP_PERSISTENCE_REQUEST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_FUNCTIONS_ALL", SOAP_FUNCTIONS_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_ENCODED", SOAP_ENCODED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_LITERAL", SOAP_LITERAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_RPC", SOAP_RPC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_DOCUMENT", SOAP_DOCUMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_ACTOR_NEXT", SOAP_ACTOR_NEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_ACTOR_NONE", SOAP_ACTOR_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_ACTOR_UNLIMATERECEIVER", SOAP_ACTOR_UNLIMATERECEIVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_ACCEPT", SOAP_COMPRESSION_ACCEPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_GZIP", SOAP_COMPRESSION_GZIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_DEFLATE", SOAP_COMPRESSION_DEFLATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_AUTHENTICATION_BASIC", SOAP_AUTHENTICATION_BASIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_AUTHENTICATION_DIGEST", SOAP_AUTHENTICATION_DIGEST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("UNKNOWN_TYPE", UNKNOWN_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_STRING", XSD_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_BOOLEAN", XSD_BOOLEAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_DECIMAL", XSD_DECIMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_FLOAT", XSD_FLOAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_DOUBLE", XSD_DOUBLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_DURATION", XSD_DURATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_DATETIME", XSD_DATETIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_TIME", XSD_TIME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_DATE", XSD_DATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_GYEARMONTH", XSD_GYEARMONTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_GYEAR", XSD_GYEAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_GMONTHDAY", XSD_GMONTHDAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_GDAY", XSD_GDAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_GMONTH", XSD_GMONTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_HEXBINARY", XSD_HEXBINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_BASE64BINARY", XSD_BASE64BINARY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_ANYURI", XSD_ANYURI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_QNAME", XSD_QNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NOTATION", XSD_NOTATION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NORMALIZEDSTRING", XSD_NORMALIZEDSTRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_TOKEN", XSD_TOKEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_LANGUAGE", XSD_LANGUAGE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NMTOKEN", XSD_NMTOKEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NAME", XSD_NAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NCNAME", XSD_NCNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_ID", XSD_ID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_IDREF", XSD_IDREF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_IDREFS", XSD_IDREFS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_ENTITY", XSD_ENTITY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_ENTITIES", XSD_ENTITIES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_INTEGER", XSD_INTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NONPOSITIVEINTEGER", XSD_NONPOSITIVEINTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NEGATIVEINTEGER", XSD_NEGATIVEINTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_LONG", XSD_LONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_INT", XSD_INT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_SHORT", XSD_SHORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_BYTE", XSD_BYTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NONNEGATIVEINTEGER", XSD_NONNEGATIVEINTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_UNSIGNEDLONG", XSD_UNSIGNEDLONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_UNSIGNEDINT", XSD_UNSIGNEDINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_UNSIGNEDSHORT", XSD_UNSIGNEDSHORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_UNSIGNEDBYTE", XSD_UNSIGNEDBYTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_POSITIVEINTEGER", XSD_POSITIVEINTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_NMTOKENS", XSD_NMTOKENS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_ANYTYPE", XSD_ANYTYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_ANYXML", XSD_ANYXML, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("APACHE_MAP", APACHE_MAP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_ENC_OBJECT", SOAP_ENC_OBJECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_ENC_ARRAY", SOAP_ENC_ARRAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSD_1999_TIMEINSTANT", XSD_1999_TIMEINSTANT, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("XSD_NAMESPACE", XSD_NAMESPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("XSD_1999_NAMESPACE", XSD_1999_NAMESPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_SINGLE_ELEMENT_ARRAYS", SOAP_SINGLE_ELEMENT_ARRAYS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_WAIT_ONE_WAY_CALLS", SOAP_WAIT_ONE_WAY_CALLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_USE_XSI_ARRAY_TYPE", SOAP_USE_XSI_ARRAY_TYPE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("WSDL_CACHE_NONE", WSDL_CACHE_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("WSDL_CACHE_DISK", WSDL_CACHE_DISK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("WSDL_CACHE_MEMORY", WSDL_CACHE_MEMORY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("WSDL_CACHE_BOTH", WSDL_CACHE_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_TLS", SOAP_SSL_METHOD_TLS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv2", SOAP_SSL_METHOD_SSLv2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv3", SOAP_SSL_METHOD_SSLv3, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv23", SOAP_SSL_METHOD_SSLv23, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_1_1", SOAP_1_1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_1_2", SOAP_1_2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_PERSISTENCE_SESSION", SOAP_PERSISTENCE_SESSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_PERSISTENCE_REQUEST", SOAP_PERSISTENCE_REQUEST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_FUNCTIONS_ALL", SOAP_FUNCTIONS_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_ENCODED", SOAP_ENCODED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_LITERAL", SOAP_LITERAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_RPC", SOAP_RPC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_DOCUMENT", SOAP_DOCUMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_ACTOR_NEXT", SOAP_ACTOR_NEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_ACTOR_NONE", SOAP_ACTOR_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_ACTOR_UNLIMATERECEIVER", SOAP_ACTOR_UNLIMATERECEIVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_ACCEPT", SOAP_COMPRESSION_ACCEPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_GZIP", SOAP_COMPRESSION_GZIP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_DEFLATE", SOAP_COMPRESSION_DEFLATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_AUTHENTICATION_BASIC", SOAP_AUTHENTICATION_BASIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_AUTHENTICATION_DIGEST", SOAP_AUTHENTICATION_DIGEST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UNKNOWN_TYPE", UNKNOWN_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_STRING", XSD_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_BOOLEAN", XSD_BOOLEAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_DECIMAL", XSD_DECIMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_FLOAT", XSD_FLOAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_DOUBLE", XSD_DOUBLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_DURATION", XSD_DURATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_DATETIME", XSD_DATETIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_TIME", XSD_TIME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_DATE", XSD_DATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_GYEARMONTH", XSD_GYEARMONTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_GYEAR", XSD_GYEAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_GMONTHDAY", XSD_GMONTHDAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_GDAY", XSD_GDAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_GMONTH", XSD_GMONTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_HEXBINARY", XSD_HEXBINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_BASE64BINARY", XSD_BASE64BINARY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_ANYURI", XSD_ANYURI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_QNAME", XSD_QNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NOTATION", XSD_NOTATION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NORMALIZEDSTRING", XSD_NORMALIZEDSTRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_TOKEN", XSD_TOKEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_LANGUAGE", XSD_LANGUAGE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NMTOKEN", XSD_NMTOKEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NAME", XSD_NAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NCNAME", XSD_NCNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_ID", XSD_ID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_IDREF", XSD_IDREF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_IDREFS", XSD_IDREFS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_ENTITY", XSD_ENTITY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_ENTITIES", XSD_ENTITIES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_INTEGER", XSD_INTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NONPOSITIVEINTEGER", XSD_NONPOSITIVEINTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NEGATIVEINTEGER", XSD_NEGATIVEINTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_LONG", XSD_LONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_INT", XSD_INT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_SHORT", XSD_SHORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_BYTE", XSD_BYTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NONNEGATIVEINTEGER", XSD_NONNEGATIVEINTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_UNSIGNEDLONG", XSD_UNSIGNEDLONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_UNSIGNEDINT", XSD_UNSIGNEDINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_UNSIGNEDSHORT", XSD_UNSIGNEDSHORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_UNSIGNEDBYTE", XSD_UNSIGNEDBYTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_POSITIVEINTEGER", XSD_POSITIVEINTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_NMTOKENS", XSD_NMTOKENS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_ANYTYPE", XSD_ANYTYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_ANYXML", XSD_ANYXML, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("APACHE_MAP", APACHE_MAP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_ENC_OBJECT", SOAP_ENC_OBJECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_ENC_ARRAY", SOAP_ENC_ARRAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSD_1999_TIMEINSTANT", XSD_1999_TIMEINSTANT, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("XSD_NAMESPACE", XSD_NAMESPACE, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("XSD_1999_NAMESPACE", XSD_1999_NAMESPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_SINGLE_ELEMENT_ARRAYS", SOAP_SINGLE_ELEMENT_ARRAYS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_WAIT_ONE_WAY_CALLS", SOAP_WAIT_ONE_WAY_CALLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_USE_XSI_ARRAY_TYPE", SOAP_USE_XSI_ARRAY_TYPE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WSDL_CACHE_NONE", WSDL_CACHE_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WSDL_CACHE_DISK", WSDL_CACHE_DISK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WSDL_CACHE_MEMORY", WSDL_CACHE_MEMORY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("WSDL_CACHE_BOTH", WSDL_CACHE_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_TLS", SOAP_SSL_METHOD_TLS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv2", SOAP_SSL_METHOD_SSLv2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv3", SOAP_SSL_METHOD_SSLv3, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOAP_SSL_METHOD_SSLv23", SOAP_SSL_METHOD_SSLv23, CONST_PERSISTENT); } static zend_class_entry *register_class_SoapParam(void) diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index 462a59e5db710..38da81269be80 100644 --- a/ext/sockets/sockets_arginfo.h +++ b/ext/sockets/sockets_arginfo.h @@ -324,648 +324,648 @@ static const zend_function_entry class_AddressInfo_methods[] = { static void register_sockets_symbols(int module_number) { - REGISTER_LONG_CONSTANT("AF_UNIX", AF_UNIX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AF_INET", AF_INET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AF_UNIX", AF_UNIX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AF_INET", AF_INET, CONST_PERSISTENT); #if HAVE_IPV6 - REGISTER_LONG_CONSTANT("AF_INET6", AF_INET6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AF_INET6", AF_INET6, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("SOCK_STREAM", SOCK_STREAM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOCK_DGRAM", SOCK_DGRAM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOCK_RAW", SOCK_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOCK_SEQPACKET", SOCK_SEQPACKET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_STREAM", SOCK_STREAM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_DGRAM", SOCK_DGRAM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_RAW", SOCK_RAW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_SEQPACKET", SOCK_SEQPACKET, CONST_PERSISTENT); #if defined(SOCK_RDM) - REGISTER_LONG_CONSTANT("SOCK_RDM", SOCK_RDM, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("MSG_OOB", MSG_OOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_WAITALL", MSG_WAITALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_CTRUNC", MSG_CTRUNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_TRUNC", MSG_TRUNC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_PEEK", MSG_PEEK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_DONTROUTE", MSG_DONTROUTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCK_RDM", SOCK_RDM, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("MSG_OOB", MSG_OOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_WAITALL", MSG_WAITALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_CTRUNC", MSG_CTRUNC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_TRUNC", MSG_TRUNC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_PEEK", MSG_PEEK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_DONTROUTE", MSG_DONTROUTE, CONST_PERSISTENT); #if defined(MSG_EOR) - REGISTER_LONG_CONSTANT("MSG_EOR", MSG_EOR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_EOR", MSG_EOR, CONST_PERSISTENT); #endif #if defined(MSG_EOF) - REGISTER_LONG_CONSTANT("MSG_EOF", MSG_EOF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_EOF", MSG_EOF, CONST_PERSISTENT); #endif #if defined(MSG_CONFIRM) - REGISTER_LONG_CONSTANT("MSG_CONFIRM", MSG_CONFIRM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_CONFIRM", MSG_CONFIRM, CONST_PERSISTENT); #endif #if defined(MSG_ERRQUEUE) - REGISTER_LONG_CONSTANT("MSG_ERRQUEUE", MSG_ERRQUEUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_ERRQUEUE", MSG_ERRQUEUE, CONST_PERSISTENT); #endif #if defined(MSG_NOSIGNAL) - REGISTER_LONG_CONSTANT("MSG_NOSIGNAL", MSG_NOSIGNAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_NOSIGNAL", MSG_NOSIGNAL, CONST_PERSISTENT); #endif #if defined(MSG_DONTWAIT) - REGISTER_LONG_CONSTANT("MSG_DONTWAIT", MSG_DONTWAIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_DONTWAIT", MSG_DONTWAIT, CONST_PERSISTENT); #endif #if defined(MSG_MORE) - REGISTER_LONG_CONSTANT("MSG_MORE", MSG_MORE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_MORE", MSG_MORE, CONST_PERSISTENT); #endif #if defined(MSG_WAITFORONE) - REGISTER_LONG_CONSTANT("MSG_WAITFORONE", MSG_WAITFORONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_WAITFORONE", MSG_WAITFORONE, CONST_PERSISTENT); #endif #if defined(MSG_CMSG_CLOEXEC) - REGISTER_LONG_CONSTANT("MSG_CMSG_CLOEXEC", MSG_CMSG_CLOEXEC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_CMSG_CLOEXEC", MSG_CMSG_CLOEXEC, CONST_PERSISTENT); #endif #if defined(MSG_ZEROCOPY) - REGISTER_LONG_CONSTANT("MSG_ZEROCOPY", MSG_ZEROCOPY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_ZEROCOPY", MSG_ZEROCOPY, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("SO_DEBUG", SO_DEBUG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_REUSEADDR", SO_REUSEADDR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_DEBUG", SO_DEBUG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_REUSEADDR", SO_REUSEADDR, CONST_PERSISTENT); #if defined(SO_REUSEPORT) - REGISTER_LONG_CONSTANT("SO_REUSEPORT", SO_REUSEPORT, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SO_KEEPALIVE", SO_KEEPALIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_DONTROUTE", SO_DONTROUTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_LINGER", SO_LINGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_BROADCAST", SO_BROADCAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_OOBINLINE", SO_OOBINLINE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_SNDBUF", SO_SNDBUF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_RCVBUF", SO_RCVBUF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_SNDLOWAT", SO_SNDLOWAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_RCVLOWAT", SO_RCVLOWAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_SNDTIMEO", SO_SNDTIMEO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_RCVTIMEO", SO_RCVTIMEO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SO_TYPE", SO_TYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_REUSEPORT", SO_REUSEPORT, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SO_KEEPALIVE", SO_KEEPALIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_DONTROUTE", SO_DONTROUTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_LINGER", SO_LINGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_BROADCAST", SO_BROADCAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_OOBINLINE", SO_OOBINLINE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SNDBUF", SO_SNDBUF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RCVBUF", SO_RCVBUF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SNDLOWAT", SO_SNDLOWAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RCVLOWAT", SO_RCVLOWAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SNDTIMEO", SO_SNDTIMEO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RCVTIMEO", SO_RCVTIMEO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_TYPE", SO_TYPE, CONST_PERSISTENT); #if defined(SO_FAMILY) - REGISTER_LONG_CONSTANT("SO_FAMILY", SO_FAMILY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_FAMILY", SO_FAMILY, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("SO_ERROR", SO_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_ERROR", SO_ERROR, CONST_PERSISTENT); #if defined(SO_BINDTODEVICE) - REGISTER_LONG_CONSTANT("SO_BINDTODEVICE", SO_BINDTODEVICE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_BINDTODEVICE", SO_BINDTODEVICE, CONST_PERSISTENT); #endif #if defined(SO_USER_COOKIE) - REGISTER_LONG_CONSTANT("SO_LABEL", SO_LABEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_LABEL", SO_LABEL, CONST_PERSISTENT); #endif #if defined(SO_USER_COOKIE) - REGISTER_LONG_CONSTANT("SO_PEERLABEL", SO_PEERLABEL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_PEERLABEL", SO_PEERLABEL, CONST_PERSISTENT); #endif #if defined(SO_USER_COOKIE) - REGISTER_LONG_CONSTANT("SO_LISTENQLIMIT", SO_LISTENQLIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_LISTENQLIMIT", SO_LISTENQLIMIT, CONST_PERSISTENT); #endif #if defined(SO_USER_COOKIE) - REGISTER_LONG_CONSTANT("SO_LISTENQLEN", SO_LISTENQLEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_LISTENQLEN", SO_LISTENQLEN, CONST_PERSISTENT); #endif #if defined(SO_USER_COOKIE) - REGISTER_LONG_CONSTANT("SO_USER_COOKIE", SO_USER_COOKIE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_USER_COOKIE", SO_USER_COOKIE, CONST_PERSISTENT); #endif #if defined(SO_SETFIB) - REGISTER_LONG_CONSTANT("SO_SETFIB", SO_SETFIB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_SETFIB", SO_SETFIB, CONST_PERSISTENT); #endif #if defined(SO_ACCEPTFILTER) - REGISTER_LONG_CONSTANT("SO_ACCEPTFILTER", SO_ACCEPTFILTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_ACCEPTFILTER", SO_ACCEPTFILTER, CONST_PERSISTENT); #endif #if defined(SOL_FILTER) - REGISTER_LONG_CONSTANT("SOL_FILTER", SOL_FILTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOL_FILTER", SOL_FILTER, CONST_PERSISTENT); #endif #if defined(SOL_FILTER) - REGISTER_LONG_CONSTANT("FIL_ATTACH", FIL_ATTACH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FIL_ATTACH", FIL_ATTACH, CONST_PERSISTENT); #endif #if defined(SOL_FILTER) - REGISTER_LONG_CONSTANT("FIL_DETACH", FIL_DETACH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FIL_DETACH", FIL_DETACH, CONST_PERSISTENT); #endif #if defined(SO_DONTTRUNC) - REGISTER_LONG_CONSTANT("SO_DONTTRUNC", SO_DONTTRUNC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_DONTTRUNC", SO_DONTTRUNC, CONST_PERSISTENT); #endif #if defined(SO_WANTMORE) - REGISTER_LONG_CONSTANT("SO_WANTMORE", SO_WANTMORE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_WANTMORE", SO_WANTMORE, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("SOL_SOCKET", SOL_SOCKET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOMAXCONN", SOMAXCONN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOL_SOCKET", SOL_SOCKET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOMAXCONN", SOMAXCONN, CONST_PERSISTENT); #if defined(SO_MARK) - REGISTER_LONG_CONSTANT("SO_MARK", SO_MARK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_MARK", SO_MARK, CONST_PERSISTENT); #endif #if defined(SO_RTABLE) - REGISTER_LONG_CONSTANT("SO_RTABLE", SO_RTABLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_RTABLE", SO_RTABLE, CONST_PERSISTENT); #endif #if defined(SO_INCOMING_CPU) - REGISTER_LONG_CONSTANT("SO_INCOMING_CPU", SO_INCOMING_CPU, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_INCOMING_CPU", SO_INCOMING_CPU, CONST_PERSISTENT); #endif #if defined(SO_MEMINFO) - REGISTER_LONG_CONSTANT("SO_MEMINFO", SO_MEMINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_MEMINFO", SO_MEMINFO, CONST_PERSISTENT); #endif #if defined(SO_BPF_EXTENSIONS) - REGISTER_LONG_CONSTANT("SO_BPF_EXTENSIONS", SO_BPF_EXTENSIONS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_BPF_EXTENSIONS", SO_BPF_EXTENSIONS, CONST_PERSISTENT); #endif #if defined(SKF_AD_OFF) - REGISTER_LONG_CONSTANT("SKF_AD_OFF", SKF_AD_OFF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_OFF", SKF_AD_OFF, CONST_PERSISTENT); #endif #if defined(SKF_AD_PROTOCOL) - REGISTER_LONG_CONSTANT("SKF_AD_PROTOCOL", SKF_AD_PROTOCOL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_PROTOCOL", SKF_AD_PROTOCOL, CONST_PERSISTENT); #endif #if defined(SKF_AD_PKTTYPE) - REGISTER_LONG_CONSTANT("SKF_AD_PKTTYPE", SKF_AD_PKTTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_PKTTYPE", SKF_AD_PKTTYPE, CONST_PERSISTENT); #endif #if defined(SKF_AD_IFINDEX) - REGISTER_LONG_CONSTANT("SKF_AD_IFINDEX", SKF_AD_IFINDEX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_IFINDEX", SKF_AD_IFINDEX, CONST_PERSISTENT); #endif #if defined(SKF_AD_NLATTR) - REGISTER_LONG_CONSTANT("SKF_AD_NLATTR", SKF_AD_NLATTR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_NLATTR", SKF_AD_NLATTR, CONST_PERSISTENT); #endif #if defined(SKF_AD_NLATTR_NEST) - REGISTER_LONG_CONSTANT("SKF_AD_NLATTR_NEST", SKF_AD_NLATTR_NEST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_NLATTR_NEST", SKF_AD_NLATTR_NEST, CONST_PERSISTENT); #endif #if defined(SKF_AD_MARK) - REGISTER_LONG_CONSTANT("SKF_AD_MARK", SKF_AD_MARK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_MARK", SKF_AD_MARK, CONST_PERSISTENT); #endif #if defined(SKF_AD_QUEUE) - REGISTER_LONG_CONSTANT("SKF_AD_QUEUE", SKF_AD_QUEUE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_QUEUE", SKF_AD_QUEUE, CONST_PERSISTENT); #endif #if defined(SKF_AD_HATYPE) - REGISTER_LONG_CONSTANT("SKF_AD_HATYPE", SKF_AD_HATYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_HATYPE", SKF_AD_HATYPE, CONST_PERSISTENT); #endif #if defined(SKF_AD_RXHASH) - REGISTER_LONG_CONSTANT("SKF_AD_RXHASH", SKF_AD_RXHASH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_RXHASH", SKF_AD_RXHASH, CONST_PERSISTENT); #endif #if defined(SKF_AD_CPU) - REGISTER_LONG_CONSTANT("SKF_AD_CPU", SKF_AD_CPU, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_CPU", SKF_AD_CPU, CONST_PERSISTENT); #endif #if defined(SKF_AD_ALU_XOR_X) - REGISTER_LONG_CONSTANT("SKF_AD_ALU_XOR_X", SKF_AD_ALU_XOR_X, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_ALU_XOR_X", SKF_AD_ALU_XOR_X, CONST_PERSISTENT); #endif #if defined(SKF_AD_VLAN_TAG) - REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG", SKF_AD_VLAN_TAG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG", SKF_AD_VLAN_TAG, CONST_PERSISTENT); #endif #if defined(SKF_AD_VLAN_TAG_PRESENT) - REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG_PRESENT", SKF_AD_VLAN_TAG_PRESENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TAG_PRESENT", SKF_AD_VLAN_TAG_PRESENT, CONST_PERSISTENT); #endif #if defined(SKF_AD_PAY_OFFSET) - REGISTER_LONG_CONSTANT("SKF_AD_PAY_OFFSET", SKF_AD_PAY_OFFSET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_PAY_OFFSET", SKF_AD_PAY_OFFSET, CONST_PERSISTENT); #endif #if defined(SKF_AD_RANDOM) - REGISTER_LONG_CONSTANT("SKF_AD_RANDOM", SKF_AD_RANDOM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_RANDOM", SKF_AD_RANDOM, CONST_PERSISTENT); #endif #if defined(SKF_AD_VLAN_TPID) - REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TPID", SKF_AD_VLAN_TPID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_VLAN_TPID", SKF_AD_VLAN_TPID, CONST_PERSISTENT); #endif #if defined(SKF_AD_MAX) - REGISTER_LONG_CONSTANT("SKF_AD_MAX", SKF_AD_MAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SKF_AD_MAX", SKF_AD_MAX, CONST_PERSISTENT); #endif #if defined(TCP_CONGESTION) - REGISTER_LONG_CONSTANT("TCP_CONGESTION", TCP_CONGESTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_CONGESTION", TCP_CONGESTION, CONST_PERSISTENT); #endif #if defined(SO_ZEROCOPY) - REGISTER_LONG_CONSTANT("SO_ZEROCOPY", SO_ZEROCOPY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_ZEROCOPY", SO_ZEROCOPY, CONST_PERSISTENT); #endif #if defined(TCP_NODELAY) - REGISTER_LONG_CONSTANT("TCP_NODELAY", TCP_NODELAY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_NODELAY", TCP_NODELAY, CONST_PERSISTENT); #endif #if defined(TCP_NOTSENT_LOWAT) - REGISTER_LONG_CONSTANT("TCP_NOTSENT_LOWAT", TCP_NOTSENT_LOWAT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_NOTSENT_LOWAT", TCP_NOTSENT_LOWAT, CONST_PERSISTENT); #endif #if defined(TCP_DEFER_ACCEPT) - REGISTER_LONG_CONSTANT("TCP_DEFER_ACCEPT", TCP_DEFER_ACCEPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_DEFER_ACCEPT", TCP_DEFER_ACCEPT, CONST_PERSISTENT); #endif #if defined(TCP_KEEPALIVE) - REGISTER_LONG_CONSTANT("TCP_KEEPALIVE", TCP_KEEPALIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_KEEPALIVE", TCP_KEEPALIVE, CONST_PERSISTENT); #endif #if defined(TCP_KEEPIDLE) - REGISTER_LONG_CONSTANT("TCP_KEEPIDLE", TCP_KEEPIDLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_KEEPIDLE", TCP_KEEPIDLE, CONST_PERSISTENT); #endif #if defined(TCP_KEEPIDLE) - REGISTER_LONG_CONSTANT("TCP_KEEPINTVL", TCP_KEEPINTVL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_KEEPINTVL", TCP_KEEPINTVL, CONST_PERSISTENT); #endif #if defined(TCP_KEEPIDLE) - REGISTER_LONG_CONSTANT("TCP_KEEPCNT", TCP_KEEPCNT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TCP_KEEPCNT", TCP_KEEPCNT, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("PHP_NORMAL_READ", PHP_NORMAL_READ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_BINARY_READ", PHP_BINARY_READ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MCAST_JOIN_GROUP", PHP_MCAST_JOIN_GROUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MCAST_LEAVE_GROUP", PHP_MCAST_LEAVE_GROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_NORMAL_READ", PHP_NORMAL_READ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_BINARY_READ", PHP_BINARY_READ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_JOIN_GROUP", PHP_MCAST_JOIN_GROUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_LEAVE_GROUP", PHP_MCAST_LEAVE_GROUP, CONST_PERSISTENT); #if defined(HAS_MCAST_EXT) - REGISTER_LONG_CONSTANT("MCAST_BLOCK_SOURCE", PHP_MCAST_BLOCK_SOURCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_BLOCK_SOURCE", PHP_MCAST_BLOCK_SOURCE, CONST_PERSISTENT); #endif #if defined(HAS_MCAST_EXT) - REGISTER_LONG_CONSTANT("MCAST_UNBLOCK_SOURCE", PHP_MCAST_UNBLOCK_SOURCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_UNBLOCK_SOURCE", PHP_MCAST_UNBLOCK_SOURCE, CONST_PERSISTENT); #endif #if defined(HAS_MCAST_EXT) - REGISTER_LONG_CONSTANT("MCAST_JOIN_SOURCE_GROUP", PHP_MCAST_JOIN_SOURCE_GROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_JOIN_SOURCE_GROUP", PHP_MCAST_JOIN_SOURCE_GROUP, CONST_PERSISTENT); #endif #if defined(HAS_MCAST_EXT) - REGISTER_LONG_CONSTANT("MCAST_LEAVE_SOURCE_GROUP", PHP_MCAST_LEAVE_SOURCE_GROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MCAST_LEAVE_SOURCE_GROUP", PHP_MCAST_LEAVE_SOURCE_GROUP, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("IP_MULTICAST_IF", IP_MULTICAST_IF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IP_MULTICAST_TTL", IP_MULTICAST_TTL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IP_MULTICAST_LOOP", IP_MULTICAST_LOOP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IP_MULTICAST_IF", IP_MULTICAST_IF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IP_MULTICAST_TTL", IP_MULTICAST_TTL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IP_MULTICAST_LOOP", IP_MULTICAST_LOOP, CONST_PERSISTENT); #if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_MULTICAST_IF", IPV6_MULTICAST_IF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_MULTICAST_IF", IPV6_MULTICAST_IF, CONST_PERSISTENT); #endif #if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_MULTICAST_HOPS", IPV6_MULTICAST_HOPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_MULTICAST_HOPS", IPV6_MULTICAST_HOPS, CONST_PERSISTENT); #endif #if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_MULTICAST_LOOP", IPV6_MULTICAST_LOOP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_MULTICAST_LOOP", IPV6_MULTICAST_LOOP, CONST_PERSISTENT); #endif #if defined(IPV6_V6ONLY) - REGISTER_LONG_CONSTANT("IPV6_V6ONLY", IPV6_V6ONLY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_V6ONLY", IPV6_V6ONLY, CONST_PERSISTENT); #endif #if defined(EPERM) - REGISTER_LONG_CONSTANT("SOCKET_EPERM", EPERM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EPERM", EPERM, CONST_PERSISTENT); #endif #if defined(ENOENT) - REGISTER_LONG_CONSTANT("SOCKET_ENOENT", ENOENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOENT", ENOENT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EINTR) - REGISTER_LONG_CONSTANT("SOCKET_EINTR", PHP_SOCKET_EINTR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EINTR", PHP_SOCKET_EINTR, CONST_PERSISTENT); #endif #if defined(EIO) - REGISTER_LONG_CONSTANT("SOCKET_EIO", EIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EIO", EIO, CONST_PERSISTENT); #endif #if defined(ENXIO) - REGISTER_LONG_CONSTANT("SOCKET_ENXIO", ENXIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENXIO", ENXIO, CONST_PERSISTENT); #endif #if defined(E2BIG) - REGISTER_LONG_CONSTANT("SOCKET_E2BIG", E2BIG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_E2BIG", E2BIG, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EBADF) - REGISTER_LONG_CONSTANT("SOCKET_EBADF", PHP_SOCKET_EBADF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADF", PHP_SOCKET_EBADF, CONST_PERSISTENT); #endif #if defined(EAGAIN) - REGISTER_LONG_CONSTANT("SOCKET_EAGAIN", EAGAIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EAGAIN", EAGAIN, CONST_PERSISTENT); #endif #if defined(ENOMEM) - REGISTER_LONG_CONSTANT("SOCKET_ENOMEM", ENOMEM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOMEM", ENOMEM, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EACCES) - REGISTER_LONG_CONSTANT("SOCKET_EACCES", PHP_SOCKET_EACCES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EACCES", PHP_SOCKET_EACCES, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EFAULT) - REGISTER_LONG_CONSTANT("SOCKET_EFAULT", PHP_SOCKET_EFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EFAULT", PHP_SOCKET_EFAULT, CONST_PERSISTENT); #endif #if defined(ENOTBLK) - REGISTER_LONG_CONSTANT("SOCKET_ENOTBLK", ENOTBLK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTBLK", ENOTBLK, CONST_PERSISTENT); #endif #if defined(EBUSY) - REGISTER_LONG_CONSTANT("SOCKET_EBUSY", EBUSY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBUSY", EBUSY, CONST_PERSISTENT); #endif #if defined(EEXIST) - REGISTER_LONG_CONSTANT("SOCKET_EEXIST", EEXIST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EEXIST", EEXIST, CONST_PERSISTENT); #endif #if defined(EXDEV) - REGISTER_LONG_CONSTANT("SOCKET_EXDEV", EXDEV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EXDEV", EXDEV, CONST_PERSISTENT); #endif #if defined(ENODEV) - REGISTER_LONG_CONSTANT("SOCKET_ENODEV", ENODEV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENODEV", ENODEV, CONST_PERSISTENT); #endif #if defined(ENOTDIR) - REGISTER_LONG_CONSTANT("SOCKET_ENOTDIR", ENOTDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTDIR", ENOTDIR, CONST_PERSISTENT); #endif #if defined(EISDIR) - REGISTER_LONG_CONSTANT("SOCKET_EISDIR", EISDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EISDIR", EISDIR, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EINVAL) - REGISTER_LONG_CONSTANT("SOCKET_EINVAL", PHP_SOCKET_EINVAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EINVAL", PHP_SOCKET_EINVAL, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENFILE) - REGISTER_LONG_CONSTANT("SOCKET_ENFILE", PHP_SOCKET_ENFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENFILE", PHP_SOCKET_ENFILE, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EMFILE) - REGISTER_LONG_CONSTANT("SOCKET_EMFILE", PHP_SOCKET_EMFILE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EMFILE", PHP_SOCKET_EMFILE, CONST_PERSISTENT); #endif #if defined(ENOTTY) - REGISTER_LONG_CONSTANT("SOCKET_ENOTTY", ENOTTY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTTY", ENOTTY, CONST_PERSISTENT); #endif #if defined(ENOSPC) - REGISTER_LONG_CONSTANT("SOCKET_ENOSPC", ENOSPC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOSPC", ENOSPC, CONST_PERSISTENT); #endif #if defined(ESPIPE) - REGISTER_LONG_CONSTANT("SOCKET_ESPIPE", ESPIPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ESPIPE", ESPIPE, CONST_PERSISTENT); #endif #if defined(EROFS) - REGISTER_LONG_CONSTANT("SOCKET_EROFS", EROFS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EROFS", EROFS, CONST_PERSISTENT); #endif #if defined(EMLINK) - REGISTER_LONG_CONSTANT("SOCKET_EMLINK", EMLINK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EMLINK", EMLINK, CONST_PERSISTENT); #endif #if defined(EPIPE) - REGISTER_LONG_CONSTANT("SOCKET_EPIPE", EPIPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EPIPE", EPIPE, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENAMETOOLONG) - REGISTER_LONG_CONSTANT("SOCKET_ENAMETOOLONG", PHP_SOCKET_ENAMETOOLONG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENAMETOOLONG", PHP_SOCKET_ENAMETOOLONG, CONST_PERSISTENT); #endif #if defined(ENOLCK) - REGISTER_LONG_CONSTANT("SOCKET_ENOLCK", ENOLCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOLCK", ENOLCK, CONST_PERSISTENT); #endif #if defined(ENOSYS) - REGISTER_LONG_CONSTANT("SOCKET_ENOSYS", ENOSYS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOSYS", ENOSYS, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENOTEMPTY) - REGISTER_LONG_CONSTANT("SOCKET_ENOTEMPTY", PHP_SOCKET_ENOTEMPTY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTEMPTY", PHP_SOCKET_ENOTEMPTY, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ELOOP) - REGISTER_LONG_CONSTANT("SOCKET_ELOOP", PHP_SOCKET_ELOOP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ELOOP", PHP_SOCKET_ELOOP, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EWOULDBLOCK) - REGISTER_LONG_CONSTANT("SOCKET_EWOULDBLOCK", PHP_SOCKET_EWOULDBLOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EWOULDBLOCK", PHP_SOCKET_EWOULDBLOCK, CONST_PERSISTENT); #endif #if defined(ENOMSG) - REGISTER_LONG_CONSTANT("SOCKET_ENOMSG", ENOMSG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOMSG", ENOMSG, CONST_PERSISTENT); #endif #if defined(EIDRM) - REGISTER_LONG_CONSTANT("SOCKET_EIDRM", EIDRM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EIDRM", EIDRM, CONST_PERSISTENT); #endif #if defined(ECHRNG) - REGISTER_LONG_CONSTANT("SOCKET_ECHRNG", ECHRNG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ECHRNG", ECHRNG, CONST_PERSISTENT); #endif #if defined(EL2NSYNC) - REGISTER_LONG_CONSTANT("SOCKET_EL2NSYNC", EL2NSYNC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EL2NSYNC", EL2NSYNC, CONST_PERSISTENT); #endif #if defined(EL3HLT) - REGISTER_LONG_CONSTANT("SOCKET_EL3HLT", EL3HLT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EL3HLT", EL3HLT, CONST_PERSISTENT); #endif #if defined(EL3RST) - REGISTER_LONG_CONSTANT("SOCKET_EL3RST", EL3RST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EL3RST", EL3RST, CONST_PERSISTENT); #endif #if defined(ELNRNG) - REGISTER_LONG_CONSTANT("SOCKET_ELNRNG", ELNRNG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ELNRNG", ELNRNG, CONST_PERSISTENT); #endif #if defined(EUNATCH) - REGISTER_LONG_CONSTANT("SOCKET_EUNATCH", EUNATCH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EUNATCH", EUNATCH, CONST_PERSISTENT); #endif #if defined(ENOCSI) - REGISTER_LONG_CONSTANT("SOCKET_ENOCSI", ENOCSI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOCSI", ENOCSI, CONST_PERSISTENT); #endif #if defined(EL2HLT) - REGISTER_LONG_CONSTANT("SOCKET_EL2HLT", EL2HLT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EL2HLT", EL2HLT, CONST_PERSISTENT); #endif #if defined(EBADE) - REGISTER_LONG_CONSTANT("SOCKET_EBADE", EBADE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADE", EBADE, CONST_PERSISTENT); #endif #if defined(EBADR) - REGISTER_LONG_CONSTANT("SOCKET_EBADR", EBADR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADR", EBADR, CONST_PERSISTENT); #endif #if defined(EXFULL) - REGISTER_LONG_CONSTANT("SOCKET_EXFULL", EXFULL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EXFULL", EXFULL, CONST_PERSISTENT); #endif #if defined(ENOANO) - REGISTER_LONG_CONSTANT("SOCKET_ENOANO", ENOANO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOANO", ENOANO, CONST_PERSISTENT); #endif #if defined(EBADRQC) - REGISTER_LONG_CONSTANT("SOCKET_EBADRQC", EBADRQC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADRQC", EBADRQC, CONST_PERSISTENT); #endif #if defined(EBADSLT) - REGISTER_LONG_CONSTANT("SOCKET_EBADSLT", EBADSLT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADSLT", EBADSLT, CONST_PERSISTENT); #endif #if defined(ENOSTR) - REGISTER_LONG_CONSTANT("SOCKET_ENOSTR", ENOSTR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOSTR", ENOSTR, CONST_PERSISTENT); #endif #if defined(ENODATA) - REGISTER_LONG_CONSTANT("SOCKET_ENODATA", ENODATA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENODATA", ENODATA, CONST_PERSISTENT); #endif #if defined(ETIME) - REGISTER_LONG_CONSTANT("SOCKET_ETIME", ETIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ETIME", ETIME, CONST_PERSISTENT); #endif #if defined(ENOSR) - REGISTER_LONG_CONSTANT("SOCKET_ENOSR", ENOSR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOSR", ENOSR, CONST_PERSISTENT); #endif #if defined(ENONET) - REGISTER_LONG_CONSTANT("SOCKET_ENONET", ENONET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENONET", ENONET, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EREMOTE) - REGISTER_LONG_CONSTANT("SOCKET_EREMOTE", PHP_SOCKET_EREMOTE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EREMOTE", PHP_SOCKET_EREMOTE, CONST_PERSISTENT); #endif #if defined(ENOLINK) - REGISTER_LONG_CONSTANT("SOCKET_ENOLINK", ENOLINK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOLINK", ENOLINK, CONST_PERSISTENT); #endif #if defined(EADV) - REGISTER_LONG_CONSTANT("SOCKET_EADV", EADV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EADV", EADV, CONST_PERSISTENT); #endif #if defined(ESRMNT) - REGISTER_LONG_CONSTANT("SOCKET_ESRMNT", ESRMNT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ESRMNT", ESRMNT, CONST_PERSISTENT); #endif #if defined(ECOMM) - REGISTER_LONG_CONSTANT("SOCKET_ECOMM", ECOMM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ECOMM", ECOMM, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EPROTO) - REGISTER_LONG_CONSTANT("SOCKET_EPROTO", PHP_SOCKET_EPROTO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EPROTO", PHP_SOCKET_EPROTO, CONST_PERSISTENT); #endif #if defined(EMULTIHOP) - REGISTER_LONG_CONSTANT("SOCKET_EMULTIHOP", EMULTIHOP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EMULTIHOP", EMULTIHOP, CONST_PERSISTENT); #endif #if defined(EBADMSG) - REGISTER_LONG_CONSTANT("SOCKET_EBADMSG", EBADMSG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADMSG", EBADMSG, CONST_PERSISTENT); #endif #if defined(ENOTUNIQ) - REGISTER_LONG_CONSTANT("SOCKET_ENOTUNIQ", ENOTUNIQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTUNIQ", ENOTUNIQ, CONST_PERSISTENT); #endif #if defined(EBADFD) - REGISTER_LONG_CONSTANT("SOCKET_EBADFD", EBADFD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EBADFD", EBADFD, CONST_PERSISTENT); #endif #if defined(EREMCHG) - REGISTER_LONG_CONSTANT("SOCKET_EREMCHG", EREMCHG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EREMCHG", EREMCHG, CONST_PERSISTENT); #endif #if defined(ERESTART) - REGISTER_LONG_CONSTANT("SOCKET_ERESTART", ERESTART, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ERESTART", ERESTART, CONST_PERSISTENT); #endif #if defined(ESTRPIPE) - REGISTER_LONG_CONSTANT("SOCKET_ESTRPIPE", ESTRPIPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ESTRPIPE", ESTRPIPE, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EUSERS) - REGISTER_LONG_CONSTANT("SOCKET_EUSERS", PHP_SOCKET_EUSERS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EUSERS", PHP_SOCKET_EUSERS, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENOTSOCK) - REGISTER_LONG_CONSTANT("SOCKET_ENOTSOCK", PHP_SOCKET_ENOTSOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTSOCK", PHP_SOCKET_ENOTSOCK, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EDESTADDRREQ) - REGISTER_LONG_CONSTANT("SOCKET_EDESTADDRREQ", PHP_SOCKET_EDESTADDRREQ, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EDESTADDRREQ", PHP_SOCKET_EDESTADDRREQ, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EMSGSIZE) - REGISTER_LONG_CONSTANT("SOCKET_EMSGSIZE", PHP_SOCKET_EMSGSIZE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EMSGSIZE", PHP_SOCKET_EMSGSIZE, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EPROTOTYPE) - REGISTER_LONG_CONSTANT("SOCKET_EPROTOTYPE", PHP_SOCKET_EPROTOTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EPROTOTYPE", PHP_SOCKET_EPROTOTYPE, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENOPROTOOPT) - REGISTER_LONG_CONSTANT("SOCKET_ENOPROTOOPT", PHP_SOCKET_ENOPROTOOPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOPROTOOPT", PHP_SOCKET_ENOPROTOOPT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EPROTONOSUPPORT) - REGISTER_LONG_CONSTANT("SOCKET_EPROTONOSUPPORT", PHP_SOCKET_EPROTONOSUPPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EPROTONOSUPPORT", PHP_SOCKET_EPROTONOSUPPORT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ESOCKTNOSUPPORT) - REGISTER_LONG_CONSTANT("SOCKET_ESOCKTNOSUPPORT", PHP_SOCKET_ESOCKTNOSUPPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ESOCKTNOSUPPORT", PHP_SOCKET_ESOCKTNOSUPPORT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EOPNOTSUPP) - REGISTER_LONG_CONSTANT("SOCKET_EOPNOTSUPP", PHP_SOCKET_EOPNOTSUPP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EOPNOTSUPP", PHP_SOCKET_EOPNOTSUPP, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EPFNOSUPPORT) - REGISTER_LONG_CONSTANT("SOCKET_EPFNOSUPPORT", PHP_SOCKET_EPFNOSUPPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EPFNOSUPPORT", PHP_SOCKET_EPFNOSUPPORT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EAFNOSUPPORT) - REGISTER_LONG_CONSTANT("SOCKET_EAFNOSUPPORT", PHP_SOCKET_EAFNOSUPPORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EAFNOSUPPORT", PHP_SOCKET_EAFNOSUPPORT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EADDRINUSE) - REGISTER_LONG_CONSTANT("SOCKET_EADDRINUSE", PHP_SOCKET_EADDRINUSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EADDRINUSE", PHP_SOCKET_EADDRINUSE, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EADDRNOTAVAIL) - REGISTER_LONG_CONSTANT("SOCKET_EADDRNOTAVAIL", PHP_SOCKET_EADDRNOTAVAIL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EADDRNOTAVAIL", PHP_SOCKET_EADDRNOTAVAIL, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENETDOWN) - REGISTER_LONG_CONSTANT("SOCKET_ENETDOWN", PHP_SOCKET_ENETDOWN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENETDOWN", PHP_SOCKET_ENETDOWN, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENETUNREACH) - REGISTER_LONG_CONSTANT("SOCKET_ENETUNREACH", PHP_SOCKET_ENETUNREACH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENETUNREACH", PHP_SOCKET_ENETUNREACH, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENETRESET) - REGISTER_LONG_CONSTANT("SOCKET_ENETRESET", PHP_SOCKET_ENETRESET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENETRESET", PHP_SOCKET_ENETRESET, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ECONNABORTED) - REGISTER_LONG_CONSTANT("SOCKET_ECONNABORTED", PHP_SOCKET_ECONNABORTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ECONNABORTED", PHP_SOCKET_ECONNABORTED, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ECONNRESET) - REGISTER_LONG_CONSTANT("SOCKET_ECONNRESET", PHP_SOCKET_ECONNRESET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ECONNRESET", PHP_SOCKET_ECONNRESET, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENOBUFS) - REGISTER_LONG_CONSTANT("SOCKET_ENOBUFS", PHP_SOCKET_ENOBUFS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOBUFS", PHP_SOCKET_ENOBUFS, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EISCONN) - REGISTER_LONG_CONSTANT("SOCKET_EISCONN", PHP_SOCKET_EISCONN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EISCONN", PHP_SOCKET_EISCONN, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ENOTCONN) - REGISTER_LONG_CONSTANT("SOCKET_ENOTCONN", PHP_SOCKET_ENOTCONN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOTCONN", PHP_SOCKET_ENOTCONN, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ESHUTDOWN) - REGISTER_LONG_CONSTANT("SOCKET_ESHUTDOWN", PHP_SOCKET_ESHUTDOWN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ESHUTDOWN", PHP_SOCKET_ESHUTDOWN, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ETOOMANYREFS) - REGISTER_LONG_CONSTANT("SOCKET_ETOOMANYREFS", PHP_SOCKET_ETOOMANYREFS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ETOOMANYREFS", PHP_SOCKET_ETOOMANYREFS, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ETIMEDOUT) - REGISTER_LONG_CONSTANT("SOCKET_ETIMEDOUT", PHP_SOCKET_ETIMEDOUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ETIMEDOUT", PHP_SOCKET_ETIMEDOUT, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_ECONNREFUSED) - REGISTER_LONG_CONSTANT("SOCKET_ECONNREFUSED", PHP_SOCKET_ECONNREFUSED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ECONNREFUSED", PHP_SOCKET_ECONNREFUSED, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EHOSTDOWN) - REGISTER_LONG_CONSTANT("SOCKET_EHOSTDOWN", PHP_SOCKET_EHOSTDOWN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EHOSTDOWN", PHP_SOCKET_EHOSTDOWN, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EHOSTUNREACH) - REGISTER_LONG_CONSTANT("SOCKET_EHOSTUNREACH", PHP_SOCKET_EHOSTUNREACH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EHOSTUNREACH", PHP_SOCKET_EHOSTUNREACH, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EALREADY) - REGISTER_LONG_CONSTANT("SOCKET_EALREADY", PHP_SOCKET_EALREADY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EALREADY", PHP_SOCKET_EALREADY, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EINPROGRESS) - REGISTER_LONG_CONSTANT("SOCKET_EINPROGRESS", PHP_SOCKET_EINPROGRESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EINPROGRESS", PHP_SOCKET_EINPROGRESS, CONST_PERSISTENT); #endif #if defined(EISNAM) - REGISTER_LONG_CONSTANT("SOCKET_EISNAM", EISNAM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EISNAM", EISNAM, CONST_PERSISTENT); #endif #if defined(EREMOTEIO) - REGISTER_LONG_CONSTANT("SOCKET_EREMOTEIO", EREMOTEIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EREMOTEIO", EREMOTEIO, CONST_PERSISTENT); #endif #if defined(PHP_SOCKET_EDQUOT) - REGISTER_LONG_CONSTANT("SOCKET_EDQUOT", PHP_SOCKET_EDQUOT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EDQUOT", PHP_SOCKET_EDQUOT, CONST_PERSISTENT); #endif #if defined(ENOMEDIUM) - REGISTER_LONG_CONSTANT("SOCKET_ENOMEDIUM", ENOMEDIUM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ENOMEDIUM", ENOMEDIUM, CONST_PERSISTENT); #endif #if defined(EMEDIUMTYPE) - REGISTER_LONG_CONSTANT("SOCKET_EMEDIUMTYPE", EMEDIUMTYPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EMEDIUMTYPE", EMEDIUMTYPE, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_ESTALE", WSAESTALE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_ESTALE", WSAESTALE, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_EDISCON", WSAEDISCON, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_EDISCON", WSAEDISCON, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_SYSNOTREADY", WSASYSNOTREADY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_SYSNOTREADY", WSASYSNOTREADY, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_VERNOTSUPPORTED", WSAVERNOTSUPPORTED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_VERNOTSUPPORTED", WSAVERNOTSUPPORTED, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_NOTINITIALISED", WSANOTINITIALISED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_NOTINITIALISED", WSANOTINITIALISED, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_HOST_NOT_FOUND", WSAHOST_NOT_FOUND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_HOST_NOT_FOUND", WSAHOST_NOT_FOUND, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_TRY_AGAIN", WSATRY_AGAIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_TRY_AGAIN", WSATRY_AGAIN, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_NO_RECOVERY", WSANO_RECOVERY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_NO_RECOVERY", WSANO_RECOVERY, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_NO_DATA", WSANO_DATA, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_NO_DATA", WSANO_DATA, CONST_PERSISTENT); #endif #if defined(WIN32) - REGISTER_LONG_CONSTANT("SOCKET_NO_ADDRESS", WSANO_ADDRESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOCKET_NO_ADDRESS", WSANO_ADDRESS, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("IPPROTO_IP", IPPROTO_IP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPPROTO_IP", IPPROTO_IP, CONST_PERSISTENT); #if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPPROTO_IPV6", IPPROTO_IPV6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPPROTO_IPV6", IPPROTO_IPV6, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("SOL_TCP", IPPROTO_TCP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SOL_UDP", IPPROTO_UDP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOL_TCP", IPPROTO_TCP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOL_UDP", IPPROTO_UDP, CONST_PERSISTENT); #if HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_UNICAST_HOPS", IPV6_UNICAST_HOPS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_UNICAST_HOPS", IPV6_UNICAST_HOPS, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("AI_PASSIVE", AI_PASSIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AI_CANONNAME", AI_CANONNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("AI_NUMERICHOST", AI_NUMERICHOST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_PASSIVE", AI_PASSIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_CANONNAME", AI_CANONNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_NUMERICHOST", AI_NUMERICHOST, CONST_PERSISTENT); #if HAVE_AI_V4MAPPED - REGISTER_LONG_CONSTANT("AI_V4MAPPED", AI_V4MAPPED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_V4MAPPED", AI_V4MAPPED, CONST_PERSISTENT); #endif #if HAVE_AI_ALL - REGISTER_LONG_CONSTANT("AI_ALL", AI_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_ALL", AI_ALL, CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("AI_ADDRCONFIG", AI_ADDRCONFIG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_ADDRCONFIG", AI_ADDRCONFIG, CONST_PERSISTENT); #if HAVE_AI_IDN - REGISTER_LONG_CONSTANT("AI_IDN", AI_IDN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_IDN", AI_IDN, CONST_PERSISTENT); #endif #if HAVE_AI_IDN - REGISTER_LONG_CONSTANT("AI_CANONIDN", AI_CANONIDN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_CANONIDN", AI_CANONIDN, CONST_PERSISTENT); #endif #if defined(AI_NUMERICSERV) - REGISTER_LONG_CONSTANT("AI_NUMERICSERV", AI_NUMERICSERV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("AI_NUMERICSERV", AI_NUMERICSERV, CONST_PERSISTENT); #endif #if defined(SOL_LOCAL) - REGISTER_LONG_CONSTANT("SOL_LOCAL", SOL_LOCAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SOL_LOCAL", SOL_LOCAL, CONST_PERSISTENT); #endif #if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_RECVPKTINFO", IPV6_RECVPKTINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_RECVPKTINFO", IPV6_RECVPKTINFO, CONST_PERSISTENT); #endif #if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_PKTINFO", IPV6_PKTINFO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_PKTINFO", IPV6_PKTINFO, CONST_PERSISTENT); #endif #if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_RECVHOPLIMIT", IPV6_RECVHOPLIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_RECVHOPLIMIT", IPV6_RECVHOPLIMIT, CONST_PERSISTENT); #endif #if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_HOPLIMIT", IPV6_HOPLIMIT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_HOPLIMIT", IPV6_HOPLIMIT, CONST_PERSISTENT); #endif #if defined(IPV6_RECVTCLASS) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_RECVTCLASS", IPV6_RECVTCLASS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_RECVTCLASS", IPV6_RECVTCLASS, CONST_PERSISTENT); #endif #if defined(IPV6_RECVTCLASS) && HAVE_IPV6 - REGISTER_LONG_CONSTANT("IPV6_TCLASS", IPV6_TCLASS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IPV6_TCLASS", IPV6_TCLASS, CONST_PERSISTENT); #endif #if defined(SCM_RIGHTS) - REGISTER_LONG_CONSTANT("SCM_RIGHTS", SCM_RIGHTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCM_RIGHTS", SCM_RIGHTS, CONST_PERSISTENT); #endif #if defined(SO_PASSCRED) && defined(SCM_CREDENTIALS) - REGISTER_LONG_CONSTANT("SCM_CREDENTIALS", SCM_CREDENTIALS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCM_CREDENTIALS", SCM_CREDENTIALS, CONST_PERSISTENT); #endif #if defined(SO_PASSCRED) && !(defined(SCM_CREDENTIALS)) - REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_PERSISTENT); #endif #if defined(SO_PASSCRED) - REGISTER_LONG_CONSTANT("SO_PASSCRED", SO_PASSCRED, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SO_PASSCRED", SO_PASSCRED, CONST_PERSISTENT); #endif #if defined(LOCAL_CREDS_PERSISTENT) - REGISTER_LONG_CONSTANT("SCM_CREDS2", SCM_CREDS2, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCM_CREDS2", SCM_CREDS2, CONST_PERSISTENT); #endif #if defined(LOCAL_CREDS_PERSISTENT) - REGISTER_LONG_CONSTANT("LOCAL_CREDS_PERSISTENT", LOCAL_CREDS_PERSISTENT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCAL_CREDS_PERSISTENT", LOCAL_CREDS_PERSISTENT, CONST_PERSISTENT); #endif #if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS)) - REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCM_CREDS", SCM_CREDS, CONST_PERSISTENT); #endif #if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS)) - REGISTER_LONG_CONSTANT("LOCAL_CREDS", LOCAL_CREDS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCAL_CREDS", LOCAL_CREDS, CONST_PERSISTENT); #endif } diff --git a/ext/sodium/libsodium_arginfo.h b/ext/sodium/libsodium_arginfo.h index f571b79e3a4d9..8fb0b9a32ac53 100644 --- a/ext/sodium/libsodium_arginfo.h +++ b/ext/sodium/libsodium_arginfo.h @@ -886,189 +886,189 @@ static const zend_function_entry class_SodiumException_methods[] = { static void register_libsodium_symbols(int module_number) { - REGISTER_STRING_CONSTANT("SODIUM_LIBRARY_VERSION", SODIUM_LIBRARY_VERSION(), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_LIBRARY_MAJOR_VERSION", sodium_library_version_major(), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_LIBRARY_MINOR_VERSION", sodium_library_version_minor(), CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("SODIUM_LIBRARY_VERSION", SODIUM_LIBRARY_VERSION(), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_LIBRARY_MAJOR_VERSION", sodium_library_version_major(), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_LIBRARY_MINOR_VERSION", sodium_library_version_minor(), CONST_PERSISTENT); #if defined(HAVE_AESGCM) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES", crypto_aead_aes256gcm_KEYBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES", crypto_aead_aes256gcm_KEYBYTES, CONST_PERSISTENT); #endif #if defined(HAVE_AESGCM) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES", crypto_aead_aes256gcm_NSECBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES", crypto_aead_aes256gcm_NSECBYTES, CONST_PERSISTENT); #endif #if defined(HAVE_AESGCM) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES", crypto_aead_aes256gcm_NPUBBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES", crypto_aead_aes256gcm_NPUBBYTES, CONST_PERSISTENT); #endif #if defined(HAVE_AESGCM) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES", crypto_aead_aes256gcm_ABYTES, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES", crypto_aead_chacha20poly1305_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES", crypto_aead_chacha20poly1305_NSECBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES", crypto_aead_chacha20poly1305_NPUBBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES", crypto_aead_chacha20poly1305_ABYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES", crypto_aead_chacha20poly1305_IETF_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES", crypto_aead_chacha20poly1305_IETF_NSECBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES", crypto_aead_chacha20poly1305_IETF_NPUBBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES", crypto_aead_chacha20poly1305_IETF_ABYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES", crypto_aead_aes256gcm_ABYTES, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES", crypto_aead_chacha20poly1305_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES", crypto_aead_chacha20poly1305_NSECBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES", crypto_aead_chacha20poly1305_NPUBBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES", crypto_aead_chacha20poly1305_ABYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES", crypto_aead_chacha20poly1305_IETF_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES", crypto_aead_chacha20poly1305_IETF_NSECBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES", crypto_aead_chacha20poly1305_IETF_NPUBBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES", crypto_aead_chacha20poly1305_IETF_ABYTES, CONST_PERSISTENT); #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES", crypto_aead_xchacha20poly1305_IETF_KEYBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES", crypto_aead_xchacha20poly1305_IETF_KEYBYTES, CONST_PERSISTENT); #endif #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES", crypto_aead_xchacha20poly1305_IETF_NSECBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES", crypto_aead_xchacha20poly1305_IETF_NSECBYTES, CONST_PERSISTENT); #endif #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES", crypto_aead_xchacha20poly1305_IETF_NPUBBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES", crypto_aead_xchacha20poly1305_IETF_NPUBBYTES, CONST_PERSISTENT); #endif #if defined(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES", crypto_aead_xchacha20poly1305_IETF_ABYTES, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AUTH_BYTES", crypto_auth_BYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AUTH_KEYBYTES", crypto_auth_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_SEALBYTES", crypto_box_SEALBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_SECRETKEYBYTES", crypto_box_SECRETKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_PUBLICKEYBYTES", crypto_box_PUBLICKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_KEYPAIRBYTES", SODIUM_CRYPTO_BOX_KEYPAIRBYTES(), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_MACBYTES", crypto_box_MACBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_NONCEBYTES", crypto_box_NONCEBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_SEEDBYTES", crypto_box_SEEDBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_BYTES_MIN", crypto_kdf_BYTES_MIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_BYTES_MAX", crypto_kdf_BYTES_MAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_CONTEXTBYTES", crypto_kdf_CONTEXTBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_KEYBYTES", crypto_kdf_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_SEEDBYTES", crypto_kx_SEEDBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_SESSIONKEYBYTES", crypto_kx_SESSIONKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_PUBLICKEYBYTES", crypto_kx_PUBLICKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_SECRETKEYBYTES", crypto_kx_SECRETKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_KEYPAIRBYTES", SODIUM_CRYPTO_KX_KEYPAIRBYTES(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES", crypto_aead_xchacha20poly1305_IETF_ABYTES, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AUTH_BYTES", crypto_auth_BYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_AUTH_KEYBYTES", crypto_auth_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_SEALBYTES", crypto_box_SEALBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_SECRETKEYBYTES", crypto_box_SECRETKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_PUBLICKEYBYTES", crypto_box_PUBLICKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_KEYPAIRBYTES", SODIUM_CRYPTO_BOX_KEYPAIRBYTES(), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_MACBYTES", crypto_box_MACBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_NONCEBYTES", crypto_box_NONCEBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_BOX_SEEDBYTES", crypto_box_SEEDBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_BYTES_MIN", crypto_kdf_BYTES_MIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_BYTES_MAX", crypto_kdf_BYTES_MAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_CONTEXTBYTES", crypto_kdf_CONTEXTBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KDF_KEYBYTES", crypto_kdf_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_SEEDBYTES", crypto_kx_SEEDBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_SESSIONKEYBYTES", crypto_kx_SESSIONKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_PUBLICKEYBYTES", crypto_kx_PUBLICKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_SECRETKEYBYTES", crypto_kx_SECRETKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_KX_KEYPAIRBYTES", SODIUM_CRYPTO_KX_KEYPAIRBYTES(), CONST_PERSISTENT); #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES", crypto_secretstream_xchacha20poly1305_ABYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES", crypto_secretstream_xchacha20poly1305_ABYTES, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES", crypto_secretstream_xchacha20poly1305_HEADERBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES", crypto_secretstream_xchacha20poly1305_HEADERBYTES, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES", crypto_secretstream_xchacha20poly1305_KEYBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES", crypto_secretstream_xchacha20poly1305_KEYBYTES, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX", crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX", crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE", crypto_secretstream_xchacha20poly1305_TAG_MESSAGE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE", crypto_secretstream_xchacha20poly1305_TAG_MESSAGE, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH", crypto_secretstream_xchacha20poly1305_TAG_PUSH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH", crypto_secretstream_xchacha20poly1305_TAG_PUSH, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY", crypto_secretstream_xchacha20poly1305_TAG_REKEY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY", crypto_secretstream_xchacha20poly1305_TAG_REKEY, CONST_PERSISTENT); #endif #if defined(crypto_secretstream_xchacha20poly1305_ABYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL", crypto_secretstream_xchacha20poly1305_TAG_FINAL, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_BYTES", crypto_generichash_BYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_BYTES_MIN", crypto_generichash_BYTES_MIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_BYTES_MAX", crypto_generichash_BYTES_MAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_KEYBYTES", crypto_generichash_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN", crypto_generichash_KEYBYTES_MIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX", crypto_generichash_KEYBYTES_MAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL", crypto_secretstream_xchacha20poly1305_TAG_FINAL, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_BYTES", crypto_generichash_BYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_BYTES_MIN", crypto_generichash_BYTES_MIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_BYTES_MAX", crypto_generichash_BYTES_MAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_KEYBYTES", crypto_generichash_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN", crypto_generichash_KEYBYTES_MIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX", crypto_generichash_KEYBYTES_MAX, CONST_PERSISTENT); #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13", crypto_pwhash_ALG_ARGON2I13, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13", crypto_pwhash_ALG_ARGON2I13, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) && defined(crypto_pwhash_ALG_ARGON2ID13) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13", crypto_pwhash_ALG_ARGON2ID13, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13", crypto_pwhash_ALG_ARGON2ID13, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_ALG_DEFAULT", crypto_pwhash_ALG_DEFAULT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_ALG_DEFAULT", crypto_pwhash_ALG_DEFAULT, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SALTBYTES", crypto_pwhash_SALTBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SALTBYTES", crypto_pwhash_SALTBYTES, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_STRING_CONSTANT("SODIUM_CRYPTO_PWHASH_STRPREFIX", crypto_pwhash_STRPREFIX, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("SODIUM_CRYPTO_PWHASH_STRPREFIX", crypto_pwhash_STRPREFIX, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE", crypto_pwhash_opslimit_interactive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE", crypto_pwhash_opslimit_interactive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE", crypto_pwhash_memlimit_interactive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE", crypto_pwhash_memlimit_interactive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE", crypto_pwhash_opslimit_moderate(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE", crypto_pwhash_opslimit_moderate(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE", crypto_pwhash_memlimit_moderate(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE", crypto_pwhash_memlimit_moderate(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE", crypto_pwhash_opslimit_sensitive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE", crypto_pwhash_opslimit_sensitive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE", crypto_pwhash_memlimit_sensitive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE", crypto_pwhash_memlimit_sensitive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES", crypto_pwhash_scryptsalsa208sha256_SALTBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES", crypto_pwhash_scryptsalsa208sha256_SALTBYTES, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) - REGISTER_STRING_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX", crypto_pwhash_scryptsalsa208sha256_STRPREFIX, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX", crypto_pwhash_scryptsalsa208sha256_STRPREFIX, CONST_PERSISTENT); #endif #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE", crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE", crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE", crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE", crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE", crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(), CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE", crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(), CONST_PERSISTENT); #endif #if defined(crypto_pwhash_scryptsalsa208sha256_SALTBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE", crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(), CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_BYTES", crypto_scalarmult_BYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_SCALARBYTES", crypto_scalarmult_SCALARBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SHORTHASH_BYTES", crypto_shorthash_BYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SHORTHASH_KEYBYTES", crypto_shorthash_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETBOX_KEYBYTES", crypto_secretbox_KEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETBOX_MACBYTES", crypto_secretbox_MACBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETBOX_NONCEBYTES", crypto_secretbox_NONCEBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_BYTES", crypto_sign_BYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_SEEDBYTES", crypto_sign_SEEDBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES", crypto_sign_PUBLICKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_SECRETKEYBYTES", crypto_sign_SECRETKEYBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_KEYPAIRBYTES", SODIUM_CRYPTO_SIGN_KEYPAIRBYTES(), CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_NONCEBYTES", crypto_stream_NONCEBYTES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_KEYBYTES", crypto_stream_KEYBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE", crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(), CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_BYTES", crypto_scalarmult_BYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_SCALARBYTES", crypto_scalarmult_SCALARBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SHORTHASH_BYTES", crypto_shorthash_BYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SHORTHASH_KEYBYTES", crypto_shorthash_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETBOX_KEYBYTES", crypto_secretbox_KEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETBOX_MACBYTES", crypto_secretbox_MACBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SECRETBOX_NONCEBYTES", crypto_secretbox_NONCEBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_BYTES", crypto_sign_BYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_SEEDBYTES", crypto_sign_SEEDBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES", crypto_sign_PUBLICKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_SECRETKEYBYTES", crypto_sign_SECRETKEYBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SIGN_KEYPAIRBYTES", SODIUM_CRYPTO_SIGN_KEYPAIRBYTES(), CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_NONCEBYTES", crypto_stream_NONCEBYTES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_KEYBYTES", crypto_stream_KEYBYTES, CONST_PERSISTENT); #if defined(crypto_stream_xchacha20_KEYBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES", crypto_stream_xchacha20_NONCEBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES", crypto_stream_xchacha20_NONCEBYTES, CONST_PERSISTENT); #endif #if defined(crypto_stream_xchacha20_KEYBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES", crypto_stream_xchacha20_KEYBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES", crypto_stream_xchacha20_KEYBYTES, CONST_PERSISTENT); #endif #if defined(sodium_base64_VARIANT_ORIGINAL) - REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_ORIGINAL", sodium_base64_VARIANT_ORIGINAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_ORIGINAL", sodium_base64_VARIANT_ORIGINAL, CONST_PERSISTENT); #endif #if defined(sodium_base64_VARIANT_ORIGINAL) - REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING", sodium_base64_VARIANT_ORIGINAL_NO_PADDING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING", sodium_base64_VARIANT_ORIGINAL_NO_PADDING, CONST_PERSISTENT); #endif #if defined(sodium_base64_VARIANT_ORIGINAL) - REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_URLSAFE", sodium_base64_VARIANT_URLSAFE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_URLSAFE", sodium_base64_VARIANT_URLSAFE, CONST_PERSISTENT); #endif #if defined(sodium_base64_VARIANT_ORIGINAL) - REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING", sodium_base64_VARIANT_URLSAFE_NO_PADDING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING", sodium_base64_VARIANT_URLSAFE_NO_PADDING, CONST_PERSISTENT); #endif #if defined(crypto_core_ristretto255_HASHBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES", crypto_scalarmult_ristretto255_BYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES", crypto_scalarmult_ristretto255_BYTES, CONST_PERSISTENT); #endif #if defined(crypto_core_ristretto255_HASHBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES", crypto_scalarmult_ristretto255_SCALARBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES", crypto_scalarmult_ristretto255_SCALARBYTES, CONST_PERSISTENT); #endif #if defined(crypto_core_ristretto255_HASHBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES", crypto_core_ristretto255_BYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES", crypto_core_ristretto255_BYTES, CONST_PERSISTENT); #endif #if defined(crypto_core_ristretto255_HASHBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES", crypto_core_ristretto255_HASHBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES", crypto_core_ristretto255_HASHBYTES, CONST_PERSISTENT); #endif #if defined(crypto_core_ristretto255_HASHBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES", crypto_core_ristretto255_SCALARBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES", crypto_core_ristretto255_SCALARBYTES, CONST_PERSISTENT); #endif #if defined(crypto_core_ristretto255_HASHBYTES) - REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES", crypto_core_ristretto255_NONREDUCEDSCALARBYTES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES", crypto_core_ristretto255_NONREDUCEDSCALARBYTES, CONST_PERSISTENT); #endif #if defined(HAVE_AESGCM) diff --git a/ext/sqlite3/sqlite3_arginfo.h b/ext/sqlite3/sqlite3_arginfo.h index 78c31ca581a8f..4091374dee78c 100644 --- a/ext/sqlite3/sqlite3_arginfo.h +++ b/ext/sqlite3/sqlite3_arginfo.h @@ -272,19 +272,19 @@ static const zend_function_entry class_SQLite3Result_methods[] = { static void register_sqlite3_symbols(int module_number) { - REGISTER_LONG_CONSTANT("SQLITE3_ASSOC", PHP_SQLITE3_ASSOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_NUM", PHP_SQLITE3_NUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_BOTH", PHP_SQLITE3_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_INTEGER", SQLITE_INTEGER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_FLOAT", SQLITE_FLOAT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_TEXT", SQLITE3_TEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_BLOB", SQLITE_BLOB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_NULL", SQLITE_NULL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_OPEN_READONLY", SQLITE_OPEN_READONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_OPEN_READWRITE", SQLITE_OPEN_READWRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SQLITE3_OPEN_CREATE", SQLITE_OPEN_CREATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_ASSOC", PHP_SQLITE3_ASSOC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_NUM", PHP_SQLITE3_NUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_BOTH", PHP_SQLITE3_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_INTEGER", SQLITE_INTEGER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_FLOAT", SQLITE_FLOAT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_TEXT", SQLITE3_TEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_BLOB", SQLITE_BLOB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_NULL", SQLITE_NULL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_OPEN_READONLY", SQLITE_OPEN_READONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_OPEN_READWRITE", SQLITE_OPEN_READWRITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_OPEN_CREATE", SQLITE_OPEN_CREATE, CONST_PERSISTENT); #if defined(SQLITE_DETERMINISTIC) - REGISTER_LONG_CONSTANT("SQLITE3_DETERMINISTIC", SQLITE_DETERMINISTIC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SQLITE3_DETERMINISTIC", SQLITE_DETERMINISTIC, CONST_PERSISTENT); #endif } diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 7b01c8f7bd278..d3dd087e83a83 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -3483,88 +3483,88 @@ static const zend_function_entry class_AssertionError_methods[] = { static void register_basic_functions_symbols(int module_number) { - REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", PHP_EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_SKIP", PHP_EXTR_SKIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", PHP_EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", PHP_EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", PHP_EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", PHP_EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", PHP_EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_REFS", PHP_EXTR_REFS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CASE_LOWER", PHP_CASE_LOWER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CASE_UPPER", PHP_CASE_UPPER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("COUNT_NORMAL", PHP_COUNT_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", PHP_COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CONNECTION_ABORTED", PHP_CONNECTION_ABORTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CONNECTION_NORMAL", PHP_CONNECTION_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CONNECTION_TIMEOUT", PHP_CONNECTION_TIMEOUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_USER", ZEND_INI_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_PERDIR", ZEND_INI_PERDIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SYSTEM", ZEND_INI_SYSTEM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_ALL", ZEND_INI_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SCANNER_NORMAL", ZEND_INI_SCANNER_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SCANNER_RAW", ZEND_INI_SCANNER_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("INI_SCANNER_TYPED", ZEND_INI_SCANNER_TYPED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_SCHEME", PHP_URL_SCHEME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_HOST", PHP_URL_HOST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_PORT", PHP_URL_PORT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_USER", PHP_URL_USER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_PASS", PHP_URL_PASS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_PATH", PHP_URL_PATH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_QUERY", PHP_URL_QUERY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_URL_FRAGMENT", PHP_URL_FRAGMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_QUERY_RFC1738", PHP_QUERY_RFC1738, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_QUERY_RFC3986", PHP_QUERY_RFC3986, CONST_CS | CONST_PERSISTENT); - REGISTER_DOUBLE_CONSTANT("M_E", M_E, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", PHP_EXTR_OVERWRITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_SKIP", PHP_EXTR_SKIP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", PHP_EXTR_PREFIX_SAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", PHP_EXTR_PREFIX_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", PHP_EXTR_PREFIX_INVALID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", PHP_EXTR_PREFIX_IF_EXISTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", PHP_EXTR_IF_EXISTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_REFS", PHP_EXTR_REFS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CASE_LOWER", PHP_CASE_LOWER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CASE_UPPER", PHP_CASE_UPPER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COUNT_NORMAL", PHP_COUNT_NORMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", PHP_COUNT_RECURSIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CONNECTION_ABORTED", PHP_CONNECTION_ABORTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CONNECTION_NORMAL", PHP_CONNECTION_NORMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CONNECTION_TIMEOUT", PHP_CONNECTION_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_USER", ZEND_INI_USER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_PERDIR", ZEND_INI_PERDIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SYSTEM", ZEND_INI_SYSTEM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_ALL", ZEND_INI_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SCANNER_NORMAL", ZEND_INI_SCANNER_NORMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SCANNER_RAW", ZEND_INI_SCANNER_RAW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("INI_SCANNER_TYPED", ZEND_INI_SCANNER_TYPED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_SCHEME", PHP_URL_SCHEME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_HOST", PHP_URL_HOST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_PORT", PHP_URL_PORT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_USER", PHP_URL_USER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_PASS", PHP_URL_PASS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_PATH", PHP_URL_PATH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_QUERY", PHP_URL_QUERY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_URL_FRAGMENT", PHP_URL_FRAGMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_QUERY_RFC1738", PHP_QUERY_RFC1738, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_QUERY_RFC3986", PHP_QUERY_RFC3986, CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_E", M_E, CONST_PERSISTENT); ZEND_ASSERT(M_E == 2.718281828459045); - REGISTER_DOUBLE_CONSTANT("M_LOG2E", M_LOG2E, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_LOG2E", M_LOG2E, CONST_PERSISTENT); ZEND_ASSERT(M_LOG2E == 1.4426950408889634); - REGISTER_DOUBLE_CONSTANT("M_LOG10E", M_LOG10E, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_LOG10E", M_LOG10E, CONST_PERSISTENT); ZEND_ASSERT(M_LOG10E == 0.4342944819032518); - REGISTER_DOUBLE_CONSTANT("M_LN2", M_LN2, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_LN2", M_LN2, CONST_PERSISTENT); ZEND_ASSERT(M_LN2 == 0.6931471805599453); - REGISTER_DOUBLE_CONSTANT("M_LN10", M_LN10, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_LN10", M_LN10, CONST_PERSISTENT); ZEND_ASSERT(M_LN10 == 2.302585092994046); - REGISTER_DOUBLE_CONSTANT("M_PI", M_PI, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_PI", M_PI, CONST_PERSISTENT); ZEND_ASSERT(M_PI == 3.141592653589793); - REGISTER_DOUBLE_CONSTANT("M_PI_2", M_PI_2, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_PI_2", M_PI_2, CONST_PERSISTENT); ZEND_ASSERT(M_PI_2 == 1.5707963267948966); - REGISTER_DOUBLE_CONSTANT("M_PI_4", M_PI_4, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_PI_4", M_PI_4, CONST_PERSISTENT); ZEND_ASSERT(M_PI_4 == 0.7853981633974483); - REGISTER_DOUBLE_CONSTANT("M_1_PI", M_1_PI, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_1_PI", M_1_PI, CONST_PERSISTENT); ZEND_ASSERT(M_1_PI == 0.3183098861837907); - REGISTER_DOUBLE_CONSTANT("M_2_PI", M_2_PI, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_2_PI", M_2_PI, CONST_PERSISTENT); ZEND_ASSERT(M_2_PI == 0.6366197723675814); - REGISTER_DOUBLE_CONSTANT("M_SQRTPI", M_SQRTPI, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_SQRTPI", M_SQRTPI, CONST_PERSISTENT); ZEND_ASSERT(M_SQRTPI == 1.772453850905516); - REGISTER_DOUBLE_CONSTANT("M_2_SQRTPI", M_2_SQRTPI, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_2_SQRTPI", M_2_SQRTPI, CONST_PERSISTENT); ZEND_ASSERT(M_2_SQRTPI == 1.1283791670955126); - REGISTER_DOUBLE_CONSTANT("M_LNPI", M_LNPI, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_LNPI", M_LNPI, CONST_PERSISTENT); ZEND_ASSERT(M_LNPI == 1.1447298858494002); - REGISTER_DOUBLE_CONSTANT("M_EULER", M_EULER, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_EULER", M_EULER, CONST_PERSISTENT); ZEND_ASSERT(M_EULER == 0.5772156649015329); - REGISTER_DOUBLE_CONSTANT("M_SQRT2", M_SQRT2, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_SQRT2", M_SQRT2, CONST_PERSISTENT); ZEND_ASSERT(M_SQRT2 == 1.4142135623730951); - REGISTER_DOUBLE_CONSTANT("M_SQRT1_2", M_SQRT1_2, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_SQRT1_2", M_SQRT1_2, CONST_PERSISTENT); ZEND_ASSERT(M_SQRT1_2 == 0.7071067811865476); - REGISTER_DOUBLE_CONSTANT("M_SQRT3", M_SQRT3, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("M_SQRT3", M_SQRT3, CONST_PERSISTENT); ZEND_ASSERT(M_SQRT3 == 1.7320508075688772); - REGISTER_DOUBLE_CONSTANT("INF", ZEND_INFINITY, CONST_CS | CONST_PERSISTENT); - REGISTER_DOUBLE_CONSTANT("NAN", ZEND_NAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_UP", PHP_ROUND_HALF_UP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_EVEN", PHP_ROUND_HALF_EVEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("INF", ZEND_INFINITY, CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("NAN", ZEND_NAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_UP", PHP_ROUND_HALF_UP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_EVEN", PHP_ROUND_HALF_EVEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_PERSISTENT); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "password_hash", sizeof("password_hash") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/standard/file_arginfo.h b/ext/standard/file_arginfo.h index 061c6fd5bda55..783eb61bd27d9 100644 --- a/ext/standard/file_arginfo.h +++ b/ext/standard/file_arginfo.h @@ -5,149 +5,149 @@ static void register_file_symbols(int module_number) { - REGISTER_LONG_CONSTANT("SEEK_SET", SEEK_SET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SEEK_CUR", SEEK_CUR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SEEK_END", SEEK_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_SH", PHP_LOCK_SH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_EX", PHP_LOCK_EX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_UN", PHP_LOCK_UN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOCK_NB", PHP_LOCK_NB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_CONNECT", PHP_STREAM_NOTIFY_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_AUTH_REQUIRED", PHP_STREAM_NOTIFY_AUTH_REQUIRED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_AUTH_RESULT", PHP_STREAM_NOTIFY_AUTH_RESULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_MIME_TYPE_IS", PHP_STREAM_NOTIFY_MIME_TYPE_IS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_FILE_SIZE_IS", PHP_STREAM_NOTIFY_FILE_SIZE_IS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_REDIRECTED", PHP_STREAM_NOTIFY_REDIRECTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_PROGRESS", PHP_STREAM_NOTIFY_PROGRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_FAILURE", PHP_STREAM_NOTIFY_FAILURE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_COMPLETED", PHP_STREAM_NOTIFY_COMPLETED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_RESOLVE", PHP_STREAM_NOTIFY_RESOLVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_INFO", PHP_STREAM_NOTIFY_SEVERITY_INFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_WARN", PHP_STREAM_NOTIFY_SEVERITY_WARN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_ERR", PHP_STREAM_NOTIFY_SEVERITY_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_FILTER_READ", PHP_STREAM_FILTER_READ, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_FILTER_WRITE", PHP_STREAM_FILTER_WRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_FILTER_ALL", PHP_STREAM_FILTER_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CLIENT_PERSISTENT", PHP_STREAM_CLIENT_PERSISTENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CLIENT_ASYNC_CONNECT", PHP_STREAM_CLIENT_ASYNC_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CLIENT_CONNECT", PHP_STREAM_CLIENT_CONNECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_ANY_CLIENT", STREAM_CRYPTO_METHOD_ANY_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv2_CLIENT", STREAM_CRYPTO_METHOD_SSLv2_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv3_CLIENT", STREAM_CRYPTO_METHOD_SSLv3_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv23_CLIENT", STREAM_CRYPTO_METHOD_SSLv23_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLS_CLIENT", STREAM_CRYPTO_METHOD_TLS_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_ANY_SERVER", STREAM_CRYPTO_METHOD_ANY_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv2_SERVER", STREAM_CRYPTO_METHOD_SSLv2_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv3_SERVER", STREAM_CRYPTO_METHOD_SSLv3_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv23_SERVER", STREAM_CRYPTO_METHOD_SSLv23_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLS_SERVER", STREAM_CRYPTO_METHOD_TLS_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_0_SERVER", STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_1_SERVER", STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_2_SERVER", STREAM_CRYPTO_METHOD_TLSv1_2_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_3_SERVER", STREAM_CRYPTO_METHOD_TLSv1_3_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_SSLv3", STREAM_CRYPTO_METHOD_SSLv3_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_0", STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_1", STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_2", STREAM_CRYPTO_METHOD_TLSv1_2_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_3", STREAM_CRYPTO_METHOD_TLSv1_3_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SHUT_RD", STREAM_SHUT_RD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SHUT_WR", STREAM_SHUT_WR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_SHUT_RDWR", STREAM_SHUT_RDWR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SEEK_SET", SEEK_SET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SEEK_CUR", SEEK_CUR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SEEK_END", SEEK_END, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCK_SH", PHP_LOCK_SH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCK_EX", PHP_LOCK_EX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCK_UN", PHP_LOCK_UN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOCK_NB", PHP_LOCK_NB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_CONNECT", PHP_STREAM_NOTIFY_CONNECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_AUTH_REQUIRED", PHP_STREAM_NOTIFY_AUTH_REQUIRED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_AUTH_RESULT", PHP_STREAM_NOTIFY_AUTH_RESULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_MIME_TYPE_IS", PHP_STREAM_NOTIFY_MIME_TYPE_IS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_FILE_SIZE_IS", PHP_STREAM_NOTIFY_FILE_SIZE_IS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_REDIRECTED", PHP_STREAM_NOTIFY_REDIRECTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_PROGRESS", PHP_STREAM_NOTIFY_PROGRESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_FAILURE", PHP_STREAM_NOTIFY_FAILURE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_COMPLETED", PHP_STREAM_NOTIFY_COMPLETED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_RESOLVE", PHP_STREAM_NOTIFY_RESOLVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_INFO", PHP_STREAM_NOTIFY_SEVERITY_INFO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_WARN", PHP_STREAM_NOTIFY_SEVERITY_WARN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_NOTIFY_SEVERITY_ERR", PHP_STREAM_NOTIFY_SEVERITY_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_FILTER_READ", PHP_STREAM_FILTER_READ, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_FILTER_WRITE", PHP_STREAM_FILTER_WRITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_FILTER_ALL", PHP_STREAM_FILTER_ALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CLIENT_PERSISTENT", PHP_STREAM_CLIENT_PERSISTENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CLIENT_ASYNC_CONNECT", PHP_STREAM_CLIENT_ASYNC_CONNECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CLIENT_CONNECT", PHP_STREAM_CLIENT_CONNECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_ANY_CLIENT", STREAM_CRYPTO_METHOD_ANY_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv2_CLIENT", STREAM_CRYPTO_METHOD_SSLv2_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv3_CLIENT", STREAM_CRYPTO_METHOD_SSLv3_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv23_CLIENT", STREAM_CRYPTO_METHOD_SSLv23_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLS_CLIENT", STREAM_CRYPTO_METHOD_TLS_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT", STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_ANY_SERVER", STREAM_CRYPTO_METHOD_ANY_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv2_SERVER", STREAM_CRYPTO_METHOD_SSLv2_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv3_SERVER", STREAM_CRYPTO_METHOD_SSLv3_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_SSLv23_SERVER", STREAM_CRYPTO_METHOD_SSLv23_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLS_SERVER", STREAM_CRYPTO_METHOD_TLS_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_0_SERVER", STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_1_SERVER", STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_2_SERVER", STREAM_CRYPTO_METHOD_TLSv1_2_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_METHOD_TLSv1_3_SERVER", STREAM_CRYPTO_METHOD_TLSv1_3_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_SSLv3", STREAM_CRYPTO_METHOD_SSLv3_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_0", STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_1", STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_2", STREAM_CRYPTO_METHOD_TLSv1_2_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CRYPTO_PROTO_TLSv1_3", STREAM_CRYPTO_METHOD_TLSv1_3_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SHUT_RD", STREAM_SHUT_RD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SHUT_WR", STREAM_SHUT_WR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SHUT_RDWR", STREAM_SHUT_RDWR, CONST_PERSISTENT); #if defined(PF_INET) - REGISTER_LONG_CONSTANT("STREAM_PF_INET", PF_INET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PF_INET", PF_INET, CONST_PERSISTENT); #endif #if defined(PF_INET) && (!defined(PF_INET) && defined(AF_INET)) - REGISTER_LONG_CONSTANT("STREAM_PF_INET", AF_INET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PF_INET", AF_INET, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_INET6) - REGISTER_LONG_CONSTANT("STREAM_PF_INET6", PF_INET6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PF_INET6", PF_INET6, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_INET6) && (!defined(PF_INET6) && defined(AF_INET6)) - REGISTER_LONG_CONSTANT("STREAM_PF_INET6", AF_INET6, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PF_INET6", AF_INET6, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_PF_UNIX", PF_UNIX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PF_UNIX", PF_UNIX, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && (!defined(PF_UNIX) && defined(AF_UNIX)) - REGISTER_LONG_CONSTANT("STREAM_PF_UNIX", AF_UNIX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PF_UNIX", AF_UNIX, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_IP) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_IP", IPPROTO_IP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_IPPROTO_IP", IPPROTO_IP, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_TCP) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_TCP", IPPROTO_TCP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_IPPROTO_TCP", IPPROTO_TCP, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_UDP) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_UDP", IPPROTO_UDP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_IPPROTO_UDP", IPPROTO_UDP, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_ICMP) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_ICMP", IPPROTO_ICMP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_IPPROTO_ICMP", IPPROTO_ICMP, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_RAW) || defined(PHP_WIN32) - REGISTER_LONG_CONSTANT("STREAM_IPPROTO_RAW", IPPROTO_RAW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_IPPROTO_RAW", IPPROTO_RAW, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_SOCK_STREAM", SOCK_STREAM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SOCK_STREAM", SOCK_STREAM, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_SOCK_DGRAM", SOCK_DGRAM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SOCK_DGRAM", SOCK_DGRAM, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(SOCK_RAW) - REGISTER_LONG_CONSTANT("STREAM_SOCK_RAW", SOCK_RAW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SOCK_RAW", SOCK_RAW, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(SOCK_SEQPACKET) - REGISTER_LONG_CONSTANT("STREAM_SOCK_SEQPACKET", SOCK_SEQPACKET, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SOCK_SEQPACKET", SOCK_SEQPACKET, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(SOCK_RDM) - REGISTER_LONG_CONSTANT("STREAM_SOCK_RDM", SOCK_RDM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SOCK_RDM", SOCK_RDM, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_PEEK", STREAM_PEEK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_PEEK", STREAM_PEEK, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_OOB", STREAM_OOB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_OOB", STREAM_OOB, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_SERVER_BIND", STREAM_XPORT_BIND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SERVER_BIND", STREAM_XPORT_BIND, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("STREAM_SERVER_LISTEN", STREAM_XPORT_LISTEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_SERVER_LISTEN", STREAM_XPORT_LISTEN, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_USE_INCLUDE_PATH", PHP_FILE_USE_INCLUDE_PATH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILE_USE_INCLUDE_PATH", PHP_FILE_USE_INCLUDE_PATH, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_IGNORE_NEW_LINES", PHP_FILE_IGNORE_NEW_LINES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILE_IGNORE_NEW_LINES", PHP_FILE_IGNORE_NEW_LINES, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_SKIP_EMPTY_LINES", PHP_FILE_SKIP_EMPTY_LINES, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILE_SKIP_EMPTY_LINES", PHP_FILE_SKIP_EMPTY_LINES, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_APPEND", PHP_FILE_APPEND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILE_APPEND", PHP_FILE_APPEND, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_NO_DEFAULT_CONTEXT", PHP_FILE_NO_DEFAULT_CONTEXT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FILE_NO_DEFAULT_CONTEXT", PHP_FILE_NO_DEFAULT_CONTEXT, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_TEXT", 0, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("FILE_TEXT", 0, CONST_PERSISTENT | CONST_DEPRECATED); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) - REGISTER_LONG_CONSTANT("FILE_BINARY", 0, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("FILE_BINARY", 0, CONST_PERSISTENT | CONST_DEPRECATED); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(HAVE_FNMATCH) - REGISTER_LONG_CONSTANT("FNM_NOESCAPE", FNM_NOESCAPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FNM_NOESCAPE", FNM_NOESCAPE, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(HAVE_FNMATCH) - REGISTER_LONG_CONSTANT("FNM_PATHNAME", FNM_PATHNAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FNM_PATHNAME", FNM_PATHNAME, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(HAVE_FNMATCH) - REGISTER_LONG_CONSTANT("FNM_PERIOD", FNM_PERIOD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FNM_PERIOD", FNM_PERIOD, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(HAVE_FNMATCH) && defined(FNM_CASEFOLD) - REGISTER_LONG_CONSTANT("FNM_CASEFOLD", FNM_CASEFOLD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FNM_CASEFOLD", FNM_CASEFOLD, CONST_PERSISTENT); #endif } diff --git a/ext/sysvmsg/sysvmsg_arginfo.h b/ext/sysvmsg/sysvmsg_arginfo.h index 35354dc2acfb9..d90c83f29d21f 100644 --- a/ext/sysvmsg/sysvmsg_arginfo.h +++ b/ext/sysvmsg/sysvmsg_arginfo.h @@ -71,11 +71,11 @@ static const zend_function_entry class_SysvMessageQueue_methods[] = { static void register_sysvmsg_symbols(int module_number) { - REGISTER_LONG_CONSTANT("MSG_IPC_NOWAIT", PHP_MSG_IPC_NOWAIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_EAGAIN", EAGAIN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_ENOMSG", ENOMSG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_NOERROR", PHP_MSG_NOERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("MSG_EXCEPT", PHP_MSG_EXCEPT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_IPC_NOWAIT", PHP_MSG_IPC_NOWAIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_EAGAIN", EAGAIN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_ENOMSG", ENOMSG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_NOERROR", PHP_MSG_NOERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MSG_EXCEPT", PHP_MSG_EXCEPT, CONST_PERSISTENT); } static zend_class_entry *register_class_SysvMessageQueue(void) diff --git a/ext/tidy/tidy_arginfo.h b/ext/tidy/tidy_arginfo.h index 0c5f77bfd447f..5fb3494c4cc1a 100644 --- a/ext/tidy/tidy_arginfo.h +++ b/ext/tidy/tidy_arginfo.h @@ -298,222 +298,222 @@ static const zend_function_entry class_tidyNode_methods[] = { static void register_tidy_symbols(int module_number) { - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_ROOT", TidyNode_Root, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_DOCTYPE", TidyNode_DocType, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_COMMENT", TidyNode_Comment, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_PROCINS", TidyNode_ProcIns, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_TEXT", TidyNode_Text, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_START", TidyNode_Start, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_END", TidyNode_End, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_STARTEND", TidyNode_StartEnd, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_CDATA", TidyNode_CDATA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_SECTION", TidyNode_Section, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_ASP", TidyNode_Asp, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_JSTE", TidyNode_Jste, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_PHP", TidyNode_Php, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_NODETYPE_XMLDECL", TidyNode_XmlDecl, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_UNKNOWN", TidyTag_UNKNOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_A", TidyTag_A, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_ABBR", TidyTag_ABBR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_ACRONYM", TidyTag_ACRONYM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_ADDRESS", TidyTag_ADDRESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_ALIGN", TidyTag_ALIGN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_APPLET", TidyTag_APPLET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_AREA", TidyTag_AREA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_B", TidyTag_B, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BASE", TidyTag_BASE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BASEFONT", TidyTag_BASEFONT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BDO", TidyTag_BDO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BGSOUND", TidyTag_BGSOUND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BIG", TidyTag_BIG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BLINK", TidyTag_BLINK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BLOCKQUOTE", TidyTag_BLOCKQUOTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BODY", TidyTag_BODY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BR", TidyTag_BR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_BUTTON", TidyTag_BUTTON, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_CAPTION", TidyTag_CAPTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_CENTER", TidyTag_CENTER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_CITE", TidyTag_CITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_CODE", TidyTag_CODE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_COL", TidyTag_COL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_COLGROUP", TidyTag_COLGROUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_COMMENT", TidyTag_COMMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DD", TidyTag_DD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DEL", TidyTag_DEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DFN", TidyTag_DFN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DIR", TidyTag_DIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DIV", TidyTag_DIV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DL", TidyTag_DL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_DT", TidyTag_DT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_EM", TidyTag_EM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_EMBED", TidyTag_EMBED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_FIELDSET", TidyTag_FIELDSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_FONT", TidyTag_FONT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_FORM", TidyTag_FORM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_FRAME", TidyTag_FRAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_FRAMESET", TidyTag_FRAMESET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_H1", TidyTag_H1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_H2", TidyTag_H2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_H3", TidyTag_H3, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_H4", TidyTag_H4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_H5", TidyTag_H5, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_H6", TidyTag_H6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_HEAD", TidyTag_HEAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_HR", TidyTag_HR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_HTML", TidyTag_HTML, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_I", TidyTag_I, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_IFRAME", TidyTag_IFRAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_ILAYER", TidyTag_ILAYER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_IMG", TidyTag_IMG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_INPUT", TidyTag_INPUT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_INS", TidyTag_INS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_ISINDEX", TidyTag_ISINDEX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_KBD", TidyTag_KBD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_KEYGEN", TidyTag_KEYGEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_LABEL", TidyTag_LABEL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_LAYER", TidyTag_LAYER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_LEGEND", TidyTag_LEGEND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_LI", TidyTag_LI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_LINK", TidyTag_LINK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_LISTING", TidyTag_LISTING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_MAP", TidyTag_MAP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_MARQUEE", TidyTag_MARQUEE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_MENU", TidyTag_MENU, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_META", TidyTag_META, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_MULTICOL", TidyTag_MULTICOL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_NOBR", TidyTag_NOBR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_NOEMBED", TidyTag_NOEMBED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_NOFRAMES", TidyTag_NOFRAMES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_NOLAYER", TidyTag_NOLAYER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_NOSAVE", TidyTag_NOSAVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_NOSCRIPT", TidyTag_NOSCRIPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_OBJECT", TidyTag_OBJECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_OL", TidyTag_OL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_OPTGROUP", TidyTag_OPTGROUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_OPTION", TidyTag_OPTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_P", TidyTag_P, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_PARAM", TidyTag_PARAM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_PLAINTEXT", TidyTag_PLAINTEXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_PRE", TidyTag_PRE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_Q", TidyTag_Q, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_RB", TidyTag_RB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_RBC", TidyTag_RBC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_RP", TidyTag_RP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_RT", TidyTag_RT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_RTC", TidyTag_RTC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_RUBY", TidyTag_RUBY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_S", TidyTag_S, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SAMP", TidyTag_SAMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SCRIPT", TidyTag_SCRIPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SELECT", TidyTag_SELECT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SERVER", TidyTag_SERVER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SERVLET", TidyTag_SERVLET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SMALL", TidyTag_SMALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SPACER", TidyTag_SPACER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SPAN", TidyTag_SPAN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_STRIKE", TidyTag_STRIKE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_STRONG", TidyTag_STRONG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_STYLE", TidyTag_STYLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SUB", TidyTag_SUB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_SUP", TidyTag_SUP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TABLE", TidyTag_TABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TBODY", TidyTag_TBODY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TD", TidyTag_TD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TEXTAREA", TidyTag_TEXTAREA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TFOOT", TidyTag_TFOOT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TH", TidyTag_TH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_THEAD", TidyTag_THEAD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TITLE", TidyTag_TITLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TR", TidyTag_TR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_TT", TidyTag_TT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_U", TidyTag_U, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_UL", TidyTag_UL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_VAR", TidyTag_VAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_WBR", TidyTag_WBR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("TIDY_TAG_XMP", TidyTag_XMP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_ROOT", TidyNode_Root, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_DOCTYPE", TidyNode_DocType, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_COMMENT", TidyNode_Comment, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_PROCINS", TidyNode_ProcIns, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_TEXT", TidyNode_Text, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_START", TidyNode_Start, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_END", TidyNode_End, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_STARTEND", TidyNode_StartEnd, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_CDATA", TidyNode_CDATA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_SECTION", TidyNode_Section, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_ASP", TidyNode_Asp, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_JSTE", TidyNode_Jste, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_PHP", TidyNode_Php, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_NODETYPE_XMLDECL", TidyNode_XmlDecl, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_UNKNOWN", TidyTag_UNKNOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_A", TidyTag_A, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ABBR", TidyTag_ABBR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ACRONYM", TidyTag_ACRONYM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ADDRESS", TidyTag_ADDRESS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ALIGN", TidyTag_ALIGN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_APPLET", TidyTag_APPLET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_AREA", TidyTag_AREA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_B", TidyTag_B, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BASE", TidyTag_BASE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BASEFONT", TidyTag_BASEFONT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BDO", TidyTag_BDO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BGSOUND", TidyTag_BGSOUND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BIG", TidyTag_BIG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BLINK", TidyTag_BLINK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BLOCKQUOTE", TidyTag_BLOCKQUOTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BODY", TidyTag_BODY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BR", TidyTag_BR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BUTTON", TidyTag_BUTTON, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CAPTION", TidyTag_CAPTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CENTER", TidyTag_CENTER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CITE", TidyTag_CITE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CODE", TidyTag_CODE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COL", TidyTag_COL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COLGROUP", TidyTag_COLGROUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COMMENT", TidyTag_COMMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DD", TidyTag_DD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DEL", TidyTag_DEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DFN", TidyTag_DFN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DIR", TidyTag_DIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DIV", TidyTag_DIV, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DL", TidyTag_DL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DT", TidyTag_DT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_EM", TidyTag_EM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_EMBED", TidyTag_EMBED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FIELDSET", TidyTag_FIELDSET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FONT", TidyTag_FONT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FORM", TidyTag_FORM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FRAME", TidyTag_FRAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FRAMESET", TidyTag_FRAMESET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H1", TidyTag_H1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H2", TidyTag_H2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H3", TidyTag_H3, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H4", TidyTag_H4, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H5", TidyTag_H5, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_H6", TidyTag_H6, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HEAD", TidyTag_HEAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HR", TidyTag_HR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HTML", TidyTag_HTML, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_I", TidyTag_I, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_IFRAME", TidyTag_IFRAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ILAYER", TidyTag_ILAYER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_IMG", TidyTag_IMG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_INPUT", TidyTag_INPUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_INS", TidyTag_INS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ISINDEX", TidyTag_ISINDEX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_KBD", TidyTag_KBD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_KEYGEN", TidyTag_KEYGEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LABEL", TidyTag_LABEL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LAYER", TidyTag_LAYER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LEGEND", TidyTag_LEGEND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LI", TidyTag_LI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LINK", TidyTag_LINK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_LISTING", TidyTag_LISTING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MAP", TidyTag_MAP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MARQUEE", TidyTag_MARQUEE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MENU", TidyTag_MENU, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_META", TidyTag_META, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MULTICOL", TidyTag_MULTICOL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOBR", TidyTag_NOBR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOEMBED", TidyTag_NOEMBED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOFRAMES", TidyTag_NOFRAMES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOLAYER", TidyTag_NOLAYER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOSAVE", TidyTag_NOSAVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NOSCRIPT", TidyTag_NOSCRIPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OBJECT", TidyTag_OBJECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OL", TidyTag_OL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OPTGROUP", TidyTag_OPTGROUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OPTION", TidyTag_OPTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_P", TidyTag_P, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PARAM", TidyTag_PARAM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PLAINTEXT", TidyTag_PLAINTEXT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PRE", TidyTag_PRE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_Q", TidyTag_Q, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RB", TidyTag_RB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RBC", TidyTag_RBC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RP", TidyTag_RP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RT", TidyTag_RT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RTC", TidyTag_RTC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_RUBY", TidyTag_RUBY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_S", TidyTag_S, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SAMP", TidyTag_SAMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SCRIPT", TidyTag_SCRIPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SELECT", TidyTag_SELECT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SERVER", TidyTag_SERVER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SERVLET", TidyTag_SERVLET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SMALL", TidyTag_SMALL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SPACER", TidyTag_SPACER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SPAN", TidyTag_SPAN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_STRIKE", TidyTag_STRIKE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_STRONG", TidyTag_STRONG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_STYLE", TidyTag_STYLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SUB", TidyTag_SUB, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SUP", TidyTag_SUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TABLE", TidyTag_TABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TBODY", TidyTag_TBODY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TD", TidyTag_TD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TEXTAREA", TidyTag_TEXTAREA, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TFOOT", TidyTag_TFOOT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TH", TidyTag_TH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_THEAD", TidyTag_THEAD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TITLE", TidyTag_TITLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TR", TidyTag_TR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TT", TidyTag_TT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_U", TidyTag_U, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_UL", TidyTag_UL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_VAR", TidyTag_VAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_WBR", TidyTag_WBR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_XMP", TidyTag_XMP, CONST_PERSISTENT); #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_ARTICLE", TidyTag_ARTICLE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ARTICLE", TidyTag_ARTICLE, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_ASIDE", TidyTag_ASIDE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_ASIDE", TidyTag_ASIDE, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_AUDIO", TidyTag_AUDIO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_AUDIO", TidyTag_AUDIO, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_BDI", TidyTag_BDI, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_BDI", TidyTag_BDI, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_CANVAS", TidyTag_CANVAS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_CANVAS", TidyTag_CANVAS, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_COMMAND", TidyTag_COMMAND, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_COMMAND", TidyTag_COMMAND, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_DATALIST", TidyTag_DATALIST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DATALIST", TidyTag_DATALIST, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_DETAILS", TidyTag_DETAILS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DETAILS", TidyTag_DETAILS, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_DIALOG", TidyTag_DIALOG, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_DIALOG", TidyTag_DIALOG, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_FIGCAPTION", TidyTag_FIGCAPTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FIGCAPTION", TidyTag_FIGCAPTION, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_FIGURE", TidyTag_FIGURE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FIGURE", TidyTag_FIGURE, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_FOOTER", TidyTag_FOOTER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_FOOTER", TidyTag_FOOTER, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_HEADER", TidyTag_HEADER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HEADER", TidyTag_HEADER, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_HGROUP", TidyTag_HGROUP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_HGROUP", TidyTag_HGROUP, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_MAIN", TidyTag_MAIN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MAIN", TidyTag_MAIN, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_MARK", TidyTag_MARK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MARK", TidyTag_MARK, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_MENUITEM", TidyTag_MENUITEM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_MENUITEM", TidyTag_MENUITEM, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_METER", TidyTag_METER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_METER", TidyTag_METER, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_NAV", TidyTag_NAV, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_NAV", TidyTag_NAV, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_OUTPUT", TidyTag_OUTPUT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_OUTPUT", TidyTag_OUTPUT, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_PROGRESS", TidyTag_PROGRESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_PROGRESS", TidyTag_PROGRESS, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_SECTION", TidyTag_SECTION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SECTION", TidyTag_SECTION, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_SOURCE", TidyTag_SOURCE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SOURCE", TidyTag_SOURCE, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_SUMMARY", TidyTag_SUMMARY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_SUMMARY", TidyTag_SUMMARY, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_TEMPLATE", TidyTag_TEMPLATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TEMPLATE", TidyTag_TEMPLATE, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_TIME", TidyTag_TIME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TIME", TidyTag_TIME, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_TRACK", TidyTag_TRACK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_TRACK", TidyTag_TRACK, CONST_PERSISTENT); #endif #if defined(HAVE_TIDYBUFFIO_H) - REGISTER_LONG_CONSTANT("TIDY_TAG_VIDEO", TidyTag_VIDEO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TIDY_TAG_VIDEO", TidyTag_VIDEO, CONST_PERSISTENT); #endif } diff --git a/ext/tokenizer/tokenizer_arginfo.h b/ext/tokenizer/tokenizer_arginfo.h index 8e6ed181957ba..1c81923c8fe6e 100644 --- a/ext/tokenizer/tokenizer_arginfo.h +++ b/ext/tokenizer/tokenizer_arginfo.h @@ -62,7 +62,7 @@ static const zend_function_entry class_PhpToken_methods[] = { static void register_tokenizer_symbols(int module_number) { - REGISTER_LONG_CONSTANT("TOKEN_PARSE", TOKEN_PARSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("TOKEN_PARSE", TOKEN_PARSE, CONST_PERSISTENT); } static zend_class_entry *register_class_PhpToken(zend_class_entry *class_entry_Stringable) diff --git a/ext/tokenizer/tokenizer_data_arginfo.h b/ext/tokenizer/tokenizer_data_arginfo.h index 608184fc9ce61..ef665193b2ff3 100644 --- a/ext/tokenizer/tokenizer_data_arginfo.h +++ b/ext/tokenizer/tokenizer_data_arginfo.h @@ -5,151 +5,151 @@ static void register_tokenizer_data_symbols(int module_number) { - REGISTER_LONG_CONSTANT("T_LNUMBER", T_LNUMBER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DNUMBER", T_DNUMBER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_STRING", T_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NAME_FULLY_QUALIFIED", T_NAME_FULLY_QUALIFIED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NAME_RELATIVE", T_NAME_RELATIVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NAME_QUALIFIED", T_NAME_QUALIFIED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_VARIABLE", T_VARIABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INLINE_HTML", T_INLINE_HTML, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENCAPSED_AND_WHITESPACE", T_ENCAPSED_AND_WHITESPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CONSTANT_ENCAPSED_STRING", T_CONSTANT_ENCAPSED_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_STRING_VARNAME", T_STRING_VARNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NUM_STRING", T_NUM_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INCLUDE", T_INCLUDE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INCLUDE_ONCE", T_INCLUDE_ONCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_EVAL", T_EVAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_REQUIRE", T_REQUIRE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_REQUIRE_ONCE", T_REQUIRE_ONCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_LOGICAL_OR", T_LOGICAL_OR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_LOGICAL_XOR", T_LOGICAL_XOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_LOGICAL_AND", T_LOGICAL_AND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_PRINT", T_PRINT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_YIELD", T_YIELD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_YIELD_FROM", T_YIELD_FROM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INSTANCEOF", T_INSTANCEOF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NEW", T_NEW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CLONE", T_CLONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_EXIT", T_EXIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IF", T_IF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ELSEIF", T_ELSEIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ELSE", T_ELSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENDIF", T_ENDIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ECHO", T_ECHO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DO", T_DO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_WHILE", T_WHILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENDWHILE", T_ENDWHILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FOR", T_FOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENDFOR", T_ENDFOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FOREACH", T_FOREACH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENDFOREACH", T_ENDFOREACH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DECLARE", T_DECLARE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENDDECLARE", T_ENDDECLARE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_AS", T_AS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_SWITCH", T_SWITCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENDSWITCH", T_ENDSWITCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CASE", T_CASE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DEFAULT", T_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_MATCH", T_MATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_BREAK", T_BREAK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CONTINUE", T_CONTINUE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_GOTO", T_GOTO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FUNCTION", T_FUNCTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FN", T_FN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CONST", T_CONST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_RETURN", T_RETURN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_TRY", T_TRY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CATCH", T_CATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FINALLY", T_FINALLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_THROW", T_THROW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_USE", T_USE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INSTEADOF", T_INSTEADOF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_GLOBAL", T_GLOBAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_STATIC", T_STATIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ABSTRACT", T_ABSTRACT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FINAL", T_FINAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_PRIVATE", T_PRIVATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_PROTECTED", T_PROTECTED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_PUBLIC", T_PUBLIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_READONLY", T_READONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_VAR", T_VAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_UNSET", T_UNSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ISSET", T_ISSET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_EMPTY", T_EMPTY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_HALT_COMPILER", T_HALT_COMPILER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CLASS", T_CLASS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_TRAIT", T_TRAIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INTERFACE", T_INTERFACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ENUM", T_ENUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_EXTENDS", T_EXTENDS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IMPLEMENTS", T_IMPLEMENTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NAMESPACE", T_NAMESPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_LIST", T_LIST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ARRAY", T_ARRAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CALLABLE", T_CALLABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_LINE", T_LINE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FILE", T_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DIR", T_DIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CLASS_C", T_CLASS_C, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_TRAIT_C", T_TRAIT_C, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_METHOD_C", T_METHOD_C, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_FUNC_C", T_FUNC_C, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NS_C", T_NS_C, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ATTRIBUTE", T_ATTRIBUTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_PLUS_EQUAL", T_PLUS_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_MINUS_EQUAL", T_MINUS_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_MUL_EQUAL", T_MUL_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DIV_EQUAL", T_DIV_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CONCAT_EQUAL", T_CONCAT_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_MOD_EQUAL", T_MOD_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_AND_EQUAL", T_AND_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_OR_EQUAL", T_OR_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_XOR_EQUAL", T_XOR_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_SL_EQUAL", T_SL_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_SR_EQUAL", T_SR_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_COALESCE_EQUAL", T_COALESCE_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_BOOLEAN_OR", T_BOOLEAN_OR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_BOOLEAN_AND", T_BOOLEAN_AND, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IS_EQUAL", T_IS_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IS_NOT_EQUAL", T_IS_NOT_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IS_IDENTICAL", T_IS_IDENTICAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IS_NOT_IDENTICAL", T_IS_NOT_IDENTICAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IS_SMALLER_OR_EQUAL", T_IS_SMALLER_OR_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_IS_GREATER_OR_EQUAL", T_IS_GREATER_OR_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_SPACESHIP", T_SPACESHIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_SL", T_SL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_SR", T_SR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INC", T_INC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DEC", T_DEC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_INT_CAST", T_INT_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DOUBLE_CAST", T_DOUBLE_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_STRING_CAST", T_STRING_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ARRAY_CAST", T_ARRAY_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_OBJECT_CAST", T_OBJECT_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_BOOL_CAST", T_BOOL_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_UNSET_CAST", T_UNSET_CAST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_OBJECT_OPERATOR", T_OBJECT_OPERATOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NULLSAFE_OBJECT_OPERATOR", T_NULLSAFE_OBJECT_OPERATOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DOUBLE_ARROW", T_DOUBLE_ARROW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_COMMENT", T_COMMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DOC_COMMENT", T_DOC_COMMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_OPEN_TAG", T_OPEN_TAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_OPEN_TAG_WITH_ECHO", T_OPEN_TAG_WITH_ECHO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CLOSE_TAG", T_CLOSE_TAG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_WHITESPACE", T_WHITESPACE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_START_HEREDOC", T_START_HEREDOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_END_HEREDOC", T_END_HEREDOC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DOLLAR_OPEN_CURLY_BRACES", T_DOLLAR_OPEN_CURLY_BRACES, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_CURLY_OPEN", T_CURLY_OPEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_PAAMAYIM_NEKUDOTAYIM", T_PAAMAYIM_NEKUDOTAYIM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_NS_SEPARATOR", T_NS_SEPARATOR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_ELLIPSIS", T_ELLIPSIS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_COALESCE", T_COALESCE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_POW", T_POW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_POW_EQUAL", T_POW_EQUAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG", T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG", T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_BAD_CHARACTER", T_BAD_CHARACTER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("T_DOUBLE_COLON", T_PAAMAYIM_NEKUDOTAYIM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_LNUMBER", T_LNUMBER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DNUMBER", T_DNUMBER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_STRING", T_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NAME_FULLY_QUALIFIED", T_NAME_FULLY_QUALIFIED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NAME_RELATIVE", T_NAME_RELATIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NAME_QUALIFIED", T_NAME_QUALIFIED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_VARIABLE", T_VARIABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INLINE_HTML", T_INLINE_HTML, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENCAPSED_AND_WHITESPACE", T_ENCAPSED_AND_WHITESPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CONSTANT_ENCAPSED_STRING", T_CONSTANT_ENCAPSED_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_STRING_VARNAME", T_STRING_VARNAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NUM_STRING", T_NUM_STRING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INCLUDE", T_INCLUDE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INCLUDE_ONCE", T_INCLUDE_ONCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_EVAL", T_EVAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_REQUIRE", T_REQUIRE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_REQUIRE_ONCE", T_REQUIRE_ONCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_LOGICAL_OR", T_LOGICAL_OR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_LOGICAL_XOR", T_LOGICAL_XOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_LOGICAL_AND", T_LOGICAL_AND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_PRINT", T_PRINT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_YIELD", T_YIELD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_YIELD_FROM", T_YIELD_FROM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INSTANCEOF", T_INSTANCEOF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NEW", T_NEW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CLONE", T_CLONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_EXIT", T_EXIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IF", T_IF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ELSEIF", T_ELSEIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ELSE", T_ELSE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENDIF", T_ENDIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ECHO", T_ECHO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DO", T_DO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_WHILE", T_WHILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENDWHILE", T_ENDWHILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FOR", T_FOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENDFOR", T_ENDFOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FOREACH", T_FOREACH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENDFOREACH", T_ENDFOREACH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DECLARE", T_DECLARE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENDDECLARE", T_ENDDECLARE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_AS", T_AS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_SWITCH", T_SWITCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENDSWITCH", T_ENDSWITCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CASE", T_CASE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DEFAULT", T_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_MATCH", T_MATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_BREAK", T_BREAK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CONTINUE", T_CONTINUE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_GOTO", T_GOTO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FUNCTION", T_FUNCTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FN", T_FN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CONST", T_CONST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_RETURN", T_RETURN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_TRY", T_TRY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CATCH", T_CATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FINALLY", T_FINALLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_THROW", T_THROW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_USE", T_USE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INSTEADOF", T_INSTEADOF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_GLOBAL", T_GLOBAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_STATIC", T_STATIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ABSTRACT", T_ABSTRACT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FINAL", T_FINAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_PRIVATE", T_PRIVATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_PROTECTED", T_PROTECTED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_PUBLIC", T_PUBLIC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_READONLY", T_READONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_VAR", T_VAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_UNSET", T_UNSET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ISSET", T_ISSET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_EMPTY", T_EMPTY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_HALT_COMPILER", T_HALT_COMPILER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CLASS", T_CLASS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_TRAIT", T_TRAIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INTERFACE", T_INTERFACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ENUM", T_ENUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_EXTENDS", T_EXTENDS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IMPLEMENTS", T_IMPLEMENTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NAMESPACE", T_NAMESPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_LIST", T_LIST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ARRAY", T_ARRAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CALLABLE", T_CALLABLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_LINE", T_LINE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FILE", T_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DIR", T_DIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CLASS_C", T_CLASS_C, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_TRAIT_C", T_TRAIT_C, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_METHOD_C", T_METHOD_C, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_FUNC_C", T_FUNC_C, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NS_C", T_NS_C, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ATTRIBUTE", T_ATTRIBUTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_PLUS_EQUAL", T_PLUS_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_MINUS_EQUAL", T_MINUS_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_MUL_EQUAL", T_MUL_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DIV_EQUAL", T_DIV_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CONCAT_EQUAL", T_CONCAT_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_MOD_EQUAL", T_MOD_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_AND_EQUAL", T_AND_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_OR_EQUAL", T_OR_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_XOR_EQUAL", T_XOR_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_SL_EQUAL", T_SL_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_SR_EQUAL", T_SR_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_COALESCE_EQUAL", T_COALESCE_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_BOOLEAN_OR", T_BOOLEAN_OR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_BOOLEAN_AND", T_BOOLEAN_AND, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IS_EQUAL", T_IS_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IS_NOT_EQUAL", T_IS_NOT_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IS_IDENTICAL", T_IS_IDENTICAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IS_NOT_IDENTICAL", T_IS_NOT_IDENTICAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IS_SMALLER_OR_EQUAL", T_IS_SMALLER_OR_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_IS_GREATER_OR_EQUAL", T_IS_GREATER_OR_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_SPACESHIP", T_SPACESHIP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_SL", T_SL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_SR", T_SR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INC", T_INC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DEC", T_DEC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_INT_CAST", T_INT_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DOUBLE_CAST", T_DOUBLE_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_STRING_CAST", T_STRING_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ARRAY_CAST", T_ARRAY_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_OBJECT_CAST", T_OBJECT_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_BOOL_CAST", T_BOOL_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_UNSET_CAST", T_UNSET_CAST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_OBJECT_OPERATOR", T_OBJECT_OPERATOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NULLSAFE_OBJECT_OPERATOR", T_NULLSAFE_OBJECT_OPERATOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DOUBLE_ARROW", T_DOUBLE_ARROW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_COMMENT", T_COMMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DOC_COMMENT", T_DOC_COMMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_OPEN_TAG", T_OPEN_TAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_OPEN_TAG_WITH_ECHO", T_OPEN_TAG_WITH_ECHO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CLOSE_TAG", T_CLOSE_TAG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_WHITESPACE", T_WHITESPACE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_START_HEREDOC", T_START_HEREDOC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_END_HEREDOC", T_END_HEREDOC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DOLLAR_OPEN_CURLY_BRACES", T_DOLLAR_OPEN_CURLY_BRACES, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_CURLY_OPEN", T_CURLY_OPEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_PAAMAYIM_NEKUDOTAYIM", T_PAAMAYIM_NEKUDOTAYIM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_NS_SEPARATOR", T_NS_SEPARATOR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_ELLIPSIS", T_ELLIPSIS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_COALESCE", T_COALESCE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_POW", T_POW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_POW_EQUAL", T_POW_EQUAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG", T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG", T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_BAD_CHARACTER", T_BAD_CHARACTER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("T_DOUBLE_COLON", T_PAAMAYIM_NEKUDOTAYIM, CONST_PERSISTENT); } diff --git a/ext/xml/xml_arginfo.h b/ext/xml/xml_arginfo.h index 8fcf41b03ea04..f6d3be79fefdc 100644 --- a/ext/xml/xml_arginfo.h +++ b/ext/xml/xml_arginfo.h @@ -140,32 +140,32 @@ static const zend_function_entry class_XMLParser_methods[] = { static void register_xml_symbols(int module_number) { - REGISTER_LONG_CONSTANT("XML_ERROR_NONE", XML_ERROR_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_NO_MEMORY", XML_ERROR_NO_MEMORY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_SYNTAX", XML_ERROR_SYNTAX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_NO_ELEMENTS", XML_ERROR_NO_ELEMENTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_INVALID_TOKEN", XML_ERROR_INVALID_TOKEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_UNCLOSED_TOKEN", XML_ERROR_UNCLOSED_TOKEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_PARTIAL_CHAR", XML_ERROR_PARTIAL_CHAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_TAG_MISMATCH", XML_ERROR_TAG_MISMATCH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_DUPLICATE_ATTRIBUTE", XML_ERROR_DUPLICATE_ATTRIBUTE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_JUNK_AFTER_DOC_ELEMENT", XML_ERROR_JUNK_AFTER_DOC_ELEMENT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_PARAM_ENTITY_REF", XML_ERROR_PARAM_ENTITY_REF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_UNDEFINED_ENTITY", XML_ERROR_UNDEFINED_ENTITY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_RECURSIVE_ENTITY_REF", XML_ERROR_RECURSIVE_ENTITY_REF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_ASYNC_ENTITY", XML_ERROR_ASYNC_ENTITY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_BAD_CHAR_REF", XML_ERROR_BAD_CHAR_REF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_BINARY_ENTITY_REF", XML_ERROR_BINARY_ENTITY_REF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF", XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_MISPLACED_XML_PI", XML_ERROR_MISPLACED_XML_PI, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_UNKNOWN_ENCODING", XML_ERROR_UNKNOWN_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_INCORRECT_ENCODING", XML_ERROR_INCORRECT_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_UNCLOSED_CDATA_SECTION", XML_ERROR_UNCLOSED_CDATA_SECTION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_ERROR_EXTERNAL_ENTITY_HANDLING", XML_ERROR_EXTERNAL_ENTITY_HANDLING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_OPTION_CASE_FOLDING", PHP_XML_OPTION_CASE_FOLDING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_OPTION_TARGET_ENCODING", PHP_XML_OPTION_TARGET_ENCODING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_OPTION_SKIP_TAGSTART", PHP_XML_OPTION_SKIP_TAGSTART, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XML_OPTION_SKIP_WHITE", PHP_XML_OPTION_SKIP_WHITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_NONE", XML_ERROR_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_NO_MEMORY", XML_ERROR_NO_MEMORY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_SYNTAX", XML_ERROR_SYNTAX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_NO_ELEMENTS", XML_ERROR_NO_ELEMENTS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_INVALID_TOKEN", XML_ERROR_INVALID_TOKEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_UNCLOSED_TOKEN", XML_ERROR_UNCLOSED_TOKEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_PARTIAL_CHAR", XML_ERROR_PARTIAL_CHAR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_TAG_MISMATCH", XML_ERROR_TAG_MISMATCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_DUPLICATE_ATTRIBUTE", XML_ERROR_DUPLICATE_ATTRIBUTE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_JUNK_AFTER_DOC_ELEMENT", XML_ERROR_JUNK_AFTER_DOC_ELEMENT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_PARAM_ENTITY_REF", XML_ERROR_PARAM_ENTITY_REF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_UNDEFINED_ENTITY", XML_ERROR_UNDEFINED_ENTITY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_RECURSIVE_ENTITY_REF", XML_ERROR_RECURSIVE_ENTITY_REF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_ASYNC_ENTITY", XML_ERROR_ASYNC_ENTITY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_BAD_CHAR_REF", XML_ERROR_BAD_CHAR_REF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_BINARY_ENTITY_REF", XML_ERROR_BINARY_ENTITY_REF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF", XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_MISPLACED_XML_PI", XML_ERROR_MISPLACED_XML_PI, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_UNKNOWN_ENCODING", XML_ERROR_UNKNOWN_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_INCORRECT_ENCODING", XML_ERROR_INCORRECT_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_UNCLOSED_CDATA_SECTION", XML_ERROR_UNCLOSED_CDATA_SECTION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_ERROR_EXTERNAL_ENTITY_HANDLING", XML_ERROR_EXTERNAL_ENTITY_HANDLING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_OPTION_CASE_FOLDING", PHP_XML_OPTION_CASE_FOLDING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_OPTION_TARGET_ENCODING", PHP_XML_OPTION_TARGET_ENCODING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_OPTION_SKIP_TAGSTART", PHP_XML_OPTION_SKIP_TAGSTART, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XML_OPTION_SKIP_WHITE", PHP_XML_OPTION_SKIP_WHITE, CONST_PERSISTENT); } static zend_class_entry *register_class_XMLParser(void) diff --git a/ext/xsl/php_xsl_arginfo.h b/ext/xsl/php_xsl_arginfo.h index 04b723fbf5b68..546dc3229efa6 100644 --- a/ext/xsl/php_xsl_arginfo.h +++ b/ext/xsl/php_xsl_arginfo.h @@ -86,23 +86,23 @@ static const zend_function_entry class_XSLTProcessor_methods[] = { static void register_php_xsl_symbols(int module_number) { - REGISTER_LONG_CONSTANT("XSL_CLONE_AUTO", 0, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_CLONE_NEVER", -1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_CLONE_ALWAYS", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_NONE", XSL_SECPREF_NONE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_READ_FILE", XSL_SECPREF_READ_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_WRITE_FILE", XSL_SECPREF_WRITE_FILE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_CREATE_DIRECTORY", XSL_SECPREF_CREATE_DIRECTORY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_READ_NETWORK", XSL_SECPREF_READ_NETWORK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_WRITE_NETWORK", XSL_SECPREF_WRITE_NETWORK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_SECPREF_DEFAULT", XSL_SECPREF_DEFAULT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LIBXSLT_VERSION", LIBXSLT_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("LIBXSLT_DOTTED_VERSION", LIBXSLT_DOTTED_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_CLONE_AUTO", 0, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_CLONE_NEVER", -1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_CLONE_ALWAYS", 1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_NONE", XSL_SECPREF_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_READ_FILE", XSL_SECPREF_READ_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_WRITE_FILE", XSL_SECPREF_WRITE_FILE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_CREATE_DIRECTORY", XSL_SECPREF_CREATE_DIRECTORY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_READ_NETWORK", XSL_SECPREF_READ_NETWORK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_WRITE_NETWORK", XSL_SECPREF_WRITE_NETWORK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("XSL_SECPREF_DEFAULT", XSL_SECPREF_DEFAULT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBXSLT_VERSION", LIBXSLT_VERSION, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LIBXSLT_DOTTED_VERSION", LIBXSLT_DOTTED_VERSION, CONST_PERSISTENT); #if defined(HAVE_XSL_EXSLT) - REGISTER_LONG_CONSTANT("LIBEXSLT_VERSION", LIBEXSLT_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LIBEXSLT_VERSION", LIBEXSLT_VERSION, CONST_PERSISTENT); #endif #if defined(HAVE_XSL_EXSLT) - REGISTER_STRING_CONSTANT("LIBEXSLT_DOTTED_VERSION", LIBEXSLT_DOTTED_VERSION, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("LIBEXSLT_DOTTED_VERSION", LIBEXSLT_DOTTED_VERSION, CONST_PERSISTENT); #endif } diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h index 6ea5277061d90..d3f4fe77f2b75 100644 --- a/ext/zend_test/test_arginfo.h +++ b/ext/zend_test/test_arginfo.h @@ -307,7 +307,7 @@ static const zend_function_entry class_ZendTestNS2_ZendSubNS_Foo_methods[] = { static void register_test_symbols(int module_number) { - REGISTER_LONG_CONSTANT("ZEND_TEST_DEPRECATED", 42, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + REGISTER_LONG_CONSTANT("ZEND_TEST_DEPRECATED", 42, CONST_PERSISTENT | CONST_DEPRECATED); } static zend_class_entry *register_class__ZendTestInterface(void) diff --git a/ext/zlib/zlib_arginfo.h b/ext/zlib/zlib_arginfo.h index 35a4961a5669b..cd4ef6d9c2aec 100644 --- a/ext/zlib/zlib_arginfo.h +++ b/ext/zlib/zlib_arginfo.h @@ -210,33 +210,33 @@ static const zend_function_entry class_DeflateContext_methods[] = { static void register_zlib_symbols(int module_number) { - REGISTER_LONG_CONSTANT("FORCE_GZIP", PHP_ZLIB_ENCODING_GZIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("FORCE_DEFLATE", PHP_ZLIB_ENCODING_DEFLATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_ENCODING_RAW", PHP_ZLIB_ENCODING_RAW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_ENCODING_GZIP", PHP_ZLIB_ENCODING_GZIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_ENCODING_DEFLATE", PHP_ZLIB_ENCODING_DEFLATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_NO_FLUSH", Z_NO_FLUSH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_PARTIAL_FLUSH", Z_PARTIAL_FLUSH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_SYNC_FLUSH", Z_SYNC_FLUSH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_FULL_FLUSH", Z_FULL_FLUSH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_BLOCK", Z_BLOCK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_FINISH", Z_FINISH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_FILTERED", Z_FILTERED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_HUFFMAN_ONLY", Z_HUFFMAN_ONLY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_RLE", Z_RLE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_FIXED", Z_FIXED, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_DEFAULT_STRATEGY", Z_DEFAULT_STRATEGY, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("ZLIB_VERSION", ZLIB_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_VERNUM", ZLIB_VERNUM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_OK", Z_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_STREAM_END", Z_STREAM_END, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_NEED_DICT", Z_NEED_DICT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_ERRNO", Z_ERRNO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_STREAM_ERROR", Z_STREAM_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_DATA_ERROR", Z_DATA_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_MEM_ERROR", Z_MEM_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_BUF_ERROR", Z_BUF_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ZLIB_VERSION_ERROR", Z_VERSION_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FORCE_GZIP", PHP_ZLIB_ENCODING_GZIP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("FORCE_DEFLATE", PHP_ZLIB_ENCODING_DEFLATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_ENCODING_RAW", PHP_ZLIB_ENCODING_RAW, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_ENCODING_GZIP", PHP_ZLIB_ENCODING_GZIP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_ENCODING_DEFLATE", PHP_ZLIB_ENCODING_DEFLATE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_NO_FLUSH", Z_NO_FLUSH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_PARTIAL_FLUSH", Z_PARTIAL_FLUSH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_SYNC_FLUSH", Z_SYNC_FLUSH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_FULL_FLUSH", Z_FULL_FLUSH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_BLOCK", Z_BLOCK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_FINISH", Z_FINISH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_FILTERED", Z_FILTERED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_HUFFMAN_ONLY", Z_HUFFMAN_ONLY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_RLE", Z_RLE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_FIXED", Z_FIXED, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_DEFAULT_STRATEGY", Z_DEFAULT_STRATEGY, CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("ZLIB_VERSION", ZLIB_VERSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_VERNUM", ZLIB_VERNUM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_OK", Z_OK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_STREAM_END", Z_STREAM_END, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_NEED_DICT", Z_NEED_DICT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_ERRNO", Z_ERRNO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_STREAM_ERROR", Z_STREAM_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_DATA_ERROR", Z_DATA_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_MEM_ERROR", Z_MEM_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_BUF_ERROR", Z_BUF_ERROR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ZLIB_VERSION_ERROR", Z_VERSION_ERROR, CONST_PERSISTENT); } static zend_class_entry *register_class_InflateContext(void) diff --git a/sapi/phpdbg/phpdbg_arginfo.h b/sapi/phpdbg/phpdbg_arginfo.h index 8f7ff50f4c3e7..4f4861a7442ad 100644 --- a/sapi/phpdbg/phpdbg_arginfo.h +++ b/sapi/phpdbg/phpdbg_arginfo.h @@ -74,8 +74,8 @@ static const zend_function_entry ext_functions[] = { static void register_phpdbg_symbols(int module_number) { - REGISTER_STRING_CONSTANT("PHPDBG_VERSION", PHPDBG_VERSION, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHPDBG_COLOR_PROMPT", PHPDBG_COLOR_PROMPT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHPDBG_COLOR_NOTICE", PHPDBG_COLOR_NOTICE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PHPDBG_COLOR_ERROR", PHPDBG_COLOR_ERROR, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PHPDBG_VERSION", PHPDBG_VERSION, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHPDBG_COLOR_PROMPT", PHPDBG_COLOR_PROMPT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHPDBG_COLOR_NOTICE", PHPDBG_COLOR_NOTICE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PHPDBG_COLOR_ERROR", PHPDBG_COLOR_ERROR, CONST_PERSISTENT); } From 505e8d2a04b258d9982e8994e14f5e75be5e1cf8 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Fri, 12 Aug 2022 22:14:11 +0100 Subject: [PATCH 149/229] Fix GH-9310: SSL local_cert and local_pk do not respect open_basedir restriction --- NEWS | 4 + Zend/zend_execute_API.c | 2 +- ext/openssl/openssl.c | 27 +-- ext/openssl/php_openssl.h | 30 ++++ ext/openssl/tests/CertificateGenerator.inc | 20 ++- ext/openssl/tests/gh9310.phpt | 186 +++++++++++++++++++++ ext/openssl/xp_ssl.c | 57 +++++-- 7 files changed, 278 insertions(+), 48 deletions(-) create mode 100644 ext/openssl/tests/gh9310.phpt diff --git a/NEWS b/NEWS index dacb9649b6833..54ef77b8296ee 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,10 @@ PHP NEWS . Fixed bug GH-9371 (Crash with JIT on mac arm64) (jdp1024/David Carlier) +- OpenSSL: + . Fixed bug GH-9310 (SSL local_cert and local_pk do not respect + open_basedir). (Jakub Zelenka) + - Random: . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 always returns 1). (timwolla) diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index a46959373ad7d..3e19c0cfa8ee9 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -588,7 +588,7 @@ ZEND_API const char *get_active_function_arg_name(uint32_t arg_num) /* {{{ */ ZEND_API const char *get_function_arg_name(const zend_function *func, uint32_t arg_num) /* {{{ */ { - if (!func || func->common.num_args < arg_num) { + if (!func || arg_num == 0 || func->common.num_args < arg_num) { return NULL; } diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 10939276b60eb..fc72918fb6ed5 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -489,7 +489,7 @@ static void php_openssl_check_path_error(uint32_t arg_num, int type, const char } /* openssl file path check extended */ -static bool php_openssl_check_path_ex( +bool php_openssl_check_path_ex( const char *file_path, size_t file_path_len, char *real_path, uint32_t arg_num, bool contains_file_protocol, bool is_from_array, const char *option_name) { @@ -546,31 +546,6 @@ static bool php_openssl_check_path_ex( return false; } -/* openssl file path check */ -static inline bool php_openssl_check_path( - const char *file_path, size_t file_path_len, char *real_path, uint32_t arg_num) -{ - return php_openssl_check_path_ex( - file_path, file_path_len, real_path, arg_num, false, false, NULL); -} - -/* openssl file path extra check with zend string */ -static inline bool php_openssl_check_path_str_ex( - zend_string *file_path, char *real_path, uint32_t arg_num, - bool contains_file_protocol, bool is_from_array, const char *option_name) -{ - return php_openssl_check_path_ex( - ZSTR_VAL(file_path), ZSTR_LEN(file_path), real_path, arg_num, contains_file_protocol, - is_from_array, option_name); -} - -/* openssl file path check with zend string */ -static inline bool php_openssl_check_path_str( - zend_string *file_path, char *real_path, uint32_t arg_num) -{ - return php_openssl_check_path_str_ex(file_path, real_path, arg_num, true, false, NULL); -} - static int ssl_stream_data_index; php_stream* php_openssl_get_stream_from_ssl_handle(const SSL *ssl) diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h index 3f0c436190fa3..89c400dd0df9d 100644 --- a/ext/openssl/php_openssl.h +++ b/ext/openssl/php_openssl.h @@ -92,6 +92,36 @@ php_stream_transport_factory_func php_openssl_ssl_socket_factory; void php_openssl_store_errors(void); +/* openssl file path extra */ +bool php_openssl_check_path_ex( + const char *file_path, size_t file_path_len, char *real_path, uint32_t arg_num, + bool contains_file_protocol, bool is_from_array, const char *option_name); + +/* openssl file path check */ +static inline bool php_openssl_check_path( + const char *file_path, size_t file_path_len, char *real_path, uint32_t arg_num) +{ + return php_openssl_check_path_ex( + file_path, file_path_len, real_path, arg_num, false, false, NULL); +} + +/* openssl file path extra check with zend string */ +static inline bool php_openssl_check_path_str_ex( + zend_string *file_path, char *real_path, uint32_t arg_num, + bool contains_file_protocol, bool is_from_array, const char *option_name) +{ + return php_openssl_check_path_ex( + ZSTR_VAL(file_path), ZSTR_LEN(file_path), real_path, arg_num, contains_file_protocol, + is_from_array, option_name); +} + +/* openssl file path check with zend string */ +static inline bool php_openssl_check_path_str( + zend_string *file_path, char *real_path, uint32_t arg_num) +{ + return php_openssl_check_path_str_ex(file_path, real_path, arg_num, true, false, NULL); +} + PHP_OPENSSL_API zend_long php_openssl_cipher_iv_length(const char *method); PHP_OPENSSL_API zend_string* php_openssl_random_pseudo_bytes(zend_long length); PHP_OPENSSL_API zend_string* php_openssl_encrypt( diff --git a/ext/openssl/tests/CertificateGenerator.inc b/ext/openssl/tests/CertificateGenerator.inc index 4783353a4709c..c36718cd54844 100644 --- a/ext/openssl/tests/CertificateGenerator.inc +++ b/ext/openssl/tests/CertificateGenerator.inc @@ -85,8 +85,8 @@ class CertificateGenerator openssl_x509_export_to_file($this->ca, $file); } - public function saveNewCertAsFileWithKey( - $commonNameForCert, $file, $keyLength = null, $subjectAltName = null + public function saveNewCertAndKey( + $commonNameForCert, $certFile, $keyFile, $keyLength = null, $subjectAltName = null ) { $dn = [ 'countryName' => 'BY', @@ -117,7 +117,7 @@ $subjectAltNameConfig basicConstraints = CA:FALSE $subjectAltNameConfig CONFIG; - $configFile = $file . '.cnf'; + $configFile = $certFile . '.cnf'; file_put_contents($configFile, $configCode); try { @@ -146,12 +146,24 @@ CONFIG; $keyText = ''; openssl_pkey_export($this->lastKey, $keyText, null, $config); - file_put_contents($file, $certText . PHP_EOL . $keyText); + if ($certFile === $keyFile) { + file_put_contents($certFile, $certText . PHP_EOL . $keyText); + } else { + file_put_contents($certFile, $certText); + file_put_contents($keyFile, $keyText); + } } finally { unlink($configFile); } } + + public function saveNewCertAsFileWithKey( + $commonNameForCert, $file, $keyLength = null, $subjectAltName = null + ) { + $this->saveNewCertAndKey($commonNameForCert, $file, $file, $keyLength, $subjectAltName); + } + public function getCertDigest($algo) { return openssl_x509_fingerprint($this->lastCert, $algo); diff --git a/ext/openssl/tests/gh9310.phpt b/ext/openssl/tests/gh9310.phpt new file mode 100644 index 0000000000000..9ad4831215da6 --- /dev/null +++ b/ext/openssl/tests/gh9310.phpt @@ -0,0 +1,186 @@ +--TEST-- +GH-9310: local_cert and local_pk do not respect open_basedir restriction +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- +saveNewCertAndKey('gh9310', $certFile, $pkFile); + +copy($certFile, $baseDirCertFile); +copy($pkFile, $baseDirPkFile); +copy(__DIR__ . '/sni_server_uk_cert.pem', $baseDir . '/sni_server_uk_cert.pem'); + + +$serverCodeTemplate = <<<'CODE' + ini_set('log_errors', 'On'); + ini_set('open_basedir', __DIR__ . '/gh9310'); + $serverUri = "ssl://127.0.0.1:64321"; + $serverFlags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN; + $serverCtx = stream_context_create(['ssl' => [ + 'local_cert' => '%s', + 'local_pk' => '%s', + ]]); + + $sock = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify(); + + $link = stream_socket_accept($sock); +CODE; + +$clientCode = <<<'CODE' + $serverUri = "ssl://127.0.0.1:64321"; + $clientFlags = STREAM_CLIENT_CONNECT; + + $clientCtx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false + ]]); + + phpt_wait(); + @stream_socket_client($serverUri, $errno, $errstr, 2, $clientFlags, $clientCtx); +CODE; + +$sniServerCodeV1 = <<<'CODE' + ini_set('log_errors', 'On'); + ini_set('open_basedir', __DIR__ . '/gh9310'); + $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN; + $ctx = stream_context_create(['ssl' => [ + 'SNI_server_certs' => [ + "cs.php.net" => __DIR__ . "/sni_server_cs.pem", + ] + ]]); + + $server = stream_socket_server('tls://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); + phpt_notify(); + + stream_socket_accept($server); +CODE; + +$sniServerCodeV2 = <<<'CODE' + ini_set('log_errors', 'On'); + ini_set('open_basedir', __DIR__ . '/gh9310'); + $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN; + $ctx = stream_context_create(['ssl' => [ + 'SNI_server_certs' => [ + "uk.php.net" => [ + 'local_cert' => __DIR__ . '/gh9310/sni_server_uk_cert.pem', + 'local_pk' => __DIR__ . '/sni_server_uk_key.pem', + ] + ] + ]]); + + $server = stream_socket_server('tls://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); + phpt_notify(); + + stream_socket_accept($server); +CODE; + +$sniServerCodeV3 = <<<'CODE' + ini_set('log_errors', 'On'); + ini_set('open_basedir', __DIR__ . '/gh9310'); + $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN; + $ctx = stream_context_create(['ssl' => [ + 'SNI_server_certs' => [ + "us.php.net" => [ + 'local_cert' => __DIR__ . '/sni_server_us_cert.pem', + 'local_pk' => __DIR__ . '/sni_server_us_key.pem', + ] + ] + ]]); + + $server = stream_socket_server('tls://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); + phpt_notify(); + + stream_socket_accept($server); +CODE; + +$sniClientCodeTemplate = <<<'CODE' + $flags = STREAM_CLIENT_CONNECT; + $ctxArr = [ + 'cafile' => __DIR__ . '/sni_server_ca.pem', + ]; + + phpt_wait(); + + $ctxArr['peer_name'] = '%s'; + $ctx = stream_context_create(['ssl' => $ctxArr]); + @stream_socket_client("tls://127.0.0.1:64321", $errno, $errstr, 1, $flags, $ctx); +CODE; + +$serverCode = sprintf($serverCodeTemplate, $baseDirCertFile . "\0test", $baseDirPkFile); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); + +$serverCode = sprintf($serverCodeTemplate, $baseDirCertFile, $baseDirPkFile . "\0test"); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); + +$serverCode = sprintf($serverCodeTemplate, $certFile, $pkFile); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); + +$serverCode = sprintf($serverCodeTemplate, $baseDirCertFile, $pkFile); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); + +$sniClientCode = sprintf($sniClientCodeTemplate, 'cs.php.net'); +ServerClientTestCase::getInstance()->run($sniClientCode, $sniServerCodeV1); + +$sniClientCode = sprintf($sniClientCodeTemplate, 'uk.php.net'); +ServerClientTestCase::getInstance()->run($sniClientCode, $sniServerCodeV2); + +$sniClientCode = sprintf($sniClientCodeTemplate, 'us.php.net'); +ServerClientTestCase::getInstance()->run($sniClientCode, $sniServerCodeV3); + +?> +--CLEAN-- + +--EXPECTF-- +PHP Warning: stream_socket_accept(): Path for local_cert in ssl stream context option must not contain any null bytes in %s +PHP Warning: stream_socket_accept(): Unable to get real path of certificate file `%scert.crt' in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s +PHP Warning: stream_socket_accept(): Path for local_pk in ssl stream context option must not contain any null bytes in %s +PHP Warning: stream_socket_accept(): Unable to get real path of private key file `%sprivate.key' in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s +PHP Warning: stream_socket_accept(): open_basedir restriction in effect. File(%sgh9310.crt) is not within the allowed path(s): (%sgh9310) in %s +PHP Warning: stream_socket_accept(): Unable to get real path of certificate file `%sgh9310.crt' in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s +PHP Warning: stream_socket_accept(): open_basedir restriction in effect. File(%sgh9310.key) is not within the allowed path(s): (%sgh9310) in %s +PHP Warning: stream_socket_accept(): Unable to get real path of private key file `%sgh9310.key' in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s +PHP Warning: stream_socket_accept(): open_basedir restriction in effect. File(%ssni_server_cs.pem) is not within the allowed path(s): (%sgh9310) in %s +PHP Warning: stream_socket_accept(): Failed setting local cert chain file `%ssni_server_cs.pem'; file not found in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s +PHP Warning: stream_socket_accept(): open_basedir restriction in effect. File(%ssni_server_uk_key.pem) is not within the allowed path(s): (%sgh9310) in %s +PHP Warning: stream_socket_accept(): Failed setting local private key file `%ssni_server_uk_key.pem'; could not open file in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s +PHP Warning: stream_socket_accept(): open_basedir restriction in effect. File(%ssni_server_us_cert.pem) is not within the allowed path(s): (%sgh9310) in %s +PHP Warning: stream_socket_accept(): Failed setting local cert chain file `%ssni_server_us_cert.pem'; could not open file in %s +PHP Warning: stream_socket_accept(): Failed to enable crypto in %s +PHP Warning: stream_socket_accept(): Accept failed: %s diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index 67dfa4ac4bbb0..048076808925d 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -101,14 +101,25 @@ #endif /* Simplify ssl context option retrieval */ -#define GET_VER_OPT(name) \ - (PHP_STREAM_CONTEXT(stream) && (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", name)) != NULL) -#define GET_VER_OPT_STRING(name, str) \ - if (GET_VER_OPT(name)) { \ - if (try_convert_to_string(val)) str = Z_STRVAL_P(val); \ - } -#define GET_VER_OPT_LONG(name, num) \ - if (GET_VER_OPT(name)) { num = zval_get_long(val); } +#define GET_VER_OPT(_name) \ + (PHP_STREAM_CONTEXT(stream) && (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", _name)) != NULL) +#define GET_VER_OPT_STRING(_name, _str) \ + do { \ + if (GET_VER_OPT(_name)) { \ + if (try_convert_to_string(val)) _str = Z_STRVAL_P(val); \ + } \ + } while (0) +#define GET_VER_OPT_STRINGL(_name, _str, _len) \ + do { \ + if (GET_VER_OPT(_name)) { \ + if (try_convert_to_string(val)) { \ + _str = Z_STRVAL_P(val); \ + _len = Z_STRLEN_P(val); \ + } \ + } \ + } while (0) +#define GET_VER_OPT_LONG(_name, _num) \ + if (GET_VER_OPT(_name)) _num = zval_get_long(val) /* Used for peer verification in windows */ #define PHP_X509_NAME_ENTRY_TO_UTF8(ne, i, out) \ @@ -893,14 +904,18 @@ static int php_openssl_set_local_cert(SSL_CTX *ctx, php_stream *stream) /* {{{ * { zval *val = NULL; char *certfile = NULL; + size_t certfile_len; - GET_VER_OPT_STRING("local_cert", certfile); + GET_VER_OPT_STRINGL("local_cert", certfile, certfile_len); if (certfile) { char resolved_path_buff[MAXPATHLEN]; const char *private_key = NULL; + size_t private_key_len; - if (!VCWD_REALPATH(certfile, resolved_path_buff)) { + if (!php_openssl_check_path_ex( + certfile, certfile_len, resolved_path_buff, 0, false, false, + "local_cert in ssl stream context")) { php_error_docref(NULL, E_WARNING, "Unable to get real path of certificate file `%s'", certfile); return FAILURE; } @@ -913,8 +928,10 @@ static int php_openssl_set_local_cert(SSL_CTX *ctx, php_stream *stream) /* {{{ * return FAILURE; } - GET_VER_OPT_STRING("local_pk", private_key); - if (private_key && !VCWD_REALPATH(private_key, resolved_path_buff)) { + GET_VER_OPT_STRINGL("local_pk", private_key, private_key_len); + if (private_key && !php_openssl_check_path_ex( + private_key, private_key_len, resolved_path_buff, 0, false, false, + "local_pk in ssl stream context")) { php_error_docref(NULL, E_WARNING, "Unable to get real path of private key file `%s'", private_key); return FAILURE; } @@ -1447,9 +1464,11 @@ static int php_openssl_enable_server_sni(php_stream *stream, php_openssl_netstre if (UNEXPECTED(!local_cert_str)) { return FAILURE; } - if (!VCWD_REALPATH(ZSTR_VAL(local_cert_str), resolved_cert_path_buff)) { + if (!php_openssl_check_path_str_ex( + local_cert_str, resolved_cert_path_buff, 0, false, false, + "SNI_server_certs local_cert in ssl stream context")) { php_error_docref(NULL, E_WARNING, - "Failed setting local cert chain file `%s'; file not found", + "Failed setting local cert chain file `%s'; could not open file", ZSTR_VAL(local_cert_str) ); zend_string_release(local_cert_str); @@ -1469,9 +1488,11 @@ static int php_openssl_enable_server_sni(php_stream *stream, php_openssl_netstre if (UNEXPECTED(!local_pk_str)) { return FAILURE; } - if (!VCWD_REALPATH(ZSTR_VAL(local_pk_str), resolved_pk_path_buff)) { + if (!php_openssl_check_path_str_ex( + local_pk_str, resolved_pk_path_buff, 0, false, false, + "SNI_server_certs local_pk in ssl stream context")) { php_error_docref(NULL, E_WARNING, - "Failed setting local private key file `%s'; file not found", + "Failed setting local private key file `%s'; could not open file", ZSTR_VAL(local_pk_str) ); zend_string_release(local_pk_str); @@ -1481,7 +1502,9 @@ static int php_openssl_enable_server_sni(php_stream *stream, php_openssl_netstre ctx = php_openssl_create_sni_server_ctx(resolved_cert_path_buff, resolved_pk_path_buff); - } else if (VCWD_REALPATH(Z_STRVAL_P(current), resolved_path_buff)) { + } else if (php_openssl_check_path_str_ex( + Z_STR_P(current), resolved_path_buff, 0, false, false, + "SNI_server_certs in ssl stream context")) { ctx = php_openssl_create_sni_server_ctx(resolved_path_buff, resolved_path_buff); } else { php_error_docref(NULL, E_WARNING, From 14079688912cf3d1cc13f1dde16d98a07c19b51a Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Thu, 18 Aug 2022 13:40:50 +0100 Subject: [PATCH 150/229] Implement FR #76935: OpenSSL chacha20-poly1305 AEAD support This adds support for ChaCha20-Poly1305 AEAD algorithm so it is possible to use it in the same way as AES GCM and other AEAD algorithms. This is available in OpenSSL 1.1.0+. --- NEWS | 2 + ext/openssl/openssl.c | 29 ++++++-- ext/openssl/tests/cipher_tests.inc | 66 +++++++++++++++++++ .../openssl_encrypt_chacha20_poly1305.phpt | 48 ++++++++++++++ 4 files changed, 138 insertions(+), 7 deletions(-) create mode 100644 ext/openssl/tests/openssl_encrypt_chacha20_poly1305.phpt diff --git a/NEWS b/NEWS index 54ef77b8296ee..e69f1ed03e250 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,8 @@ PHP NEWS - OpenSSL: . Fixed bug GH-9310 (SSL local_cert and local_pk do not respect open_basedir). (Jakub Zelenka) + . Implement FR #76935 ("chacha20-poly1305" is an AEAD but does not work like + AEAD). (Jakub Zelenka) - Random: . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index fc72918fb6ed5..56e37f008c1e7 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -7145,27 +7145,43 @@ struct php_openssl_cipher_mode { int aead_ivlen_flag; }; -static void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, const EVP_CIPHER *cipher_type) /* {{{ */ +#if PHP_OPENSSL_API_VERSION >= 0x10100 +static inline void php_openssl_set_aead_flags(struct php_openssl_cipher_mode *mode) { + mode->is_aead = true; + mode->aead_get_tag_flag = EVP_CTRL_AEAD_GET_TAG; + mode->aead_set_tag_flag = EVP_CTRL_AEAD_SET_TAG; + mode->aead_ivlen_flag = EVP_CTRL_AEAD_SET_IVLEN; +} +#endif + +static void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, const EVP_CIPHER *cipher_type) { int cipher_mode = EVP_CIPHER_mode(cipher_type); memset(mode, 0, sizeof(struct php_openssl_cipher_mode)); switch (cipher_mode) { -#ifdef EVP_CIPH_OCB_MODE +#if PHP_OPENSSL_API_VERSION >= 0x10100 /* Since OpenSSL 1.1, all AEAD ciphers use a common framework. We check for * EVP_CIPH_OCB_MODE, because LibreSSL does not support it. */ case EVP_CIPH_GCM_MODE: +# ifdef EVP_CIPH_OCB_MODE case EVP_CIPH_OCB_MODE: +# endif case EVP_CIPH_CCM_MODE: - mode->is_aead = 1; + php_openssl_set_aead_flags(mode); /* For OCB mode, explicitly set the tag length even when decrypting, * see https://github.com/openssl/openssl/issues/8331. */ mode->set_tag_length_always = cipher_mode == EVP_CIPH_OCB_MODE; mode->set_tag_length_when_encrypting = cipher_mode == EVP_CIPH_CCM_MODE; mode->is_single_run_aead = cipher_mode == EVP_CIPH_CCM_MODE; - mode->aead_get_tag_flag = EVP_CTRL_AEAD_GET_TAG; - mode->aead_set_tag_flag = EVP_CTRL_AEAD_SET_TAG; - mode->aead_ivlen_flag = EVP_CTRL_AEAD_SET_IVLEN; break; +# ifdef NID_chacha20_poly1305 + default: + if (EVP_CIPHER_nid(cipher_type) == NID_chacha20_poly1305) { + php_openssl_set_aead_flags(mode); + } + break; + +# endif #else # ifdef EVP_CIPH_GCM_MODE case EVP_CIPH_GCM_MODE: @@ -7188,7 +7204,6 @@ static void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, c #endif } } -/* }}} */ static int php_openssl_validate_iv(const char **piv, size_t *piv_len, size_t iv_required_len, bool *free_iv, EVP_CIPHER_CTX *cipher_ctx, struct php_openssl_cipher_mode *mode) /* {{{ */ diff --git a/ext/openssl/tests/cipher_tests.inc b/ext/openssl/tests/cipher_tests.inc index 1d4988c5a8c3f..f543a42c9f45a 100644 --- a/ext/openssl/tests/cipher_tests.inc +++ b/ext/openssl/tests/cipher_tests.inc @@ -160,6 +160,72 @@ $php_openssl_cipher_tests = array( 'ct' => '1792A4E31E0755FB03E31B22116E6C2DDF9EFD6E33D536F1A0124B0A55BAE884ED93481529C76B6A', ), ), + 'chacha20-poly1305' => array( + array( + 'key' => '808182838485868788898a8b8c8d8e8f' . + '909192939495969798999a9b9c9d9e9f', + 'iv' => '070000004041424344454647', + 'aad' => '50515253c0c1c2c3c4c5c6c7', + 'tag' => '1ae10b594f09e26a7e902ecbd0600691', + 'pt' => '4c616469657320616e642047656e746c' . + '656d656e206f662074686520636c6173' . + '73206f66202739393a20496620492063' . + '6f756c64206f6666657220796f75206f' . + '6e6c79206f6e652074697020666f7220' . + '746865206675747572652c2073756e73' . + '637265656e20776f756c642062652069' . + '742e', + 'ct' => 'd31a8d34648e60db7b86afbc53ef7ec2' . + 'a4aded51296e08fea9e2b5a736ee62d6' . + '3dbea45e8ca9671282fafb69da92728b' . + '1a71de0a9e060b2905d6a5b67ecd3b36' . + '92ddbd7f2d778b8c9803aee328091b58' . + 'fab324e4fad675945585808b4831d7bc' . + '3ff4def08e4b7a9de576d26586cec64b' . + '6116', + ), + array( + 'key' => '1c9240a5eb55d38af333888604f6b5f0' . + '473917c1402b80099dca5cbc207075c0', + 'iv' => '000000000102030405060708', + 'aad' => 'f33388860000000000004e91', + 'tag' => 'eead9d67890cbb22392336fea1851f38', + 'pt' => '496e7465726e65742d44726166747320' . + '61726520647261667420646f63756d65' . + '6e74732076616c696420666f72206120' . + '6d6178696d756d206f6620736978206d' . + '6f6e74687320616e64206d6179206265' . + '20757064617465642c207265706c6163' . + '65642c206f72206f62736f6c65746564' . + '206279206f7468657220646f63756d65' . + '6e747320617420616e792074696d652e' . + '20497420697320696e617070726f7072' . + '6961746520746f2075736520496e7465' . + '726e65742d4472616674732061732072' . + '65666572656e6365206d617465726961' . + '6c206f7220746f206369746520746865' . + '6d206f74686572207468616e20617320' . + '2fe2809c776f726b20696e2070726f67' . + '726573732e2fe2809d', + 'ct' => '64a0861575861af460f062c79be643bd' . + '5e805cfd345cf389f108670ac76c8cb2' . + '4c6cfc18755d43eea09ee94e382d26b0' . + 'bdb7b73c321b0100d4f03b7f355894cf' . + '332f830e710b97ce98c8a84abd0b9481' . + '14ad176e008d33bd60f982b1ff37c855' . + '9797a06ef4f0ef61c186324e2b350638' . + '3606907b6a7c02b0f9f6157b53c867e4' . + 'b9166c767b804d46a59b5216cde7a4e9' . + '9040c5a40433225ee282a1b0a06c523e' . + 'af4534d7f83fa1155b0047718cbc546a' . + '0d072b04b3564eea1b422273f548271a' . + '0bb2316053fa76991955ebd63159434e' . + 'cebb4e466dae5a1073a6727627097a10' . + '49e617d91d361094fa68f0ff77987130' . + '305beaba2eda04df997b714d6c6f2c29' . + 'a6ad5cb4022b02709b', + ), + ), ); function openssl_get_cipher_tests($method) diff --git a/ext/openssl/tests/openssl_encrypt_chacha20_poly1305.phpt b/ext/openssl/tests/openssl_encrypt_chacha20_poly1305.phpt new file mode 100644 index 0000000000000..d850f81f930d9 --- /dev/null +++ b/ext/openssl/tests/openssl_encrypt_chacha20_poly1305.phpt @@ -0,0 +1,48 @@ +--TEST-- +openssl_encrypt() with ChaCha20 and Poly1305 cipher algorithm tests +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + $test) { + echo "TEST $idx\n"; + $ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA, + $test['iv'], $tag, $test['aad'], strlen($test['tag'])); + var_dump($test['ct'] === $ct); + var_dump($test['tag'] === $tag); +} + +// Empty IV error +var_dump(openssl_encrypt('data', $method, 'password', 0, '', $tag, '')); + +// Failing to retrieve tag (max is 16 bytes) +var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 12), $tag, '', 20)); + +// Failing when no tag supplied +var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 12))); +?> +--EXPECTF-- +TEST 0 +bool(true) +bool(true) +TEST 1 +bool(true) +bool(true) + +Warning: openssl_encrypt(): Setting of IV length for AEAD mode failed in %s on line %d +bool(false) + +Warning: openssl_encrypt(): Retrieving verification tag failed in %s on line %d +bool(false) + +Warning: openssl_encrypt(): A tag should be provided when using AEAD mode in %s on line %d +bool(false) From 39b2380c3410b1756e9c535dbda8dc78288c6c0c Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 28 Aug 2022 12:26:37 +0100 Subject: [PATCH 151/229] [ci skip] Add note about chacha20-poly1305 additon to UPGRADING --- UPGRADING | 3 +++ 1 file changed, 3 insertions(+) diff --git a/UPGRADING b/UPGRADING index c2236bea0f990..f08eae8ad3e19 100644 --- a/UPGRADING +++ b/UPGRADING @@ -108,6 +108,9 @@ PHP 8.2 UPGRADE NOTES round-trips between PHP and Oracle Database when fetching LOBS. This is usable with Oracle Database 12.2 or later. +- OpenSSL: + . Added AEAD support for chacha20-poly1305 algorithm. + - ODBC: . Added odbc_connection_string_is_quoted, odbc_connection_string_should_quote, and odbc_connection_string_quote. These are primarily used behind the scenes From 35e2a25d839f82c82e99f59f8fa539105fd131f0 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Thu, 18 Aug 2022 14:24:44 +0100 Subject: [PATCH 152/229] Add openssl_cipher_key_length function This function works in exactly the same way as openssl_cipher_iv_length but for a key length. This is especially useful to make sure that the right key length is provided to openssl_encrypt and openssl_decrypt. In addtion the change also updates implementation of openssl_cipher_iv_length and adds a test for it. --- NEWS | 1 + UPGRADING | 4 ++ ext/openssl/openssl.c | 52 +++++++++++++++---- ext/openssl/openssl.stub.php | 2 + ext/openssl/openssl_arginfo.h | 6 ++- ext/openssl/php_openssl.h | 1 + .../tests/openssl_cipher_iv_length_basic.phpt | 12 +++++ .../tests/openssl_cipher_iv_length_error.phpt | 21 ++++++++ .../openssl_cipher_key_length_basic.phpt | 14 +++++ .../openssl_cipher_key_length_error.phpt | 21 ++++++++ 10 files changed, 123 insertions(+), 11 deletions(-) create mode 100644 ext/openssl/tests/openssl_cipher_iv_length_basic.phpt create mode 100644 ext/openssl/tests/openssl_cipher_iv_length_error.phpt create mode 100644 ext/openssl/tests/openssl_cipher_key_length_basic.phpt create mode 100644 ext/openssl/tests/openssl_cipher_key_length_error.phpt diff --git a/NEWS b/NEWS index e69f1ed03e250..c34aa2388d075 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,7 @@ PHP NEWS open_basedir). (Jakub Zelenka) . Implement FR #76935 ("chacha20-poly1305" is an AEAD but does not work like AEAD). (Jakub Zelenka) + . Added openssl_cipher_key_length function. (Jakub Zelenka) - Random: . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 diff --git a/UPGRADING b/UPGRADING index f08eae8ad3e19..aacbeea92df65 100644 --- a/UPGRADING +++ b/UPGRADING @@ -227,6 +227,10 @@ PHP 8.2 UPGRADE NOTES - mysqli: . mysqli_execute_query() +- OpenSSL: + . openssl_cipher_key_length(): Returns a key length for the supplied + cipher. + - Reflection: . ReflectionFunction::isAnonymous() . ReflectionMethod::hasPrototype() diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 56e37f008c1e7..2ea54dd455ab5 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -7590,44 +7590,76 @@ PHP_FUNCTION(openssl_decrypt) } /* }}} */ -PHP_OPENSSL_API zend_long php_openssl_cipher_iv_length(const char *method) +static inline const EVP_CIPHER *php_openssl_get_evp_cipher_by_name(const char *method) { const EVP_CIPHER *cipher_type; cipher_type = EVP_get_cipherbyname(method); if (!cipher_type) { php_error_docref(NULL, E_WARNING, "Unknown cipher algorithm"); - return -1; + return NULL; } - return EVP_CIPHER_iv_length(cipher_type); + return cipher_type; +} + +PHP_OPENSSL_API zend_long php_openssl_cipher_iv_length(const char *method) +{ + const EVP_CIPHER *cipher_type = php_openssl_get_evp_cipher_by_name(method); + + return cipher_type == NULL ? -1 : EVP_CIPHER_iv_length(cipher_type); } -/* {{{ */ PHP_FUNCTION(openssl_cipher_iv_length) { - char *method; - size_t method_len; + zend_string *method; zend_long ret; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &method, &method_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &method) == FAILURE) { RETURN_THROWS(); } - if (!method_len) { + if (ZSTR_LEN(method) == 0) { zend_argument_value_error(1, "cannot be empty"); RETURN_THROWS(); } /* Warning is emitted in php_openssl_cipher_iv_length */ - if ((ret = php_openssl_cipher_iv_length(method)) == -1) { + if ((ret = php_openssl_cipher_iv_length(ZSTR_VAL(method))) == -1) { RETURN_FALSE; } RETURN_LONG(ret); } -/* }}} */ +PHP_OPENSSL_API zend_long php_openssl_cipher_key_length(const char *method) +{ + const EVP_CIPHER *cipher_type = php_openssl_get_evp_cipher_by_name(method); + + return cipher_type == NULL ? -1 : EVP_CIPHER_key_length(cipher_type); +} + +PHP_FUNCTION(openssl_cipher_key_length) +{ + zend_string *method; + zend_long ret; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &method) == FAILURE) { + RETURN_THROWS(); + } + + if (ZSTR_LEN(method) == 0) { + zend_argument_value_error(1, "cannot be empty"); + RETURN_THROWS(); + } + + /* Warning is emitted in php_openssl_cipher_key_length */ + if ((ret = php_openssl_cipher_key_length(ZSTR_VAL(method))) == -1) { + RETURN_FALSE; + } + + RETURN_LONG(ret); +} PHP_OPENSSL_API zend_string* php_openssl_random_pseudo_bytes(zend_long buffer_length) { diff --git a/ext/openssl/openssl.stub.php b/ext/openssl/openssl.stub.php index ccefc2da14d96..8a0f678f3d968 100644 --- a/ext/openssl/openssl.stub.php +++ b/ext/openssl/openssl.stub.php @@ -610,6 +610,8 @@ function openssl_decrypt(string $data, string $cipher_algo, #[\SensitiveParamete function openssl_cipher_iv_length(string $cipher_algo): int|false {} +function openssl_cipher_key_length(string $cipher_algo): int|false {} + function openssl_dh_compute_key(string $public_key, #[\SensitiveParameter] OpenSSLAsymmetricKey $private_key): string|false {} /** diff --git a/ext/openssl/openssl_arginfo.h b/ext/openssl/openssl_arginfo.h index 6813737c9ccf1..2159267bbcc56 100644 --- a/ext/openssl/openssl_arginfo.h +++ b/ext/openssl/openssl_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 4ceb7805924cd343a223d60383892c49c90a104d */ + * Stub hash: 02ee3cc08e7bda875321cb63e879deed48d7a389 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export_to_file, 0, 2, _IS_BOOL, 0) ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL) @@ -350,6 +350,8 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_cipher_iv_length, 0, 1, ZEND_ARG_TYPE_INFO(0, cipher_algo, IS_STRING, 0) ZEND_END_ARG_INFO() +#define arginfo_openssl_cipher_key_length arginfo_openssl_cipher_iv_length + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_dh_compute_key, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0) ZEND_ARG_OBJ_INFO(0, private_key, OpenSSLAsymmetricKey, 0) @@ -440,6 +442,7 @@ ZEND_FUNCTION(openssl_digest); ZEND_FUNCTION(openssl_encrypt); ZEND_FUNCTION(openssl_decrypt); ZEND_FUNCTION(openssl_cipher_iv_length); +ZEND_FUNCTION(openssl_cipher_key_length); ZEND_FUNCTION(openssl_dh_compute_key); ZEND_FUNCTION(openssl_pkey_derive); ZEND_FUNCTION(openssl_random_pseudo_bytes); @@ -508,6 +511,7 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(openssl_encrypt, arginfo_openssl_encrypt) ZEND_FE(openssl_decrypt, arginfo_openssl_decrypt) ZEND_FE(openssl_cipher_iv_length, arginfo_openssl_cipher_iv_length) + ZEND_FE(openssl_cipher_key_length, arginfo_openssl_cipher_key_length) ZEND_FE(openssl_dh_compute_key, arginfo_openssl_dh_compute_key) ZEND_FE(openssl_pkey_derive, arginfo_openssl_pkey_derive) ZEND_FE(openssl_random_pseudo_bytes, arginfo_openssl_random_pseudo_bytes) diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h index 89c400dd0df9d..5cfadbedc9829 100644 --- a/ext/openssl/php_openssl.h +++ b/ext/openssl/php_openssl.h @@ -123,6 +123,7 @@ static inline bool php_openssl_check_path_str( } PHP_OPENSSL_API zend_long php_openssl_cipher_iv_length(const char *method); +PHP_OPENSSL_API zend_long php_openssl_cipher_key_length(const char *method); PHP_OPENSSL_API zend_string* php_openssl_random_pseudo_bytes(zend_long length); PHP_OPENSSL_API zend_string* php_openssl_encrypt( const char *data, size_t data_len, diff --git a/ext/openssl/tests/openssl_cipher_iv_length_basic.phpt b/ext/openssl/tests/openssl_cipher_iv_length_basic.phpt new file mode 100644 index 0000000000000..82110ab83d317 --- /dev/null +++ b/ext/openssl/tests/openssl_cipher_iv_length_basic.phpt @@ -0,0 +1,12 @@ +--TEST-- +openssl_cipher_iv_length() basic test +--EXTENSIONS-- +openssl +--FILE-- + +--EXPECT-- +int(16) diff --git a/ext/openssl/tests/openssl_cipher_iv_length_error.phpt b/ext/openssl/tests/openssl_cipher_iv_length_error.phpt new file mode 100644 index 0000000000000..8fca1fdd71e66 --- /dev/null +++ b/ext/openssl/tests/openssl_cipher_iv_length_error.phpt @@ -0,0 +1,21 @@ +--TEST-- +openssl_cipher_iv_length() error test +--EXTENSIONS-- +openssl +--FILE-- +getMessage() . "\n"; +} + +?> +--EXPECTF-- + +Warning: openssl_cipher_iv_length(): Unknown cipher algorithm in %s on line %d +bool(false) +openssl_cipher_iv_length(): Argument #1 ($cipher_algo) cannot be empty diff --git a/ext/openssl/tests/openssl_cipher_key_length_basic.phpt b/ext/openssl/tests/openssl_cipher_key_length_basic.phpt new file mode 100644 index 0000000000000..a72cdda526975 --- /dev/null +++ b/ext/openssl/tests/openssl_cipher_key_length_basic.phpt @@ -0,0 +1,14 @@ +--TEST-- +openssl_cipher_key_length() basic test +--EXTENSIONS-- +openssl +--FILE-- + +--EXPECT-- +int(16) +int(32) diff --git a/ext/openssl/tests/openssl_cipher_key_length_error.phpt b/ext/openssl/tests/openssl_cipher_key_length_error.phpt new file mode 100644 index 0000000000000..08c08d382eb0c --- /dev/null +++ b/ext/openssl/tests/openssl_cipher_key_length_error.phpt @@ -0,0 +1,21 @@ +--TEST-- +openssl_cipher_key_length() error test +--EXTENSIONS-- +openssl +--FILE-- +getMessage() . "\n"; +} + +?> +--EXPECTF-- + +Warning: openssl_cipher_key_length(): Unknown cipher algorithm in %s on line %d +bool(false) +openssl_cipher_key_length(): Argument #1 ($cipher_algo) cannot be empty From 11796229f2f047768ee4870328f8dfd7e1a315a6 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 21 Jan 2022 12:08:19 +1100 Subject: [PATCH 153/229] Add libxml_get_external_entity_loader() Add libxml_get_external_entity_loader(), which returns the currently installed external entity loader, i.e. the value which was passed to libxml_set_external_entity_loader() or null if no loader was installed and the default entity loader will be used. This allows libraries to save and restore the loader, controlling entity expansion without interfering with the rest of the application. Add macro Z_PARAM_FUNC_OR_NULL_WITH_ZVAL(). This allows us to get the zval for a callable parameter without duplicating callable argument parsing. The saved zval keeps the object needed for fcc/fci alive, simplifying memory management. Fixes #76763. --- NEWS | 3 ++ UPGRADING | 3 ++ Zend/zend_API.h | 8 ++++ ext/libxml/libxml.c | 43 +++++++++---------- ext/libxml/libxml.stub.php | 2 + ext/libxml/libxml_arginfo.h | 7 ++- ext/libxml/php_libxml.h | 4 +- .../libxml_get_external_entity_loader.phpt | 36 ++++++++++++++++ ...xml_set_external_entity_loader_error2.phpt | 14 ++++++ 9 files changed, 94 insertions(+), 26 deletions(-) create mode 100644 ext/libxml/tests/libxml_get_external_entity_loader.phpt create mode 100644 ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt diff --git a/NEWS b/NEWS index c34aa2388d075..9e7596f70ced8 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,9 @@ PHP NEWS . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) +- XML: + . Added libxml_get_external_entity_loader() function. (Tim Starling) + 18 Aug 2022, PHP 8.2.0beta3 - Core: diff --git a/UPGRADING b/UPGRADING index aacbeea92df65..6d1904b3994ef 100644 --- a/UPGRADING +++ b/UPGRADING @@ -251,6 +251,9 @@ PHP 8.2 UPGRADE NOTES ini_parse_quantity(). The `memory_limit` setting accepts values higher than PHP_INT_MAX, than can not be parsed by ini_parse_quantity(). +- XML: + . libxml_get_external_entity_loader() + ======================================== 7. New Classes and Interfaces ======================================== diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 5821a5b5f35bb..fa8c1162788f1 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -1538,6 +1538,10 @@ ZEND_API ZEND_COLD void zend_argument_value_error(uint32_t arg_num, const char * SEPARATE_ZVAL_NOREF(_arg); \ } +/* get the zval* for a previously parsed argument */ +#define Z_PARAM_GET_PREV_ZVAL(dest) \ + zend_parse_arg_zval_deref(_arg, &dest, 0); + /* old "|" */ #define Z_PARAM_OPTIONAL \ _optional = 1; @@ -1700,6 +1704,10 @@ ZEND_API ZEND_COLD void zend_argument_value_error(uint32_t arg_num, const char * #define Z_PARAM_FUNC_OR_NULL(dest_fci, dest_fcc) \ Z_PARAM_FUNC_EX(dest_fci, dest_fcc, 1, 0) +#define Z_PARAM_FUNC_OR_NULL_WITH_ZVAL(dest_fci, dest_fcc, dest_zp) \ + Z_PARAM_FUNC_EX(dest_fci, dest_fcc, 1, 0) \ + Z_PARAM_GET_PREV_ZVAL(dest_zp) + /* old "h" */ #define Z_PARAM_ARRAY_HT_EX2(dest, check_null, deref, separate) \ Z_PARAM_PROLOGUE(deref, separate); \ diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c index 5813f437d22c6..270a0367481bf 100644 --- a/ext/libxml/libxml.c +++ b/ext/libxml/libxml.c @@ -228,23 +228,11 @@ static PHP_GINIT_FUNCTION(libxml) ZVAL_UNDEF(&libxml_globals->stream_context); libxml_globals->error_buffer.s = NULL; libxml_globals->error_list = NULL; - ZVAL_UNDEF(&libxml_globals->entity_loader.object); + ZVAL_NULL(&libxml_globals->entity_loader.callback); libxml_globals->entity_loader.fci.size = 0; libxml_globals->entity_loader_disabled = 0; } -static void _php_libxml_destroy_fci(zend_fcall_info *fci, zval *object) -{ - if (fci->size > 0) { - zval_ptr_dtor(&fci->function_name); - fci->size = 0; - } - if (!Z_ISUNDEF_P(object)) { - zval_ptr_dtor(object); - ZVAL_UNDEF(object); - } -} - /* Channel libxml file io layer through the PHP streams subsystem. * This allows use of ftps:// and https:// urls */ @@ -851,7 +839,9 @@ static PHP_RINIT_FUNCTION(libxml) static PHP_RSHUTDOWN_FUNCTION(libxml) { - _php_libxml_destroy_fci(&LIBXML(entity_loader).fci, &LIBXML(entity_loader).object); + LIBXML(entity_loader).fci.size = 0; + zval_ptr_dtor_nogc(&LIBXML(entity_loader).callback); + ZVAL_NULL(&LIBXML(entity_loader).callback); return SUCCESS; } @@ -1071,29 +1061,36 @@ PHP_FUNCTION(libxml_disable_entity_loader) /* {{{ Changes the default external entity loader */ PHP_FUNCTION(libxml_set_external_entity_loader) { + zval *callback; zend_fcall_info fci; zend_fcall_info_cache fcc; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_FUNC_OR_NULL(fci, fcc) + Z_PARAM_FUNC_OR_NULL_WITH_ZVAL(fci, fcc, callback) ZEND_PARSE_PARAMETERS_END(); - _php_libxml_destroy_fci(&LIBXML(entity_loader).fci, &LIBXML(entity_loader).object); - if (ZEND_FCI_INITIALIZED(fci)) { /* argument not null */ LIBXML(entity_loader).fci = fci; - Z_ADDREF(fci.function_name); - if (fci.object != NULL) { - ZVAL_OBJ(&LIBXML(entity_loader).object, fci.object); - Z_ADDREF(LIBXML(entity_loader).object); - } LIBXML(entity_loader).fcc = fcc; + } else { + LIBXML(entity_loader).fci.size = 0; } - + if (!Z_ISNULL(LIBXML(entity_loader).callback)) { + zval_ptr_dtor_nogc(&LIBXML(entity_loader).callback); + } + ZVAL_COPY(&LIBXML(entity_loader).callback, callback); RETURN_TRUE; } /* }}} */ +/* {{{ Get the current external entity loader, or null if the default loader is installer. */ +PHP_FUNCTION(libxml_get_external_entity_loader) +{ + ZEND_PARSE_PARAMETERS_NONE(); + RETURN_COPY(&LIBXML(entity_loader).callback); +} +/* }}} */ + /* {{{ Common functions shared by extensions */ int php_libxml_xmlCheckUTF8(const unsigned char *s) { diff --git a/ext/libxml/libxml.stub.php b/ext/libxml/libxml.stub.php index 747e43d035b14..97793f0cdeea9 100644 --- a/ext/libxml/libxml.stub.php +++ b/ext/libxml/libxml.stub.php @@ -177,3 +177,5 @@ function libxml_clear_errors(): void {} function libxml_disable_entity_loader(bool $disable = true): bool {} function libxml_set_external_entity_loader(?callable $resolver_function): bool {} + +function libxml_get_external_entity_loader(): ?callable {} diff --git a/ext/libxml/libxml_arginfo.h b/ext/libxml/libxml_arginfo.h index 58ca8c7540cc4..bd143cbed4df0 100644 --- a/ext/libxml/libxml_arginfo.h +++ b/ext/libxml/libxml_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: d0c03ca63f0403ea38a59bde94510715e993b423 */ + * Stub hash: 8fa6f4fa2f3eb8db944626b5b3d814f5e3ae04a3 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_libxml_set_streams_context, 0, 1, IS_VOID, 0) ZEND_ARG_INFO(0, context) @@ -26,6 +26,9 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_libxml_set_external_entity_loade ZEND_ARG_TYPE_INFO(0, resolver_function, IS_CALLABLE, 1) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_libxml_get_external_entity_loader, 0, 0, IS_CALLABLE, 1) +ZEND_END_ARG_INFO() + ZEND_FUNCTION(libxml_set_streams_context); ZEND_FUNCTION(libxml_use_internal_errors); @@ -34,6 +37,7 @@ ZEND_FUNCTION(libxml_get_errors); ZEND_FUNCTION(libxml_clear_errors); ZEND_FUNCTION(libxml_disable_entity_loader); ZEND_FUNCTION(libxml_set_external_entity_loader); +ZEND_FUNCTION(libxml_get_external_entity_loader); static const zend_function_entry ext_functions[] = { @@ -44,6 +48,7 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(libxml_clear_errors, arginfo_libxml_clear_errors) ZEND_DEP_FE(libxml_disable_entity_loader, arginfo_libxml_disable_entity_loader) ZEND_FE(libxml_set_external_entity_loader, arginfo_libxml_set_external_entity_loader) + ZEND_FE(libxml_get_external_entity_loader, arginfo_libxml_get_external_entity_loader) ZEND_FE_END }; diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h index 0e014f451af75..96217fd778627 100644 --- a/ext/libxml/php_libxml.h +++ b/ext/libxml/php_libxml.h @@ -43,8 +43,8 @@ ZEND_BEGIN_MODULE_GLOBALS(libxml) smart_str error_buffer; zend_llist *error_list; struct _php_libxml_entity_resolver { - zval object; - zend_fcall_info fci; + zval callback; + zend_fcall_info fci; zend_fcall_info_cache fcc; } entity_loader; bool entity_loader_disabled; diff --git a/ext/libxml/tests/libxml_get_external_entity_loader.phpt b/ext/libxml/tests/libxml_get_external_entity_loader.phpt new file mode 100644 index 0000000000000..48751d5cf2d2b --- /dev/null +++ b/ext/libxml/tests/libxml_get_external_entity_loader.phpt @@ -0,0 +1,36 @@ +--TEST-- +libxml_get_external_entity_loader() returns current handler +--EXTENSIONS-- +libxml +--FILE-- +name = $name; + } + + public function handle($public, $system, $context) { + return null; + } + + public function __toString() { + return "Handler#{$this->name}"; + } +} + +var_dump(libxml_get_external_entity_loader()); +libxml_set_external_entity_loader([new Handler('A'), 'handle']); +print libxml_get_external_entity_loader()[0] . "\n"; +libxml_set_external_entity_loader([new Handler('B'), 'handle']); +print libxml_get_external_entity_loader()[0] . "\n"; +libxml_set_external_entity_loader(null); +var_dump(libxml_get_external_entity_loader()); + +--EXPECT-- +NULL +Handler#A +Handler#B +NULL diff --git a/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt b/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt new file mode 100644 index 0000000000000..053551f5ff3e2 --- /dev/null +++ b/ext/libxml/tests/libxml_set_external_entity_loader_error2.phpt @@ -0,0 +1,14 @@ +--TEST-- +libxml_set_external_entity_loader() with non-callable argument +--EXTENSIONS-- +libxml +--FILE-- +getMessage() . "\n"; +} +?> +--EXPECT-- +Exception: libxml_set_external_entity_loader(): Argument #1 ($resolver_function) must be a valid callback or null, function "nonexistent_function" not found or invalid function name From ca011bbf5662d2e1d49f4cbd1568a686e34b7ae4 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 17 Aug 2022 16:55:24 +0200 Subject: [PATCH 154/229] Drop unsupported libxml2 2.10.0 symbols The Docbook parser module has been removed completely. Support for XPointer locations (ranges and points) is disabled by default, and will eventually be removed completely. Given that the maintainer comments on the latter: "Be warned that this part of the code base is buggy and had many security issues in the past", it seems to be prudent to no longer build with XPointer locations support right away. To be able to build against libxml2 2.10.0, we remove the export definitions for Windows. Closes GH-9358. --- UPGRADING.INTERNALS | 2 ++ ext/libxml/php_libxml2.def | 34 ---------------------------------- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 24ed5e9b53862..8d39d01e3453b 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -62,6 +62,8 @@ PHP 8.2 INTERNALS UPGRADE NOTES 2. Build system changes ======================== +* Unsupported libxml2 2.10.0 symbols are no longer exported on Windows. + ======================== 3. Module changes ======================== diff --git a/ext/libxml/php_libxml2.def b/ext/libxml/php_libxml2.def index f4be787c8abde..5980df8bf8891 100644 --- a/ext/libxml/php_libxml2.def +++ b/ext/libxml/php_libxml2.def @@ -1,5 +1,4 @@ EXPORTS -__docbDefaultSAXHandler __htmlDefaultSAXHandler __oldXMLWDcompatibility __xmlBufferAllocScheme @@ -53,17 +52,6 @@ cdataBlock characters checkNamespace comment -docbCreateFileParserCtxt -docbCreatePushParserCtxt -docbDefaultSAXHandlerInit -docbEncodeEntities -docbFreeParserCtxt -docbParseChunk -docbParseDoc -docbParseDocument -docbParseFile -docbSAXParseDoc -docbSAXParseFile elementDecl endDocument endElement @@ -137,7 +125,6 @@ htmlSetMetaEncoding htmlTagLookup ignorableWhitespace initGenericErrorDefaultFunc -initdocbDefaultSAXHandler inithtmlDefaultSAXHandler initxmlDefaultSAXHandler inputPop @@ -801,7 +788,6 @@ xmlRegisterHTTPPostCallbacks xmlRegisterInputCallbacks xmlRegisterNodeDefault xmlRegisterOutputCallbacks -xmlRelaxNGCleanupTypes xmlRelaxNGDump xmlRelaxNGDumpTree xmlRelaxNGFree @@ -849,7 +835,6 @@ xmlSAX2HasExternalSubset xmlSAX2HasInternalSubset xmlSAX2IgnorableWhitespace xmlSAX2InitDefaultSAXHandler -xmlSAX2InitDocbDefaultSAXHandler xmlSAX2InitHtmlDefaultSAXHandler xmlSAX2InternalSubset xmlSAX2IsStandalone @@ -1523,27 +1508,8 @@ xmlXPathWrapExternal xmlXPathWrapNodeSet xmlXPathWrapString xmlXPatherror -xmlXPtrBuildNodeList xmlXPtrEval -xmlXPtrEvalRangePredicate -xmlXPtrFreeLocationSet -xmlXPtrLocationSetAdd -xmlXPtrLocationSetCreate -xmlXPtrLocationSetDel -xmlXPtrLocationSetMerge -xmlXPtrLocationSetRemove -xmlXPtrNewCollapsedRange xmlXPtrNewContext -xmlXPtrNewLocationSetNodeSet -xmlXPtrNewLocationSetNodes -xmlXPtrNewRange -xmlXPtrNewRangeNodeObject -xmlXPtrNewRangeNodePoint -xmlXPtrNewRangeNodes -xmlXPtrNewRangePointNode -xmlXPtrNewRangePoints -xmlXPtrRangeToFunction -xmlXPtrWrapLocationSet xmlBufContent xmlBufUse xmlBufferDetach From 4f509058a95b6952ad24ed9ddb7ea9b39f5311e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vedran=20Mileti=C4=87?= Date: Sun, 20 Mar 2022 22:49:08 +0100 Subject: [PATCH 155/229] Respond without body to HEAD request on a static resource MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marin Martuslović --- sapi/cli/php_cli_server.c | 88 ++++++++++++++------------ sapi/cli/tests/php_cli_server_013.phpt | 3 - 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 52b1572884673..42bd36c492338 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -1980,49 +1980,51 @@ static zend_result php_cli_server_send_error_page(php_cli_server *server, php_cl php_cli_server_content_sender_ctor(&client->content_sender); client->content_sender_initialized = true; - escaped_request_uri = php_escape_html_entities_ex((const unsigned char *) ZSTR_VAL(client->request.request_uri), ZSTR_LEN(client->request.request_uri), 0, ENT_QUOTES, NULL, /* double_encode */ 0, /* quiet */ 0); + if (client->request.request_method != PHP_HTTP_HEAD) { + escaped_request_uri = php_escape_html_entities_ex((const unsigned char *) ZSTR_VAL(client->request.request_uri), ZSTR_LEN(client->request.request_uri), 0, ENT_QUOTES, NULL, /* double_encode */ 0, /* quiet */ 0); - { - static const char prologue_template[] = "%d %s"; - php_cli_server_chunk *chunk = php_cli_server_chunk_heap_new_self_contained(strlen(prologue_template) + 3 + strlen(status_string) + 1); - if (!chunk) { - goto fail; + { + static const char prologue_template[] = "%d %s"; + php_cli_server_chunk *chunk = php_cli_server_chunk_heap_new_self_contained(strlen(prologue_template) + 3 + strlen(status_string) + 1); + if (!chunk) { + goto fail; + } + snprintf(chunk->data.heap.p, chunk->data.heap.len, prologue_template, status, status_string); + chunk->data.heap.len = strlen(chunk->data.heap.p); + php_cli_server_buffer_append(&client->content_sender.buffer, chunk); } - snprintf(chunk->data.heap.p, chunk->data.heap.len, prologue_template, status, status_string); - chunk->data.heap.len = strlen(chunk->data.heap.p); - php_cli_server_buffer_append(&client->content_sender.buffer, chunk); - } - { - php_cli_server_chunk *chunk = php_cli_server_chunk_immortal_new(php_cli_server_css, sizeof(php_cli_server_css) - 1); - if (!chunk) { - goto fail; + { + php_cli_server_chunk *chunk = php_cli_server_chunk_immortal_new(php_cli_server_css, sizeof(php_cli_server_css) - 1); + if (!chunk) { + goto fail; + } + php_cli_server_buffer_append(&client->content_sender.buffer, chunk); } - php_cli_server_buffer_append(&client->content_sender.buffer, chunk); - } - { - static const char template[] = ""; - php_cli_server_chunk *chunk = php_cli_server_chunk_immortal_new(template, sizeof(template) - 1); - if (!chunk) { - goto fail; + { + static const char template[] = ""; + php_cli_server_chunk *chunk = php_cli_server_chunk_immortal_new(template, sizeof(template) - 1); + if (!chunk) { + goto fail; + } + php_cli_server_buffer_append(&client->content_sender.buffer, chunk); } - php_cli_server_buffer_append(&client->content_sender.buffer, chunk); - } - { - php_cli_server_chunk *chunk = php_cli_server_chunk_heap_new_self_contained(strlen(content_template) + ZSTR_LEN(escaped_request_uri) + 3 + strlen(status_string) + 1); - if (!chunk) { - goto fail; + { + php_cli_server_chunk *chunk = php_cli_server_chunk_heap_new_self_contained(strlen(content_template) + ZSTR_LEN(escaped_request_uri) + 3 + strlen(status_string) + 1); + if (!chunk) { + goto fail; + } + snprintf(chunk->data.heap.p, chunk->data.heap.len, content_template, status_string, ZSTR_VAL(escaped_request_uri)); + chunk->data.heap.len = strlen(chunk->data.heap.p); + php_cli_server_buffer_append(&client->content_sender.buffer, chunk); } - snprintf(chunk->data.heap.p, chunk->data.heap.len, content_template, status_string, ZSTR_VAL(escaped_request_uri)); - chunk->data.heap.len = strlen(chunk->data.heap.p); - php_cli_server_buffer_append(&client->content_sender.buffer, chunk); - } - { - static const char epilogue_template[] = ""; - php_cli_server_chunk *chunk = php_cli_server_chunk_immortal_new(epilogue_template, sizeof(epilogue_template) - 1); - if (!chunk) { - goto fail; + { + static const char epilogue_template[] = ""; + php_cli_server_chunk *chunk = php_cli_server_chunk_immortal_new(epilogue_template, sizeof(epilogue_template) - 1); + if (!chunk) { + goto fail; + } + php_cli_server_buffer_append(&client->content_sender.buffer, chunk); } - php_cli_server_buffer_append(&client->content_sender.buffer, chunk); } { @@ -2053,14 +2055,18 @@ static zend_result php_cli_server_send_error_page(php_cli_server *server, php_cl if (errstr) { pefree(errstr, 1); } - zend_string_free(escaped_request_uri); + if (escaped_request_uri) { + zend_string_free(escaped_request_uri); + } return SUCCESS; fail: if (errstr) { pefree(errstr, 1); } - zend_string_free(escaped_request_uri); + if (escaped_request_uri) { + zend_string_free(escaped_request_uri); + } return FAILURE; } /* }}} */ @@ -2115,7 +2121,9 @@ static zend_result php_cli_server_begin_send_static(php_cli_server *server, php_ php_cli_server_content_sender_ctor(&client->content_sender); client->content_sender_initialized = true; - client->file_fd = fd; + if (client->request.request_method != PHP_HTTP_HEAD) { + client->file_fd = fd; + } { php_cli_server_chunk *chunk; diff --git a/sapi/cli/tests/php_cli_server_013.phpt b/sapi/cli/tests/php_cli_server_013.phpt index 8042219afe316..06a982b407c4a 100644 --- a/sapi/cli/tests/php_cli_server_013.phpt +++ b/sapi/cli/tests/php_cli_server_013.phpt @@ -93,6 +93,3 @@ Date: %s Connection: close Content-Type: text/html; charset=UTF-8 Content-Length: %d - -404 Not Found -

Not Found

The requested resource /main/foo/bar was not found on this server.

From 7065a222b777098fedc3e529f864e994966c5688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vedran=20Mileti=C4=87?= Date: Sun, 20 Mar 2022 22:53:51 +0100 Subject: [PATCH 156/229] Respond with HTTP status 405 to DELETE/PUT/PATCH request on a static resource MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marin Martuslović --- sapi/cli/php_cli_server.c | 16 +++++ sapi/cli/tests/php_cli_server_013.phpt | 86 ++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 42bd36c492338..66e31323947c4 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -202,6 +202,7 @@ typedef struct php_cli_server_http_response_status_code_pair { static php_cli_server_http_response_status_code_pair template_map[] = { { 400, "

%s

Your browser sent a request that this server could not understand.

" }, { 404, "

%s

The requested resource %s was not found on this server.

" }, + { 405, "

%s

Requested method not allowed.

" }, { 500, "

%s

The server is temporarily unavailable.

" }, { 501, "

%s

Request method not supported.

" } }; @@ -2040,6 +2041,15 @@ static zend_result php_cli_server_send_error_page(php_cli_server *server, php_cl smart_str_appends_ex(&buffer, "Content-Length: ", 1); smart_str_append_unsigned_ex(&buffer, php_cli_server_buffer_size(&client->content_sender.buffer), 1); smart_str_appendl_ex(&buffer, "\r\n", 2, 1); + if (status == 405) { + smart_str_appends_ex(&buffer, "Allow: ", 1); + smart_str_appends_ex(&buffer, php_http_method_str(PHP_HTTP_GET), 1); + smart_str_appends_ex(&buffer, ", ", 1); + smart_str_appends_ex(&buffer, php_http_method_str(PHP_HTTP_HEAD), 1); + smart_str_appends_ex(&buffer, ", ", 1); + smart_str_appends_ex(&buffer, php_http_method_str(PHP_HTTP_POST), 1); + smart_str_appendl_ex(&buffer, "\r\n", 2, 1); + } smart_str_appendl_ex(&buffer, "\r\n", 2, 1); chunk = php_cli_server_chunk_heap_new(buffer.s, ZSTR_VAL(buffer.s), ZSTR_LEN(buffer.s)); @@ -2094,6 +2104,12 @@ static zend_result php_cli_server_begin_send_static(php_cli_server *server, php_ int fd; int status = 200; + if (client->request.request_method == PHP_HTTP_DELETE + || client->request.request_method == PHP_HTTP_PUT + || client->request.request_method == PHP_HTTP_PATCH) { + return php_cli_server_send_error_page(server, client, 405); + } + if (client->request.path_translated && strlen(client->request.path_translated) != client->request.path_translated_len) { /* can't handle paths that contain nul bytes */ return php_cli_server_send_error_page(server, client, 400); diff --git a/sapi/cli/tests/php_cli_server_013.phpt b/sapi/cli/tests/php_cli_server_013.phpt index 06a982b407c4a..11e3fdf065b1f 100644 --- a/sapi/cli/tests/php_cli_server_013.phpt +++ b/sapi/cli/tests/php_cli_server_013.phpt @@ -58,6 +58,60 @@ HEAD /main/foo/bar HTTP/1.1 Host: {$host} +HEADER +)) { + while (!feof($fp)) { + $output .= fgets($fp); + } +} + +echo preg_replace("/", $output), "\n"; +fclose($fp); + +$output = ''; +$fp = php_cli_server_connect(); + +if(fwrite($fp, <<
(.*?)<\/style>/s", "", $output), "\n"; +fclose($fp); + +$output = ''; +$fp = php_cli_server_connect(); + +if(fwrite($fp, <<
(.*?)<\/style>/s", "", $output), "\n"; +fclose($fp); + +$output = ''; +$fp = php_cli_server_connect(); + +if(fwrite($fp, <<
405 Method Not Allowed +

Method Not Allowed

Requested method not allowed.

+HTTP/1.1 405 Method Not Allowed +Host: %s +Date: %s +Connection: close +Content-Type: text/html; charset=UTF-8 +Content-Length: %d +Allow: GET, HEAD, POST + +405 Method Not Allowed +

Method Not Allowed

Requested method not allowed.

+HTTP/1.1 405 Method Not Allowed +Host: %s +Date: %s +Connection: close +Content-Type: text/html; charset=UTF-8 +Content-Length: %d +Allow: GET, HEAD, POST + +405 Method Not Allowed +

Method Not Allowed

Requested method not allowed.

From 5e9af0d0b07f5c980be7089a1ae23d23388fb3d4 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 28 Aug 2022 13:32:03 +0100 Subject: [PATCH 157/229] Update NEWS for CLI built-in server changes --- NEWS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/NEWS b/NEWS index 9e7596f70ced8..448071e3e158d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,13 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.0RC1 +- CLI: + . Implement built-in web server responding without body to HEAD requst on + a static resource. (Vedran Miletic, Marin Martuslovic) + . Implement built-in web server responding with HTTP status 405 to + DELETE/PUT/PATCH request on a static resource. + (Vedran Miletic, Marin Martuslovic) + - Core: . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) (Tim Starling) From 386a044748a3b082783a7a6fec95ebbfdd67853b Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 28 Aug 2022 14:41:44 +0200 Subject: [PATCH 158/229] =?UTF-8?q?[ci=20skip]=20Fix=20typo=20(requst=20?= =?UTF-8?q?=E2=86=92=20request)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes GH-9443. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 448071e3e158d..8c63e1a341b89 100644 --- a/NEWS +++ b/NEWS @@ -3,7 +3,7 @@ PHP NEWS ?? ??? ????, PHP 8.2.0RC1 - CLI: - . Implement built-in web server responding without body to HEAD requst on + . Implement built-in web server responding without body to HEAD request on a static resource. (Vedran Miletic, Marin Martuslovic) . Implement built-in web server responding with HTTP status 405 to DELETE/PUT/PATCH request on a static resource. From 335979fe1b9019d3caa4f1a949077c2d804dd9a5 Mon Sep 17 00:00:00 2001 From: Mikhail Galanin Date: Fri, 26 Aug 2022 14:15:49 +0100 Subject: [PATCH 159/229] Add a bit verbosity in FPM logs --- sapi/fpm/fpm/fpm_stdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sapi/fpm/fpm/fpm_stdio.c b/sapi/fpm/fpm/fpm_stdio.c index e920923b009bc..d51e1312ee3d2 100644 --- a/sapi/fpm/fpm/fpm_stdio.c +++ b/sapi/fpm/fpm/fpm_stdio.c @@ -218,7 +218,7 @@ static void fpm_stdio_child_said(struct fpm_event_s *ev, short which, void *arg) zlog_stream_finish(log_stream); } if (read_fail < 0) { - zlog(ZLOG_SYSERROR, "unable to read what child say"); + zlog(ZLOG_SYSERROR, "unable to read what child %d said into %s", (int) child->pid, is_stdout ? "stdout" : "stderr"); } fpm_event_del(event); From e2a5428ca08ad10c0f08a686e974af774b4d1b18 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Mon, 18 Jul 2022 07:51:02 +0100 Subject: [PATCH 160/229] FPM fix strict prototype warnings. Closes GH-8986. --- sapi/fpm/fpm/events/devpoll.c | 8 +++----- sapi/fpm/fpm/events/devpoll.h | 2 +- sapi/fpm/fpm/events/epoll.c | 8 +++----- sapi/fpm/fpm/events/epoll.h | 2 +- sapi/fpm/fpm/events/poll.c | 11 ++++------- sapi/fpm/fpm/events/poll.h | 2 +- sapi/fpm/fpm/events/port.c | 5 ++--- sapi/fpm/fpm/events/port.h | 2 +- sapi/fpm/fpm/events/select.c | 3 +-- sapi/fpm/fpm/events/select.h | 2 +- sapi/fpm/fpm/fpm_children.c | 9 +++------ sapi/fpm/fpm/fpm_children.h | 4 ++-- sapi/fpm/fpm/fpm_clock.c | 9 +++------ sapi/fpm/fpm/fpm_clock.h | 2 +- sapi/fpm/fpm/fpm_conf.c | 15 +++++---------- sapi/fpm/fpm/fpm_conf.h | 4 ++-- sapi/fpm/fpm/fpm_env.c | 6 ++---- sapi/fpm/fpm/fpm_env.h | 4 ++-- sapi/fpm/fpm/fpm_events.c | 9 +++------ sapi/fpm/fpm/fpm_events.h | 6 +++--- sapi/fpm/fpm/fpm_php.c | 24 ++++++++---------------- sapi/fpm/fpm/fpm_php.h | 4 ++-- sapi/fpm/fpm/fpm_process_ctl.c | 21 +++++++-------------- sapi/fpm/fpm/fpm_process_ctl.h | 6 +++--- sapi/fpm/fpm/fpm_request.c | 18 ++++++------------ sapi/fpm/fpm/fpm_request.h | 10 +++++----- sapi/fpm/fpm/fpm_scoreboard.c | 9 +++------ sapi/fpm/fpm/fpm_scoreboard.h | 6 +++--- sapi/fpm/fpm/fpm_shm.c | 3 +-- sapi/fpm/fpm/fpm_shm.h | 2 +- sapi/fpm/fpm/fpm_signals.c | 21 +++++++-------------- sapi/fpm/fpm/fpm_signals.h | 14 +++++++------- sapi/fpm/fpm/fpm_sockets.c | 3 +-- sapi/fpm/fpm/fpm_sockets.h | 2 +- sapi/fpm/fpm/fpm_stdio.c | 12 ++++-------- sapi/fpm/fpm/fpm_stdio.h | 6 +++--- sapi/fpm/fpm/fpm_systemd.c | 6 ++---- sapi/fpm/fpm/fpm_systemd.h | 2 +- sapi/fpm/fpm/fpm_trace_mach.c | 3 +-- sapi/fpm/fpm/fpm_unix.c | 3 +-- sapi/fpm/fpm/fpm_unix.h | 2 +- sapi/fpm/fpm/fpm_worker_pool.c | 6 ++---- sapi/fpm/fpm/fpm_worker_pool.h | 4 ++-- 43 files changed, 116 insertions(+), 184 deletions(-) diff --git a/sapi/fpm/fpm/events/devpoll.c b/sapi/fpm/fpm/events/devpoll.c index 0d165fe2fc8b4..322a57f6161b1 100644 --- a/sapi/fpm/fpm/events/devpoll.c +++ b/sapi/fpm/fpm/events/devpoll.c @@ -29,7 +29,7 @@ #include static int fpm_event_devpoll_init(int max); -static int fpm_event_devpoll_clean(); +static int fpm_event_devpoll_clean(void); static int fpm_event_devpoll_wait(struct fpm_event_queue_s *queue, unsigned long int timeout); static int fpm_event_devpoll_add(struct fpm_event_s *ev); static int fpm_event_devpoll_remove(struct fpm_event_s *ev); @@ -51,7 +51,7 @@ static int npollfds = 0; #endif /* HAVE_DEVPOLL */ -struct fpm_event_module_s *fpm_event_devpoll_module() /* {{{ */ +struct fpm_event_module_s *fpm_event_devpoll_module(void) { #ifdef HAVE_DEVPOLL return &devpoll_module; @@ -59,7 +59,6 @@ struct fpm_event_module_s *fpm_event_devpoll_module() /* {{{ */ return NULL; #endif /* HAVE_DEVPOLL */ } -/* }}} */ #ifdef HAVE_DEVPOLL @@ -113,7 +112,7 @@ static int fpm_event_devpoll_init(int max) /* {{{ */ /* * Clean the module */ -static int fpm_event_devpoll_clean() /* {{{ */ +static int fpm_event_devpoll_clean(void) { /* close /dev/poll if open */ if (dpfd > -1) { @@ -136,7 +135,6 @@ static int fpm_event_devpoll_clean() /* {{{ */ npollfds = 0; return 0; } -/* }}} */ /* * wait for events or timeout diff --git a/sapi/fpm/fpm/events/devpoll.h b/sapi/fpm/fpm/events/devpoll.h index b05a456924367..bac6c008b54f4 100644 --- a/sapi/fpm/fpm/events/devpoll.h +++ b/sapi/fpm/fpm/events/devpoll.h @@ -20,6 +20,6 @@ #include "../fpm_config.h" #include "../fpm_events.h" -struct fpm_event_module_s *fpm_event_devpoll_module(); +struct fpm_event_module_s *fpm_event_devpoll_module(void); #endif /* FPM_EVENTS_DEVPOLL_H */ diff --git a/sapi/fpm/fpm/events/epoll.c b/sapi/fpm/fpm/events/epoll.c index 9973ac0ddcef1..dbed786623089 100644 --- a/sapi/fpm/fpm/events/epoll.c +++ b/sapi/fpm/fpm/events/epoll.c @@ -25,7 +25,7 @@ #include static int fpm_event_epoll_init(int max); -static int fpm_event_epoll_clean(); +static int fpm_event_epoll_clean(void); static int fpm_event_epoll_wait(struct fpm_event_queue_s *queue, unsigned long int timeout); static int fpm_event_epoll_add(struct fpm_event_s *ev); static int fpm_event_epoll_remove(struct fpm_event_s *ev); @@ -46,7 +46,7 @@ static int epollfd = -1; #endif /* HAVE_EPOLL */ -struct fpm_event_module_s *fpm_event_epoll_module() /* {{{ */ +struct fpm_event_module_s *fpm_event_epoll_module(void) { #ifdef HAVE_EPOLL return &epoll_module; @@ -54,7 +54,6 @@ struct fpm_event_module_s *fpm_event_epoll_module() /* {{{ */ return NULL; #endif /* HAVE_EPOLL */ } -/* }}} */ #ifdef HAVE_EPOLL @@ -92,7 +91,7 @@ static int fpm_event_epoll_init(int max) /* {{{ */ /* * Clean the module */ -static int fpm_event_epoll_clean() /* {{{ */ +static int fpm_event_epoll_clean(void) { /* free epollfds */ if (epollfds) { @@ -108,7 +107,6 @@ static int fpm_event_epoll_clean() /* {{{ */ return 0; } -/* }}} */ /* * wait for events or timeout diff --git a/sapi/fpm/fpm/events/epoll.h b/sapi/fpm/fpm/events/epoll.h index 2469cbeaee30b..4f90249604a2d 100644 --- a/sapi/fpm/fpm/events/epoll.h +++ b/sapi/fpm/fpm/events/epoll.h @@ -20,6 +20,6 @@ #include "../fpm_config.h" #include "../fpm_events.h" -struct fpm_event_module_s *fpm_event_epoll_module(); +struct fpm_event_module_s *fpm_event_epoll_module(void); #endif /* FPM_EVENTS_EPOLL_H */ diff --git a/sapi/fpm/fpm/events/poll.c b/sapi/fpm/fpm/events/poll.c index 0363c2ece10a4..41e64277d8e18 100644 --- a/sapi/fpm/fpm/events/poll.c +++ b/sapi/fpm/fpm/events/poll.c @@ -26,7 +26,7 @@ #include static int fpm_event_poll_init(int max); -static int fpm_event_poll_clean(); +static int fpm_event_poll_clean(void); static int fpm_event_poll_wait(struct fpm_event_queue_s *queue, unsigned long int timeout); static int fpm_event_poll_add(struct fpm_event_s *ev); static int fpm_event_poll_remove(struct fpm_event_s *ev); @@ -50,7 +50,7 @@ static int next_free_slot = 0; /* * return the module configuration */ -struct fpm_event_module_s *fpm_event_poll_module() /* {{{ */ +struct fpm_event_module_s *fpm_event_poll_module(void) { #ifdef HAVE_POLL return &poll_module; @@ -58,14 +58,13 @@ struct fpm_event_module_s *fpm_event_poll_module() /* {{{ */ return NULL; #endif /* HAVE_POLL */ } -/* }}} */ #ifdef HAVE_POLL /* * Init the module */ -static int fpm_event_poll_init(int max) /* {{{ */ +static int fpm_event_poll_init(int max) { int i; @@ -99,12 +98,11 @@ static int fpm_event_poll_init(int max) /* {{{ */ npollfds = max; return 0; } -/* }}} */ /* * Clean the module */ -static int fpm_event_poll_clean() /* {{{ */ +static int fpm_event_poll_clean(void) { /* free pollfds */ if (pollfds) { @@ -121,7 +119,6 @@ static int fpm_event_poll_clean() /* {{{ */ npollfds = 0; return 0; } -/* }}} */ /* * wait for events or timeout diff --git a/sapi/fpm/fpm/events/poll.h b/sapi/fpm/fpm/events/poll.h index 371ecf1604972..3248b2a0dafaa 100644 --- a/sapi/fpm/fpm/events/poll.h +++ b/sapi/fpm/fpm/events/poll.h @@ -20,6 +20,6 @@ #include "../fpm_config.h" #include "../fpm_events.h" -struct fpm_event_module_s *fpm_event_poll_module(); +struct fpm_event_module_s *fpm_event_poll_module(void); #endif /* FPM_EVENTS_POLL_H */ diff --git a/sapi/fpm/fpm/events/port.c b/sapi/fpm/fpm/events/port.c index 4006c01712b8e..5266973c4aa13 100644 --- a/sapi/fpm/fpm/events/port.c +++ b/sapi/fpm/fpm/events/port.c @@ -26,7 +26,7 @@ #include static int fpm_event_port_init(int max); -static int fpm_event_port_clean(); +static int fpm_event_port_clean(void); static int fpm_event_port_wait(struct fpm_event_queue_s *queue, unsigned long int timeout); static int fpm_event_port_add(struct fpm_event_s *ev); static int fpm_event_port_remove(struct fpm_event_s *ev); @@ -90,7 +90,7 @@ static int fpm_event_port_init(int max) /* {{{ */ /* * Clean the module */ -static int fpm_event_port_clean() /* {{{ */ +static int fpm_event_port_clean(void) { if (pfd > -1) { close(pfd); @@ -105,7 +105,6 @@ static int fpm_event_port_clean() /* {{{ */ nevents = 0; return 0; } -/* }}} */ /* * wait for events or timeout diff --git a/sapi/fpm/fpm/events/port.h b/sapi/fpm/fpm/events/port.h index ced1d05c82dcb..641d390c55684 100644 --- a/sapi/fpm/fpm/events/port.h +++ b/sapi/fpm/fpm/events/port.h @@ -20,6 +20,6 @@ #include "../fpm_config.h" #include "../fpm_events.h" -struct fpm_event_module_s *fpm_event_port_module(); +struct fpm_event_module_s *fpm_event_port_module(void); #endif /* FPM_EVENTS_PORT_H */ diff --git a/sapi/fpm/fpm/events/select.c b/sapi/fpm/fpm/events/select.c index 61b33c55695da..f0f61f7d442d7 100644 --- a/sapi/fpm/fpm/events/select.c +++ b/sapi/fpm/fpm/events/select.c @@ -53,7 +53,7 @@ static fd_set fds; /* * return the module configuration */ -struct fpm_event_module_s *fpm_event_select_module() /* {{{ */ +struct fpm_event_module_s *fpm_event_select_module(void) { #ifdef HAVE_SELECT return &select_module; @@ -61,7 +61,6 @@ struct fpm_event_module_s *fpm_event_select_module() /* {{{ */ return NULL; #endif /* HAVE_SELECT */ } -/* }}} */ #ifdef HAVE_SELECT diff --git a/sapi/fpm/fpm/events/select.h b/sapi/fpm/fpm/events/select.h index 7fc6d017a3c14..f8cd1e6d60ca6 100644 --- a/sapi/fpm/fpm/events/select.h +++ b/sapi/fpm/fpm/events/select.h @@ -20,6 +20,6 @@ #include "../fpm_config.h" #include "../fpm_events.h" -struct fpm_event_module_s *fpm_event_select_module(); +struct fpm_event_module_s *fpm_event_select_module(void); #endif /* FPM_EVENTS_SELECT_H */ diff --git a/sapi/fpm/fpm/fpm_children.c b/sapi/fpm/fpm/fpm_children.c index 0aab23043a943..fdaeb89d2bf3d 100644 --- a/sapi/fpm/fpm/fpm_children.c +++ b/sapi/fpm/fpm/fpm_children.c @@ -38,7 +38,7 @@ static void fpm_children_cleanup(int which, void *arg) /* {{{ */ } /* }}} */ -static struct fpm_child_s *fpm_child_alloc() /* {{{ */ +static struct fpm_child_s *fpm_child_alloc(void) { struct fpm_child_s *ret; @@ -52,7 +52,6 @@ static struct fpm_child_s *fpm_child_alloc() /* {{{ */ ret->scoreboard_i = -1; return ret; } -/* }}} */ static void fpm_child_free(struct fpm_child_s *child) /* {{{ */ { @@ -177,7 +176,7 @@ int fpm_children_free(struct fpm_child_s *child) /* {{{ */ } /* }}} */ -void fpm_children_bury() /* {{{ */ +void fpm_children_bury(void) { int status; pid_t pid; @@ -303,7 +302,6 @@ void fpm_children_bury() /* {{{ */ } } } -/* }}} */ static struct fpm_child_s *fpm_resources_prepare(struct fpm_worker_pool_s *wp) /* {{{ */ { @@ -472,7 +470,7 @@ int fpm_children_create_initial(struct fpm_worker_pool_s *wp) /* {{{ */ } /* }}} */ -int fpm_children_init_main() /* {{{ */ +int fpm_children_init_main(void) { if (fpm_global_config.emergency_restart_threshold && fpm_global_config.emergency_restart_interval) { @@ -492,4 +490,3 @@ int fpm_children_init_main() /* {{{ */ return 0; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_children.h b/sapi/fpm/fpm/fpm_children.h index 9d9c1fa7cb31f..5ae4e2062e468 100644 --- a/sapi/fpm/fpm/fpm_children.h +++ b/sapi/fpm/fpm/fpm_children.h @@ -12,8 +12,8 @@ int fpm_children_create_initial(struct fpm_worker_pool_s *wp); int fpm_children_free(struct fpm_child_s *child); -void fpm_children_bury(); -int fpm_children_init_main(); +void fpm_children_bury(void); +int fpm_children_init_main(void); int fpm_children_make(struct fpm_worker_pool_s *wp, int in_event_loop, int nb_to_spawn, int is_debug); struct fpm_child_s; diff --git a/sapi/fpm/fpm/fpm_clock.c b/sapi/fpm/fpm/fpm_clock.c index cd0bb7320c5cb..dc5f394f0b24b 100644 --- a/sapi/fpm/fpm/fpm_clock.c +++ b/sapi/fpm/fpm/fpm_clock.c @@ -15,7 +15,7 @@ static int monotonic_works; -int fpm_clock_init() /* {{{ */ +int fpm_clock_init(void) { struct timespec ts; @@ -27,7 +27,6 @@ int fpm_clock_init() /* {{{ */ return 0; } -/* }}} */ int fpm_clock_get(struct timeval *tv) /* {{{ */ { @@ -59,7 +58,7 @@ static clock_serv_t mach_clock; /* this code borrowed from here: http://lists.apple.com/archives/Darwin-development/2002/Mar/msg00746.html */ /* mach_clock also should be re-initialized in child process after fork */ -int fpm_clock_init() /* {{{ */ +int fpm_clock_init(void) { kern_return_t ret; mach_timespec_t aTime; @@ -81,7 +80,6 @@ int fpm_clock_init() /* {{{ */ return 0; } -/* }}} */ int fpm_clock_get(struct timeval *tv) /* {{{ */ { @@ -104,11 +102,10 @@ int fpm_clock_get(struct timeval *tv) /* {{{ */ #else /* no clock */ -int fpm_clock_init() /* {{{ */ +int fpm_clock_init(void) { return 0; } -/* }}} */ int fpm_clock_get(struct timeval *tv) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_clock.h b/sapi/fpm/fpm/fpm_clock.h index cf92521dcc3b2..1bf38ff63ef80 100644 --- a/sapi/fpm/fpm/fpm_clock.h +++ b/sapi/fpm/fpm/fpm_clock.h @@ -5,7 +5,7 @@ #include -int fpm_clock_init(); +int fpm_clock_init(void); int fpm_clock_get(struct timeval *tv); #endif diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index 31336292d528b..7818cea47af76 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -591,7 +591,7 @@ static char *fpm_conf_set_array(zval *key, zval *value, void **config, int conve } /* }}} */ -static void *fpm_worker_pool_config_alloc() /* {{{ */ +static void *fpm_worker_pool_config_alloc(void) { struct fpm_worker_pool_s *wp; @@ -632,7 +632,6 @@ static void *fpm_worker_pool_config_alloc() /* {{{ */ current_wp = wp; return wp->config; } -/* }}} */ int fpm_worker_pool_config_free(struct fpm_worker_pool_config_s *wpc) /* {{{ */ { @@ -792,7 +791,7 @@ static int fpm_evaluate_full_path(char **path, struct fpm_worker_pool_s *wp, cha } /* }}} */ -static int fpm_conf_process_all_pools() /* {{{ */ +static int fpm_conf_process_all_pools(void) { struct fpm_worker_pool_s *wp, *wp2; @@ -1186,9 +1185,8 @@ static int fpm_conf_process_all_pools() /* {{{ */ } return 0; } -/* }}} */ -int fpm_conf_unlink_pid() /* {{{ */ +int fpm_conf_unlink_pid(void) { if (fpm_global_config.pid_file) { if (0 > unlink(fpm_global_config.pid_file)) { @@ -1198,9 +1196,8 @@ int fpm_conf_unlink_pid() /* {{{ */ } return 0; } -/* }}} */ -int fpm_conf_write_pid() /* {{{ */ +int fpm_conf_write_pid(void) { int fd; @@ -1227,7 +1224,6 @@ int fpm_conf_write_pid() /* {{{ */ } return 0; } -/* }}} */ static int fpm_conf_post_process(int force_daemon) /* {{{ */ { @@ -1654,7 +1650,7 @@ int fpm_conf_load_ini_file(char *filename) /* {{{ */ } /* }}} */ -static void fpm_conf_dump() /* {{{ */ +static void fpm_conf_dump(void) { struct fpm_worker_pool_s *wp; @@ -1757,7 +1753,6 @@ static void fpm_conf_dump() /* {{{ */ zlog(ZLOG_NOTICE, " "); } } -/* }}} */ int fpm_conf_init_main(int test_conf, int force_daemon) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_conf.h b/sapi/fpm/fpm/fpm_conf.h index cd71bb53fda66..fbef4ae9e8373 100644 --- a/sapi/fpm/fpm/fpm_conf.h +++ b/sapi/fpm/fpm/fpm_conf.h @@ -118,7 +118,7 @@ enum { int fpm_conf_init_main(int test_conf, int force_daemon); int fpm_worker_pool_config_free(struct fpm_worker_pool_config_s *wpc); -int fpm_conf_write_pid(); -int fpm_conf_unlink_pid(); +int fpm_conf_write_pid(void); +int fpm_conf_unlink_pid(void); #endif diff --git a/sapi/fpm/fpm/fpm_env.c b/sapi/fpm/fpm/fpm_env.c index 9931ab480cf60..c1f41f7bf9c26 100644 --- a/sapi/fpm/fpm/fpm_env.c +++ b/sapi/fpm/fpm/fpm_env.c @@ -60,7 +60,7 @@ int setenv(char *name, char *value, int overwrite) /* {{{ */ #endif #ifndef HAVE_CLEARENV -void clearenv() /* {{{ */ +void clearenv(void) { char **envp; char *s; @@ -79,7 +79,6 @@ void clearenv() /* {{{ */ } } -/* }}} */ #endif #ifndef HAVE_UNSETENV @@ -196,7 +195,7 @@ static int fpm_env_conf_wp(struct fpm_worker_pool_s *wp) /* {{{ */ } /* }}} */ -int fpm_env_init_main() /* {{{ */ +int fpm_env_init_main(void) { struct fpm_worker_pool_s *wp; char *title; @@ -274,4 +273,3 @@ int fpm_env_init_main() /* {{{ */ efree(title); return 0; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_env.h b/sapi/fpm/fpm/fpm_env.h index d767608740e51..dacf6f8701544 100644 --- a/sapi/fpm/fpm/fpm_env.h +++ b/sapi/fpm/fpm/fpm_env.h @@ -8,7 +8,7 @@ #define SETPROCTITLE_PREFIX "php-fpm: " int fpm_env_init_child(struct fpm_worker_pool_s *wp); -int fpm_env_init_main(); +int fpm_env_init_main(void); void fpm_env_setproctitle(char *title); extern char **environ; @@ -18,7 +18,7 @@ int setenv(char *name, char *value, int overwrite); #endif #ifndef HAVE_CLEARENV -void clearenv(); +void clearenv(void); #endif #endif diff --git a/sapi/fpm/fpm/fpm_events.c b/sapi/fpm/fpm/fpm_events.c index 35b0ef8bb0eca..6d563fe809108 100644 --- a/sapi/fpm/fpm/fpm_events.c +++ b/sapi/fpm/fpm/fpm_events.c @@ -304,19 +304,17 @@ int fpm_event_pre_init(char *machanism) /* {{{ */ } /* }}} */ -const char *fpm_event_machanism_name() /* {{{ */ +const char *fpm_event_machanism_name(void) { return module ? module->name : NULL; } -/* }}} */ -int fpm_event_support_edge_trigger() /* {{{ */ +int fpm_event_support_edge_trigger(void) { return module ? module->support_edge_trigger : 0; } -/* }}} */ -int fpm_event_init_main() /* {{{ */ +int fpm_event_init_main(void) { struct fpm_worker_pool_s *wp; int max; @@ -352,7 +350,6 @@ int fpm_event_init_main() /* {{{ */ } return 0; } -/* }}} */ void fpm_event_loop(int err) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_events.h b/sapi/fpm/fpm/fpm_events.h index e97ede082491f..dc3cc914affea 100644 --- a/sapi/fpm/fpm/fpm_events.h +++ b/sapi/fpm/fpm/fpm_events.h @@ -39,12 +39,12 @@ struct fpm_event_module_s { void fpm_event_loop(int err); void fpm_event_fire(struct fpm_event_s *ev); -int fpm_event_init_main(); +int fpm_event_init_main(void); int fpm_event_set(struct fpm_event_s *ev, int fd, int flags, void (*callback)(struct fpm_event_s *, short, void *), void *arg); int fpm_event_add(struct fpm_event_s *ev, unsigned long int timeout); int fpm_event_del(struct fpm_event_s *ev); int fpm_event_pre_init(char *machanism); -const char *fpm_event_machanism_name(); -int fpm_event_support_edge_trigger(); +const char *fpm_event_machanism_name(void); +int fpm_event_support_edge_trigger(void); #endif diff --git a/sapi/fpm/fpm/fpm_php.c b/sapi/fpm/fpm/fpm_php.c index 96648f44372db..92b189668206e 100644 --- a/sapi/fpm/fpm/fpm_php.c +++ b/sapi/fpm/fpm/fpm_php.c @@ -155,41 +155,35 @@ static int fpm_php_set_fcgi_mgmt_vars(struct fpm_worker_pool_s *wp) /* {{{ */ /* }}} */ #endif -char *fpm_php_script_filename(void) /* {{{ */ +char *fpm_php_script_filename(void) { return SG(request_info).path_translated; } -/* }}} */ -char *fpm_php_request_uri(void) /* {{{ */ +char *fpm_php_request_uri(void) { return (char *) SG(request_info).request_uri; } -/* }}} */ -char *fpm_php_request_method(void) /* {{{ */ +char *fpm_php_request_method(void) { return (char *) SG(request_info).request_method; } -/* }}} */ -char *fpm_php_query_string(void) /* {{{ */ +char *fpm_php_query_string(void) { return SG(request_info).query_string; } -/* }}} */ -char *fpm_php_auth_user(void) /* {{{ */ +char *fpm_php_auth_user(void) { return SG(request_info).auth_user; } -/* }}} */ -size_t fpm_php_content_length(void) /* {{{ */ +size_t fpm_php_content_length(void) { return SG(request_info).content_length; } -/* }}} */ static void fpm_php_cleanup(int which, void *arg) /* {{{ */ { @@ -201,20 +195,18 @@ static void fpm_php_cleanup(int which, void *arg) /* {{{ */ } /* }}} */ -void fpm_php_soft_quit() /* {{{ */ +void fpm_php_soft_quit(void) { fcgi_terminate(); } -/* }}} */ -int fpm_php_init_main() /* {{{ */ +int fpm_php_init_main(void) { if (0 > fpm_cleanup_add(FPM_CLEANUP_PARENT, fpm_php_cleanup, 0)) { return -1; } return 0; } -/* }}} */ int fpm_php_init_child(struct fpm_worker_pool_s *wp) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_php.h b/sapi/fpm/fpm/fpm_php.h index 978f3209d53d6..c494bc89fd063 100644 --- a/sapi/fpm/fpm/fpm_php.h +++ b/sapi/fpm/fpm/fpm_php.h @@ -38,8 +38,8 @@ char *fpm_php_request_method(void); char *fpm_php_query_string(void); char *fpm_php_auth_user(void); size_t fpm_php_content_length(void); -void fpm_php_soft_quit(); -int fpm_php_init_main(); +void fpm_php_soft_quit(void); +int fpm_php_init_main(void); int fpm_php_apply_defines_ex(struct key_value_s *kv, int mode); int fpm_php_limit_extensions(char *path); char* fpm_php_get_string_from_table(zend_string *table, char *key); diff --git a/sapi/fpm/fpm/fpm_process_ctl.c b/sapi/fpm/fpm/fpm_process_ctl.c index 6f439651f5138..b4a06cc382b55 100644 --- a/sapi/fpm/fpm/fpm_process_ctl.c +++ b/sapi/fpm/fpm/fpm_process_ctl.c @@ -63,7 +63,7 @@ static int fpm_pctl_timeout_set(int sec) /* {{{ */ } /* }}} */ -static void fpm_pctl_exit() /* {{{ */ +static void fpm_pctl_exit(void) { zlog(ZLOG_NOTICE, "exiting, bye-bye!"); @@ -71,11 +71,10 @@ static void fpm_pctl_exit() /* {{{ */ fpm_cleanups_run(FPM_CLEANUP_PARENT_EXIT_MAIN); exit(FPM_EXIT_OK); } -/* }}} */ #define optional_arg(c) (saved_argc > c ? ", \"" : ""), (saved_argc > c ? saved_argv[c] : ""), (saved_argc > c ? "\"" : "") -static void fpm_pctl_exec() /* {{{ */ +static void fpm_pctl_exec(void) { zlog(ZLOG_DEBUG, "Blocking some signals before reexec"); if (0 > fpm_signals_block()) { @@ -104,9 +103,8 @@ static void fpm_pctl_exec() /* {{{ */ zlog(ZLOG_SYSERROR, "failed to reload: execvp() failed"); exit(FPM_EXIT_SOFTWARE); } -/* }}} */ -static void fpm_pctl_action_last() /* {{{ */ +static void fpm_pctl_action_last(void) { switch (fpm_state) { case FPM_PCTL_STATE_RELOADING: @@ -119,7 +117,6 @@ static void fpm_pctl_action_last() /* {{{ */ break; } } -/* }}} */ int fpm_pctl_kill(pid_t pid, int how) /* {{{ */ { @@ -175,7 +172,7 @@ void fpm_pctl_kill_all(int signo) /* {{{ */ } /* }}} */ -static void fpm_pctl_action_next() /* {{{ */ +static void fpm_pctl_action_next(void) { int sig, timeout; @@ -203,7 +200,6 @@ static void fpm_pctl_action_next() /* {{{ */ fpm_signal_sent = sig; fpm_pctl_timeout_set(timeout); } -/* }}} */ void fpm_pctl(int new_state, int action) /* {{{ */ { @@ -247,13 +243,12 @@ void fpm_pctl(int new_state, int action) /* {{{ */ } /* }}} */ -int fpm_pctl_can_spawn_children() /* {{{ */ +int fpm_pctl_can_spawn_children(void) { return fpm_state == FPM_PCTL_STATE_NORMAL; } -/* }}} */ -int fpm_pctl_child_exited() /* {{{ */ +int fpm_pctl_child_exited(void) { if (fpm_state == FPM_PCTL_STATE_NORMAL) { return 0; @@ -264,9 +259,8 @@ int fpm_pctl_child_exited() /* {{{ */ } return 0; } -/* }}} */ -int fpm_pctl_init_main() /* {{{ */ +int fpm_pctl_init_main(void) { int i; @@ -292,7 +286,6 @@ int fpm_pctl_init_main() /* {{{ */ } return 0; } -/* }}} */ static void fpm_pctl_check_request_timeout(struct timeval *now) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_process_ctl.h b/sapi/fpm/fpm/fpm_process_ctl.h index bae1036e26f07..758a9a0d57661 100644 --- a/sapi/fpm/fpm/fpm_process_ctl.h +++ b/sapi/fpm/fpm/fpm_process_ctl.h @@ -16,14 +16,14 @@ struct fpm_child_s; void fpm_pctl(int new_state, int action); -int fpm_pctl_can_spawn_children(); +int fpm_pctl_can_spawn_children(void); int fpm_pctl_kill(pid_t pid, int how); void fpm_pctl_kill_all(int signo); void fpm_pctl_heartbeat(struct fpm_event_s *ev, short which, void *arg); void fpm_pctl_perform_idle_server_maintenance_heartbeat(struct fpm_event_s *ev, short which, void *arg); void fpm_pctl_on_socket_accept(struct fpm_event_s *ev, short which, void *arg); -int fpm_pctl_child_exited(); -int fpm_pctl_init_main(); +int fpm_pctl_child_exited(void); +int fpm_pctl_init_main(void); enum { diff --git a/sapi/fpm/fpm/fpm_request.c b/sapi/fpm/fpm/fpm_request.c index 4f51824138d4d..8d3e2b2dd9e77 100644 --- a/sapi/fpm/fpm/fpm_request.c +++ b/sapi/fpm/fpm/fpm_request.c @@ -34,7 +34,7 @@ const char *fpm_request_get_stage_name(int stage) { return requests_stages[stage]; } -void fpm_request_accepting() /* {{{ */ +void fpm_request_accepting(void) { struct fpm_scoreboard_proc_s *proc; struct timeval now; @@ -56,9 +56,8 @@ void fpm_request_accepting() /* {{{ */ /* idle++, active-- */ fpm_scoreboard_update_commit(1, -1, 0, 0, 0, 0, 0, FPM_SCOREBOARD_ACTION_INC, NULL); } -/* }}} */ -void fpm_request_reading_headers() /* {{{ */ +void fpm_request_reading_headers(void) { struct fpm_scoreboard_proc_s *proc; @@ -101,9 +100,8 @@ void fpm_request_reading_headers() /* {{{ */ /* idle--, active++, request++ */ fpm_scoreboard_update_commit(-1, 1, 0, 0, 1, 0, 0, FPM_SCOREBOARD_ACTION_INC, NULL); } -/* }}} */ -void fpm_request_info() /* {{{ */ +void fpm_request_info(void) { struct fpm_scoreboard_proc_s *proc; char *request_uri = fpm_php_request_uri(); @@ -151,9 +149,8 @@ void fpm_request_info() /* {{{ */ fpm_scoreboard_proc_release(proc); } -/* }}} */ -void fpm_request_executing() /* {{{ */ +void fpm_request_executing(void) { struct fpm_scoreboard_proc_s *proc; struct timeval now; @@ -170,9 +167,8 @@ void fpm_request_executing() /* {{{ */ proc->tv = now; fpm_scoreboard_proc_release(proc); } -/* }}} */ -void fpm_request_end(void) /* {{{ */ +void fpm_request_end(void) { struct fpm_scoreboard_proc_s *proc; struct timeval now; @@ -204,9 +200,8 @@ void fpm_request_end(void) /* {{{ */ proc->memory = memory; fpm_scoreboard_proc_release(proc); } -/* }}} */ -void fpm_request_finished() /* {{{ */ +void fpm_request_finished(void) { struct fpm_scoreboard_proc_s *proc; struct timeval now; @@ -223,7 +218,6 @@ void fpm_request_finished() /* {{{ */ proc->tv = now; fpm_scoreboard_proc_release(proc); } -/* }}} */ void fpm_request_check_timed_out(struct fpm_child_s *child, struct timeval *now, int terminate_timeout, int slowlog_timeout, int track_finished) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_request.h b/sapi/fpm/fpm/fpm_request.h index 4d287427d68d4..c1cde0111be47 100644 --- a/sapi/fpm/fpm/fpm_request.h +++ b/sapi/fpm/fpm/fpm_request.h @@ -4,17 +4,17 @@ #define FPM_REQUEST_H 1 /* hanging in accept() */ -void fpm_request_accepting(); +void fpm_request_accepting(void); /* start reading fastcgi request from very first byte */ -void fpm_request_reading_headers(); +void fpm_request_reading_headers(void); /* not a stage really but a point in the php code, where all request params have become known to sapi */ -void fpm_request_info(); +void fpm_request_info(void); /* the script is executing */ -void fpm_request_executing(); +void fpm_request_executing(void); /* request ended: script response have been sent to web server */ void fpm_request_end(void); /* request processed: cleaning current request */ -void fpm_request_finished(); +void fpm_request_finished(void); struct fpm_child_s; struct timeval; diff --git a/sapi/fpm/fpm/fpm_scoreboard.c b/sapi/fpm/fpm/fpm_scoreboard.c index bf847d9dcac98..52d10a0416832 100644 --- a/sapi/fpm/fpm/fpm_scoreboard.c +++ b/sapi/fpm/fpm/fpm_scoreboard.c @@ -21,7 +21,7 @@ static float fpm_scoreboard_tick; #endif -int fpm_scoreboard_init_main() /* {{{ */ +int fpm_scoreboard_init_main(void) { struct fpm_worker_pool_s *wp; @@ -72,7 +72,6 @@ int fpm_scoreboard_init_main() /* {{{ */ } return 0; } -/* }}} */ static struct fpm_scoreboard_s *fpm_scoreboard_get_for_update(struct fpm_scoreboard_s *scoreboard) /* {{{ */ { @@ -186,11 +185,10 @@ void fpm_scoreboard_update( } /* }}} */ -struct fpm_scoreboard_s *fpm_scoreboard_get() /* {{{*/ +struct fpm_scoreboard_s *fpm_scoreboard_get(void) { return fpm_scoreboard; } -/* }}} */ static inline struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get_ex( struct fpm_scoreboard_s *scoreboard, int child_index, unsigned int nprocs) /* {{{*/ @@ -442,9 +440,8 @@ int fpm_scoreboard_proc_alloc(struct fpm_child_s *child) /* {{{ */ /* }}} */ #ifdef HAVE_TIMES -float fpm_scoreboard_get_tick() /* {{{ */ +float fpm_scoreboard_get_tick(void) { return fpm_scoreboard_tick; } -/* }}} */ #endif diff --git a/sapi/fpm/fpm/fpm_scoreboard.h b/sapi/fpm/fpm/fpm_scoreboard.h index 6925094936495..c488c64bfefc4 100644 --- a/sapi/fpm/fpm/fpm_scoreboard.h +++ b/sapi/fpm/fpm/fpm_scoreboard.h @@ -70,14 +70,14 @@ struct fpm_scoreboard_s { struct fpm_scoreboard_proc_s procs[]; }; -int fpm_scoreboard_init_main(); +int fpm_scoreboard_init_main(void); int fpm_scoreboard_init_child(struct fpm_worker_pool_s *wp); void fpm_scoreboard_update_begin(struct fpm_scoreboard_s *scoreboard); void fpm_scoreboard_update_commit(int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, int action, struct fpm_scoreboard_s *scoreboard); void fpm_scoreboard_update(int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, int action, struct fpm_scoreboard_s *scoreboard); -struct fpm_scoreboard_s *fpm_scoreboard_get(); +struct fpm_scoreboard_s *fpm_scoreboard_get(void); struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get(struct fpm_scoreboard_s *scoreboard, int child_index); struct fpm_scoreboard_proc_s *fpm_scoreboard_proc_get_from_child(struct fpm_child_s *child); @@ -97,7 +97,7 @@ struct fpm_scoreboard_s *fpm_scoreboard_copy(struct fpm_scoreboard_s *scoreboard void fpm_scoreboard_free_copy(struct fpm_scoreboard_s *scoreboard); #ifdef HAVE_TIMES -float fpm_scoreboard_get_tick(); +float fpm_scoreboard_get_tick(void); #endif #endif diff --git a/sapi/fpm/fpm/fpm_shm.c b/sapi/fpm/fpm/fpm_shm.c index 52ae60ed28bdb..d8bd701c138e8 100644 --- a/sapi/fpm/fpm/fpm_shm.c +++ b/sapi/fpm/fpm/fpm_shm.c @@ -60,8 +60,7 @@ int fpm_shm_free(void *mem, size_t size) /* {{{ */ } /* }}} */ -size_t fpm_shm_get_size_allocated() /* {{{*/ +size_t fpm_shm_get_size_allocated(void) { return fpm_shm_size; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_shm.h b/sapi/fpm/fpm/fpm_shm.h index 4382aac29bf00..483e18b4988ba 100644 --- a/sapi/fpm/fpm/fpm_shm.h +++ b/sapi/fpm/fpm/fpm_shm.h @@ -5,6 +5,6 @@ void *fpm_shm_alloc(size_t size); int fpm_shm_free(void *mem, size_t size); -size_t fpm_shm_get_size_allocated(); +size_t fpm_shm_get_size_allocated(void); #endif diff --git a/sapi/fpm/fpm/fpm_signals.c b/sapi/fpm/fpm/fpm_signals.c index f5a5ae5ec1743..6aad4403768cf 100644 --- a/sapi/fpm/fpm/fpm_signals.c +++ b/sapi/fpm/fpm/fpm_signals.c @@ -182,7 +182,7 @@ static void sig_handler(int signo) /* {{{ */ } /* }}} */ -int fpm_signals_init_main() /* {{{ */ +int fpm_signals_init_main(void) { struct sigaction act; @@ -222,9 +222,8 @@ int fpm_signals_init_main() /* {{{ */ } return 0; } -/* }}} */ -int fpm_signals_init_child() /* {{{ */ +int fpm_signals_init_child(void) { struct sigaction act, act_dfl; @@ -257,15 +256,13 @@ int fpm_signals_init_child() /* {{{ */ } return 0; } -/* }}} */ -int fpm_signals_get_fd() /* {{{ */ +int fpm_signals_get_fd(void) { return sp[0]; } -/* }}} */ -int fpm_signals_init_mask() /* {{{ */ +int fpm_signals_init_mask(void) { /* Subset of signals from fpm_signals_init_main() and fpm_got_signal() blocked to avoid unexpected death during early init @@ -298,9 +295,8 @@ int fpm_signals_init_mask() /* {{{ */ } return 0; } -/* }}} */ -int fpm_signals_block() /* {{{ */ +int fpm_signals_block(void) { if (0 > sigprocmask(SIG_BLOCK, &block_sigset, NULL)) { zlog(ZLOG_SYSERROR, "failed to block signals"); @@ -308,9 +304,8 @@ int fpm_signals_block() /* {{{ */ } return 0; } -/* }}} */ -int fpm_signals_child_block() /* {{{ */ +int fpm_signals_child_block(void) { if (0 > sigprocmask(SIG_BLOCK, &child_block_sigset, NULL)) { zlog(ZLOG_SYSERROR, "failed to block child signals"); @@ -318,9 +313,8 @@ int fpm_signals_child_block() /* {{{ */ } return 0; } -/* }}} */ -int fpm_signals_unblock() /* {{{ */ +int fpm_signals_unblock(void) { /* Ensure that during reload after upgrade all signals are unblocked. block_sigset could have different value before execve() */ @@ -332,4 +326,3 @@ int fpm_signals_unblock() /* {{{ */ } return 0; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_signals.h b/sapi/fpm/fpm/fpm_signals.h index f453fa4f7a327..67c12efdf4bac 100644 --- a/sapi/fpm/fpm/fpm_signals.h +++ b/sapi/fpm/fpm/fpm_signals.h @@ -5,13 +5,13 @@ #include -int fpm_signals_init_main(); -int fpm_signals_init_child(); -int fpm_signals_get_fd(); -int fpm_signals_init_mask(); -int fpm_signals_block(); -int fpm_signals_child_block(); -int fpm_signals_unblock(); +int fpm_signals_init_main(void); +int fpm_signals_init_child(void); +int fpm_signals_get_fd(void); +int fpm_signals_init_mask(void); +int fpm_signals_block(void); +int fpm_signals_child_block(void); +int fpm_signals_unblock(void); extern const char *fpm_signal_names[NSIG + 1]; diff --git a/sapi/fpm/fpm/fpm_sockets.c b/sapi/fpm/fpm/fpm_sockets.c index c2b4ea1c64a05..7bf0816c3d131 100644 --- a/sapi/fpm/fpm/fpm_sockets.c +++ b/sapi/fpm/fpm/fpm_sockets.c @@ -386,7 +386,7 @@ static int fpm_socket_af_unix_listening_socket(struct fpm_worker_pool_s *wp) /* } /* }}} */ -int fpm_sockets_init_main() /* {{{ */ +int fpm_sockets_init_main(void) { unsigned i, lq_len; struct fpm_worker_pool_s *wp; @@ -485,7 +485,6 @@ int fpm_sockets_init_main() /* {{{ */ } return 0; } -/* }}} */ #if HAVE_FPM_LQ diff --git a/sapi/fpm/fpm/fpm_sockets.h b/sapi/fpm/fpm/fpm_sockets.h index 8f1e3846b2919..1e31b84d6e802 100644 --- a/sapi/fpm/fpm/fpm_sockets.h +++ b/sapi/fpm/fpm/fpm_sockets.h @@ -24,7 +24,7 @@ #define FPM_ENV_SOCKET_SET_SIZE 128 enum fpm_address_domain fpm_sockets_domain_from_address(char *addr); -int fpm_sockets_init_main(); +int fpm_sockets_init_main(void); int fpm_socket_get_listening_queue(int sock, unsigned *cur_lq, unsigned *max_lq); int fpm_socket_unix_test_connect(struct sockaddr_un *sock, size_t socklen); diff --git a/sapi/fpm/fpm/fpm_stdio.c b/sapi/fpm/fpm/fpm_stdio.c index 9454710e536ea..2de4b589ef1dd 100644 --- a/sapi/fpm/fpm/fpm_stdio.c +++ b/sapi/fpm/fpm/fpm_stdio.c @@ -22,7 +22,7 @@ static int fd_stdout[2]; static int fd_stderr[2]; -int fpm_stdio_init_main() /* {{{ */ +int fpm_stdio_init_main(void) { int fd = open("/dev/null", O_RDWR); @@ -39,9 +39,8 @@ int fpm_stdio_init_main() /* {{{ */ close(fd); return 0; } -/* }}} */ -static inline int fpm_use_error_log() { /* {{{ */ +static inline int fpm_use_error_log(void) { /* * the error_log is NOT used when running in foreground * and from a tty (user looking at output). @@ -59,8 +58,7 @@ static inline int fpm_use_error_log() { /* {{{ */ return 0; } -/* }}} */ -int fpm_stdio_init_final() /* {{{ */ +int fpm_stdio_init_final(void) { if (fpm_use_error_log()) { /* prevent duping if logging to syslog */ @@ -82,7 +80,6 @@ int fpm_stdio_init_final() /* {{{ */ zlog_set_launched(); return 0; } -/* }}} */ int fpm_stdio_init_child(struct fpm_worker_pool_s *wp) /* {{{ */ { @@ -108,11 +105,10 @@ int fpm_stdio_init_child(struct fpm_worker_pool_s *wp) /* {{{ */ #define FPM_STDIO_CMD_FLUSH "\0fscf" -int fpm_stdio_flush_child() /* {{{ */ +int fpm_stdio_flush_child(void) { return write(STDERR_FILENO, FPM_STDIO_CMD_FLUSH, sizeof(FPM_STDIO_CMD_FLUSH)); } -/* }}} */ static void fpm_stdio_child_said(struct fpm_event_s *ev, short which, void *arg) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_stdio.h b/sapi/fpm/fpm/fpm_stdio.h index ef96508459c9f..c0ff94d3cb609 100644 --- a/sapi/fpm/fpm/fpm_stdio.h +++ b/sapi/fpm/fpm/fpm_stdio.h @@ -7,10 +7,10 @@ #define STREAM_SET_MSG_PREFIX_FMT "[pool %s] child %d said into %s: " -int fpm_stdio_init_main(); -int fpm_stdio_init_final(); +int fpm_stdio_init_main(void); +int fpm_stdio_init_final(void); int fpm_stdio_init_child(struct fpm_worker_pool_s *wp); -int fpm_stdio_flush_child(); +int fpm_stdio_flush_child(void); int fpm_stdio_prepare_pipes(struct fpm_child_s *child); void fpm_stdio_child_use_pipes(struct fpm_child_s *child); int fpm_stdio_parent_use_pipes(struct fpm_child_s *child); diff --git a/sapi/fpm/fpm/fpm_systemd.c b/sapi/fpm/fpm/fpm_systemd.c index 31b6a3d27ae65..175312412330f 100644 --- a/sapi/fpm/fpm/fpm_systemd.c +++ b/sapi/fpm/fpm/fpm_systemd.c @@ -11,7 +11,7 @@ #include "fpm_systemd.h" -static void fpm_systemd() /* {{{ */ +static void fpm_systemd(void) { static unsigned long int last=0; struct fpm_worker_pool_s *wp; @@ -43,7 +43,6 @@ static void fpm_systemd() /* {{{ */ last = requests; } -/* }}} */ void fpm_systemd_heartbeat(struct fpm_event_s *ev, short which, void *arg) /* {{{ */ { @@ -79,7 +78,7 @@ void fpm_systemd_heartbeat(struct fpm_event_s *ev, short which, void *arg) /* {{ } /* }}} */ -int fpm_systemd_conf() /* {{{ */ +int fpm_systemd_conf(void) { char *watchdog; int interval = 0; @@ -109,4 +108,3 @@ int fpm_systemd_conf() /* {{{ */ } return 0; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_systemd.h b/sapi/fpm/fpm/fpm_systemd.h index e978a7c7be48f..93a70fb5266e4 100644 --- a/sapi/fpm/fpm/fpm_systemd.h +++ b/sapi/fpm/fpm/fpm_systemd.h @@ -7,6 +7,6 @@ #define FPM_SYSTEMD_DEFAULT_HEARTBEAT (10000) void fpm_systemd_heartbeat(struct fpm_event_s *ev, short which, void *arg); -int fpm_systemd_conf(); +int fpm_systemd_conf(void); #endif diff --git a/sapi/fpm/fpm/fpm_trace_mach.c b/sapi/fpm/fpm/fpm_trace_mach.c index 1ecee23d261e9..092858e287d46 100644 --- a/sapi/fpm/fpm/fpm_trace_mach.c +++ b/sapi/fpm/fpm/fpm_trace_mach.c @@ -18,7 +18,7 @@ static vm_offset_t target_page_base; static vm_offset_t local_page; static mach_msg_type_number_t local_size; -static void fpm_mach_vm_deallocate() /* {{{ */ +static void fpm_mach_vm_deallocate(void) { if (local_page) { mach_vm_deallocate(mach_task_self(), local_page, local_size); @@ -27,7 +27,6 @@ static void fpm_mach_vm_deallocate() /* {{{ */ local_size = 0; } } -/* }}} */ static int fpm_mach_vm_read_page(vm_offset_t page) /* {{{ */ { diff --git a/sapi/fpm/fpm/fpm_unix.c b/sapi/fpm/fpm/fpm_unix.c index 654edd32d4271..649088f09fa42 100644 --- a/sapi/fpm/fpm/fpm_unix.c +++ b/sapi/fpm/fpm/fpm_unix.c @@ -452,7 +452,7 @@ int fpm_unix_init_child(struct fpm_worker_pool_s *wp) /* {{{ */ } /* }}} */ -int fpm_unix_init_main() /* {{{ */ +int fpm_unix_init_main(void) { struct fpm_worker_pool_s *wp; int is_root = !geteuid(); @@ -589,4 +589,3 @@ int fpm_unix_init_main() /* {{{ */ return 0; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_unix.h b/sapi/fpm/fpm/fpm_unix.h index c65791f7ed492..2152daf1794b4 100644 --- a/sapi/fpm/fpm/fpm_unix.h +++ b/sapi/fpm/fpm/fpm_unix.h @@ -10,7 +10,7 @@ int fpm_unix_set_socket_premissions(struct fpm_worker_pool_s *wp, const char *pa int fpm_unix_free_socket_premissions(struct fpm_worker_pool_s *wp); int fpm_unix_init_child(struct fpm_worker_pool_s *wp); -int fpm_unix_init_main(); +int fpm_unix_init_main(void); extern size_t fpm_pagesize; diff --git a/sapi/fpm/fpm/fpm_worker_pool.c b/sapi/fpm/fpm/fpm_worker_pool.c index 65a9b226b1ae0..416313624a7ee 100644 --- a/sapi/fpm/fpm/fpm_worker_pool.c +++ b/sapi/fpm/fpm/fpm_worker_pool.c @@ -62,7 +62,7 @@ static void fpm_worker_pool_cleanup(int which, void *arg) /* {{{ */ } /* }}} */ -struct fpm_worker_pool_s *fpm_worker_pool_alloc() /* {{{ */ +struct fpm_worker_pool_s *fpm_worker_pool_alloc(void) { struct fpm_worker_pool_s *ret; @@ -77,13 +77,11 @@ struct fpm_worker_pool_s *fpm_worker_pool_alloc() /* {{{ */ ret->log_fd = -1; return ret; } -/* }}} */ -int fpm_worker_pool_init_main() /* {{{ */ +int fpm_worker_pool_init_main(void) { if (0 > fpm_cleanup_add(FPM_CLEANUP_ALL, fpm_worker_pool_cleanup, 0)) { return -1; } return 0; } -/* }}} */ diff --git a/sapi/fpm/fpm/fpm_worker_pool.h b/sapi/fpm/fpm/fpm_worker_pool.h index ac596cde60547..809f53a0545b5 100644 --- a/sapi/fpm/fpm/fpm_worker_pool.h +++ b/sapi/fpm/fpm/fpm_worker_pool.h @@ -47,9 +47,9 @@ struct fpm_worker_pool_s { #endif }; -struct fpm_worker_pool_s *fpm_worker_pool_alloc(); +struct fpm_worker_pool_s *fpm_worker_pool_alloc(void); void fpm_worker_pool_free(struct fpm_worker_pool_s *wp); -int fpm_worker_pool_init_main(); +int fpm_worker_pool_init_main(void); void fpm_worker_pool_free_limit_extensions(char **limit_extensions); From ce42dcf483ab6457269f86aa3c4ccc0a1b1f3108 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 29 Aug 2022 12:30:14 +0300 Subject: [PATCH 161/229] Fix ext/opcache/tests/jit/inc_obj_004.phpt failure introduced by fd74ee7e909c66f09d8d904a5438b275a13e8738 This should fix GH-9445 --- ext/opcache/jit/zend_jit_x86.dasc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index dfe3b6aa78d7f..921f2cd2fcf9d 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -8782,6 +8782,9 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_ } if ((op1_info & (MAY_BE_ANY-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG))) == MAY_BE_DOUBLE) { + if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { + |.cold_code + } |2: if (CAN_USE_AVX()) { | vxorps xmm0, xmm0, xmm0 @@ -8830,6 +8833,10 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_ |1: | SET_ZVAL_TYPE_INFO res_addr, eax } + if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { + | jmp >9 + |.code + } } else { if (exit_addr) { if (branch_opcode == ZEND_JMPNZ || branch_opcode == ZEND_JMPNZ_EX) { @@ -8841,6 +8848,9 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_ | je &exit_addr |1: } + if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { + | jmp >9 + } } else { ZEND_ASSERT(true_label != (uint32_t)-1 || false_label != (uint32_t)-1); if (false_label != (uint32_t)-1 ) { @@ -8849,12 +8859,20 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_ |1: if (true_label != (uint32_t)-1) { | jmp =>true_label + } else if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { + | jmp >9 } } else { | jp => true_label | jne => true_label + if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { + | jmp >9 + } } } + if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { + |.code + } } } else if (op1_info & (MAY_BE_ANY - (MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG))) { if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) { From 8fe1db208923f719f546f6bad95006ca8dee86cc Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 26 Aug 2022 16:08:06 +0200 Subject: [PATCH 162/229] Delay fiber VM stack cleanup until after observer has been called Signed-off-by: Bob Weinand --- Zend/zend_fibers.c | 25 ++++++++++++++++++++----- Zend/zend_fibers.h | 7 +++++++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/Zend/zend_fibers.c b/Zend/zend_fibers.c index 80a70d87f6f28..0bb45d1c3dc9c 100644 --- a/Zend/zend_fibers.c +++ b/Zend/zend_fibers.c @@ -360,6 +360,10 @@ ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context) { zend_observer_fiber_destroy_notify(context); + if (context->cleanup) { + context->cleanup(context); + } + zend_fiber_stack_free(context->stack); } @@ -441,6 +445,19 @@ ZEND_API void zend_fiber_switch_context(zend_fiber_transfer *transfer) } } +static void zend_fiber_cleanup(zend_fiber_context *context) +{ + zend_fiber *fiber = zend_fiber_from_context(context); + + zend_vm_stack current_stack = EG(vm_stack); + EG(vm_stack) = fiber->vm_stack; + zend_vm_stack_destroy(); + EG(vm_stack) = current_stack; + fiber->execute_data = NULL; + fiber->stack_bottom = NULL; + fiber->caller = NULL; +} + static ZEND_STACK_ALIGNED void zend_fiber_execute(zend_fiber_transfer *transfer) { ZEND_ASSERT(Z_TYPE(transfer->value) == IS_NULL && "Initial transfer value to fiber context must be NULL"); @@ -501,12 +518,10 @@ static ZEND_STACK_ALIGNED void zend_fiber_execute(zend_fiber_transfer *transfer) transfer->flags = ZEND_FIBER_TRANSFER_FLAG_BAILOUT; } zend_end_try(); - transfer->context = fiber->caller; + fiber->context.cleanup = &zend_fiber_cleanup; + fiber->vm_stack = EG(vm_stack); - zend_vm_stack_destroy(); - fiber->execute_data = NULL; - fiber->stack_bottom = NULL; - fiber->caller = NULL; + transfer->context = fiber->caller; } /* Handles forwarding of result / error from a transfer into the running fiber. */ diff --git a/Zend/zend_fibers.h b/Zend/zend_fibers.h index aefe2e53be6c5..2673e7814b093 100644 --- a/Zend/zend_fibers.h +++ b/Zend/zend_fibers.h @@ -71,6 +71,7 @@ typedef struct _zend_fiber_transfer { /* Coroutine functions must populate the given transfer with a new context * and (optional) data before they return. */ typedef void (*zend_fiber_coroutine)(zend_fiber_transfer *transfer); +typedef void (*zend_fiber_clean)(zend_fiber_context *context); struct _zend_fiber_context { /* Pointer to boost.context or ucontext_t data. */ @@ -82,6 +83,9 @@ struct _zend_fiber_context { /* Entrypoint function of the fiber. */ zend_fiber_coroutine function; + /* Cleanup function for fiber. */ + zend_fiber_clean cleanup; + /* Assigned C stack. */ zend_fiber_stack *stack; @@ -121,6 +125,9 @@ struct _zend_fiber { /* Frame on the bottom of the fiber vm stack. */ zend_execute_data *stack_bottom; + /* Active fiber vm stack. */ + zend_vm_stack vm_stack; + /* Storage for fiber return value. */ zval result; }; From 725cb4e8ad8e96bdbd5126dfd80384003f2e5831 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 29 Aug 2022 12:41:36 +0200 Subject: [PATCH 163/229] Revert "Fix GH-9296: `ksort` behaves incorrectly on arrays with mixed keys" This reverts commit cd1aed8eddd2dccbb55fb1bc3d67b23a8455248c, as discussed on internals (). --- NEWS | 2 - ext/standard/array.c | 53 +++++++++++------- ext/standard/tests/array/002.phpt | 20 +++---- ext/standard/tests/array/gh9296.phpt | 17 ------ .../tests/array/krsort_variation8.phpt | Bin 3121 -> 3121 bytes .../tests/array/krsort_variation9.phpt | 8 +-- .../tests/array/ksort_variation8.phpt | Bin 3107 -> 3107 bytes .../tests/array/ksort_variation9.phpt | 8 +-- 8 files changed, 52 insertions(+), 56 deletions(-) delete mode 100644 ext/standard/tests/array/gh9296.phpt diff --git a/NEWS b/NEWS index 21d5d334a4e4c..5e0f75578366e 100644 --- a/NEWS +++ b/NEWS @@ -46,8 +46,6 @@ PHP NEWS - Standard: . Fixed bug GH-9017 (php_stream_sock_open_from_socket could return NULL). (Heiko Weber) - . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). - (Denis Vaksman) - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have diff --git a/ext/standard/array.c b/ext/standard/array.c index d145661e3782e..32ad1b0eaa6ed 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -166,25 +166,40 @@ static zend_never_inline ZEND_COLD int stable_sort_fallback(Bucket *a, Bucket *b static zend_always_inline int php_array_key_compare_unstable_i(Bucket *f, Bucket *s) /* {{{ */ { - zval first; - zval second; - - if (f->key == NULL && s->key == NULL) { - return (zend_long)f->h > (zend_long)s->h ? 1 : -1; - } else if (f->key && s->key) { - return zendi_smart_strcmp(f->key, s->key); - } - if (f->key) { - ZVAL_STR(&first, f->key); - } else { - ZVAL_LONG(&first, f->h); - } - if (s->key) { - ZVAL_STR(&second, s->key); - } else { - ZVAL_LONG(&second, s->h); - } - return zend_compare(&first, &second); + zend_uchar t; + zend_long l1, l2; + double d; + + if (f->key == NULL) { + if (s->key == NULL) { + return (zend_long)f->h > (zend_long)s->h ? 1 : -1; + } else { + l1 = (zend_long)f->h; + t = is_numeric_string(s->key->val, s->key->len, &l2, &d, 1); + if (t == IS_LONG) { + /* pass */ + } else if (t == IS_DOUBLE) { + return ZEND_NORMALIZE_BOOL((double)l1 - d); + } else { + l2 = 0; + } + } + } else { + if (s->key) { + return zendi_smart_strcmp(f->key, s->key); + } else { + l2 = (zend_long)s->h; + t = is_numeric_string(f->key->val, f->key->len, &l1, &d, 1); + if (t == IS_LONG) { + /* pass */ + } else if (t == IS_DOUBLE) { + return ZEND_NORMALIZE_BOOL(d - (double)l2); + } else { + l1 = 0; + } + } + } + return ZEND_NORMALIZE_BOOL(l1 - l2); } /* }}} */ diff --git a/ext/standard/tests/array/002.phpt b/ext/standard/tests/array/002.phpt index 5cf377e2a3538..fdb838deb19dd 100644 --- a/ext/standard/tests/array/002.phpt +++ b/ext/standard/tests/array/002.phpt @@ -276,8 +276,6 @@ array(8) { -- Testing krsort() -- No second argument: array(8) { - ["test"]=> - int(27) [16777216]=> float(-0.3333333333333333) [1001]=> @@ -290,6 +288,8 @@ array(8) { string(4) "Test" [0]=> string(3) "PHP" + ["test"]=> + int(27) [-1000]=> array(2) { [0]=> @@ -300,8 +300,6 @@ array(8) { } Using SORT_REGULAR: array(8) { - ["test"]=> - int(27) [16777216]=> float(-0.3333333333333333) [1001]=> @@ -314,6 +312,8 @@ array(8) { string(4) "Test" [0]=> string(3) "PHP" + ["test"]=> + int(27) [-1000]=> array(2) { [0]=> @@ -334,10 +334,10 @@ array(8) { string(27) "PHP: Hypertext Preprocessor" [5]=> string(4) "Test" - ["test"]=> - int(27) [0]=> string(3) "PHP" + ["test"]=> + int(27) [-1000]=> array(2) { [0]=> @@ -383,6 +383,8 @@ array(8) { } [0]=> string(3) "PHP" + ["test"]=> + int(27) [5]=> string(4) "Test" [17]=> @@ -393,8 +395,6 @@ array(8) { string(6) "monkey" [16777216]=> float(-0.3333333333333333) - ["test"]=> - int(27) } Using SORT_REGULAR: array(8) { @@ -407,6 +407,8 @@ array(8) { } [0]=> string(3) "PHP" + ["test"]=> + int(27) [5]=> string(4) "Test" [17]=> @@ -417,8 +419,6 @@ array(8) { string(6) "monkey" [16777216]=> float(-0.3333333333333333) - ["test"]=> - int(27) } Using SORT_NUMERIC: array(8) { diff --git a/ext/standard/tests/array/gh9296.phpt b/ext/standard/tests/array/gh9296.phpt deleted file mode 100644 index cfbc5cbbb09ec..0000000000000 --- a/ext/standard/tests/array/gh9296.phpt +++ /dev/null @@ -1,17 +0,0 @@ ---TEST-- -GH-9296: incorrect ksort(..., SORT_REGULAR) behaviour on arrays with numeric and string keys ---FILE-- - 0, 600 => 1]; -ksort($array, SORT_REGULAR); -var_dump($array); -var_dump(array_key_first($array) <=> array_key_last($array)); -?> ---EXPECT-- -array(2) { - [600]=> - int(1) - ["aaa"]=> - int(0) -} -int(-1) diff --git a/ext/standard/tests/array/krsort_variation8.phpt b/ext/standard/tests/array/krsort_variation8.phpt index 39e72e2eb22211e4f3bb45963fc3ae7c3dab99d7..1483e6fd1bbc18abe1c129d73043254e66ee6dc7 100644 GIT binary patch delta 113 zcmdleu~A}!DBI)^4!zByZ1zl(k8+z%7UdC@QBa81HHx*h<5Eya%gIkH(a<&0v$Oz0 bO|II>t61G8>v3vf=u*O`i_0ZHFO>@bu$dh& delta 107 zcmdleu~A}!DBEUdHhZSYqHKDTk8+z%7UGeRR8WXkQi`>;<5Ey4E-A{)OV=>aR8Ugl Zs-3)w)orpKrxu15d7N6fT=Mf$xd8tI8>j#P diff --git a/ext/standard/tests/array/krsort_variation9.phpt b/ext/standard/tests/array/krsort_variation9.phpt index b0309f373d362..4364911b62127 100644 --- a/ext/standard/tests/array/krsort_variation9.phpt +++ b/ext/standard/tests/array/krsort_variation9.phpt @@ -82,22 +82,22 @@ array(5) { - With default sort flag - bool(true) array(3) { - ["c"]=> - string(5) "apple" ["a"]=> string(6) "orange" [0]=> string(6) "banana" + ["c"]=> + string(5) "apple" } - Sort flag = SORT_REGULAR - bool(true) array(3) { - ["c"]=> - string(5) "apple" ["a"]=> string(6) "orange" [0]=> string(6) "banana" + ["c"]=> + string(5) "apple" } -- Iteration 3 -- diff --git a/ext/standard/tests/array/ksort_variation8.phpt b/ext/standard/tests/array/ksort_variation8.phpt index 9a15c4dc3e75d7dd76ec29986cc84159096b381c..7b7e1c003e587897379970a72be8a1936fb5fce1 100644 GIT binary patch delta 161 zcmZ21u~=dQ2ixQ%P8ngPSX(4FgRDC8f!goJx})aK>#e=32=prl1gQ w08x{clb=|kVW4MVV5m9Sg3EI9CQfa}+R5`+T_-DWYEi>9_F68N{Jc~y069b~q5uE@ delta 91 zcmZ21u~=dQ2ixRSPKn80oHCQ^IAtd<*K`?!raf9G7y$XGjh9;@qQ R1x_u3O4)0 - string(6) "banana" ["a"]=> string(6) "orange" + [0]=> + string(6) "banana" ["c"]=> string(5) "apple" } - Sort flag = SORT_REGULAR - bool(true) array(3) { - [0]=> - string(6) "banana" ["a"]=> string(6) "orange" + [0]=> + string(6) "banana" ["c"]=> string(5) "apple" } From 4b884bedc8de35ceb90d3e6978be580d5ce89864 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 29 Aug 2022 14:36:16 +0300 Subject: [PATCH 164/229] JIT: Fix missing type store Fixes oss-fuzz #50653 --- ext/opcache/jit/zend_jit_trace.c | 2 +- ext/opcache/tests/jit/assign_054.phpt | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 ext/opcache/tests/jit/assign_054.phpt diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index f89d6f8a40d4d..075acf5e6f862 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -6377,7 +6377,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par } SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op2.var), type, (gen_handler || type == IS_UNKNOWN || !ra || - (!ra[ssa_op->op2_def] && !ssa->vars[ssa_op->op2_def].no_val))); + (!ra[ssa_op->op2_def] /*&& !ssa->vars[ssa_op->op2_def].no_val*/))); if (type != IS_UNKNOWN) { ssa->var_info[ssa_op->op2_def].type &= ~MAY_BE_GUARD; if (ra && ra[ssa_op->op2_def]) { diff --git a/ext/opcache/tests/jit/assign_054.phpt b/ext/opcache/tests/jit/assign_054.phpt new file mode 100644 index 0000000000000..a4c4706b7cefd --- /dev/null +++ b/ext/opcache/tests/jit/assign_054.phpt @@ -0,0 +1,24 @@ +--TEST-- +JIT ASSIGN: missing type store +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.file_update_protection=0 +opcache.jit_buffer_size=1M +opcache.protect_memory=1 +--FILE-- + +DONE +--EXPECT-- +DONE From 4135e6011c2831cce29c257c6c46f32184d34d2b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 29 Aug 2022 14:53:48 +0300 Subject: [PATCH 165/229] Fix memory leak Fixes oss-fuzz #50616 --- ext/opcache/Optimizer/dfa_pass.c | 4 +++- ext/opcache/tests/opt/assign_obj_001.phpt | 24 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 ext/opcache/tests/opt/assign_obj_001.phpt diff --git a/ext/opcache/Optimizer/dfa_pass.c b/ext/opcache/Optimizer/dfa_pass.c index 49f27b1151d9d..f223b922cf23b 100644 --- a/ext/opcache/Optimizer/dfa_pass.c +++ b/ext/opcache/Optimizer/dfa_pass.c @@ -357,7 +357,9 @@ static zend_bool opline_supports_assign_contraction( return opline->op1_type != IS_CV || opline->op1.var != cv_var; } - if (opline->opcode == ZEND_ASSIGN_OP + if ((opline->opcode == ZEND_ASSIGN_OP + || opline->opcode == ZEND_ASSIGN_OBJ + || opline->opcode == ZEND_ASSIGN_DIM) && opline->op1_type == IS_CV && opline->op1.var == cv_var && zend_may_throw(opline, &ssa->ops[ssa->vars[src_var].definition], op_array, ssa)) { diff --git a/ext/opcache/tests/opt/assign_obj_001.phpt b/ext/opcache/tests/opt/assign_obj_001.phpt new file mode 100644 index 0000000000000..efb473ddaa940 --- /dev/null +++ b/ext/opcache/tests/opt/assign_obj_001.phpt @@ -0,0 +1,24 @@ +--TEST-- +ASSIGN_OP 001: Incrrect optimization of ASSIGN_OBJ may lead to memory leak +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +--FILE-- +y = ''; +} +test(); +?> +--EXPECTF-- +Warning: Undefined variable $y in %sassign_obj_001.php on line 3 + +Warning: Undefined variable $a in %sassign_obj_001.php on line 3 + +Fatal error: Uncaught Error: Attempt to assign property "y" on string in %sassign_obj_001.php:4 +Stack trace: +#0 %sassign_obj_001.php(6): test() +#1 {main} + thrown in %sassign_obj_001.php on line 4 From 932586c426d7f016e5d0e0d95579f9503ec70a89 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Mon, 29 Aug 2022 14:33:41 +0100 Subject: [PATCH 166/229] Fixed bug GH-9431: DateTime::getLastErrors() not returning false when no errors/warnings For PHP 8.2 and later only. --- NEWS | 4 ++++ ext/date/php_date.c | 6 +++++- ext/date/tests/bug51866.phpt | 26 ++----------------------- ext/date/tests/date-lenient-create.phpt | 26 ------------------------- 4 files changed, 11 insertions(+), 51 deletions(-) diff --git a/NEWS b/NEWS index 8c63e1a341b89..9e988f903a5a1 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,10 @@ PHP NEWS . Fixed bug GH-9285 (Traits cannot be used in readonly classes). (kocsismate) +- Date: + . Fixed bug GH-9431 (DateTime::getLastErrors() not returning false when no + errors/warnings). (Derick) + - Opcache: . Fixed bug GH-9371 (Crash with JIT on mac arm64) (jdp1024/David Carlier) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 869349fd808fa..229d9890251e6 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2269,7 +2269,11 @@ static void update_errors_warnings(timelib_error_container *last_errors) /* {{{ timelib_error_container_dtor(DATEG(last_errors)); DATEG(last_errors) = NULL; } - DATEG(last_errors) = last_errors; + if (last_errors->warning_count || last_errors->error_count) { + DATEG(last_errors) = last_errors; + } else { + timelib_error_container_dtor(last_errors); + } } /* }}} */ static void php_date_set_time_fraction(timelib_time *time, int microseconds) diff --git a/ext/date/tests/bug51866.phpt b/ext/date/tests/bug51866.phpt index 921a9392932f7..c73f6b0cb9e8d 100644 --- a/ext/date/tests/bug51866.phpt +++ b/ext/date/tests/bug51866.phpt @@ -105,18 +105,7 @@ object(DateTime)#%d (3) { ["timezone"]=> string(%d) "%s" } -array(4) { - ["warning_count"]=> - int(0) - ["warnings"]=> - array(0) { - } - ["error_count"]=> - int(0) - ["errors"]=> - array(0) { - } -} +bool(false) string(7) "Y-m-d +" @@ -148,15 +137,4 @@ object(DateTime)#%d (3) { ["timezone"]=> string(%d) "%s" } -array(4) { - ["warning_count"]=> - int(0) - ["warnings"]=> - array(0) { - } - ["error_count"]=> - int(0) - ["errors"]=> - array(0) { - } -} +bool(false) diff --git a/ext/date/tests/date-lenient-create.phpt b/ext/date/tests/date-lenient-create.phpt index 2d59ceba79c87..0168238a96d8b 100644 --- a/ext/date/tests/date-lenient-create.phpt +++ b/ext/date/tests/date-lenient-create.phpt @@ -113,19 +113,6 @@ DateTime Object [timezone_type] => 3 [timezone] => UTC ) -Array -( - [warning_count] => 0 - [warnings] => Array - ( - ) - - [error_count] => 0 - [errors] => Array - ( - ) - -) == DateTime Object ( @@ -133,17 +120,4 @@ DateTime Object [timezone_type] => 3 [timezone] => UTC ) -Array -( - [warning_count] => 0 - [warnings] => Array - ( - ) - - [error_count] => 0 - [errors] => Array - ( - ) - -) == From f92505cf24e90a74d33bea8f20ca977b63aa9d4f Mon Sep 17 00:00:00 2001 From: Dmitry Menshikov Date: Sun, 3 Jul 2022 14:12:55 +0300 Subject: [PATCH 167/229] Fix GH-8885: access.log with stderr writes logs to error_log after reload This fix allows restoring the the original stderr so the logs are correctly written. --- NEWS | 4 + sapi/fpm/fpm/fpm_conf.c | 4 + sapi/fpm/fpm/fpm_events.c | 8 ++ sapi/fpm/fpm/fpm_process_ctl.c | 4 + sapi/fpm/fpm/fpm_stdio.c | 66 +++++++++++-- sapi/fpm/fpm/fpm_stdio.h | 4 + .../tests/bug8885-stderr-fd-reload-usr1.phpt | 92 +++++++++++++++++++ .../tests/bug8885-stderr-fd-reload-usr2.phpt | 92 +++++++++++++++++++ sapi/fpm/tests/tester.inc | 17 +++- 9 files changed, 282 insertions(+), 9 deletions(-) create mode 100644 sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt create mode 100644 sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt diff --git a/NEWS b/NEWS index 5e0f75578366e..2c5c1c5a841ba 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,10 @@ PHP NEWS . Fixed bug #79451 (DOMDocument->replaceChild on doctype causes double free). (Nathan Freeman) +- FPM: + . Fixed bug GH-8885 (FPM access.log with stderr begins to write logs to + error_log after daemon reload). (Dmitry Menshikov) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index 7818cea47af76..8788ef3ecf3f9 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1282,6 +1282,10 @@ static int fpm_conf_post_process(int force_daemon) /* {{{ */ fpm_evaluate_full_path(&fpm_global_config.error_log, NULL, PHP_LOCALSTATEDIR, 0); } + if (0 > fpm_stdio_save_original_stderr()) { + return -1; + } + if (0 > fpm_stdio_open_error_log(0)) { return -1; } diff --git a/sapi/fpm/fpm/fpm_events.c b/sapi/fpm/fpm/fpm_events.c index 6d563fe809108..48efd3a4e9e01 100644 --- a/sapi/fpm/fpm/fpm_events.c +++ b/sapi/fpm/fpm/fpm_events.c @@ -104,6 +104,11 @@ static void fpm_got_signal(struct fpm_event_s *ev, short which, void *arg) /* {{ break; case '1' : /* SIGUSR1 */ zlog(ZLOG_DEBUG, "received SIGUSR1"); + + /* fpm_stdio_init_final tied STDERR fd with error_log fd. This affects logging to the + * access.log if it was configured to write to the stderr. Check #8885. */ + fpm_stdio_restore_original_stderr(0); + if (0 == fpm_stdio_open_error_log(1)) { zlog(ZLOG_NOTICE, "error log file re-opened"); } else { @@ -118,6 +123,9 @@ static void fpm_got_signal(struct fpm_event_s *ev, short which, void *arg) /* {{ } /* else no access log are set */ + /* We need to tie stderr with error_log in the master process after log files reload. Check #8885. */ + fpm_stdio_redirect_stderr_to_error_log(); + break; case '2' : /* SIGUSR2 */ zlog(ZLOG_DEBUG, "received SIGUSR2"); diff --git a/sapi/fpm/fpm/fpm_process_ctl.c b/sapi/fpm/fpm/fpm_process_ctl.c index b4a06cc382b55..788b827d8a0f9 100644 --- a/sapi/fpm/fpm/fpm_process_ctl.c +++ b/sapi/fpm/fpm/fpm_process_ctl.c @@ -18,6 +18,7 @@ #include "fpm_worker_pool.h" #include "fpm_scoreboard.h" #include "fpm_sockets.h" +#include "fpm_stdio.h" #include "zlog.h" @@ -99,6 +100,9 @@ static void fpm_pctl_exec(void) ); fpm_cleanups_run(FPM_CLEANUP_PARENT_EXEC); + + fpm_stdio_restore_original_stderr(1); + execvp(saved_argv[0], saved_argv); zlog(ZLOG_SYSERROR, "failed to reload: execvp() failed"); exit(FPM_EXIT_SOFTWARE); diff --git a/sapi/fpm/fpm/fpm_stdio.c b/sapi/fpm/fpm/fpm_stdio.c index 2de4b589ef1dd..28246b01d2876 100644 --- a/sapi/fpm/fpm/fpm_stdio.c +++ b/sapi/fpm/fpm/fpm_stdio.c @@ -19,6 +19,7 @@ #include "fpm_stdio.h" #include "zlog.h" +static int fd_stderr_original = -1; static int fd_stdout[2]; static int fd_stderr[2]; @@ -59,6 +60,53 @@ static inline int fpm_use_error_log(void) { } int fpm_stdio_init_final(void) +{ + if (0 > fpm_stdio_redirect_stderr_to_error_log() || + 0 > fpm_stdio_redirect_stderr_to_dev_null_for_syslog()) { + + return -1; + } + + zlog_set_launched(); + return 0; +} +/* }}} */ + +int fpm_stdio_save_original_stderr(void) +{ + /* php-fpm loses STDERR fd after call of the fpm_stdio_init_final(). Check #8555. */ + zlog(ZLOG_DEBUG, "saving original STDERR fd: dup()"); + fd_stderr_original = dup(STDERR_FILENO); + if (0 > fd_stderr_original) { + zlog(ZLOG_SYSERROR, "failed to save original STDERR fd, access.log records may appear in error_log: dup()"); + return -1; + } + + return 0; +} + +int fpm_stdio_restore_original_stderr(int close_after_restore) +{ + /* php-fpm loses STDERR fd after call of the fpm_stdio_init_final(). Check #8555. */ + if (-1 != fd_stderr_original) { + zlog(ZLOG_DEBUG, "restoring original STDERR fd: dup2()"); + if (0 > dup2(fd_stderr_original, STDERR_FILENO)) { + zlog(ZLOG_SYSERROR, "failed to restore original STDERR fd, access.log records may appear in error_log: dup2()"); + return -1; + } else { + if (close_after_restore) { + close(fd_stderr_original); + } + } + } else { + zlog(ZLOG_DEBUG, "original STDERR fd is not restored, maybe function is called from a child: dup2()"); + return -1; + } + + return 0; +} + +int fpm_stdio_redirect_stderr_to_error_log(void) { if (fpm_use_error_log()) { /* prevent duping if logging to syslog */ @@ -66,18 +114,26 @@ int fpm_stdio_init_final(void) /* there might be messages to stderr from other parts of the code, we need to log them all */ if (0 > dup2(fpm_globals.error_log_fd, STDERR_FILENO)) { - zlog(ZLOG_SYSERROR, "failed to init stdio: dup2()"); + zlog(ZLOG_SYSERROR, "failed to tie stderr fd with error_log fd: dup2()"); return -1; } } + } + + return 0; +} + +int fpm_stdio_redirect_stderr_to_dev_null_for_syslog(void) +{ + if (fpm_use_error_log()) { #ifdef HAVE_SYSLOG_H - else if (fpm_globals.error_log_fd == ZLOG_SYSLOG) { + if (fpm_globals.error_log_fd == ZLOG_SYSLOG) { /* dup to /dev/null when using syslog */ dup2(STDOUT_FILENO, STDERR_FILENO); } #endif } - zlog_set_launched(); + return 0; } @@ -331,10 +387,6 @@ int fpm_stdio_open_error_log(int reopen) /* {{{ */ } if (reopen) { - if (fpm_use_error_log()) { - dup2(fd, STDERR_FILENO); - } - dup2(fd, fpm_globals.error_log_fd); close(fd); fd = fpm_globals.error_log_fd; /* for FD_CLOSEXEC to work */ diff --git a/sapi/fpm/fpm/fpm_stdio.h b/sapi/fpm/fpm/fpm_stdio.h index c0ff94d3cb609..49be50de562d9 100644 --- a/sapi/fpm/fpm/fpm_stdio.h +++ b/sapi/fpm/fpm/fpm_stdio.h @@ -16,5 +16,9 @@ void fpm_stdio_child_use_pipes(struct fpm_child_s *child); int fpm_stdio_parent_use_pipes(struct fpm_child_s *child); int fpm_stdio_discard_pipes(struct fpm_child_s *child); int fpm_stdio_open_error_log(int reopen); +int fpm_stdio_save_original_stderr(void); +int fpm_stdio_restore_original_stderr(int close_after_restore); +int fpm_stdio_redirect_stderr_to_dev_null_for_syslog(void); +int fpm_stdio_redirect_stderr_to_error_log(void); #endif diff --git a/sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt b/sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt new file mode 100644 index 0000000000000..37524a4bafec2 --- /dev/null +++ b/sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt @@ -0,0 +1,92 @@ +--TEST-- +FPM: bug8885 - access.log with stderr begins to write logs to error_log after daemon reload (GH-8885) +--SKIPIF-- + +--FILE-- + true]); +// getPrefixedFile('err.log') is the same path that returns processTemplate('{{FILE:LOG}}') +$errorLogFile = $tester->getPrefixedFile('err.log'); + +$tester->start(); +$tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); + +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) === 2, 'Expected 2 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Expected 1 record in the stderr output (access.log)'); +$stderrLine = $stderrLines[0]; +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLine), 'Incorrect format of access.log record'); + +$tester->signal('USR1'); +$tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) >= 4, 'Expected at least 4 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); +assert(strpos($errorLogLines[2], 'NOTICE: error log file re-opened')); +assert(strpos($errorLogLines[3], 'NOTICE: access log file re-opened')); + + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Must be only 1 record in the access.log'); +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLines[0]), 'Incorrect format of access.log record'); + +$tester->terminate(); +$stderrLines = $tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); +$errorLogLastLine = array_pop($errorLogLines); +assert(strpos($errorLogLastLine, 'NOTICE: exiting, bye-bye')); + +$tester->close(); +?> +Done +--EXPECT-- +Done +--CLEAN-- + diff --git a/sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt b/sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt new file mode 100644 index 0000000000000..16aea8afb828c --- /dev/null +++ b/sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt @@ -0,0 +1,92 @@ +--TEST-- +FPM: bug8885 - access.log with stderr begins to write logs to error_log after daemon reload (GH-8885) +--SKIPIF-- + +--FILE-- + true]); +// getPrefixedFile('err.log') is the same path that returns processTemplate('{{FILE:LOG}}') +$errorLogFile = $tester->getPrefixedFile('err.log'); + +$tester->start(); +$tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); + +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) === 2, 'Expected 2 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Expected 1 record in the stderr output (access.log)'); +$stderrLine = $stderrLines[0]; +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLine), 'Incorrect format of access.log record'); + +$tester->signal('USR2'); +$tester->expectLogNotice('using inherited socket fd=\d+, "127.0.0.1:\d+"'); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) >= 5, 'Expected at least 5 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); +assert(strpos($errorLogLines[2], 'NOTICE: Reloading in progress')); +assert(strpos($errorLogLines[3], 'NOTICE: reloading: execvp')); +assert(strpos($errorLogLines[4], 'NOTICE: using inherited socket')); + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Must be only 1 record in the access.log'); +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLines[0]), 'Incorrect format of access.log record'); + +$tester->terminate(); +$stderrLines = $tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); +$errorLogLastLine = array_pop($errorLogLines); +assert(strpos($errorLogLastLine, 'NOTICE: exiting, bye-bye')); + +$tester->close(); +?> +Done +--EXPECT-- +Done +--CLEAN-- + diff --git a/sapi/fpm/tests/tester.inc b/sapi/fpm/tests/tester.inc index 5a190f0d39cbc..155bc234a8b74 100644 --- a/sapi/fpm/tests/tester.inc +++ b/sapi/fpm/tests/tester.inc @@ -35,6 +35,11 @@ class Tester */ const FILE_EXT_PID = 'pid'; + /** + * Name for the option to manage php-fpm --force-stderr flag + */ + const PHP_FPM_DISABLE_FORCE_STDERR = 'disable-force-stderr'; + /** * @var array */ @@ -365,7 +370,15 @@ class Tester { $configFile = $this->createConfig(); $desc = $this->outDesc ? [] : [1 => array('pipe', 'w'), 2 => array('redirect', 1)]; - $cmd = [self::findExecutable(), '-F', '-O', '-y', $configFile]; + + $cmd = [self::findExecutable(), '-F', '-y', $configFile]; + + if (!(isset($this->options[self::PHP_FPM_DISABLE_FORCE_STDERR]) && + $this->options[self::PHP_FPM_DISABLE_FORCE_STDERR] === true) + ) { + $cmd[] = '-O'; + } + if (getenv('TEST_FPM_RUN_AS_ROOT')) { $cmd[] = '--allow-to-run-as-root'; } @@ -1138,7 +1151,7 @@ class Tester * @param string $prefix * @return string */ - private function getPrefixedFile(string $extension, string $prefix = null) + public function getPrefixedFile(string $extension, string $prefix = null) { $fileName = rtrim($this->fileName, '.'); if (!is_null($prefix)) { From 263a07e5b0553e0b0c5b50a58682ad50f3455779 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 29 Aug 2022 17:12:57 +0300 Subject: [PATCH 168/229] typo --- ext/opcache/tests/opt/assign_obj_001.phpt | 2 +- ext/opcache/tests/opt/assign_op_001.phpt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/opcache/tests/opt/assign_obj_001.phpt b/ext/opcache/tests/opt/assign_obj_001.phpt index efb473ddaa940..205f111233e86 100644 --- a/ext/opcache/tests/opt/assign_obj_001.phpt +++ b/ext/opcache/tests/opt/assign_obj_001.phpt @@ -1,5 +1,5 @@ --TEST-- -ASSIGN_OP 001: Incrrect optimization of ASSIGN_OBJ may lead to memory leak +ASSIGN_OP 001: Incorrect optimization of ASSIGN_OBJ may lead to memory leak --INI-- opcache.enable=1 opcache.enable_cli=1 diff --git a/ext/opcache/tests/opt/assign_op_001.phpt b/ext/opcache/tests/opt/assign_op_001.phpt index b9db4202b46c0..7ac23d71c0d17 100644 --- a/ext/opcache/tests/opt/assign_op_001.phpt +++ b/ext/opcache/tests/opt/assign_op_001.phpt @@ -1,5 +1,5 @@ --TEST-- -ASSIGN_OP 001: Incrrect optimization of ASSIGN_OP may lead to memory leak +ASSIGN_OP 001: Incorrect optimization of ASSIGN_OP may lead to memory leak --INI-- opcache.enable=1 opcache.enable_cli=1 From bcdd9877e11eb056dad017700caa5e3b53a31060 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Mon, 29 Aug 2022 16:40:31 +0100 Subject: [PATCH 169/229] Fix GH-8885 tests on MacOS --- .../tests/bug8885-stderr-fd-reload-usr1.phpt | 92 ------------------- .../tests/bug8885-stderr-fd-reload-usr2.phpt | 92 ------------------- 2 files changed, 184 deletions(-) delete mode 100644 sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt delete mode 100644 sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt diff --git a/sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt b/sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt deleted file mode 100644 index 37524a4bafec2..0000000000000 --- a/sapi/fpm/tests/bug8885-stderr-fd-reload-usr1.phpt +++ /dev/null @@ -1,92 +0,0 @@ ---TEST-- -FPM: bug8885 - access.log with stderr begins to write logs to error_log after daemon reload (GH-8885) ---SKIPIF-- - ---FILE-- - true]); -// getPrefixedFile('err.log') is the same path that returns processTemplate('{{FILE:LOG}}') -$errorLogFile = $tester->getPrefixedFile('err.log'); - -$tester->start(); -$tester->expectNoLogMessages(); - -$content = file_get_contents($errorLogFile); -assert($content !== false && strlen($content) > 0, 'File must not be empty'); - -$errorLogLines = explode("\n", $content); -array_pop($errorLogLines); - -assert(count($errorLogLines) === 2, 'Expected 2 records in the error_log file'); -assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); -assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); - -$tester->ping('{{ADDR}}'); -$stderrLines = $tester->getLogLines(-1); -assert(count($stderrLines) === 1, 'Expected 1 record in the stderr output (access.log)'); -$stderrLine = $stderrLines[0]; -assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLine), 'Incorrect format of access.log record'); - -$tester->signal('USR1'); -$tester->expectNoLogMessages(); - -$content = file_get_contents($errorLogFile); -assert($content !== false && strlen($content) > 0, 'File must not be empty'); -$errorLogLines = explode("\n", $content); -array_pop($errorLogLines); - -assert(count($errorLogLines) >= 4, 'Expected at least 4 records in the error_log file'); -assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); -assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); -assert(strpos($errorLogLines[2], 'NOTICE: error log file re-opened')); -assert(strpos($errorLogLines[3], 'NOTICE: access log file re-opened')); - - -$tester->ping('{{ADDR}}'); -$stderrLines = $tester->getLogLines(-1); -assert(count($stderrLines) === 1, 'Must be only 1 record in the access.log'); -assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLines[0]), 'Incorrect format of access.log record'); - -$tester->terminate(); -$stderrLines = $tester->expectNoLogMessages(); - -$content = file_get_contents($errorLogFile); -assert($content !== false && strlen($content) > 0, 'File must not be empty'); -$errorLogLines = explode("\n", $content); -array_pop($errorLogLines); -$errorLogLastLine = array_pop($errorLogLines); -assert(strpos($errorLogLastLine, 'NOTICE: exiting, bye-bye')); - -$tester->close(); -?> -Done ---EXPECT-- -Done ---CLEAN-- - diff --git a/sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt b/sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt deleted file mode 100644 index 16aea8afb828c..0000000000000 --- a/sapi/fpm/tests/bug8885-stderr-fd-reload-usr2.phpt +++ /dev/null @@ -1,92 +0,0 @@ ---TEST-- -FPM: bug8885 - access.log with stderr begins to write logs to error_log after daemon reload (GH-8885) ---SKIPIF-- - ---FILE-- - true]); -// getPrefixedFile('err.log') is the same path that returns processTemplate('{{FILE:LOG}}') -$errorLogFile = $tester->getPrefixedFile('err.log'); - -$tester->start(); -$tester->expectNoLogMessages(); - -$content = file_get_contents($errorLogFile); -assert($content !== false && strlen($content) > 0, 'File must not be empty'); - -$errorLogLines = explode("\n", $content); -array_pop($errorLogLines); - -assert(count($errorLogLines) === 2, 'Expected 2 records in the error_log file'); -assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); -assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); - -$tester->ping('{{ADDR}}'); -$stderrLines = $tester->getLogLines(-1); -assert(count($stderrLines) === 1, 'Expected 1 record in the stderr output (access.log)'); -$stderrLine = $stderrLines[0]; -assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLine), 'Incorrect format of access.log record'); - -$tester->signal('USR2'); -$tester->expectLogNotice('using inherited socket fd=\d+, "127.0.0.1:\d+"'); - -$content = file_get_contents($errorLogFile); -assert($content !== false && strlen($content) > 0, 'File must not be empty'); -$errorLogLines = explode("\n", $content); -array_pop($errorLogLines); - -assert(count($errorLogLines) >= 5, 'Expected at least 5 records in the error_log file'); -assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); -assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); -assert(strpos($errorLogLines[2], 'NOTICE: Reloading in progress')); -assert(strpos($errorLogLines[3], 'NOTICE: reloading: execvp')); -assert(strpos($errorLogLines[4], 'NOTICE: using inherited socket')); - -$tester->ping('{{ADDR}}'); -$stderrLines = $tester->getLogLines(-1); -assert(count($stderrLines) === 1, 'Must be only 1 record in the access.log'); -assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLines[0]), 'Incorrect format of access.log record'); - -$tester->terminate(); -$stderrLines = $tester->expectNoLogMessages(); - -$content = file_get_contents($errorLogFile); -assert($content !== false && strlen($content) > 0, 'File must not be empty'); -$errorLogLines = explode("\n", $content); -array_pop($errorLogLines); -$errorLogLastLine = array_pop($errorLogLines); -assert(strpos($errorLogLastLine, 'NOTICE: exiting, bye-bye')); - -$tester->close(); -?> -Done ---EXPECT-- -Done ---CLEAN-- - From 986e7319c54365e9758feaea9d590e215e3c306b Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Mon, 29 Aug 2022 16:42:01 +0100 Subject: [PATCH 170/229] Re-add fixed tests for GH-8885 --- .../tests/gh8885-stderr-fd-reload-usr1.phpt | 92 +++++++++++++++++++ .../tests/gh8885-stderr-fd-reload-usr2.phpt | 92 +++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 sapi/fpm/tests/gh8885-stderr-fd-reload-usr1.phpt create mode 100644 sapi/fpm/tests/gh8885-stderr-fd-reload-usr2.phpt diff --git a/sapi/fpm/tests/gh8885-stderr-fd-reload-usr1.phpt b/sapi/fpm/tests/gh8885-stderr-fd-reload-usr1.phpt new file mode 100644 index 0000000000000..4ff8d0660936e --- /dev/null +++ b/sapi/fpm/tests/gh8885-stderr-fd-reload-usr1.phpt @@ -0,0 +1,92 @@ +--TEST-- +FPM: GH-8885 - access.log with stderr begins to write logs to error_log after daemon reload +--SKIPIF-- + +--FILE-- + true]); +// getPrefixedFile('err.log') is the same path that returns processTemplate('{{FILE:LOG}}') +$errorLogFile = $tester->getPrefixedFile('err.log'); + +$tester->start(); +$tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); + +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) === 2, 'Expected 2 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Expected 1 record in the stderr output (access.log)'); +$stderrLine = $stderrLines[0]; +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLine), 'Incorrect format of access.log record'); + +$tester->signal('USR1'); +$tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) >= 4, 'Expected at least 4 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); +assert(strpos($errorLogLines[2], 'NOTICE: error log file re-opened')); +assert(strpos($errorLogLines[3], 'NOTICE: access log file re-opened')); + + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Must be only 1 record in the access.log'); +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLines[0]), 'Incorrect format of access.log record'); + +$tester->terminate(); +$stderrLines = $tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); +$errorLogLastLine = array_pop($errorLogLines); +assert(strpos($errorLogLastLine, 'NOTICE: exiting, bye-bye')); + +$tester->close(); +?> +Done +--EXPECT-- +Done +--CLEAN-- + diff --git a/sapi/fpm/tests/gh8885-stderr-fd-reload-usr2.phpt b/sapi/fpm/tests/gh8885-stderr-fd-reload-usr2.phpt new file mode 100644 index 0000000000000..68d9f6fa68b64 --- /dev/null +++ b/sapi/fpm/tests/gh8885-stderr-fd-reload-usr2.phpt @@ -0,0 +1,92 @@ +--TEST-- +FPM: GH-8885 - access.log with stderr begins to write logs to error_log after daemon reload +--SKIPIF-- + +--FILE-- + true]); +// getPrefixedFile('err.log') is the same path that returns processTemplate('{{FILE:LOG}}') +$errorLogFile = $tester->getPrefixedFile('err.log'); + +$tester->start(); +$tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); + +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) === 2, 'Expected 2 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Expected 1 record in the stderr output (access.log)'); +$stderrLine = $stderrLines[0]; +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLine), 'Incorrect format of access.log record'); + +$tester->signal('USR2'); +$tester->expectLogNotice('using inherited socket fd=\d+, "127.0.0.1:\d+"'); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); + +assert(count($errorLogLines) >= 5, 'Expected at least 5 records in the error_log file'); +assert(strpos($errorLogLines[0], 'NOTICE: fpm is running, pid')); +assert(strpos($errorLogLines[1], 'NOTICE: ready to handle connections')); +assert(strpos($errorLogLines[2], 'NOTICE: Reloading in progress')); +assert(strpos($errorLogLines[3], 'NOTICE: reloading: execvp')); +assert(strpos($errorLogLines[4], 'NOTICE: using inherited socket')); + +$tester->ping('{{ADDR}}'); +$stderrLines = $tester->getLogLines(-1); +assert(count($stderrLines) === 1, 'Must be only 1 record in the access.log'); +assert(preg_match('/127.0.0.1 .* "GET \/ping" 200$/', $stderrLines[0]), 'Incorrect format of access.log record'); + +$tester->terminate(); +$stderrLines = $tester->expectNoLogMessages(); + +$content = file_get_contents($errorLogFile); +assert($content !== false && strlen($content) > 0, 'File must not be empty'); +$errorLogLines = explode("\n", $content); +array_pop($errorLogLines); +$errorLogLastLine = array_pop($errorLogLines); +assert(strpos($errorLogLastLine, 'NOTICE: exiting, bye-bye')); + +$tester->close(); +?> +Done +--EXPECT-- +Done +--CLEAN-- + From f3a14d1b1ad6cd60570b264f913536c4b28bc10f Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Tue, 23 Aug 2022 19:11:28 +0200 Subject: [PATCH 171/229] Fix GH-9347: Current ODBC liveness checks may be inadequate We implement SQL_ATTR_CONNECTION_DEAD for ODBC and PDO_ODBC. This is semantically appropriate and should be used whenever the driver supports it. In the event that it fails or says the connection isn't dead (which may be inaccurate in some cases), try the old heuristic. Closes GH-9353. --- NEWS | 8 ++++++++ ext/odbc/php_odbc.c | 13 +++++++++++++ ext/pdo_odbc/odbc_driver.c | 12 ++++++++++-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 9e988f903a5a1..d499246c542a3 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,10 @@ PHP NEWS . Fixed bug GH-9431 (DateTime::getLastErrors() not returning false when no errors/warnings). (Derick) +- ODBC: + . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin + Buckley) + - Opcache: . Fixed bug GH-9371 (Crash with JIT on mac arm64) (jdp1024/David Carlier) @@ -32,6 +36,10 @@ PHP NEWS AEAD). (Jakub Zelenka) . Added openssl_cipher_key_length function. (Jakub Zelenka) +- PDO_ODBC: + . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin + Buckley) + - Random: . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 always returns 1). (timwolla) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 3a821a35ea38c..5e0945e0a43de 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -2246,7 +2246,20 @@ void odbc_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) RETCODE ret; UCHAR d_name[32]; SQLSMALLINT len; + SQLUINTEGER dead = SQL_CD_FALSE; + ret = SQLGetConnectAttr(db_conn->hdbc, + SQL_ATTR_CONNECTION_DEAD, + &dead, 0, NULL); + if (ret == SQL_SUCCESS && dead == SQL_CD_TRUE) { + /* Bail early here, since we know it's gone */ + zend_hash_str_del(&EG(persistent_list), hashed_details, hashed_len); + goto try_and_get_another_connection; + } + /* If the driver doesn't support it, or returns + * false (could be a false positive), fall back + * to the old heuristic. + */ ret = SQLGetInfo(db_conn->hdbc, SQL_DATA_SOURCE_READ_ONLY, d_name, sizeof(d_name), &len); diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c index 308cf7e10c94d..661cab3c04f8c 100644 --- a/ext/pdo_odbc/odbc_driver.c +++ b/ext/pdo_odbc/odbc_driver.c @@ -396,11 +396,19 @@ static zend_result odbc_handle_check_liveness(pdo_dbh_t *dbh) RETCODE ret; UCHAR d_name[32]; SQLSMALLINT len; + SQLUINTEGER dead = SQL_CD_FALSE; pdo_odbc_db_handle *H = (pdo_odbc_db_handle *)dbh->driver_data; + ret = SQLGetConnectAttr(H->dbc, SQL_ATTR_CONNECTION_DEAD, &dead, 0, NULL); + if (ret == SQL_SUCCESS && dead == SQL_CD_TRUE) { + /* Bail early here, since we know it's gone */ + return FAILURE; + } /* - * SQL_ATTR_CONNECTION_DEAD is tempting, but only in ODBC 3.5, - * and not all drivers implement it properly + * If the driver doesn't support SQL_ATTR_CONNECTION_DEAD, or if + * it returns false (which could be a false positive), fall back + * to using SQL_DATA_SOURCE_READ_ONLY, which isn't semantically + * correct, but works with many drivers. */ ret = SQLGetInfo(H->dbc, SQL_DATA_SOURCE_READ_ONLY, d_name, sizeof(d_name), &len); From 3503b1daa265777588b3219b82219a0056675ca0 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 26 Jun 2022 15:34:33 +0100 Subject: [PATCH 172/229] Fix bug #77780: "Headers already sent" when previous connection was aborted This change primarily splits SAPI deactivation to module and destroy parts. The reason is that currently some SAPIs might bail out on deactivation. One of those SAPI is PHP-FPM that can bail out on request end if for example the connection is closed by the client (web sever). The problem is that in such case the resources are not freed and some values reset. The most visible impact can have not resetting the PG(headers_sent) which can cause erorrs in the next request. One such issue is described in #77780 bug which this fixes and is also cover by a test in this commit. It seems reasonable to separate deactivation and destroying of the resource which means that the bail out will not impact it. --- NEWS | 2 + main/SAPI.c | 12 ++++- main/SAPI.h | 2 + main/main.c | 6 ++- .../fpm/tests/bug77780-header-sent-error.phpt | 54 +++++++++++++++++++ sapi/fpm/tests/fcgi.inc | 25 ++++++--- sapi/fpm/tests/response.inc | 18 +++++-- sapi/fpm/tests/tester.inc | 18 +++++-- 8 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 sapi/fpm/tests/bug77780-header-sent-error.phpt diff --git a/NEWS b/NEWS index 2c5c1c5a841ba..81762e523fe64 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,8 @@ PHP NEWS - FPM: . Fixed bug GH-8885 (FPM access.log with stderr begins to write logs to error_log after daemon reload). (Dmitry Menshikov) + . Fixed bug #77780 ("Headers already sent..." when previous connection was + aborted). (Jakub Zelenka) - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). diff --git a/main/SAPI.c b/main/SAPI.c index 0a7f219e847e5..eea417cedcc38 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -485,7 +485,7 @@ static void sapi_send_headers_free(void) } } -SAPI_API void sapi_deactivate(void) +SAPI_API void sapi_deactivate_module(void) { zend_llist_destroy(&SG(sapi_headers).headers); if (SG(request_info).request_body) { @@ -519,6 +519,10 @@ SAPI_API void sapi_deactivate(void) if (sapi_module.deactivate) { sapi_module.deactivate(); } +} + +SAPI_API void sapi_deactivate_destroy(void) +{ if (SG(rfc1867_uploaded_files)) { destroy_uploaded_files_hash(); } @@ -533,6 +537,12 @@ SAPI_API void sapi_deactivate(void) SG(global_request_time) = 0; } +SAPI_API void sapi_deactivate(void) +{ + sapi_deactivate_module(); + sapi_deactivate_destroy(); +} + SAPI_API void sapi_initialize_empty_request(void) { diff --git a/main/SAPI.h b/main/SAPI.h index b0d2928369fc0..0f9e896683a85 100644 --- a/main/SAPI.h +++ b/main/SAPI.h @@ -143,6 +143,8 @@ extern SAPI_API sapi_globals_struct sapi_globals; SAPI_API void sapi_startup(sapi_module_struct *sf); SAPI_API void sapi_shutdown(void); SAPI_API void sapi_activate(void); +SAPI_API void sapi_deactivate_module(void); +SAPI_API void sapi_deactivate_destroy(void); SAPI_API void sapi_deactivate(void); SAPI_API void sapi_initialize_empty_request(void); SAPI_API void sapi_add_request_header(const char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg); diff --git a/main/main.c b/main/main.c index 9772d8fd760a6..40684f32dc146 100644 --- a/main/main.c +++ b/main/main.c @@ -1860,10 +1860,12 @@ void php_request_shutdown(void *dummy) zend_post_deactivate_modules(); } zend_end_try(); - /* 12. SAPI related shutdown (free stuff) */ + /* 12. SAPI related shutdown*/ zend_try { - sapi_deactivate(); + sapi_deactivate_module(); } zend_end_try(); + /* free SAPI stuff */ + sapi_deactivate_destroy(); /* 13. free virtual CWD memory */ virtual_cwd_deactivate(); diff --git a/sapi/fpm/tests/bug77780-header-sent-error.phpt b/sapi/fpm/tests/bug77780-header-sent-error.phpt new file mode 100644 index 0000000000000..b5e76918547f1 --- /dev/null +++ b/sapi/fpm/tests/bug77780-header-sent-error.phpt @@ -0,0 +1,54 @@ +--TEST-- +FPM: bug77780 - Headers already sent error incorrectly emitted +--SKIPIF-- + +--EXTENSIONS-- +session +--FILE-- +start(); +$tester->expectLogStartNotices(); +$tester + ->request( + headers: [ + 'PHP_VALUE' => "session.cookie_secure=1", + ], + readLimit: 10, + expectError: true + ); +$tester->request( + headers: [ + 'PHP_VALUE' => "session.cookie_secure=1", + ] + ) + ->expectNoError(); +$tester->terminate(); +$tester->close(); + +?> +Done +--EXPECT-- +Done +--CLEAN-- + diff --git a/sapi/fpm/tests/fcgi.inc b/sapi/fpm/tests/fcgi.inc index d17a659dd9c02..7d236c1b03a5e 100644 --- a/sapi/fpm/tests/fcgi.inc +++ b/sapi/fpm/tests/fcgi.inc @@ -26,6 +26,7 @@ namespace Adoy\FastCGI; class TimedOutException extends \Exception {} class ForbiddenException extends \Exception {} +class ReadLimitExceeded extends \Exception {} /** * Handles communication with a FastCGI application @@ -404,16 +405,24 @@ class Client /** * Read a FastCGI Packet * + * @param int $readLimit max content size * @return array + * @throws ReadLimitExceeded */ - private function readPacket() + private function readPacket($readLimit = -1) { if ($packet = fread($this->_sock, self::HEADER_LEN)) { $resp = $this->decodePacketHeader($packet); $resp['content'] = ''; if ($resp['contentLength']) { - $len = $resp['contentLength']; - while ($len && $buf=fread($this->_sock, $len)) { + $len = $resp['contentLength']; + if ($readLimit >= 0 && $len > $readLimit) { + // close connection so it can be re-set reset and throw an error + fclose($this->_sock); + $this->_sock = null; + throw new ReadLimitExceeded("Content has $len bytes but the limit is $readLimit bytes"); + } + while ($len && $buf = fread($this->_sock, $len)) { $len -= strlen($buf); $resp['content'] .= $buf; } @@ -473,15 +482,16 @@ class Client * * @param array $params Array of parameters * @param string $stdin Content + * @param int $readLimit [optional] the number of bytes to accept in a single packet or -1 if unlimited * @return array * @throws ForbiddenException * @throws TimedOutException * @throws \Exception */ - public function request_data(array $params, $stdin) + public function request_data(array $params, $stdin, $readLimit = -1) { $id = $this->async_request($params, $stdin); - return $this->wait_for_response_data($id); + return $this->wait_for_response_data($id, 0, $readLimit); } /** @@ -579,12 +589,13 @@ class Client * * @param int $requestId * @param int $timeoutMs [optional] the number of milliseconds to wait. + * @param int $readLimit [optional] the number of bytes to accept in a single packet or -1 if unlimited * @return array response data * @throws ForbiddenException * @throws TimedOutException * @throws \Exception */ - public function wait_for_response_data($requestId, $timeoutMs = 0) + public function wait_for_response_data($requestId, $timeoutMs = 0, $readLimit = -1) { if (!isset($this->_requests[$requestId])) { throw new \Exception('Invalid request id given'); @@ -608,7 +619,7 @@ class Client // but still not get the response requested $startTime = microtime(true); - while ($resp = $this->readPacket()) { + while ($resp = $this->readPacket($readLimit)) { if ($resp['type'] == self::STDOUT || $resp['type'] == self::STDERR) { if ($resp['type'] == self::STDERR) { $this->_requests[$resp['requestId']]['state'] = self::REQ_STATE_ERR; diff --git a/sapi/fpm/tests/response.inc b/sapi/fpm/tests/response.inc index b531feacdca7e..1d0783b66ec35 100644 --- a/sapi/fpm/tests/response.inc +++ b/sapi/fpm/tests/response.inc @@ -111,21 +111,31 @@ class Response } /** - * @param string $errorMessage + * @param string|null $errorMessage * @return Response */ public function expectError($errorMessage) { $errorData = $this->getErrorData(); if ($errorData !== $errorMessage) { - $this->error( - "The expected error message '$errorMessage' is not equal to returned error '$errorData'" - ); + $expectedErrorMessage = $errorMessage !== null + ? "The expected error message '$errorMessage' is not equal to returned error '$errorData'" + : "No error message expected but received '$errorData'"; + $this->error($expectedErrorMessage); } return $this; } + /** + * @param string $errorMessage + * @return Response + */ + public function expectNoError() + { + return $this->expectError(null); + } + /** * @param string $contentType * @return string|null diff --git a/sapi/fpm/tests/tester.inc b/sapi/fpm/tests/tester.inc index 155bc234a8b74..dce81bfeb76f9 100644 --- a/sapi/fpm/tests/tester.inc +++ b/sapi/fpm/tests/tester.inc @@ -593,6 +593,8 @@ class Tester * @param string|null $successMessage * @param string|null $errorMessage * @param bool $connKeepAlive + * @param bool $expectError + * @param int $readLimit * @return Response */ public function request( @@ -602,7 +604,9 @@ class Tester string $address = null, string $successMessage = null, string $errorMessage = null, - bool $connKeepAlive = false + bool $connKeepAlive = false, + bool $expectError = false, + int $readLimit = -1, ) { if ($this->hasError()) { return new Response(null, true); @@ -612,11 +616,17 @@ class Tester try { $this->response = new Response( - $this->getClient($address, $connKeepAlive)->request_data($params, false) + $this->getClient($address, $connKeepAlive)->request_data($params, false, $readLimit) ); - $this->message($successMessage); + if ($expectError) { + $this->error('Expected request error but the request was successful'); + } else { + $this->message($successMessage); + } } catch (\Exception $exception) { - if ($errorMessage === null) { + if ($expectError) { + $this->message($successMessage); + } elseif ($errorMessage === null) { $this->error("Request failed", $exception); } else { $this->message($errorMessage); From e3034dba3e7fd1cd571e2f49336d245e6fd554af Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Mon, 29 Aug 2022 22:44:53 +0100 Subject: [PATCH 173/229] Fix FPM tester conflict --- sapi/fpm/tests/tester.inc | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/sapi/fpm/tests/tester.inc b/sapi/fpm/tests/tester.inc index 8f2e9f7b1899b..71bafcb3bb607 100644 --- a/sapi/fpm/tests/tester.inc +++ b/sapi/fpm/tests/tester.inc @@ -619,12 +619,9 @@ class Tester string $errorMessage = null, bool $connKeepAlive = false, string $scriptFilename = null, -<<<<<<< HEAD - string $stdin = null -======= + string $stdin = null, bool $expectError = false, int $readLimit = -1, ->>>>>>> PHP-8.1 ) { if ($this->hasError()) { return new Response(null, true); @@ -634,11 +631,7 @@ class Tester try { $this->response = new Response( -<<<<<<< HEAD - $this->getClient($address, $connKeepAlive)->request_data($params, $stdin) -======= - $this->getClient($address, $connKeepAlive)->request_data($params, false, $readLimit) ->>>>>>> PHP-8.1 + $this->getClient($address, $connKeepAlive)->request_data($params, $stdin, $readLimit) ); if ($expectError) { $this->error('Expected request error but the request was successful'); From f7d42f646baf0f77bde4ed52aed3efb9b0ebc11a Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Tue, 23 Aug 2022 13:46:44 +0200 Subject: [PATCH 174/229] Update gen_stub to avoid compile errors on duplicate function names Closes GH-9406 --- UPGRADING.INTERNALS | 5 ++++ build/gen_stub.php | 49 ++++++++++++++++++++---------------- ext/zend_test/test.c | 38 +++++++++++++++++++++++++++- ext/zend_test/test.stub.php | 35 ++++++++++++++++++++++++++ ext/zend_test/test_arginfo.h | 44 ++++++++++++++++++++++++++++---- 5 files changed, 144 insertions(+), 27 deletions(-) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 8d39d01e3453b..6b5fe08f7e5dd 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -63,6 +63,11 @@ PHP 8.2 INTERNALS UPGRADE NOTES ======================== * Unsupported libxml2 2.10.0 symbols are no longer exported on Windows. +* Identifier names for namespaced functions generated from stub files through + gen_stub.php have been changed. This requires that namespaced functions + should be declared via the PHP_FUNCTION macro by using the fully qualified + function name (whereas each part is separated by "_") instead of just the + function name itself. ======================== 3. Module changes diff --git a/build/gen_stub.php b/build/gen_stub.php index 1aadd2cdda216..6b1556d735196 100755 --- a/build/gen_stub.php +++ b/build/gen_stub.php @@ -1037,6 +1037,10 @@ public function getNonNamespacedName(): string { } public function getDeclarationName(): string { + return implode('_', $this->name->parts); + } + + public function getFunctionName(): string { return $this->name->getLast(); } @@ -1380,39 +1384,42 @@ public function getFunctionEntry(): string { } } else if ($this->name instanceof FunctionName) { $namespace = $this->name->getNamespace(); - $declarationName = $this->name->getDeclarationName(); + $functionName = $this->name->getFunctionName(); + $declarationName = $this->alias ? $this->alias->getNonNamespacedName() : $this->name->getDeclarationName(); + + if ($namespace) { + // Namespaced functions are always declared as aliases to avoid name conflicts when two functions with + // the same name exist in separate namespaces + $macro = $this->isDeprecated ? 'ZEND_NS_DEP_FALIAS' : 'ZEND_NS_FALIAS'; - if ($this->alias && $this->isDeprecated) { + // Render A\B as "A\\B" in C strings for namespaces return sprintf( - "\tZEND_DEP_FALIAS(%s, %s, %s)\n", - $declarationName, $this->alias->getNonNamespacedName(), $this->getArgInfoName() + "\t%s(\"%s\", %s, %s, %s)\n", + $macro, addslashes($namespace), $this->name->getFunctionName(), $declarationName, $this->getArgInfoName() ); } if ($this->alias) { + $macro = $this->isDeprecated ? 'ZEND_DEP_FALIAS' : 'ZEND_FALIAS'; + return sprintf( - "\tZEND_FALIAS(%s, %s, %s)\n", - $declarationName, $this->alias->getNonNamespacedName(), $this->getArgInfoName() + "\t%s(%s, %s, %s)\n", + $macro, $functionName, $declarationName, $this->getArgInfoName() ); } - if ($this->isDeprecated) { - return sprintf( - "\tZEND_DEP_FE(%s, %s)\n", $declarationName, $this->getArgInfoName()); + switch (true) { + case $this->isDeprecated: + $macro = 'ZEND_DEP_FE'; + break; + case $this->supportsCompileTimeEval: + $macro = 'ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE'; + break; + default: + $macro = 'ZEND_FE'; } - if ($namespace) { - // Render A\B as "A\\B" in C strings for namespaces - return sprintf( - "\tZEND_NS_FE(\"%s\", %s, %s)\n", - addslashes($namespace), $declarationName, $this->getArgInfoName()); - } else { - if ($this->supportsCompileTimeEval) { - return sprintf( - "\tZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(%s, %s)\n", $declarationName, $this->getArgInfoName()); - } - return sprintf("\tZEND_FE(%s, %s)\n", $declarationName, $this->getArgInfoName()); - } + return sprintf("\t%s(%s, %s)\n", $macro, $functionName, $this->getArgInfoName()); } else { throw new Error("Cannot happen"); } diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c index 9852887ef74b1..815bc9cfc7b5d 100644 --- a/ext/zend_test/test.c +++ b/ext/zend_test/test.c @@ -95,6 +95,16 @@ static ZEND_FUNCTION(zend_test_deprecated) zend_parse_parameters(ZEND_NUM_ARGS(), "|z", &arg1); } +static ZEND_FUNCTION(zend_test_alias) +{ + ZEND_PARSE_PARAMETERS_NONE(); +} + +static ZEND_FUNCTION(zend_test_deprecated_alias) +{ + ZEND_PARSE_PARAMETERS_NONE(); +} + /* Create a string without terminating null byte. Must be terminated with * zend_terminate_string() before destruction, otherwise a warning is issued * in debug builds. */ @@ -415,12 +425,38 @@ static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity) } } -static ZEND_FUNCTION(namespaced_func) +static ZEND_FUNCTION(ZendTestNS2_namespaced_func) { ZEND_PARSE_PARAMETERS_NONE(); RETURN_TRUE; } +static ZEND_FUNCTION(ZendTestNS2_namespaced_deprecated_func) +{ + ZEND_PARSE_PARAMETERS_NONE(); +} + +static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_func) +{ + ZEND_PARSE_PARAMETERS_NONE(); + RETURN_TRUE; +} + +static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_deprecated_func) +{ + ZEND_PARSE_PARAMETERS_NONE(); +} + +static ZEND_FUNCTION(namespaced_alias_func) +{ + ZEND_PARSE_PARAMETERS_NONE(); +} + +static ZEND_FUNCTION(namespaced_deprecated_alias_func) +{ + ZEND_PARSE_PARAMETERS_NONE(); +} + static ZEND_FUNCTION(zend_test_parameter_with_attribute) { zend_string *parameter; diff --git a/ext/zend_test/test.stub.php b/ext/zend_test/test.stub.php index 45bbaedfc32ca..cc8f5249ef16f 100644 --- a/ext/zend_test/test.stub.php +++ b/ext/zend_test/test.stub.php @@ -109,6 +109,15 @@ function zend_test_compile_string(string $source_string, string $filename, int $ /** @deprecated */ function zend_test_deprecated(mixed $arg = null): void {} + /** @alias zend_test_alias */ + function zend_test_aliased(): void {} + + /** + * @deprecated + * @alias zend_test_deprecated_alias + */ + function zend_test_deprecated_aliased(): void {} + function zend_create_unterminated_string(string $str): string {} function zend_terminate_string(string &$str): void {} @@ -168,6 +177,20 @@ class Foo { public function method(): void {} } + function namespaced_func(): bool {} + + /** @deprecated */ + function namespaced_deprecated_func(): void {} + + /** @alias namespaced_alias_func */ + function namespaced_aliased_func(): void {} + + /** + * @deprecated + * @alias namespaced_deprecated_alias_func + */ + function namespaced_deprecated_aliased_func(): void {} + } namespace ZendTestNS2\ZendSubNS { @@ -178,4 +201,16 @@ public function method(): void {} function namespaced_func(): bool {} + /** @deprecated */ + function namespaced_deprecated_func(): void {} + + /** @alias namespaced_alias_func */ + function namespaced_aliased_func(): void {} + + /** + * @deprecated + * @alias namespaced_deprecated_alias_func + */ + function namespaced_deprecated_aliased_func(): void {} + } diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h index d3f4fe77f2b75..f393d77797897 100644 --- a/ext/zend_test/test_arginfo.h +++ b/ext/zend_test/test_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: daa7be53e9009c66c814fb5b0407a6dfbe09679a */ + * Stub hash: 0c3e4da20bf5b32e289a795e0beac649294e83f3 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -20,6 +20,10 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_deprecated, 0, 0, IS_V ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg, IS_MIXED, 0, "null") ZEND_END_ARG_INFO() +#define arginfo_zend_test_aliased arginfo_zend_test_void_return + +#define arginfo_zend_test_deprecated_aliased arginfo_zend_test_void_return + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_create_unterminated_string, 0, 1, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -91,9 +95,23 @@ ZEND_END_ARG_INFO() #define arginfo_zend_test_zend_ini_parse_uquantity arginfo_zend_test_zend_ini_parse_quantity -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ZendTestNS2_ZendSubNS_namespaced_func, 0, 0, _IS_BOOL, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ZendTestNS2_namespaced_func, 0, 0, _IS_BOOL, 0) ZEND_END_ARG_INFO() +#define arginfo_ZendTestNS2_namespaced_deprecated_func arginfo_zend_test_void_return + +#define arginfo_ZendTestNS2_namespaced_aliased_func arginfo_zend_test_void_return + +#define arginfo_ZendTestNS2_namespaced_deprecated_aliased_func arginfo_zend_test_void_return + +#define arginfo_ZendTestNS2_ZendSubNS_namespaced_func arginfo_ZendTestNS2_namespaced_func + +#define arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func arginfo_zend_test_void_return + +#define arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func arginfo_zend_test_void_return + +#define arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func arginfo_zend_test_void_return + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_is_object, 0, 0, IS_LONG, 0) ZEND_END_ARG_INFO() @@ -108,7 +126,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestChildClass_returnsThrowable, 0, 0, Exception, 0) ZEND_END_ARG_INFO() -#define arginfo_class__ZendTestTrait_testMethod arginfo_ZendTestNS2_ZendSubNS_namespaced_func +#define arginfo_class__ZendTestTrait_testMethod arginfo_ZendTestNS2_namespaced_func ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestParameterAttribute___construct, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0) @@ -144,6 +162,8 @@ static ZEND_FUNCTION(zend_test_nullable_array_return); static ZEND_FUNCTION(zend_test_void_return); static ZEND_FUNCTION(zend_test_compile_string); static ZEND_FUNCTION(zend_test_deprecated); +static ZEND_FUNCTION(zend_test_alias); +static ZEND_FUNCTION(zend_test_deprecated_alias); static ZEND_FUNCTION(zend_create_unterminated_string); static ZEND_FUNCTION(zend_terminate_string); static ZEND_FUNCTION(zend_leak_variable); @@ -162,7 +182,12 @@ static ZEND_FUNCTION(zend_get_current_func_name); static ZEND_FUNCTION(zend_call_method); static ZEND_FUNCTION(zend_test_zend_ini_parse_quantity); static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity); -static ZEND_FUNCTION(namespaced_func); +static ZEND_FUNCTION(ZendTestNS2_namespaced_func); +static ZEND_FUNCTION(ZendTestNS2_namespaced_deprecated_func); +static ZEND_FUNCTION(namespaced_alias_func); +static ZEND_FUNCTION(namespaced_deprecated_alias_func); +static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_func); +static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_deprecated_func); static ZEND_METHOD(_ZendTestClass, is_object); static ZEND_METHOD(_ZendTestClass, __toString); static ZEND_METHOD(_ZendTestClass, returnsStatic); @@ -187,6 +212,8 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return) ZEND_FE(zend_test_compile_string, arginfo_zend_test_compile_string) ZEND_DEP_FE(zend_test_deprecated, arginfo_zend_test_deprecated) + ZEND_FALIAS(zend_test_aliased, zend_test_alias, arginfo_zend_test_aliased) + ZEND_DEP_FALIAS(zend_test_deprecated_aliased, zend_test_deprecated_alias, arginfo_zend_test_deprecated_aliased) ZEND_FE(zend_create_unterminated_string, arginfo_zend_create_unterminated_string) ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string) ZEND_FE(zend_leak_variable, arginfo_zend_leak_variable) @@ -205,7 +232,14 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(zend_call_method, arginfo_zend_call_method) ZEND_FE(zend_test_zend_ini_parse_quantity, arginfo_zend_test_zend_ini_parse_quantity) ZEND_FE(zend_test_zend_ini_parse_uquantity, arginfo_zend_test_zend_ini_parse_uquantity) - ZEND_NS_FE("ZendTestNS2\\ZendSubNS", namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func) + ZEND_NS_FALIAS("ZendTestNS2", namespaced_func, ZendTestNS2_namespaced_func, arginfo_ZendTestNS2_namespaced_func) + ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_func, ZendTestNS2_namespaced_deprecated_func, arginfo_ZendTestNS2_namespaced_deprecated_func) + ZEND_NS_FALIAS("ZendTestNS2", namespaced_aliased_func, namespaced_alias_func, arginfo_ZendTestNS2_namespaced_aliased_func) + ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_aliased_func, namespaced_deprecated_alias_func, arginfo_ZendTestNS2_namespaced_deprecated_aliased_func) + ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_func, ZendTestNS2_ZendSubNS_namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func) + ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_func, ZendTestNS2_ZendSubNS_namespaced_deprecated_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func) + ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_aliased_func, namespaced_alias_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func) + ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_aliased_func, namespaced_deprecated_alias_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func) ZEND_FE_END }; From ef21bbe66cdeb0cd829a9cea99c07c9c2c071b0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 30 Aug 2022 11:48:12 +0200 Subject: [PATCH 175/229] Fix zend/test aliases --- ext/zend_test/test.stub.php | 15 ++++++--------- ext/zend_test/test_arginfo.h | 18 +++++++----------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/ext/zend_test/test.stub.php b/ext/zend_test/test.stub.php index cc8f5249ef16f..fa5470a2da9fb 100644 --- a/ext/zend_test/test.stub.php +++ b/ext/zend_test/test.stub.php @@ -5,7 +5,6 @@ * @generate-legacy-arginfo 80000 */ namespace { - /** * @var int * @deprecated @@ -109,12 +108,12 @@ function zend_test_compile_string(string $source_string, string $filename, int $ /** @deprecated */ function zend_test_deprecated(mixed $arg = null): void {} - /** @alias zend_test_alias */ + /** @alias zend_test_void_return */ function zend_test_aliased(): void {} /** * @deprecated - * @alias zend_test_deprecated_alias + * @alias zend_test_void_return */ function zend_test_deprecated_aliased(): void {} @@ -182,15 +181,14 @@ function namespaced_func(): bool {} /** @deprecated */ function namespaced_deprecated_func(): void {} - /** @alias namespaced_alias_func */ + /** @alias zend_test_void_return */ function namespaced_aliased_func(): void {} /** * @deprecated - * @alias namespaced_deprecated_alias_func + * @alias zend_test_void_return */ function namespaced_deprecated_aliased_func(): void {} - } namespace ZendTestNS2\ZendSubNS { @@ -204,13 +202,12 @@ function namespaced_func(): bool {} /** @deprecated */ function namespaced_deprecated_func(): void {} - /** @alias namespaced_alias_func */ + /** @alias zend_test_void_return */ function namespaced_aliased_func(): void {} /** * @deprecated - * @alias namespaced_deprecated_alias_func + * @alias zend_test_void_return */ function namespaced_deprecated_aliased_func(): void {} - } diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h index f393d77797897..19115689c7228 100644 --- a/ext/zend_test/test_arginfo.h +++ b/ext/zend_test/test_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 0c3e4da20bf5b32e289a795e0beac649294e83f3 */ + * Stub hash: da3c0e9e8fbf51669ed6f1584b914f80c9dd0d3f */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -162,8 +162,6 @@ static ZEND_FUNCTION(zend_test_nullable_array_return); static ZEND_FUNCTION(zend_test_void_return); static ZEND_FUNCTION(zend_test_compile_string); static ZEND_FUNCTION(zend_test_deprecated); -static ZEND_FUNCTION(zend_test_alias); -static ZEND_FUNCTION(zend_test_deprecated_alias); static ZEND_FUNCTION(zend_create_unterminated_string); static ZEND_FUNCTION(zend_terminate_string); static ZEND_FUNCTION(zend_leak_variable); @@ -184,8 +182,6 @@ static ZEND_FUNCTION(zend_test_zend_ini_parse_quantity); static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity); static ZEND_FUNCTION(ZendTestNS2_namespaced_func); static ZEND_FUNCTION(ZendTestNS2_namespaced_deprecated_func); -static ZEND_FUNCTION(namespaced_alias_func); -static ZEND_FUNCTION(namespaced_deprecated_alias_func); static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_func); static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_deprecated_func); static ZEND_METHOD(_ZendTestClass, is_object); @@ -212,8 +208,8 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return) ZEND_FE(zend_test_compile_string, arginfo_zend_test_compile_string) ZEND_DEP_FE(zend_test_deprecated, arginfo_zend_test_deprecated) - ZEND_FALIAS(zend_test_aliased, zend_test_alias, arginfo_zend_test_aliased) - ZEND_DEP_FALIAS(zend_test_deprecated_aliased, zend_test_deprecated_alias, arginfo_zend_test_deprecated_aliased) + ZEND_FALIAS(zend_test_aliased, zend_test_void_return, arginfo_zend_test_aliased) + ZEND_DEP_FALIAS(zend_test_deprecated_aliased, zend_test_void_return, arginfo_zend_test_deprecated_aliased) ZEND_FE(zend_create_unterminated_string, arginfo_zend_create_unterminated_string) ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string) ZEND_FE(zend_leak_variable, arginfo_zend_leak_variable) @@ -234,12 +230,12 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(zend_test_zend_ini_parse_uquantity, arginfo_zend_test_zend_ini_parse_uquantity) ZEND_NS_FALIAS("ZendTestNS2", namespaced_func, ZendTestNS2_namespaced_func, arginfo_ZendTestNS2_namespaced_func) ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_func, ZendTestNS2_namespaced_deprecated_func, arginfo_ZendTestNS2_namespaced_deprecated_func) - ZEND_NS_FALIAS("ZendTestNS2", namespaced_aliased_func, namespaced_alias_func, arginfo_ZendTestNS2_namespaced_aliased_func) - ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_aliased_func, namespaced_deprecated_alias_func, arginfo_ZendTestNS2_namespaced_deprecated_aliased_func) + ZEND_NS_FALIAS("ZendTestNS2", namespaced_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_namespaced_aliased_func) + ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_namespaced_deprecated_aliased_func) ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_func, ZendTestNS2_ZendSubNS_namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func) ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_func, ZendTestNS2_ZendSubNS_namespaced_deprecated_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func) - ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_aliased_func, namespaced_alias_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func) - ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_aliased_func, namespaced_deprecated_alias_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func) + ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func) + ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func) ZEND_FE_END }; From 869ab3c4816b30d1a89890a5aa688c1d5baa0994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 30 Aug 2022 11:56:29 +0200 Subject: [PATCH 176/229] Adjust PHPDoc --- ext/zend_test/test.stub.php | 12 ++++++------ ext/zend_test/test_arginfo.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ext/zend_test/test.stub.php b/ext/zend_test/test.stub.php index fa5470a2da9fb..1f60a047f0d29 100644 --- a/ext/zend_test/test.stub.php +++ b/ext/zend_test/test.stub.php @@ -185,9 +185,9 @@ function namespaced_deprecated_func(): void {} function namespaced_aliased_func(): void {} /** - * @deprecated - * @alias zend_test_void_return - */ + * @deprecated + * @alias zend_test_void_return + */ function namespaced_deprecated_aliased_func(): void {} } @@ -206,8 +206,8 @@ function namespaced_deprecated_func(): void {} function namespaced_aliased_func(): void {} /** - * @deprecated - * @alias zend_test_void_return - */ + * @deprecated + * @alias zend_test_void_return + */ function namespaced_deprecated_aliased_func(): void {} } diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h index 19115689c7228..52c784b61e28f 100644 --- a/ext/zend_test/test_arginfo.h +++ b/ext/zend_test/test_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: da3c0e9e8fbf51669ed6f1584b914f80c9dd0d3f */ + * Stub hash: 42a9cfb3fb78beb59d251712e9dab24364bf1c1c */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0) ZEND_END_ARG_INFO() From 8d78dce902d2ba05d937800171cc7ad3ae8ac960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 30 Aug 2022 11:57:29 +0200 Subject: [PATCH 177/229] Remove unused ext/zend_test alias functions --- ext/zend_test/test.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c index 815bc9cfc7b5d..a4a6ba07fc444 100644 --- a/ext/zend_test/test.c +++ b/ext/zend_test/test.c @@ -95,16 +95,6 @@ static ZEND_FUNCTION(zend_test_deprecated) zend_parse_parameters(ZEND_NUM_ARGS(), "|z", &arg1); } -static ZEND_FUNCTION(zend_test_alias) -{ - ZEND_PARSE_PARAMETERS_NONE(); -} - -static ZEND_FUNCTION(zend_test_deprecated_alias) -{ - ZEND_PARSE_PARAMETERS_NONE(); -} - /* Create a string without terminating null byte. Must be terminated with * zend_terminate_string() before destruction, otherwise a warning is issued * in debug builds. */ @@ -447,16 +437,6 @@ static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_deprecated_func) ZEND_PARSE_PARAMETERS_NONE(); } -static ZEND_FUNCTION(namespaced_alias_func) -{ - ZEND_PARSE_PARAMETERS_NONE(); -} - -static ZEND_FUNCTION(namespaced_deprecated_alias_func) -{ - ZEND_PARSE_PARAMETERS_NONE(); -} - static ZEND_FUNCTION(zend_test_parameter_with_attribute) { zend_string *parameter; From adb45a63c0f56bb4e04ffd74579de0c8ab9d722f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 30 Aug 2022 13:46:32 +0200 Subject: [PATCH 178/229] Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) * Emit deprecation warnings when adding dynamic properties to classes during unserialization - this will become an Error in php 9.0. (Adding dynamic properties in other contexts was already a deprecation warning - the use case of unserialization was overlooked) * Throw an error when attempting to add a dynamic property to a `readonly` class when unserializing * Add new serialization methods `__serialize`/`__unserialize` for SplFixedArray to avoid creating deprecated dynamic properties that would then be added to the backing fixed-size array * Don't add named dynamic/declared properties (e.g. $obj->foo) of SplFixedArray to the backing array when unserializing * Update tests to declare properties or to expect the deprecation warning * Add news entry Co-authored-by: Tyson Andre --- NEWS | 2 + Zend/tests/gc_043.phpt | 3 +- .../readonly_class_unserialize_error.phpt | 16 ++++ Zend/zend_API.c | 17 ++++ ext/gmp/tests/gmp_dynamic_property.phpt | 24 ++++++ ext/gmp/tests/serialize.phpt | 2 + ext/random/engine_mt19937.c | 4 + ext/random/randomizer.c | 8 +- .../03_randomizer/gh_9186_unserialize.phpt | 14 +++ ext/session/tests/003.phpt | 1 + ext/session/tests/004.phpt | 1 + ext/session/tests/005.phpt | 1 + ext/session/tests/023.phpt | 1 + ext/session/tests/024.phpt | 1 + ext/session/tests/025.phpt | 1 + ext/soap/tests/bug70388.phpt | 2 + ext/soap/tests/bugs/bug69085.phpt | 1 + ext/spl/spl_array.c | 3 + ext/spl/spl_fixedarray.c | 85 ++++++++++++++++++- ext/spl/spl_fixedarray.stub.php | 4 + ext/spl/spl_fixedarray_arginfo.h | 16 +++- ext/spl/tests/SplFixedArray_serialize.phpt | 25 +++++- ext/spl/tests/bug70155.phpt | 2 + ext/spl/tests/bug74669.phpt | 2 + ext/standard/basic_functions.stub.php | 1 + ext/standard/basic_functions_arginfo.h | 8 +- ext/standard/tests/serialize/bug49649.phpt | 3 +- ext/standard/tests/serialize/bug49649_1.phpt | 3 +- ext/standard/tests/serialize/bug49649_2.phpt | 3 +- ext/standard/tests/serialize/bug62836_1.phpt | 2 +- ext/standard/tests/serialize/bug62836_2.phpt | 2 +- ext/standard/tests/serialize/bug72663.phpt | 2 + .../serialization_objects_incomplete.phpt | 14 +++ ...ialize_overwrite_undeclared_protected.phpt | 3 +- ...lize_ref_to_overwritten_declared_prop.phpt | 4 +- ext/standard/var_unserializer.re | 12 +++ 36 files changed, 271 insertions(+), 22 deletions(-) create mode 100644 Zend/tests/readonly_classes/readonly_class_unserialize_error.phpt create mode 100644 ext/gmp/tests/gmp_dynamic_property.phpt create mode 100644 ext/random/tests/03_randomizer/gh_9186_unserialize.phpt create mode 100644 ext/standard/tests/serialize/serialization_objects_incomplete.phpt diff --git a/NEWS b/NEWS index d499246c542a3..94d1193e0a39e 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ PHP NEWS (cmb) . Fixed bug GH-9285 (Traits cannot be used in readonly classes). (kocsismate) + . Fixed bug GH-9186 (@strict-properties can be bypassed using + unserialization). (kocsismate) - Date: . Fixed bug GH-9431 (DateTime::getLastErrors() not returning false when no diff --git a/Zend/tests/gc_043.phpt b/Zend/tests/gc_043.phpt index 06b64de39acf9..37906a025145f 100644 --- a/Zend/tests/gc_043.phpt +++ b/Zend/tests/gc_043.phpt @@ -8,7 +8,8 @@ STR; var_dump(unserialize($s)); gc_collect_cycles(); ?> ---EXPECT-- +--EXPECTF-- +Deprecated: Creation of dynamic property RegexIterator::$5 is deprecated in %s on line %d object(stdClass)#1 (2) { ["5"]=> object(SplStack)#2 (2) { diff --git a/Zend/tests/readonly_classes/readonly_class_unserialize_error.phpt b/Zend/tests/readonly_classes/readonly_class_unserialize_error.phpt new file mode 100644 index 0000000000000..e0672e4d97f80 --- /dev/null +++ b/Zend/tests/readonly_classes/readonly_class_unserialize_error.phpt @@ -0,0 +1,16 @@ +--TEST-- +Fix GH-9186 Readonly classes can have dynamic properties created by unserialize() +--FILE-- +getMessage() . "\n"; +} + +?> +--EXPECT-- +Cannot create dynamic property C::$x diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 56db031102095..54bcad825a501 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1628,6 +1628,15 @@ ZEND_API void object_properties_load(zend_object *object, HashTable *properties) zend_hash_update(object->properties, key, &tmp); } } else { + if (UNEXPECTED(object->ce->ce_flags & ZEND_ACC_NO_DYNAMIC_PROPERTIES)) { + zend_throw_error(NULL, "Cannot create dynamic property %s::$%s", + ZSTR_VAL(object->ce->name), property_info != ZEND_WRONG_PROPERTY_INFO ? zend_get_unmangled_property_name(key): ""); + return; + } else if (!(object->ce->ce_flags & ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES)) { + zend_error(E_DEPRECATED, "Creation of dynamic property %s::$%s is deprecated", + ZSTR_VAL(object->ce->name), property_info != ZEND_WRONG_PROPERTY_INFO ? zend_get_unmangled_property_name(key): ""); + } + if (!object->properties) { rebuild_object_properties(object); } @@ -1635,6 +1644,14 @@ ZEND_API void object_properties_load(zend_object *object, HashTable *properties) zval_add_ref(prop); } } else { + if (UNEXPECTED(object->ce->ce_flags & ZEND_ACC_NO_DYNAMIC_PROPERTIES)) { + zend_throw_error(NULL, "Cannot create dynamic property %s::$" ZEND_LONG_FMT, ZSTR_VAL(object->ce->name), h); + return; + } else if (!(object->ce->ce_flags & ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES)) { + zend_error(E_DEPRECATED, "Creation of dynamic property %s::$" ZEND_LONG_FMT " is deprecated", + ZSTR_VAL(object->ce->name), h); + } + if (!object->properties) { rebuild_object_properties(object); } diff --git a/ext/gmp/tests/gmp_dynamic_property.phpt b/ext/gmp/tests/gmp_dynamic_property.phpt new file mode 100644 index 0000000000000..547fe51a7f6a3 --- /dev/null +++ b/ext/gmp/tests/gmp_dynamic_property.phpt @@ -0,0 +1,24 @@ +--TEST-- +GH-9186 Dynamic property unserialization should trigger a deprecated notice +--EXTENSIONS-- +gmp +--FILE-- +{1} = 123; + +$serialized = serialize($g); +var_dump(unserialize($serialized)); + +?> +--EXPECTF-- +Deprecated: Creation of dynamic property GMP::$1 is deprecated in %s on line %d + +Deprecated: Creation of dynamic property GMP::$1 is deprecated in %s on line %d +object(GMP)#%d (%d) { + [1]=> + int(123) + ["num"]=> + string(1) "0" +} diff --git a/ext/gmp/tests/serialize.phpt b/ext/gmp/tests/serialize.phpt index 65c2f34e13d17..84877459a9bc0 100644 --- a/ext/gmp/tests/serialize.phpt +++ b/ext/gmp/tests/serialize.phpt @@ -54,6 +54,8 @@ object(GMP)#%d (1) { Deprecated: Creation of dynamic property GMP::$foo is deprecated in %s on line %d string(56) "O:3:"GMP":2:{i:0;s:1:"d";i:1;a:1:{s:3:"foo";s:3:"bar";}}" + +Deprecated: Creation of dynamic property GMP::$foo is deprecated in %s on line %d object(GMP)#%d (2) { ["foo"]=> string(3) "bar" diff --git a/ext/random/engine_mt19937.c b/ext/random/engine_mt19937.c index 266ec5ea11c24..a2aed76a39d76 100644 --- a/ext/random/engine_mt19937.c +++ b/ext/random/engine_mt19937.c @@ -365,6 +365,10 @@ PHP_METHOD(Random_Engine_Mt19937, __unserialize) RETURN_THROWS(); } object_properties_load(&engine->std, Z_ARRVAL_P(t)); + if (EG(exception)) { + zend_throw_exception_ex(NULL, 0, "Invalid serialization data for %s object", ZSTR_VAL(engine->std.ce->name)); + RETURN_THROWS(); + } /* state */ t = zend_hash_index_find(d, 1); diff --git a/ext/random/randomizer.c b/ext/random/randomizer.c index c94c9449db93d..f26231b997722 100644 --- a/ext/random/randomizer.c +++ b/ext/random/randomizer.c @@ -90,7 +90,7 @@ PHP_METHOD(Random_Randomizer, __construct) /* {{{ Generate positive random number */ PHP_METHOD(Random_Randomizer, nextInt) -{ +{ php_random_randomizer *randomizer = Z_RANDOM_RANDOMIZER_P(ZEND_THIS); uint64_t result; @@ -104,7 +104,7 @@ PHP_METHOD(Random_Randomizer, nextInt) zend_throw_exception(random_ce_Random_RandomException, "Generated value exceeds size of int", 0); RETURN_THROWS(); } - + RETURN_LONG((zend_long) (result >> 1)); } /* }}} */ @@ -278,6 +278,10 @@ PHP_METHOD(Random_Randomizer, __unserialize) RETURN_THROWS(); } object_properties_load(&randomizer->std, Z_ARRVAL_P(members_zv)); + if (EG(exception)) { + zend_throw_exception(NULL, "Invalid serialization data for Random\\Randomizer object", 0); + RETURN_THROWS(); + } zengine = zend_read_property(randomizer->std.ce, &randomizer->std, "engine", strlen("engine"), 1, NULL); if (Z_TYPE_P(zengine) != IS_OBJECT || !instanceof_function(Z_OBJCE_P(zengine), random_ce_Random_Engine)) { diff --git a/ext/random/tests/03_randomizer/gh_9186_unserialize.phpt b/ext/random/tests/03_randomizer/gh_9186_unserialize.phpt new file mode 100644 index 0000000000000..fe1acb2f74be4 --- /dev/null +++ b/ext/random/tests/03_randomizer/gh_9186_unserialize.phpt @@ -0,0 +1,14 @@ +--TEST-- +Fix GH-9186 @strict-properties can be bypassed using unserialization +--FILE-- +getMessage() . "\n"; +} + +?> +--EXPECT-- +Invalid serialization data for Random\Randomizer object diff --git a/ext/session/tests/003.phpt b/ext/session/tests/003.phpt index c0628e28abdd9..ab1739edf6b76 100644 --- a/ext/session/tests/003.phpt +++ b/ext/session/tests/003.phpt @@ -16,6 +16,7 @@ error_reporting(E_ALL); class foo { public $bar = "ok"; + public $yes; function method() { $this->yes++; } } diff --git a/ext/session/tests/004.phpt b/ext/session/tests/004.phpt index 0901286001808..d6b53072c1633 100644 --- a/ext/session/tests/004.phpt +++ b/ext/session/tests/004.phpt @@ -52,6 +52,7 @@ $hnd = new handler; class foo { public $bar = "ok"; + public $yes; function method() { $this->yes++; } } diff --git a/ext/session/tests/005.phpt b/ext/session/tests/005.phpt index 6c7f246a3630a..c4083557866e3 100644 --- a/ext/session/tests/005.phpt +++ b/ext/session/tests/005.phpt @@ -53,6 +53,7 @@ $hnd = new handler; class foo { public $bar = "ok"; + public $yes; function method() { $this->yes++; } } diff --git a/ext/session/tests/023.phpt b/ext/session/tests/023.phpt index 78f6e41c7e790..092f8db64b790 100644 --- a/ext/session/tests/023.phpt +++ b/ext/session/tests/023.phpt @@ -16,6 +16,7 @@ error_reporting(E_ALL); class foo { public $bar = "ok"; + public $yes; function method() { $this->yes++; } } diff --git a/ext/session/tests/024.phpt b/ext/session/tests/024.phpt index b0f819b9d0d2f..c307d79a6873b 100644 --- a/ext/session/tests/024.phpt +++ b/ext/session/tests/024.phpt @@ -53,6 +53,7 @@ $hnd = new handler; class foo { public $bar = "ok"; + public $yes; function method() { $this->yes++; } } diff --git a/ext/session/tests/025.phpt b/ext/session/tests/025.phpt index b18715af36651..5f9a5ad591c7d 100644 --- a/ext/session/tests/025.phpt +++ b/ext/session/tests/025.phpt @@ -54,6 +54,7 @@ $hnd = new handler; class foo { public $bar = "ok"; + public $yes; function method() { $this->yes++; } } diff --git a/ext/soap/tests/bug70388.phpt b/ext/soap/tests/bug70388.phpt index 87259bf45d50a..8f3e8be766ea1 100644 --- a/ext/soap/tests/bug70388.phpt +++ b/ext/soap/tests/bug70388.phpt @@ -4,6 +4,8 @@ Bug #70388 (SOAP serialize_function_call() type confusion / RCE) soap --FILE-- std, Z_ARRVAL_P(members_zv)); + if (EG(exception)) { + RETURN_THROWS(); + } if (iterator_class_zv && Z_TYPE_P(iterator_class_zv) == IS_STRING) { zend_class_entry *ce = zend_lookup_class(Z_STR_P(iterator_class_zv)); diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c index fd18c3d86c378..a00bb8965af65 100644 --- a/ext/spl/spl_fixedarray.c +++ b/ext/spl/spl_fixedarray.c @@ -102,13 +102,18 @@ static void spl_fixedarray_init_elems(spl_fixedarray *array, zend_long from, zen } } +static void spl_fixedarray_init_non_empty_struct(spl_fixedarray *array, zend_long size) +{ + array->size = 0; /* reset size in case ecalloc() fails */ + array->elements = size ? safe_emalloc(size, sizeof(zval), 0) : NULL; + array->size = size; + array->should_rebuild_properties = true; +} + static void spl_fixedarray_init(spl_fixedarray *array, zend_long size) { if (size > 0) { - array->size = 0; /* reset size in case ecalloc() fails */ - array->elements = safe_emalloc(size, sizeof(zval), 0); - array->size = size; - array->should_rebuild_properties = true; + spl_fixedarray_init_non_empty_struct(array, size); spl_fixedarray_init_elems(array, 0, size); } else { spl_fixedarray_default_ctor(array); @@ -582,6 +587,78 @@ PHP_METHOD(SplFixedArray, __wakeup) } } +PHP_METHOD(SplFixedArray, __serialize) +{ + spl_fixedarray_object *intern = Z_SPLFIXEDARRAY_P(ZEND_THIS); + zval *current; + zend_string *key; + + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); + } + + uint32_t property_num = zend_hash_num_elements(intern->std.properties); + array_init_size(return_value, intern->array.size + property_num); + + /* elements */ + for (zend_long i = 0; i < intern->array.size; i++) { + current = &intern->array.elements[i]; + zend_hash_next_index_insert(Z_ARRVAL_P(return_value), current); + Z_TRY_ADDREF_P(current); + } + + /* members */ + ZEND_HASH_FOREACH_STR_KEY_VAL(intern->std.properties, key, current) { + zend_hash_add(Z_ARRVAL_P(return_value), key, current); + Z_TRY_ADDREF_P(current); + } ZEND_HASH_FOREACH_END(); +} + +PHP_METHOD(SplFixedArray, __unserialize) +{ + spl_fixedarray_object *intern = Z_SPLFIXEDARRAY_P(ZEND_THIS); + HashTable *data; + zval members_zv, *elem; + zend_string *key; + zend_long size; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "h", &data) == FAILURE) { + RETURN_THROWS(); + } + + if (intern->array.size == 0) { + size = zend_hash_num_elements(data); + spl_fixedarray_init_non_empty_struct(&intern->array, size); + if (!size) { + return; + } + array_init(&members_zv); + + intern->array.size = 0; + ZEND_HASH_FOREACH_STR_KEY_VAL(data, key, elem) { + if (key == NULL) { + ZVAL_COPY(&intern->array.elements[intern->array.size], elem); + intern->array.size++; + } else { + Z_TRY_ADDREF_P(elem); + zend_hash_add(Z_ARRVAL(members_zv), key, elem); + } + } ZEND_HASH_FOREACH_END(); + + if (intern->array.size != size) { + if (intern->array.size) { + intern->array.elements = erealloc(intern->array.elements, sizeof(zval) * intern->array.size); + } else { + efree(intern->array.elements); + intern->array.elements = NULL; + } + } + + object_properties_load(&intern->std, Z_ARRVAL(members_zv)); + zval_ptr_dtor(&members_zv); + } +} + PHP_METHOD(SplFixedArray, count) { zval *object = ZEND_THIS; diff --git a/ext/spl/spl_fixedarray.stub.php b/ext/spl/spl_fixedarray.stub.php index 7fa9b2730cf59..13f29b7a109db 100644 --- a/ext/spl/spl_fixedarray.stub.php +++ b/ext/spl/spl_fixedarray.stub.php @@ -9,6 +9,10 @@ public function __construct(int $size = 0) {} /** @tentative-return-type */ public function __wakeup(): void {} + public function __serialize(): array {} + + public function __unserialize(array $data): void {} + /** @tentative-return-type */ public function count(): int {} diff --git a/ext/spl/spl_fixedarray_arginfo.h b/ext/spl/spl_fixedarray_arginfo.h index 10c3fdb29c3bc..11ea1fdb30164 100644 --- a/ext/spl/spl_fixedarray_arginfo.h +++ b/ext/spl/spl_fixedarray_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 79a13a549d91f0e79c78a125de65fbac4795339f */ + * Stub hash: 0b508ad6499b70c92bf25960b30fefa913532a3c */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray___construct, 0, 0, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, size, IS_LONG, 0, "0") @@ -8,6 +8,13 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray___wakeup, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray___serialize, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray___unserialize, 0, 1, IS_VOID, 0) + ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_count, 0, 0, IS_LONG, 0) ZEND_END_ARG_INFO() @@ -45,12 +52,13 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_SplFixedArray_getIterator, 0, 0, Iterator, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_jsonSerialize, 0, 0, IS_ARRAY, 0) -ZEND_END_ARG_INFO() +#define arginfo_class_SplFixedArray_jsonSerialize arginfo_class_SplFixedArray___serialize ZEND_METHOD(SplFixedArray, __construct); ZEND_METHOD(SplFixedArray, __wakeup); +ZEND_METHOD(SplFixedArray, __serialize); +ZEND_METHOD(SplFixedArray, __unserialize); ZEND_METHOD(SplFixedArray, count); ZEND_METHOD(SplFixedArray, toArray); ZEND_METHOD(SplFixedArray, fromArray); @@ -67,6 +75,8 @@ ZEND_METHOD(SplFixedArray, jsonSerialize); static const zend_function_entry class_SplFixedArray_methods[] = { ZEND_ME(SplFixedArray, __construct, arginfo_class_SplFixedArray___construct, ZEND_ACC_PUBLIC) ZEND_ME(SplFixedArray, __wakeup, arginfo_class_SplFixedArray___wakeup, ZEND_ACC_PUBLIC) + ZEND_ME(SplFixedArray, __serialize, arginfo_class_SplFixedArray___serialize, ZEND_ACC_PUBLIC) + ZEND_ME(SplFixedArray, __unserialize, arginfo_class_SplFixedArray___unserialize, ZEND_ACC_PUBLIC) ZEND_ME(SplFixedArray, count, arginfo_class_SplFixedArray_count, ZEND_ACC_PUBLIC) ZEND_ME(SplFixedArray, toArray, arginfo_class_SplFixedArray_toArray, ZEND_ACC_PUBLIC) ZEND_ME(SplFixedArray, fromArray, arginfo_class_SplFixedArray_fromArray, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) diff --git a/ext/spl/tests/SplFixedArray_serialize.phpt b/ext/spl/tests/SplFixedArray_serialize.phpt index f99812ecceb70..da7c212109ecd 100644 --- a/ext/spl/tests/SplFixedArray_serialize.phpt +++ b/ext/spl/tests/SplFixedArray_serialize.phpt @@ -13,6 +13,8 @@ $array[2] = 42; $array[3] = $obj; $array[4] = range(1, 5); +$array->foo = "bar"; + $ser = serialize($array); echo "$ser\n"; $unser = unserialize($ser); @@ -24,10 +26,24 @@ var_dump($unser[0], $unser[1], $unser[2], $unser[3], $unser[4]); $unser[4] = 'quux'; var_dump($unser[4]); +var_dump($unser->foo); + +// __unserialize is a no-op on a non-empty SplFixedArray +$array = new SplFixedArray(1); +$array->__unserialize([ + [1], + [ + "foo" => "bar", + ], +]); +var_dump($array); ?> ---EXPECT-- -O:13:"SplFixedArray":5:{i:0;s:3:"foo";i:1;N;i:2;i:42;i:3;O:8:"stdClass":1:{s:4:"prop";s:5:"value";}i:4;a:5:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;}} +--EXPECTF-- +Deprecated: Creation of dynamic property SplFixedArray::$foo is deprecated in %s on line %d +O:13:"SplFixedArray":6:{i:0;s:3:"foo";i:1;N;i:2;i:42;i:3;O:8:"stdClass":1:{s:4:"prop";s:5:"value";}i:4;a:5:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;}s:3:"foo";s:3:"bar";} + +Deprecated: Creation of dynamic property SplFixedArray::$foo is deprecated in %s on line %d count: 5 getSize(): 5 string(3) "foo" @@ -50,3 +66,8 @@ array(5) { int(5) } string(4) "quux" +string(3) "bar" +object(SplFixedArray)#5 (1) { + [0]=> + NULL +} diff --git a/ext/spl/tests/bug70155.phpt b/ext/spl/tests/bug70155.phpt index 0aa246cc2388f..a609205aca279 100644 --- a/ext/spl/tests/bug70155.phpt +++ b/ext/spl/tests/bug70155.phpt @@ -9,6 +9,8 @@ $data = unserialize($exploit); var_dump($data); ?> --EXPECTF-- +Deprecated: Creation of dynamic property ArrayObject::$0 is deprecated in %s on line %d + Fatal error: Uncaught InvalidArgumentException: Overloaded object of type DateInterval is not compatible with ArrayObject in %s Stack trace: %s diff --git a/ext/spl/tests/bug74669.phpt b/ext/spl/tests/bug74669.phpt index 0966a4cf27e15..597e694296d26 100644 --- a/ext/spl/tests/bug74669.phpt +++ b/ext/spl/tests/bug74669.phpt @@ -105,6 +105,8 @@ object(SelfArray)#9 (1) { string(3) "bar" } string(77) "O:9:"SelfArray":4:{i:0;i:16777216;i:1;N;i:2;a:1:{s:3:"foo";s:3:"bar";}i:3;N;}" + +Deprecated: Creation of dynamic property SelfArray::$foo is deprecated in %s on line %d object(SelfArray)#9 (1) { ["foo"]=> string(3) "bar" diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 6166cf6587bb6..7a6ee00d8e49c 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -343,6 +343,7 @@ */ const PHP_ROUND_HALF_ODD = UNKNOWN; +#[AllowDynamicProperties] final class __PHP_Incomplete_Class { } diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index d3dd087e83a83..4469a5b07ee08 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 0411f358f211eb9173272c6f296899d349ab5971 */ + * Stub hash: 4df5576b4e03b18896abf58e6c70d9fd6ae76687 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3578,7 +3578,11 @@ static zend_class_entry *register_class___PHP_Incomplete_Class(void) INIT_CLASS_ENTRY(ce, "__PHP_Incomplete_Class", class___PHP_Incomplete_Class_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); - class_entry->ce_flags |= ZEND_ACC_FINAL; + class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES; + + zend_string *attribute_name_AllowDynamicProperties_class___PHP_Incomplete_Class = zend_string_init_interned("AllowDynamicProperties", sizeof("AllowDynamicProperties") - 1, 1); + zend_add_class_attribute(class_entry, attribute_name_AllowDynamicProperties_class___PHP_Incomplete_Class, 0); + zend_string_release(attribute_name_AllowDynamicProperties_class___PHP_Incomplete_Class); return class_entry; } diff --git a/ext/standard/tests/serialize/bug49649.phpt b/ext/standard/tests/serialize/bug49649.phpt index 7bbba03c1492e..310cd5b8881e3 100644 --- a/ext/standard/tests/serialize/bug49649.phpt +++ b/ext/standard/tests/serialize/bug49649.phpt @@ -33,7 +33,8 @@ class Foo $class = unserialize(base64_decode($serialized)); var_dump($class); ?> ---EXPECT-- +--EXPECTF-- +Deprecated: Creation of dynamic property Foo::$notThere is deprecated in %s on line %d object(Foo)#1 (4) { ["public"]=> int(3) diff --git a/ext/standard/tests/serialize/bug49649_1.phpt b/ext/standard/tests/serialize/bug49649_1.phpt index e4f01d3039d5a..ddaff1e960c4f 100644 --- a/ext/standard/tests/serialize/bug49649_1.phpt +++ b/ext/standard/tests/serialize/bug49649_1.phpt @@ -33,7 +33,8 @@ class Foo $class = unserialize(base64_decode($serialized)); var_dump($class); ?> ---EXPECT-- +--EXPECTF-- +Deprecated: Creation of dynamic property Foo::$notThere is deprecated in %s on line %d object(Foo)#1 (4) { ["public":protected]=> int(3) diff --git a/ext/standard/tests/serialize/bug49649_2.phpt b/ext/standard/tests/serialize/bug49649_2.phpt index 93b5e298f993e..16a9b4d7c722e 100644 --- a/ext/standard/tests/serialize/bug49649_2.phpt +++ b/ext/standard/tests/serialize/bug49649_2.phpt @@ -33,7 +33,8 @@ class Foo $class = unserialize(base64_decode($serialized)); var_dump($class); ?> ---EXPECT-- +--EXPECTF-- +Deprecated: Creation of dynamic property Foo::$notThere is deprecated in %s on line %d object(Foo)#1 (4) { ["public":"Foo":private]=> int(3) diff --git a/ext/standard/tests/serialize/bug62836_1.phpt b/ext/standard/tests/serialize/bug62836_1.phpt index 7d03e9fd187bd..480dbab1df127 100644 --- a/ext/standard/tests/serialize/bug62836_1.phpt +++ b/ext/standard/tests/serialize/bug62836_1.phpt @@ -5,7 +5,7 @@ Bug #62836 (Seg fault or broken object references on unserialize()) $serialized_object='O:1:"A":4:{s:1:"b";O:1:"B":0:{}s:2:"b1";r:2;s:1:"c";O:1:"B":0:{}s:2:"c1";r:4;}'; spl_autoload_register(function ($name) { unserialize("i:4;"); - eval("class $name {} "); + eval("#[AllowDynamicProperties] class $name {} "); }); print_r(unserialize($serialized_object)); diff --git a/ext/standard/tests/serialize/bug62836_2.phpt b/ext/standard/tests/serialize/bug62836_2.phpt index 0634b1dac135b..95bd75bb6fb87 100644 --- a/ext/standard/tests/serialize/bug62836_2.phpt +++ b/ext/standard/tests/serialize/bug62836_2.phpt @@ -8,7 +8,7 @@ ini_set('unserialize_callback_func','mycallback'); function mycallback($classname) { unserialize("i:4;"); - eval ("class $classname {} "); + eval ("#[AllowDynamicProperties] class $classname {} "); } print_r(unserialize($serialized_object)); diff --git a/ext/standard/tests/serialize/bug72663.phpt b/ext/standard/tests/serialize/bug72663.phpt index c50591ca963f4..9c006d50d80ba 100644 --- a/ext/standard/tests/serialize/bug72663.phpt +++ b/ext/standard/tests/serialize/bug72663.phpt @@ -3,6 +3,7 @@ Bug #72663 (1): Don't call __destruct if __wakeup not called or fails --FILE-- +--EXPECT-- +object(__PHP_Incomplete_Class)#1 (2) { + ["__PHP_Incomplete_Class_Name"]=> + string(1) "C" + ["p"]=> + int(1) +} diff --git a/ext/standard/tests/serialize/unserialize_overwrite_undeclared_protected.phpt b/ext/standard/tests/serialize/unserialize_overwrite_undeclared_protected.phpt index b442c922c4153..d9f44c37a1560 100644 --- a/ext/standard/tests/serialize/unserialize_overwrite_undeclared_protected.phpt +++ b/ext/standard/tests/serialize/unserialize_overwrite_undeclared_protected.phpt @@ -12,7 +12,8 @@ O:4:"Test":2:{s:4:"\0*\0x";N;s:4:"\0*\0x";N;} STR; var_dump(unserialize($str)); ?> ---EXPECT-- +--EXPECTF-- +Deprecated: Creation of dynamic property Test::$x is deprecated in %s on line %d object(Test)#1 (2) { ["foo"]=> NULL diff --git a/ext/standard/tests/serialize/unserialize_ref_to_overwritten_declared_prop.phpt b/ext/standard/tests/serialize/unserialize_ref_to_overwritten_declared_prop.phpt index f32b0c12e2f26..c4c3c957d3ee8 100644 --- a/ext/standard/tests/serialize/unserialize_ref_to_overwritten_declared_prop.phpt +++ b/ext/standard/tests/serialize/unserialize_ref_to_overwritten_declared_prop.phpt @@ -3,10 +3,10 @@ Trying to create a reference to an overwritten declared property --FILE-- --EXPECTF-- -Notice: unserialize(): Error at offset 51 of 52 bytes in %s on line %d +Notice: unserialize(): Error at offset 36 of 52 bytes in %s on line %d bool(false) diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 0556d5522ce5d..72d50c190e653 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -641,6 +641,18 @@ declared_property: int ret = is_property_visibility_changed(obj->ce, &key); if (EXPECTED(!ret)) { + if (UNEXPECTED(obj->ce->ce_flags & ZEND_ACC_NO_DYNAMIC_PROPERTIES)) { + zend_throw_error(NULL, "Cannot create dynamic property %s::$%s", + ZSTR_VAL(obj->ce->name), zend_get_unmangled_property_name(Z_STR_P(&key))); + goto failure; + } else if (!(obj->ce->ce_flags & ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES)) { + zend_error(E_DEPRECATED, "Creation of dynamic property %s::$%s is deprecated", + ZSTR_VAL(obj->ce->name), zend_get_unmangled_property_name(Z_STR_P(&key))); + if (EG(exception)) { + goto failure; + } + } + data = zend_hash_add_new(ht, Z_STR(key), &EG(uninitialized_zval)); } else if (ret < 0) { goto failure; From 3d6ed8c852a6b03887896e2fd471f662397f045c Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Tue, 30 Aug 2022 12:15:27 +0000 Subject: [PATCH 179/229] Catch up dev version numbers --- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Zend/zend.h b/Zend/zend.h index 68ddf46872d48..a43edf9b01b60 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.0.21-dev" +#define ZEND_VERSION "4.0.24-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 87fdd415e247d..ee0ae055e346a 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.0.21-dev],[https://bugs.php.net],[php],[https://www.php.net]) +AC_INIT([PHP],[8.0.24-dev],[https://bugs.php.net],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index 3259dab14a6fa..5594e041079d2 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 0 -#define PHP_RELEASE_VERSION 21 +#define PHP_RELEASE_VERSION 24 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.0.21-dev" -#define PHP_VERSION_ID 80021 +#define PHP_VERSION "8.0.24-dev" +#define PHP_VERSION_ID 80024 From 8b9679e88e13e116db8fd3648b0d4c06dc6f0e5f Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Tue, 30 Aug 2022 09:19:45 -0400 Subject: [PATCH 180/229] Make var_export/debug_zval_dump check for infinite recursion on the *object* (#9448) Switch the recursion check from the result of `get_properties_for` (the returned hash table of properties) to just checking for infinite recursion on the object. - In order for a native datastructure to correctly implement `*get_properties_for` for var_export's cycle detection, it would need to return the exact same array every time prior to this PR. Prior to this commit, the requirements for cycle detection would prevent SplFixedArray or similar classes from returning a temporary array that: 1. Wouldn't be affected by unexpected mutations from error handlers 2. Could be garbage collected instead. --- ext/spl/tests/gh8044.phpt | 20 +++++++++++++++++++ ext/standard/var.c | 42 ++++++++++++++++++++------------------- 2 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 ext/spl/tests/gh8044.phpt diff --git a/ext/spl/tests/gh8044.phpt b/ext/spl/tests/gh8044.phpt new file mode 100644 index 0000000000000..3567646954634 --- /dev/null +++ b/ext/spl/tests/gh8044.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug GH-8044 (var_export/debug_zval_dump HT_ASSERT_RC1 debug failure for SplFixedArray) +--FILE-- + +--EXPECTF-- +Warning: var_export does not handle circular references in %s on line 5 +\SplFixedArray::__set_state(array( + 0 => NULL, +)) +object(SplFixedArray)#2 (1) refcount(4){ + [0]=> + *RECURSION* +} diff --git a/ext/standard/var.c b/ext/standard/var.c index 9421a5bb74dce..268c535a80242 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -343,15 +343,17 @@ PHPAPI void php_debug_zval_dump(zval *struc, int level) /* {{{ */ PUTS("}\n"); break; case IS_OBJECT: - myht = zend_get_properties_for(struc, ZEND_PROP_PURPOSE_DEBUG); - if (myht) { - if (GC_IS_RECURSIVE(myht)) { - PUTS("*RECURSION*\n"); - zend_release_properties(myht); - return; - } - GC_PROTECT_RECURSION(myht); + /* Check if this is already recursing on the object before calling zend_get_properties_for, + * to allow infinite recursion detection to work even if classes return temporary arrays, + * and to avoid the need to update the properties table in place to reflect the state + * if the result won't be used. (https://github.com/php/php-src/issues/8044) */ + if (Z_IS_RECURSIVE_P(struc)) { + PUTS("*RECURSION*\n"); + return; } + Z_PROTECT_RECURSION_P(struc); + + myht = zend_get_properties_for(struc, ZEND_PROP_PURPOSE_DEBUG); class_name = Z_OBJ_HANDLER_P(struc, get_class_name)(Z_OBJ_P(struc)); php_printf("object(%s)#%d (%d) refcount(%u){\n", ZSTR_VAL(class_name), Z_OBJ_HANDLE_P(struc), myht ? zend_array_count(myht) : 0, Z_REFCOUNT_P(struc)); zend_string_release_ex(class_name, 0); @@ -370,13 +372,13 @@ PHPAPI void php_debug_zval_dump(zval *struc, int level) /* {{{ */ zval_object_property_dump(prop_info, val, index, key, level); } } ZEND_HASH_FOREACH_END(); - GC_UNPROTECT_RECURSION(myht); zend_release_properties(myht); } if (level > 1) { php_printf("%*c", level - 1, ' '); } PUTS("}\n"); + Z_UNPROTECT_RECURSION_P(struc); break; case IS_RESOURCE: { const char *type_name = zend_rsrc_list_get_rsrc_type(Z_RES_P(struc)); @@ -552,17 +554,17 @@ PHPAPI void php_var_export_ex(zval *struc, int level, smart_str *buf) /* {{{ */ break; case IS_OBJECT: - myht = zend_get_properties_for(struc, ZEND_PROP_PURPOSE_VAR_EXPORT); - if (myht) { - if (GC_IS_RECURSIVE(myht)) { - smart_str_appendl(buf, "NULL", 4); - zend_error(E_WARNING, "var_export does not handle circular references"); - zend_release_properties(myht); - return; - } else { - GC_TRY_PROTECT_RECURSION(myht); - } + /* Check if this is already recursing on the object before calling zend_get_properties_for, + * to allow infinite recursion detection to work even if classes return temporary arrays, + * and to avoid the need to update the properties table in place to reflect the state + * if the result won't be used. (https://github.com/php/php-src/issues/8044) */ + if (Z_IS_RECURSIVE_P(struc)) { + smart_str_appendl(buf, "NULL", 4); + zend_error(E_WARNING, "var_export does not handle circular references"); + return; } + Z_PROTECT_RECURSION_P(struc); + myht = zend_get_properties_for(struc, ZEND_PROP_PURPOSE_VAR_EXPORT); if (level > 1) { smart_str_appendc(buf, '\n'); buffer_append_spaces(buf, level - 1); @@ -593,9 +595,9 @@ PHPAPI void php_var_export_ex(zval *struc, int level, smart_str *buf) /* {{{ */ php_object_element_export(val, index, key, level, buf); } ZEND_HASH_FOREACH_END(); } - GC_TRY_UNPROTECT_RECURSION(myht); zend_release_properties(myht); } + Z_UNPROTECT_RECURSION_P(struc); if (level > 1 && !is_enum) { buffer_append_spaces(buf, level - 1); } From 1862152145759ecfad3e9c939922e8c4719d918f Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Tue, 30 Aug 2022 09:13:46 -0500 Subject: [PATCH 181/229] Revert "Fix GH-9296: `ksort` behaves incorrectly on arrays with mixed keys" This reverts commit cd1aed8eddd2dccbb55fb1bc3d67b23a8455248c, as discussed on internals (). --- NEWS | 4 -- ext/standard/array.c | 53 ++++++++++++------- ext/standard/tests/array/002.phpt | 20 +++---- ext/standard/tests/array/gh9296.phpt | 17 ------ .../tests/array/krsort_variation9.phpt | 8 +-- .../tests/array/ksort_variation9.phpt | 8 +-- 6 files changed, 52 insertions(+), 58 deletions(-) delete mode 100644 ext/standard/tests/array/gh9296.phpt diff --git a/NEWS b/NEWS index 765a321ece9e6..ac630004c5de0 100644 --- a/NEWS +++ b/NEWS @@ -71,10 +71,6 @@ PHP NEWS - SQLite3: . Fixed bug GH-9032 (SQLite3 authorizer crashes on NULL values). (cmb) -- Standard: - . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). - (Denis Vaksman) - - Streams: . Fixed bug GH-8472 (The resource returned by stream_socket_accept may have incorrect metadata). (Jakub Zelenka) diff --git a/ext/standard/array.c b/ext/standard/array.c index aa57b261c1fdb..e4261b428e9b0 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -166,25 +166,40 @@ static zend_never_inline ZEND_COLD int stable_sort_fallback(Bucket *a, Bucket *b static zend_always_inline int php_array_key_compare_unstable_i(Bucket *f, Bucket *s) /* {{{ */ { - zval first; - zval second; - - if (f->key == NULL && s->key == NULL) { - return (zend_long)f->h > (zend_long)s->h ? 1 : -1; - } else if (f->key && s->key) { - return zendi_smart_strcmp(f->key, s->key); - } - if (f->key) { - ZVAL_STR(&first, f->key); - } else { - ZVAL_LONG(&first, f->h); - } - if (s->key) { - ZVAL_STR(&second, s->key); - } else { - ZVAL_LONG(&second, s->h); - } - return zend_compare(&first, &second); + zend_uchar t; + zend_long l1, l2; + double d; + + if (f->key == NULL) { + if (s->key == NULL) { + return (zend_long)f->h > (zend_long)s->h ? 1 : -1; + } else { + l1 = (zend_long)f->h; + t = is_numeric_string(s->key->val, s->key->len, &l2, &d, 1); + if (t == IS_LONG) { + /* pass */ + } else if (t == IS_DOUBLE) { + return ZEND_NORMALIZE_BOOL((double)l1 - d); + } else { + l2 = 0; + } + } + } else { + if (s->key) { + return zendi_smart_strcmp(f->key, s->key); + } else { + l2 = (zend_long)s->h; + t = is_numeric_string(f->key->val, f->key->len, &l1, &d, 1); + if (t == IS_LONG) { + /* pass */ + } else if (t == IS_DOUBLE) { + return ZEND_NORMALIZE_BOOL(d - (double)l2); + } else { + l1 = 0; + } + } + } + return ZEND_NORMALIZE_BOOL(l1 - l2); } /* }}} */ diff --git a/ext/standard/tests/array/002.phpt b/ext/standard/tests/array/002.phpt index 5cf377e2a3538..fdb838deb19dd 100644 --- a/ext/standard/tests/array/002.phpt +++ b/ext/standard/tests/array/002.phpt @@ -276,8 +276,6 @@ array(8) { -- Testing krsort() -- No second argument: array(8) { - ["test"]=> - int(27) [16777216]=> float(-0.3333333333333333) [1001]=> @@ -290,6 +288,8 @@ array(8) { string(4) "Test" [0]=> string(3) "PHP" + ["test"]=> + int(27) [-1000]=> array(2) { [0]=> @@ -300,8 +300,6 @@ array(8) { } Using SORT_REGULAR: array(8) { - ["test"]=> - int(27) [16777216]=> float(-0.3333333333333333) [1001]=> @@ -314,6 +312,8 @@ array(8) { string(4) "Test" [0]=> string(3) "PHP" + ["test"]=> + int(27) [-1000]=> array(2) { [0]=> @@ -334,10 +334,10 @@ array(8) { string(27) "PHP: Hypertext Preprocessor" [5]=> string(4) "Test" - ["test"]=> - int(27) [0]=> string(3) "PHP" + ["test"]=> + int(27) [-1000]=> array(2) { [0]=> @@ -383,6 +383,8 @@ array(8) { } [0]=> string(3) "PHP" + ["test"]=> + int(27) [5]=> string(4) "Test" [17]=> @@ -393,8 +395,6 @@ array(8) { string(6) "monkey" [16777216]=> float(-0.3333333333333333) - ["test"]=> - int(27) } Using SORT_REGULAR: array(8) { @@ -407,6 +407,8 @@ array(8) { } [0]=> string(3) "PHP" + ["test"]=> + int(27) [5]=> string(4) "Test" [17]=> @@ -417,8 +419,6 @@ array(8) { string(6) "monkey" [16777216]=> float(-0.3333333333333333) - ["test"]=> - int(27) } Using SORT_NUMERIC: array(8) { diff --git a/ext/standard/tests/array/gh9296.phpt b/ext/standard/tests/array/gh9296.phpt deleted file mode 100644 index cfbc5cbbb09ec..0000000000000 --- a/ext/standard/tests/array/gh9296.phpt +++ /dev/null @@ -1,17 +0,0 @@ ---TEST-- -GH-9296: incorrect ksort(..., SORT_REGULAR) behaviour on arrays with numeric and string keys ---FILE-- - 0, 600 => 1]; -ksort($array, SORT_REGULAR); -var_dump($array); -var_dump(array_key_first($array) <=> array_key_last($array)); -?> ---EXPECT-- -array(2) { - [600]=> - int(1) - ["aaa"]=> - int(0) -} -int(-1) diff --git a/ext/standard/tests/array/krsort_variation9.phpt b/ext/standard/tests/array/krsort_variation9.phpt index b0309f373d362..4364911b62127 100644 --- a/ext/standard/tests/array/krsort_variation9.phpt +++ b/ext/standard/tests/array/krsort_variation9.phpt @@ -82,22 +82,22 @@ array(5) { - With default sort flag - bool(true) array(3) { - ["c"]=> - string(5) "apple" ["a"]=> string(6) "orange" [0]=> string(6) "banana" + ["c"]=> + string(5) "apple" } - Sort flag = SORT_REGULAR - bool(true) array(3) { - ["c"]=> - string(5) "apple" ["a"]=> string(6) "orange" [0]=> string(6) "banana" + ["c"]=> + string(5) "apple" } -- Iteration 3 -- diff --git a/ext/standard/tests/array/ksort_variation9.phpt b/ext/standard/tests/array/ksort_variation9.phpt index 0023a9e0602ae..9322af70f57fa 100644 --- a/ext/standard/tests/array/ksort_variation9.phpt +++ b/ext/standard/tests/array/ksort_variation9.phpt @@ -81,20 +81,20 @@ array(5) { - With default sort flag - bool(true) array(3) { - [0]=> - string(6) "banana" ["a"]=> string(6) "orange" + [0]=> + string(6) "banana" ["c"]=> string(5) "apple" } - Sort flag = SORT_REGULAR - bool(true) array(3) { - [0]=> - string(6) "banana" ["a"]=> string(6) "orange" + [0]=> + string(6) "banana" ["c"]=> string(5) "apple" } From 65619e868c2b63a79b858ab05cbc97ae14bbe622 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 30 Aug 2022 16:51:25 +0200 Subject: [PATCH 182/229] Fix tests These changes have been overlooked, when 7908aae30cd4241bed505addc3b5f7da27feef8b had been reverted. --- .../tests/array/krsort_variation8.phpt | 24 +++++------ .../tests/array/ksort_variation8.phpt | 40 +++++++++---------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/ext/standard/tests/array/krsort_variation8.phpt b/ext/standard/tests/array/krsort_variation8.phpt index 4c1c6f2173d26..caa0f21936027 100644 --- a/ext/standard/tests/array/krsort_variation8.phpt +++ b/ext/standard/tests/array/krsort_variation8.phpt @@ -41,6 +41,10 @@ echo "Done\n"; -- Testing krsort() by supplying mixed value array, 'flag' value is default -- bool(true) array(13) { + [5]=> + string(1) "5" + [4]=> + float(4.01) ["b"]=> string(1) "b" ["array2"]=> @@ -81,23 +85,23 @@ array(13) { string(2) "ab" ["True"]=> string(4) "True" - [5]=> - string(1) "5" - [4]=> - float(4.01) [0]=> float(0.001) ["-.9"]=> string(3) "-.9" - [-2]=> - float(-2.98989) [""]=> string(0) "" + [-2]=> + float(-2.98989) } -- Testing krsort() by supplying mixed value array, 'flag' value is SORT_REGULAR -- bool(true) array(13) { + [5]=> + string(1) "5" + [4]=> + float(4.01) ["b"]=> string(1) "b" ["array2"]=> @@ -138,17 +142,13 @@ array(13) { string(2) "ab" ["True"]=> string(4) "True" - [5]=> - string(1) "5" - [4]=> - float(4.01) [0]=> float(0.001) ["-.9"]=> string(3) "-.9" - [-2]=> - float(-2.98989) [""]=> string(0) "" + [-2]=> + float(-2.98989) } Done diff --git a/ext/standard/tests/array/ksort_variation8.phpt b/ext/standard/tests/array/ksort_variation8.phpt index 236c405c64b95..10ed218211f07 100644 --- a/ext/standard/tests/array/ksort_variation8.phpt +++ b/ext/standard/tests/array/ksort_variation8.phpt @@ -40,26 +40,18 @@ echo "Done\n"; -- Testing ksort() by supplying mixed value array, 'flag' value is default -- bool(true) array(13) { - [""]=> - string(0) "" [-2]=> float(-2.98989) + [""]=> + string(0) "" ["-.9"]=> string(3) "-.9" - [0]=> - float(0.001) - [4]=> - float(4.01) - [5]=> - string(1) "5" ["True"]=> string(4) "True" ["ab"]=> string(2) "ab" ["abcd"]=> string(4) "abcd" - ["abcd%0abcd%0abcd"]=> - string(14) "abcd%0abcd%0abcd" ["array1"]=> array(0) { } @@ -92,31 +84,31 @@ array(13) { } ["b"]=> string(1) "b" + [0]=> + float(0.001) + ["abcd%0abcd%0abcd"]=> + string(14) "abcd%0abcd%0abcd" + [4]=> + float(4.01) + [5]=> + string(1) "5" } -- Testing ksort() by supplying mixed value array, 'flag' value is SORT_REGULAR -- bool(true) array(13) { - [""]=> - string(0) "" [-2]=> float(-2.98989) + [""]=> + string(0) "" ["-.9"]=> string(3) "-.9" - [0]=> - float(0.001) - [4]=> - float(4.01) - [5]=> - string(1) "5" ["True"]=> string(4) "True" ["ab"]=> string(2) "ab" ["abcd"]=> string(4) "abcd" - ["abcd%0abcd%0abcd"]=> - string(14) "abcd%0abcd%0abcd" ["array1"]=> array(0) { } @@ -149,5 +141,13 @@ array(13) { } ["b"]=> string(1) "b" + [0]=> + float(0.001) + ["abcd%0abcd%0abcd"]=> + string(14) "abcd%0abcd%0abcd" + [4]=> + float(4.01) + [5]=> + string(1) "5" } Done From 853181a14dd5e0dd96dd3bf144edf9e7fd37bac3 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 30 Aug 2022 16:59:39 +0200 Subject: [PATCH 183/229] Add NEWS and UPGRADING entries for GH-9296 --- NEWS | 2 ++ UPGRADING | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 94d1193e0a39e..793c6d2be9886 100644 --- a/NEWS +++ b/NEWS @@ -87,6 +87,8 @@ PHP NEWS . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) . Fixed GH-9200 (setcookie has an obsolete expires date format). (Derick) . Fixed GH-9244 (Segfault with array_multisort + array_shift). (cmb) + . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). + (Denis Vaksman) 04 Aug 2022, PHP 8.2.0beta2 diff --git a/UPGRADING b/UPGRADING index 6d1904b3994ef..505828cb21fc0 100644 --- a/UPGRADING +++ b/UPGRADING @@ -51,6 +51,8 @@ PHP 8.2 UPGRADE NOTES . str_split() returns an empty array for an empty string now. Previously it returned an array with a single empty string entry. mb_str_split() is not affected by this change since it was already behaving like that. + . ksort() and krsort() do numeric string comparison under SORT_REGULAR using + the standard PHP 8 rules now. - SPL: . The following methods now enforce their signature: From 327c95237c96c517bd72671404686b9f5c2af8bb Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 30 Aug 2022 11:17:15 -0400 Subject: [PATCH 184/229] Prepare for PHP 8.3 --- CONTRIBUTING.md | 3 +- NEWS | 382 +------------------------------ UPGRADING | 480 +-------------------------------------- UPGRADING.INTERNALS | 80 +------ Zend/zend.h | 2 +- Zend/zend_extensions.h | 2 +- Zend/zend_modules.h | 2 +- configure.ac | 2 +- main/php.h | 2 +- main/php_version.h | 6 +- win32/build/confutils.js | 4 +- 11 files changed, 15 insertions(+), 950 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 860e6ae0f3b8e..aa12fe0366aee 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -331,7 +331,8 @@ Currently we have the following branches in use: | Branch | | | --------- | --------- | -| master | Active development branch for PHP 8.2, which is open for backwards incompatible changes and major internal API changes. | +| master | Active development branch for PHP 8.3, which is open for backwards incompatible changes and major internal API changes. | +| PHP-8.2 | Is used to release the PHP 8.2.x series. This is a current stable version and is open for bugfixes only. | | PHP-8.1 | Is used to release the PHP 8.1.x series. This is a current stable version and is open for bugfixes only. | | PHP-8.0 | Is used to release the PHP 8.0.x series. This is a current stable version and is open for bugfixes only. | | PHP-7.4 | Is used to release the PHP 7.4.x series. This is an old stable version and is open for security fixes only. | diff --git a/NEWS b/NEWS index 793c6d2be9886..adddc7cc88e2e 100644 --- a/NEWS +++ b/NEWS @@ -1,386 +1,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.0RC1 +?? ??? ????, PHP 8.3.0alpha1 -- CLI: - . Implement built-in web server responding without body to HEAD request on - a static resource. (Vedran Miletic, Marin Martuslovic) - . Implement built-in web server responding with HTTP status 405 to - DELETE/PUT/PATCH request on a static resource. - (Vedran Miletic, Marin Martuslovic) - -- Core: - . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) - (Tim Starling) - . Fixed bug GH-9227 (Trailing dots and spaces in filenames are ignored). - (cmb) - . Fixed bug GH-9285 (Traits cannot be used in readonly classes). - (kocsismate) - . Fixed bug GH-9186 (@strict-properties can be bypassed using - unserialization). (kocsismate) - -- Date: - . Fixed bug GH-9431 (DateTime::getLastErrors() not returning false when no - errors/warnings). (Derick) - -- ODBC: - . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin - Buckley) - -- Opcache: - . Fixed bug GH-9371 (Crash with JIT on mac arm64) - (jdp1024/David Carlier) - -- OpenSSL: - . Fixed bug GH-9310 (SSL local_cert and local_pk do not respect - open_basedir). (Jakub Zelenka) - . Implement FR #76935 ("chacha20-poly1305" is an AEAD but does not work like - AEAD). (Jakub Zelenka) - . Added openssl_cipher_key_length function. (Jakub Zelenka) - -- PDO_ODBC: - . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin - Buckley) - -- Random: - . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 - always returns 1). (timwolla) - . Fixed Randomizer::getInt() consistency for 32-bit engines. (timwolla) - -- Streams: - . Fixed bug GH-9316 ($http_response_header is wrong for long status line). - (cmb, timwolla) - -- XML: - . Added libxml_get_external_entity_loader() function. (Tim Starling) - -18 Aug 2022, PHP 8.2.0beta3 - -- Core: - . Fixed incorrect double to long casting in latest clang. (zeriyoshi) - . Added support for defining constants in traits. (sj-i) - . Stop incorrectly emitting false positive deprecation notice alongside - unsupported syntax fatal error for `"{$g{'h'}}"`. (TysonAndre) - . Fix unexpected deprecated dynamic property warning, which occurred when - exit() in finally block after an exception was thrown without catching. - (Twosee) - -- MBString: - . Fixed bug GH-9248 (Segmentation fault in mb_strimwidth()). (cmb) - -- Random: - . Fixed bug GH-9235 (non-existant $sequence parameter in stub for - PcgOneseq128XslRr64::__construct()). (timwolla) - . Fixed bug GH-9190, GH-9191 (undefined behavior for MT_RAND_PHP when - handling large ranges). (timwolla) - . Fixed bug GH-9249 (Xoshiro256StarStar does not reject the invalid - all-zero state). (timwolla) - . Removed redundant RuntimeExceptions from Randomizer methods. The - exceptions thrown by the engines will be exposed directly. (timwolla) - . Added extension specific Exceptions/Errors (RandomException, RandomError, - BrokenRandomEngineError). (timwolla) - -- Session: - . Fixed GH-9200 (setcookie has an obsolete expires date format). (timwolla) - -- Standard: - . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) - . Fixed GH-9200 (setcookie has an obsolete expires date format). (Derick) - . Fixed GH-9244 (Segfault with array_multisort + array_shift). (cmb) - . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). - (Denis Vaksman) - -04 Aug 2022, PHP 8.2.0beta2 - -- Core: - . Fixed bug GH-7900 (Arrow function with never return type compile-time - errors). (ilutov) - -- Date: - . Fixed bug GH-8730 (DateTime::diff miscalculation is same time zone of - different type). (Derick) - . Fixed bug GH-8964 (DateTime object comparison after applying delta less - than 1 second). (Derick) - . Fixed bug GH-9106: (DateInterval 1.5s added to DateTimeInterface is rounded - down since PHP 8.1.0). (Derick) - . Fixed bug #75035 (Datetime fails to unserialize "extreme" dates). - (Derick) - . Fixed bug #80483 (DateTime Object with 5-digit year can't unserialized). - (Derick) - . Fixed bug #81263 (Wrong result from DateTimeImmutable::diff). (Derick) - -- DBA: - . Fixed LMDB driver memory leak on DB creation failure (Girgias) - . Fixed GH-8856 (dba: lmdb: allow to override the MDB_NOSUBDIR flag). (Girgias) - -- FFI: - . Fixed bug GH-9090 (Support assigning function pointers in FFI). (Adam - Saponara) - -- Intl: - . Declared Transliterator::$id as readonly to unlock subclassing it. (Nicolas - Grekas) - -- OPcache: - . Fixed bug GH-9164 (Segfault in zend_accel_class_hash_copy). - (Arnaud, Sergei Turchanov) - -- PCNTL: - . Fixed pcntl_(get|set)priority error handling for MacOS. (Juan Morales) - -- Random: - . Fixed bug GH-9067 (random extension is not thread safe). (cmb) - . Fixed bug GH-9055 (segmentation fault if user engine throws). (timwolla) - . Fixed bug GH-9066 (signed integer overflow). (zeriyoshi) - . Fixed bug GH-9083 (undefined behavior during shifting). (timwolla) - . Fixed bug GH-9088, GH-9056 (incorrect expansion of bytes when - generating uniform integers within a given range). (timwolla) - . Fixed bug GH-9089 (Fix memory leak on Randomizer::__construct() - call twice). (zeriyoshi) - . Fixed bug GH-9212 (PcgOneseq128XslRr64::jump() should not allow negative - $advance). (Anton Smirnov) - . Changed Mt19937 to throw a ValueError instead of InvalidArgumentException - for invalid $mode. (timwolla) - . Splitted Random\Randomizer::getInt() (without arguments) to - Random\Randomizer::nextInt(). (zeriyoshi) - -- Sockets: - . Added SOL_FILTER socket option for Solaris. (David Carlier) - -- SPL: - . Fixed bug #69181 (READ_CSV|DROP_NEW_LINE drops newlines within fields). - (cmb) - . Fixed bug #65069 (GlobIterator incorrect handling of open_basedir check). - (Jakub Zelenka) - -21 Jul 2022, PHP 8.2.0beta1 - -- CLI: - . Updated the mime-type table for the builtin-server. (Ayesh Karunaratne) - . Fixed potential overflow for the builtin server via the - PHP_CLI_SERVER_WORKERS environment variable. (yiyuaner) - . Fixed GH-8575 by changing STDOUT, STDERR and STDIN to not close on resource - destruction. (Jakub Zelenka) - -- Core: - . Reduced the memory footprint of strings returned by var_export(), - json_encode(), serialize(), iconv_*(), mb_ereg*(), session_create_id(), - http_build_query(), strstr(), Reflection*::__toString(). (Arnaud) - . Fixed bug GH-8995 (WeakMap object reference offset causing TypeError). - (Tobias Bachert) - . Added error_log_mode ini setting. (Mikhail Galanin) - . Updated request startup messages. (Eric Norris) - -- COM: - . Fixed bug GH-8750 (Can not create VT_ERROR variant type). (cmb) - -- Filter: - . Added FILTER_FLAG_GLOBAL_RANGE to filter Global IPs. (vnsavage) - -- FPM: - . Added listen.setfib pool option to set route FIB on FreeBSD. (David Carlier) - . Added access.suppress_path pool option to filter access log entries. - (Mark Gallagher) - . Fixed on fpm scoreboard occasional warning on acquisition failure. - (Felix Wiedemann) - -- Opcache: - . Added initial support for JIT performance profiling generation - for macOs Instrument. (David Carlier) - . Fixed bug GH-8030 (Segfault with JIT and large match/switch statements). - (Arnaud) - . Added JIT support improvement for macOs for segments and executable permission - bit handling. (David Carlier) - . Added JIT buffer allocation near the .text section on FreeNSD. (David Carlier) - -- PCRE: - . Updated bundled libpcre to 10.40. (cmb) - -- PDO_Firebird: - . Fixed bug GH-8576 (Bad interpretation of length when char is UTF-8). (cmb) - -- Random: - . Added new random extension. (Go Kudo) - -- SPL: - . Widen iterator_to_array() and iterator_count()'s $iterator parameter to - iterable. (timwolla) - -- Standard: - . Implemented FR GH-8924 (str_split should return empty array for empty - string). (Michael Vorisek) - . Added ini_parse_quantity function to convert ini quantities shorthand - notation to int. (Dennis Snell) - . Enable arc4random_buf for Linux glibc 2.36 and onwards - for the random_bytes. (Cristian Rodriguez) - . Uses CCRandomGenerateBytes instead of arc4random_buf on macOs. (David Carlier). - -- Windows: - . Added preliminary support for (cross-)building for ARM64. (Yun Dou) - -07 Jul 2022, PHP 8.2.0alpha3 - -- Core: - . Uses safe_perealloc instead of perealloc for the - ZEND_PTR_STACK_RESIZE_IF_NEEDED to avoid possible overflows. (David Carlier) - -- DBA: - . Fixed LMDB driver hanging when attempting to delete a non-existing key - (Girgias) - -- Intl: - . Fixed build for ICU 69.x and onwards. (David Carlier) - -- Opcache: - . Allocate JIT buffer close to PHP .text segemnt to allow using direct - IP-relative calls and jumps. - (Su Tao, Wang Xue, Chen Hu, Lizhen Lizhen, Dmitry) - -- Sockets: - . Added TCP_CONGESTION socket option. (David Carlier) - . Added SO_ZEROCOPY/MSG_ZEROCOPY options. (David Carlier) - -- SPL: - . Uses safe_erealloc instead of erealloc to handle heap growth - for the SplHeap::insert method to avoid possible overflows. (David Carlier) - -- Standard: - . Fixed the crypt_sha256/512 api build with clang > 12. (David Carlier) - . Uses safe_erealloc instead of erealloc to handle options in getopt - to avoid possible overflows. (David Carlier) - -- Zip: - - . Implement fseek for zip stream when possible with libzip 1.9.1. (Remi) - -23 Jun 2022, PHP 8.2.0alpha2 - -- Core: - . Fixed bug GH-8655 (Casting an object to array does not unwrap refcount=1 - references). (Nicolas Grekas) - . Fixed bug GH-8661 (Nullsafe in coalesce triggers undefined variable - warning). (ilutov) - . Fixed bug GH-7821 and GH-8418 (Allow arbitrary const expressions in backed - enums). (ilutov) - . Fixed bug GH-8810 (Incorrect lineno in backtrace of multi-line function - calls). (ilutov) - . Optimised code path for newly created file with the stream plain wrapper. (Max Kellermann) - -- Curl: - . Added new constants from cURL 7.62 to 7.80. (Pierrick) - . New function curl_upkeep(). (Pierrick) - -- OpenSSL: - . Discard poll calls on socket when no timeout/non blocking/MSG_DONTWAIT. (Max Kellermann) - -- PCRE: - . Implemented FR #77726 (Allow null character in regex patterns). (cmb) - -- Standard: - . Deprecated utf8_encode() and utf8_decode(). (Rowan Tommins) - -- Streams: - . Discard poll calls on socket when no timeout/non blocking/MSG_DONTWAIT. (Max Kellermann) - -09 Jun 2022, PHP 8.2.0alpha1 - -- CLI: - . Fixed bug #81496 (Server logs incorrect request method). (lauri) - -- Core: - . Fixed bug #81380 (Observer may not be initialized properly). (krakjoe) - . Fixed bug GH-7771 (Fix filename/lineno of constant expressions). (ilutov) - . Fixed bug GH-7792 (Improve class type in error messages). (ilutov) - . Support huge pages on MacOS. (David CARLIER) - -- Curl: - . Added support for CURLOPT_XFERINFOFUNCTION. (David Carlier) - . Added support for CURLOPT_MAXFILESIZE_LARGE. (David Carlier) - -- Date: - . Fixed GH-8458 (DateInterval::createFromDateString does not throw if - non-relative items are present). (Derick) - . Fixed bug #52015 (Allow including end date in DatePeriod iterations) - (Daniel Egeberg, Derick) - . idate() now accepts format specifiers "N" (ISO Day-of-Week) and "o" (ISO - Year). (Pavel Djundik) - -- FPM: - . Emit error for invalid port setting. (David Carlier) - . Added extra check for FPM proc dumpable on SELinux based systems. - (David Carlier) - . Added support for listening queue on macOS. (David Carlier) - . Changed default for listen.backlog on Linux to -1. (Cristian Rodríguez) - -- FTP: - . Fix datetime format string to follow POSIX spec in ftp_mdtm(). (Jihwan Kim) - -- Intl: - . Update all grandfathered language tags with preferred values - . Fixed GH-7939 (Cannot unserialize IntlTimeZone objects). (cmb) - -- OCI8: - . Added oci8.prefetch_lob_size directive to tune LOB query performance - . Support for building against Oracle Client libraries 10.1 and 10.2 has been - dropped. Oracle Client libraries 11.2 or newer are now required. - -- ODBC: - . Fixed bug GH-8300 (User input not escaped when building connection string). - (Calvin Buckley) - -- PDO_ODBC: - . Fixed bug #80909 (crash with persistent connections in PDO_ODBC). (Calvin - Buckley) - . Fixed bug GH-8300 (User input not escaped when building connection string). - (Calvin Buckley) - -- Reflection: - . Added ReflectionFunction::isAnonymous(). (Nicolas Grekas) - . Added ReflectionMethod::hasPrototype(). (Ollie Read) - . Narrow ReflectionEnum::getBackingType() return type to ReflectionNamedType. - (SamMousa) - -- Session: - . Fixed bug GH-7787 (Improve session write failure message for user error - handlers). (ilutov) - -- Sockets: - . Added TCP_NOTSENT_LOWAT socket option. (David Carlier) - . Added SO_MEMINFO socket option. (David Carlier) - . Added SO_RTABLE socket option (OpenBSD), equivalent of SO_MARK (Linux). - (David Carlier) - . Added TCP_KEEPALIVE, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT socket - options. (David Carlier) - . Added ancillary data support for FreeBSD. (David Carlier) - . Added ancillary data support for NetBSD. (David Carlier) - . Added SO_BPF_EXTENSIONS socket option. (David Carlier) - . Added SO_SETFIB socket option. (David Carlier) - -- Sodium: - . Added sodium_crypto_stream_xchacha20_xor_ic(). (Scott) - -- SQLite3: - . Changed sqlite3.defensive from PHP_INI_SYSTEM to PHP_INI_USER. (bohwaz) - -- Standard: - . net_get_interfaces() also reports wireless network interfaces on Windows. - (Yurun) - . Finished AVIF support in getimagesize(). (Yannis Guyon) - . Fixed bug GH-7847 (stripos with large haystack has bad performance). - (ilutov) - . New function memory_reset_peak_usage(). (Patrick Allaert) - . Fixed parse_url(): can not recognize port without scheme. (pandaLIU) - -- Streams: - . Set IP_BIND_ADDRESS_NO_PORT if available when connecting to remote host. - (Cristian Rodríguez) - . Fixed bug GH-8548 (stream_wrapper_unregister() leaks memory). (ilutov) - -- Zip: - . add ZipArchive::clearError() method - . add ZipArchive::getStreamName() method - . add ZipArchive::getStreamIndex() method - . On Windows, the Zip extension is now built as shared library (DLL) by - default. (cmb) <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>> diff --git a/UPGRADING b/UPGRADING index 505828cb21fc0..f60d2f344ae1a 100644 --- a/UPGRADING +++ b/UPGRADING @@ -1,4 +1,4 @@ -PHP 8.2 UPGRADE NOTES +PHP 8.3 UPGRADE NOTES 1. Backward Incompatible Changes 2. New Features @@ -19,122 +19,10 @@ PHP 8.2 UPGRADE NOTES 1. Backward Incompatible Changes ======================================== -- Date: - . DateTime::createFromImmutable() now has a tentative return type of static, - previously it was DateTime. - . DateTimeImmutable::createFromMutable() now has a tentative return type of static, - previously it was DateTimeImmutable. - -- ODBC: - . The ODBC extension now escapes the username and password for the case when - both a connection string and username/password are passed, and the string - must be appended to. Before, user values containing values needing escaping - could have created a malformed connection string, or injected values from - user-provided data. The escaping rules should be identical to the .NET BCL - DbConnectionOptions behaviour. - -- PDO_ODBC: - . The PDO_ODBC extension also escapes the username and password when a - connection string is passed. See the change to the ODBC extension for - further details. - -- Standard: - . glob() returns empty array if all paths are restricted by open_basedir. - Previously the error was returned but that behavior was not consistent and - did not work correctly for all patterns. - . strtolower() and strtoupper() are no longer locale-sensitive. They now - perform ASCII case conversion, as if the locale were "C". Use - mb_strtolower() if you want localized case conversion. Similarly, stristr, - stripos, strripos, lcfirst, ucfirst, ucwords, str_ireplace, - array_change_key_case and sorting with SORT_FLAG_CASE use ASCII case - conversion. - . str_split() returns an empty array for an empty string now. Previously it - returned an array with a single empty string entry. mb_str_split() is not - affected by this change since it was already behaving like that. - . ksort() and krsort() do numeric string comparison under SORT_REGULAR using - the standard PHP 8 rules now. - -- SPL: - . The following methods now enforce their signature: - * SplFileInfo::_bad_state_ex() - * SplFileObject::getCsvControl() - * SplFileObject::fflush() - * SplFileObject::ftell() - * SplFileObject::fgetc() - * SplFileObject::fpassthru() - . SplFileObject::hasChildren() now has a tentative return type of false, - previously it was bool - . SplFileObject::getChildren() now has a tentative return type of null, - previously it was ?RecursiveIterator - . GlogIterator returns empty array if all paths are restricted by - open_basedir. Previously the error was returned but that behavior was not - consistent and did not work correctly. - ======================================== 2. New Features ======================================== -- Core: - . Added the #[\SensitiveParameter] attribute to redact sensitive data in - backtraces. - RFC: https://wiki.php.net/rfc/redact_parameters_in_back_traces - . It is now possible to use null and false as standalone types. - RFC: https://wiki.php.net/rfc/null-false-standalone-types - . Added support for readonly classes. - RFC: https://wiki.php.net/rfc/readonly_classes - . Added support for true type. - RFC: https://wiki.php.net/rfc/true-type - . Added support for Disjoint Normal Form (DNF) types. - RFC: https://wiki.php.net/rfc/dnf_types - . Added error_log_mode ini setting that allows setting of permissions for - error log file. - . Added support for fetching properties of enums in constant expressions. - RFC: https://wiki.php.net/rfc/fetch_property_in_const_expressions - . Added support for defining constants in traits. - RFC: https://wiki.php.net/rfc/constants_in_traits - -- Curl: - . Added CURLINFO_EFFECTIVE_METHOD option and returning the effective - HTTP method in curl_getinfo() return value. - . Exposed multiple new constants from libcurl 7.62 to 7.80. - . Added new function curl_upkeep() to perform any connection upkeep checks. - -- DBA: - . The LMDB Driver now accepts the DBA_LMDB_USE_SUB_DIR or DBA_LMDB_NO_SUB_DIR - flags to determine if it should create a sub directory or not when creating - a database file. - -- OCI8: - . Added an oci8.prefetch_lob_size directive and oci_set_prefetch_lob() - function to tune LOB query performance by reducing the number of - round-trips between PHP and Oracle Database when fetching LOBS. This is - usable with Oracle Database 12.2 or later. - -- OpenSSL: - . Added AEAD support for chacha20-poly1305 algorithm. - -- ODBC: - . Added odbc_connection_string_is_quoted, odbc_connection_string_should_quote, - and odbc_connection_string_quote. These are primarily used behind the scenes - in the ODBC and PDO_ODBC extensions, but is exposed to userland for easier - unit testing, and for user applications and libraries to perform quoting - themselves. - -- PCRE: - . Added support for the "n" (NO_AUTO_CAPTURE) modifier, which makes simple - `(xyz)` groups non-capturing. Only named groups like `(?xyz)` are - capturing. This only affects which groups are capturing, it is still - possible to use numbered subpattern references, and the matches array will - still contain numbered results. - -- Random: - . New extension that organizes and consolidates existing implementations - related to random number generators. New, higher quality RNGs are available - and scope issues are eliminated. - RFC: https://wiki.php.net/rfc/rng_extension - RFC: https://wiki.php.net/rfc/random_extension_improvement - - ======================================== 3. Changes in SAPI modules ======================================== @@ -143,119 +31,14 @@ PHP 8.2 UPGRADE NOTES 4. Deprecated Functionality ======================================== -- Core: - . Creation of dynamic properties is deprecated, unless the class opts in by - using the #[AllowDynamicProperties] attribute. stdClass allows dynamic - properties. Usage of __get()/__set() is not affected by this change. A - dynamic properties deprecation warning can be addressed by: - - Declaring the property (preferred). - - Adding the #[AllowDynamicProperties] attribute to the class (which also - applies to all child classes). - - Using a WeakMap if you wish to associate additional data with an object - you do not own. - - . Callables that are not accepted by the $callable() syntax (but are accepted - by call_user_func) are deprecated. In particular: - - "self::method" - "parent::method" - "static::method" - ["self", "method"] - ["parent", "method"] - ["static", "method"] - ["Foo", "Bar::method"] - [new Foo, "Bar::method"] - - This does not affect normal method callables like "A::method" or - ["A", "method"]. - - RFC: https://wiki.php.net/rfc/deprecate_partially_supported_callables - RFC: https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices - - . The "${var}" and "${expr}" style string interpolations are deprecated and - will be removed in PHP 9. Use "$var"/"{$var}" or "{${expr}}", respectively. - RFC: https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation - -- Mbstring: - . Use of QPrint, Base64, Uuencode, and HTML-ENTITIES 'text encodings' is - deprecated for all Mbstring functions. Unlike all the other text - encodings supported by Mbstring, these do not encode a sequence of - Unicode codepoints, but rather a sequence of raw bytes. It is not - clear what the correct return values for most Mbstring functions should - be when one of these non-encodings is specified. Further, PHP has - separate, built-in implementations of all of them; for example, UUencoded - data can be handled using convert_uuencode/convert_uudecode. - -- SPL: - . The SplFileInfo::_bad_state_ex() internal method has been deprecated. - -- Standard: - . utf8_encode() and utf8_decode() have been deprecated. - ======================================== 5. Changed Functions ======================================== -- Core - . str*cmp, str*pos, substr_compare functions, using binary safe string - comparison now return -1, 0 and 1. - -- DBA - . dba_open() and dba_popen() now have the following enforced function signature - dba_open(string $path, string $mode, ?string $handler = null, int $permission = 0o644, int $map_size = 0, ?int $flags = null) - . dba_fetch()'s optional skip argument is now at the end in line with - PHP userland semantics its signature now is: - dba_fetch(string|array $key, $dba, int $skip = 0): string|false - The overloaded signature - dba_fetch(string|array $key, $skip, $dba): string|false - is still accepted, but it is recommended to use the new standard variant. - -- Random - . random_bytes() and random_int() now throw \Random\RandomException on CSPRNG failure. - Previously a plain \Exception was thrown. - -- SPL - . The $iterator parameter of iterator_to_array() and iterator_count() is - widened to iterable from Iterator, allowing arrays to be passed. - RFC: https://wiki.php.net/rfc/iterator_xyz_accept_array - ======================================== 6. New Functions ======================================== -- Curl: - . curl_upkeep() (libcurl >= 7.62.0) - -- mysqli: - . mysqli_execute_query() - -- OpenSSL: - . openssl_cipher_key_length(): Returns a key length for the supplied - cipher. - -- Reflection: - . ReflectionFunction::isAnonymous() - . ReflectionMethod::hasPrototype() - -- Sodium: - . sodium_crypto_stream_xchacha20_xor_ic() - -- Standard: - . The peak memory usage can now be reset to the current usage thanks to - memory_reset_peak_usage(). - . ini_parse_quantity(): Parses "shorthand bytes" quantities returned by - ini_get(). The function is suitable for parsing quantities whose int value - is in the range [PHP_INT_MIN, PHP_INT_MAX]. - Parsing and interpretation is consistent with ini_set() (see also the - "Changes to INI File Handling" section). - Caveats: Some ini settings may apply additional constraints to the resuling - int value, such as a smaller range, that will not be reflected by - ini_parse_quantity(). The `memory_limit` setting accepts values higher than - PHP_INT_MAX, than can not be parsed by ini_parse_quantity(). - -- XML: - . libxml_get_external_entity_loader() - ======================================== 7. New Classes and Interfaces ======================================== @@ -268,283 +51,22 @@ PHP 8.2 UPGRADE NOTES 9. Other Changes to Extensions ======================================== -- Date: - . DatePeriod properties are now properly declared. - -- Intl: - . IntlBreakIterator, IntlRuleBasedBreakIterator, IntlCodePointBreakIterator, - IntlPartsIterator, IntlCalendar, IntlCalendar, Collator, IntlIterator, - UConverter, IntlDateFormatter, IntlDatePatternGenerator, MessageFormatter, - ResourceBundle, Spoofchecker, IntlTimeZone and Transliterator instances are - no longer serializable. Previously, they could be serialized, but - unserialization yielded unusable objects or failed. - -- mysqli: - . The support for libmysql has been removed. It's no longer possible to compile - mysqli with libmysql and all relevant functionality has been removed. - . The reconnect property of mysqli_driver has been removed. It was supported only by libmysql. - . The INI directive mysqli.reconnect has been removed. - . The constant MYSQLI_IS_MARIADB has been deprecated. - -- OCI8: - . The minimum Oracle Client library version required is now 11.2. - -- PCRE: - . NUL characters (\0) in pattern strings are now supported. - -- Session: - . Trying to change the SameSite cookie INI setting while the session is - active or output has already been sent will now fail and emit a warning. - This aligns the behaviour with all other session INI settings. - -- SQLite3: - . sqlite3.defensive is now PHP_INI_USER. - -- Standard: - . getimagesize() now reports the actual image dimensions, bits and channels - of AVIF images. Previously, the dimensions have been reported as 0x0, and - bits and channels have not been reported at all. - -- Tidy: - . tidy properties are now properly declared. - . tidyNode properties are now properly declared as readonly. - -- Zip: - . extension updated to 1.20.0 with new methods: - ZipArchive::clearError, getStreamName and getStreamIndex - ======================================== 10. New Global Constants ======================================== -- COM_DOTNET: - . DISP_E_PARAMNOTFOUND - . LOCALE_NEUTRAL - -- Curl: - . CURLALTSVC_H1 (libcurl >= 7.64.1) - . CURLALTSVC_H2 (libcurl >= 7.64.1) - . CURLALTSVC_H3 (libcurl >= 7.64.1) - . CURLALTSVC_READONLYFILE (libcurl >= 7.64.1) - . CURLAUTH_AWS_SIGV4 (libcurl >= 7.75.0) - . CURLE_PROXY (libcurl >= 7.73.0) - . CURLFTPMETHOD_DEFAULT - . CURLHSTS_ENABLE (libcurl >= 7.74.0) - . CURLHSTS_READONLYFILE (libcurl >= 7.74.0) - . CURLINFO_PROXY_ERROR (libcurl >= 7.73.0) - . CURLINFO_REFERER (libcurl >= 7.76.0) - . CURLINFO_RETRY_AFTER (libcurl >= 7.66.0) - . CURLMOPT_MAX_CONCURRENT_STREAMS (libcurl >= 7.67.0) - . CURLOPT_ALTSVC_CTRL (libcurl >= 7.64.1) - . CURLOPT_ALTSVC (libcurl >= 7.64.1) - . CURLOPT_AWS_SIGV4 (libcurl >= 7.75.0) - . CURLOPT_CAINFO_BLOB (libcurl >= 7.77.0) - . CURLOPT_DOH_SSL_VERIFYHOST (libcurl >= 7.76.0) - . CURLOPT_DOH_SSL_VERIFYPEER (libcurl >= 7.76.0) - . CURLOPT_DOH_SSL_VERIFYSTATUS (libcurl >= 7.76.0) - . CURLOPT_HSTS_CTRL (libcurl >= 7.74.0) - . CURLOPT_HSTS (libcurl >= 7.74.0) - . CURLOPT_MAIL_RCPT_ALLLOWFAILS (libcurl >= 7.69.0) - . CURLOPT_MAXAGE_CONN (libcurl >= 7.65.0) - . CURLOPT_MAXFILESIZE_LARGE - . CURLOPT_MAXLIFETIME_CONN (libcurl >= 7.80.0) - . CURLOPT_PROXY_CAINFO_BLOB (libcurl >= 7.77.0) - . CURLOPT_SASL_AUTHZID (libcurl >= 7.66.0) - . CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (libcurl >= 7.80.0) - . CURLOPT_SSL_EC_CURVES (libcurl >= 7.73.0) - . CURLOPT_UPKEEP_INTERVAL_MS (libcurl >= 7.62.0) - . CURLOPT_UPLOAD_BUFFERSIZE (libcurl >= 7.62.0) - . CURLOPT_XFERINFOFUNCTION (libcurl >= 7.32.0) - . CURLPROTO_MQTT (libcurl >= 7.71.0) - . CURLPX_BAD_ADDRESS_TYPE (libcurl >= 7.73.0) - . CURLPX_BAD_VERSION (libcurl >= 7.73.0) - . CURLPX_CLOSED (libcurl >= 7.73.0) - . CURLPX_GSSAPI (libcurl >= 7.73.0) - . CURLPX_GSSAPI_PERMSG (libcurl >= 7.73.0) - . CURLPX_GSSAPI_PROTECTION (libcurl >= 7.73.0) - . CURLPX_IDENTD_DIFFER (libcurl >= 7.73.0) - . CURLPX_IDENTD (libcurl >= 7.73.0) - . CURLPX_LONG_HOSTNAME (libcurl >= 7.73.0) - . CURLPX_LONG_PASSWD (libcurl >= 7.73.0) - . CURLPX_LONG_USER (libcurl >= 7.73.0) - . CURLPX_NO_AUTH (libcurl >= 7.73.0) - . CURLPX_OK (libcurl >= 7.73.0) - . CURLPX_RECV_ADDRESS (libcurl >= 7.73.0) - . CURLPX_RECV_AUTH (libcurl >= 7.73.0) - . CURLPX_RECV_CONNECT (libcurl >= 7.73.0) - . CURLPX_RECV_REQACK (libcurl >= 7.73.0) - . CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (libcurl >= 7.73.0) - . CURLPX_REPLY_COMMAND_NOT_SUPPORTED (libcurl >= 7.73.0) - . CURLPX_REPLY_CONNECTION_REFUSED (libcurl >= 7.73.0) - . CURLPX_REPLY_GENERAL_SERVER_FAILURE (libcurl >= 7.73.0) - . CURLPX_REPLY_HOST_UNREACHABLE (libcurl >= 7.73.0) - . CURLPX_REPLY_NETWORK_UNREACHABLE (libcurl >= 7.73.0) - . CURLPX_REPLY_NOT_ALLOWED (libcurl >= 7.73.0) - . CURLPX_REPLY_TTL_EXPIRED (libcurl >= 7.73.0) - . CURLPX_REPLY_UNASSIGNED (libcurl >= 7.73.0) - . CURLPX_REQUEST_FAILED (libcurl >= 7.73.0) - . CURLPX_RESOLVE_HOST (libcurl >= 7.73.0) - . CURLPX_SEND_AUTH (libcurl >= 7.73.0) - . CURLPX_SEND_CONNECT (libcurl >= 7.73.0) - . CURLPX_SEND_REQUEST (libcurl >= 7.73.0) - . CURLPX_UNKNOWN_FAIL (libcurl >= 7.73.0) - . CURLPX_UNKNOWN_MODE (libcurl >= 7.73.0) - . CURLPX_USER_REJECTED (libcurl >= 7.73.0) - . CURLSSLOPT_AUTO_CLIENT_CERT (libcurl >= 7.77.0) - . CURLSSLOPT_NATIVE_CA (libcurl >= 7.71.0) - . CURLSSLOPT_NO_PARTIALCHAIN (libcurl >= 7.68.0) - . CURLSSLOPT_REVOKE_BEST_EFFORT (libcurl >= 7.70.0) - . CURL_VERSION_GSASL (libcurl >= 7.76.0) - . CURL_VERSION_HSTS (libcurl >= 7.74.0) - . CURL_VERSION_HTTP3 (libcurl >= 7.66.0) - . CURL_VERSION_UNICODE (libcurl >= 7.72.0) - . CURL_VERSION_ZSTD (libcurl >= 7.72.0) - -- Filter - . FILTER_FLAG_GLOBAL_RANGE - -- Sockets: - . SO_INCOMING_CPU - . SO_MEMINFO - . SO_RTABLE (OpenBSD) - . TCP_KEEPALIVE (MacOS) - . TCP_KEEPCNT (Linux, others) - . TCP_KEEPIDLE (Linux, others) - . TCP_KEEPINTVL (Linux, others) - . TCP_NOTSENT_LOWAT - . LOCAL_CREDS_PERSISTENT (FreeBSD) - . SCM_CREDS2 (FreeBSD) - . LOCAL_CREDS (NetBSD) - . SO_BPF_EXTENSIONS - . SO_SETFIB - . TCP_CONGESTION (Linux, FreeBSD) - . SO_ZEROCOPY (Linux) - . MSG_ZEROCOPY (Linux) - ======================================== 11. Changes to INI File Handling ======================================== -- Parsing of some ill-formatted values will now trigger a warning when this was - silently ignored before. Interpretation of these values is not changed, for - backwards compatibility. This affects the following settings: - . bcmath.scale - . com.code_page - . default_socket_timeout - . fiber.stack_size - . hard_timeout - . intl.error_level - . ldap.max_links - . max_input_nesting_level - . max_input_vars - . mbstring.regex_retry_limit - . mbstring.regex_stack_limit - . mysqli.allow_local_infile - . mysqli.allow_persistent - . mysqli.default_port - . mysqli.max_links - . mysqli.max_persistent - . mysqli.reconnect - . mysqli.rollback_on_cached_plink - . mysqlnd.log_mask - . mysqlnd.mempool_default_size - . mysqlnd.net_read_buffer_size - . mysqlnd.net_read_timeout - . oci8.default_prefetch - . oci8.max_persistent - . oci8.persistent_timeout - . oci8.ping_interval - . oci8.prefetch_lob_size - . oci8.privileged_connect - . oci8.statement_cache_size - . odbc.allow_persistent - . odbc.check_persistent - . odbc.defaultbinmode - . odbc.default_cursortype - . odbc.defaultlrl - . odbc.max_links - . odbc.max_persistent - . opcache.consistency_checks - . opcache.file_update_protection - . opcache.force_restart_timeout - . opcache.interned_strings_buffer - . opcache.jit_bisect_limit - . opcache.jit_blacklist_root_trace - . opcache.jit_blacklist_side_trace - . opcache.jit_debug - . opcache.jit_hot_func - . opcache.jit_hot_loop - . opcache.jit_hot_return - . opcache.jit_hot_side_exit - . opcache.jit_max_exit_counters - . opcache.jit_max_loop_unrolls - . opcache.jit_max_polymorphic_calls - . opcache.jit_max_recursive_calls - . opcache.jit_max_recursive_returns - . opcache.jit_max_root_traces - . opcache.jit_max_side_traces - . opcache.log_verbosity_level - . opcache.max_file_size - . opcache.opt_debug_level - . opcache.optimization_level - . opcache.revalidate_freq - . output_buffering - . pcre.backtrack_limit - . pcre.recursion_limit - . pgsql.max_links - . pgsql.max_persistent - . post_max_size - . realpath_cache_size - . realpath_cache_ttl - . session.cache_expire - . session.cookie_lifetime - . session.gc_divisor - . session.gc_maxlifetime - . session.gc_probability - . soap.wsdl_cache_limit - . soap.wsdl_cache_ttl - . unserialize_max_depth - . upload_max_filesize - . user_ini.cache_ttl - . xmlrpc_error_number - . zend.assertions - . zlib.output_compression_level - ======================================== 12. Windows Support ======================================== -- Core: - . Windows specific error messages are no longer localized, but instead in - English to better match PHP error messages. - . Preliminary and highly experimental support for building on ARM64 has been - added. - -- OCI8: - . Since building against Oracle Client 10g is no longer supported anyway, - the configuration option --with-oci8 has been dropped. --with-oci8-11g, - --with-oci8-12c and --with-oci8-19 are still supported. - -- Zip: - . The Zip extension upgraded to version 1.21.0 - . The Zip extension is now built as shared library (DLL) by default. - ======================================== 13. Other Changes ======================================== -- CLI: - . The STDOUT, STDERR and STDIN are no longer closed on resource destruction - which is mostly when the CLI finishes. It is however still possible to - explicitly close those streams using fclose and similar. - -- Core: - . The iterable type is now a built-in compile time alias for array|Traversable. - Error messages relating to iterable will therefore now use array|Traversable. - Type Reflection is preserved for single iterable (and ?iterable) to produce - a ReflectionNamedType with name iterable, however usage of iterable in - union types will be converted to array|Traversable - ======================================== 14. Performance Improvements ======================================== diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 6b5fe08f7e5dd..8171455c0952c 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -1,4 +1,4 @@ -PHP 8.2 INTERNALS UPGRADE NOTES +PHP 8.3 INTERNALS UPGRADE NOTES 1. Internal API changes @@ -14,96 +14,18 @@ PHP 8.2 INTERNALS UPGRADE NOTES 1. Internal API changes ======================== -* Removed zend_binary_zval_str(n)casecmp() APIs. These were thin wrappers - around zend_binary_str(n)casecmp_l() -- rather than - zend_binary_str(n)casecmp() as one would expect. Call the appropriate - wrapped function directly instead. -* Removed the (ZEND_)WRONG_PARAM_COUNT_WITH_RETVAL() macros. -* php_stristr() no longer lowercases the haystack and needle as a side effect. - Call zend_str_tolower() yourself if necessary. You no longer need to copy - the haystack and needle before passing them to php_stristr(). -* zend_register_module_ex() no longer copies the module entry. -* The main/php_stdint.h header has been removed. - Include the standard and/or headers instead. - Replace usage of u_char by the standard C99 uint8_t type. -* A new ZEND_THREEWAY_COMPARE() macro has been introduced which does a - three-way comparison of two integers and returns -1, 0 or 1 if the LHS is - smaller, equal or larger than the RHS -* Deprecated zend_atoi() and zend_atol(). Use ZEND_STRTOL() for general purpose - string to long conversion, or a variant of zend_ini_parse_quantity() for - parsing ini quantities. -* The return types of the following object handlers has changed from int to zend_result - - zend_object_cast_t - - zend_object_count_elements_t - - zend_object_get_closure_t - - zend_object_do_operation_t -* Added a new zero_position argument to php_stream_fopen_from_fd_rel to reflect - if this a newly created file so the current file offset needs not to be checked. -* Added smart_str_trim_to_size(). The function trims the memory allocated for the - string. This can considerably reduce the memory footprint of strings smaller - than approximately 4096 bytes. -* smart_str_extract() and the spprintf family of functions now use - smart_str_trim_to_size() before returning the string. -* It is recommended to use smart_str_extract() or smart_str_trim_to_size() when - using the smart_str API. -* zend_is_callable_ex, and functions which call it such as zend_is_callable and - zend_fcall_info_init, will issue deprecation notices if passed values which - are deprecated (see main UPGRADING notes). To suppress the notice, e.g. to - avoid duplicates when processing the same value multiple times, pass or add - IS_CALLABLE_SUPPRESS_DEPRECATIONS to the check_flags parameter. -* Registered zend_observer_fcall_init handlers are now also called for internal functions. -* The pestrdup and pestrndup macros and zend_strndup function are now also infallible - for persistent strings, so checking for NULL is no longer necessary. -* The CHECK_NULL_PATH and CHECK_ZVAL_NULL_PATH macros are now wrappers using - the new inline functions: bool zend_str_has_nul_byte(const zend_string *str) - and zend_char_has_nul_byte(const char *s, size_t known_length) - ======================== 2. Build system changes ======================== -* Unsupported libxml2 2.10.0 symbols are no longer exported on Windows. -* Identifier names for namespaced functions generated from stub files through - gen_stub.php have been changed. This requires that namespaced functions - should be declared via the PHP_FUNCTION macro by using the fully qualified - function name (whereas each part is separated by "_") instead of just the - function name itself. - ======================== 3. Module changes ======================== - a. ext/standard - - The PHP APIs string_natural_compare_function_ex(), - string_natural_case_compare_function(), and string_natural_compare_function() - have been removed. They always returned SUCCESS and were a wrapper around - strnatcmp_ex(). Use strnatcmp_ex() directly instead. - - The PHP API php_fgetcsv() now returns a HashTable* instead of having an in-out - zval parameter. - It now returns NULL on an empty line instead of [null]. - A new function php_bc_fgetcsv_empty_line() has been added to get a HashTable* which - represents [null]. - b. ext/pdo - - pdo_raise_impl_error()'s parameter sqlstate has been changed from - const char * to pdo_error_type (aka char [6]). - ======================== 4. OpCode changes ======================== -* The ZEND_INIT_FCALL opcode now asserts that the function exists in the symbol - table as the function's existence is checked at compile time. - For extensions modifying the function symbol table, setting - CG(compiler_options) |= ZEND_COMPILE_IGNORE_USER_FUNCTIONS | ZEND_COMPILE_IGNORE_INTERNAL_FUNCTIONS; - will produce ZEND_INIT_FCALL_BY_NAME opcodes instead which check for the - existence of the function at runtime. - ======================== 5. SAPI changes ======================== - - * The signature of php_module_startup() has changed from - int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_modules, uint32_t num_additional_modules) - to - zend_result php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_module) - as only one additional module was ever provided. diff --git a/Zend/zend.h b/Zend/zend.h index bea23cf40ba0d..98f4a995715ff 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.2.0-dev" +#define ZEND_VERSION "4.3.0-dev" #define ZEND_ENGINE_3 diff --git a/Zend/zend_extensions.h b/Zend/zend_extensions.h index c32ed5de1adad..14ba9054d9b6a 100644 --- a/Zend/zend_extensions.h +++ b/Zend/zend_extensions.h @@ -44,7 +44,7 @@ You can use the following macro to check the extension API version for compatibi /* The first number is the engine version and the rest is the date (YYYYMMDD). * This way engine 2/3 API no. is always greater than engine 1 API no.. */ -#define ZEND_EXTENSION_API_NO 420210903 +#define ZEND_EXTENSION_API_NO 420220830 typedef struct _zend_extension_version_info { int zend_extension_api_no; diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h index fda01eedc5230..e1db8fdb59791 100644 --- a/Zend/zend_modules.h +++ b/Zend/zend_modules.h @@ -31,7 +31,7 @@ #define ZEND_MODULE_INFO_FUNC_ARGS zend_module_entry *zend_module #define ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU zend_module -#define ZEND_MODULE_API_NO 20210903 +#define ZEND_MODULE_API_NO 20220830 #ifdef ZTS #define USING_ZTS 1 #else diff --git a/configure.ac b/configure.ac index 44f6da3f7d1d5..d39639267ecb0 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.2.0-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.3.0-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php.h b/main/php.h index 27eb72389d2c7..6093d2a932951 100644 --- a/main/php.h +++ b/main/php.h @@ -22,7 +22,7 @@ #include #endif -#define PHP_API_VERSION 20210903 +#define PHP_API_VERSION 20220830 #define PHP_HAVE_STREAMS #define YYDEBUG 0 #define PHP_DEFAULT_CHARSET "UTF-8" diff --git a/main/php_version.h b/main/php_version.h index e7993749fd9e5..4d24349b3e7d6 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -1,8 +1,8 @@ /* automatically generated by configure */ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 -#define PHP_MINOR_VERSION 2 +#define PHP_MINOR_VERSION 3 #define PHP_RELEASE_VERSION 0 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.2.0-dev" -#define PHP_VERSION_ID 80200 +#define PHP_VERSION "8.3.0-dev" +#define PHP_VERSION_ID 80300 diff --git a/win32/build/confutils.js b/win32/build/confutils.js index 4eece37957327..359c751b7bbca 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -95,10 +95,10 @@ if (typeof(CWD) == "undefined") { if (!MODE_PHPIZE) { /* defaults; we pick up the precise versions from configure.ac */ var PHP_VERSION = 8; - var PHP_MINOR_VERSION = 2; + var PHP_MINOR_VERSION = 3; var PHP_RELEASE_VERSION = 0; var PHP_EXTRA_VERSION = ""; - var PHP_VERSION_STRING = "8.2.0"; + var PHP_VERSION_STRING = "8.3.0"; } /* Get version numbers and DEFINE as a string */ From 58a92772abd11737ee228e3918b78ca666dbce1b Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 30 Aug 2022 11:57:05 -0400 Subject: [PATCH 185/229] Prepare PHP 8.2.0 RC1 --- Zend/zend_extensions.h | 2 +- Zend/zend_modules.h | 2 +- main/php.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Zend/zend_extensions.h b/Zend/zend_extensions.h index c32ed5de1adad..4d52ad42cf278 100644 --- a/Zend/zend_extensions.h +++ b/Zend/zend_extensions.h @@ -44,7 +44,7 @@ You can use the following macro to check the extension API version for compatibi /* The first number is the engine version and the rest is the date (YYYYMMDD). * This way engine 2/3 API no. is always greater than engine 1 API no.. */ -#define ZEND_EXTENSION_API_NO 420210903 +#define ZEND_EXTENSION_API_NO 420220829 typedef struct _zend_extension_version_info { int zend_extension_api_no; diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h index fda01eedc5230..7d80ad4c0608e 100644 --- a/Zend/zend_modules.h +++ b/Zend/zend_modules.h @@ -31,7 +31,7 @@ #define ZEND_MODULE_INFO_FUNC_ARGS zend_module_entry *zend_module #define ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU zend_module -#define ZEND_MODULE_API_NO 20210903 +#define ZEND_MODULE_API_NO 20220829 #ifdef ZTS #define USING_ZTS 1 #else diff --git a/main/php.h b/main/php.h index 27eb72389d2c7..7e52eafd84bf4 100644 --- a/main/php.h +++ b/main/php.h @@ -22,7 +22,7 @@ #include #endif -#define PHP_API_VERSION 20210903 +#define PHP_API_VERSION 20220829 #define PHP_HAVE_STREAMS #define YYDEBUG 0 #define PHP_DEFAULT_CHARSET "UTF-8" From 1d45ca58c86ac103ea624c3af3c81c20863950ad Mon Sep 17 00:00:00 2001 From: Alex <93376818+sashashura@users.noreply.github.com> Date: Sun, 28 Aug 2022 18:20:03 +0200 Subject: [PATCH 186/229] Harden GitHub Workflows security MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Voříšek Closes GH-9440. --- .github/workflows/close-needs-feedback.yml | 6 ++++++ .github/workflows/close-stale-feature-requests.yml | 6 ++++++ .github/workflows/close-stale-prs.yml | 6 ++++++ .github/workflows/nightly.yml | 2 ++ .github/workflows/push.yml | 2 ++ .github/workflows/remove-needs-feedback.yml | 6 ++++++ 6 files changed, 28 insertions(+) diff --git a/.github/workflows/close-needs-feedback.yml b/.github/workflows/close-needs-feedback.yml index 7197598f38c49..27231303f16e5 100644 --- a/.github/workflows/close-needs-feedback.yml +++ b/.github/workflows/close-needs-feedback.yml @@ -4,10 +4,16 @@ on: schedule: - cron: "0 0 * * *" +permissions: + contents: read + jobs: build: if: github.repository_owner == 'php' runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - name: Close old issues that need feedback uses: dwieeb/needs-reply@v2 diff --git a/.github/workflows/close-stale-feature-requests.yml b/.github/workflows/close-stale-feature-requests.yml index b6727dc2401d5..685bdced92ec3 100644 --- a/.github/workflows/close-stale-feature-requests.yml +++ b/.github/workflows/close-stale-feature-requests.yml @@ -4,10 +4,16 @@ on: schedule: - cron: "0 0 * * *" +permissions: + contents: read + jobs: stale: if: github.repository_owner == 'php' runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - uses: actions/stale@v4 with: diff --git a/.github/workflows/close-stale-prs.yml b/.github/workflows/close-stale-prs.yml index e5fbacff5d152..ca4317be1e0f9 100644 --- a/.github/workflows/close-stale-prs.yml +++ b/.github/workflows/close-stale-prs.yml @@ -4,10 +4,16 @@ on: schedule: - cron: "0 0 * * *" +permissions: + contents: read + jobs: stale: if: github.repository_owner == 'php' runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - uses: actions/stale@v4 with: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 7bed10529f647..13f0dc0864749 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -3,6 +3,8 @@ on: schedule: - cron: "0 1 * * *" workflow_dispatch: ~ +permissions: + contents: read jobs: GENERATE_MATRIX: name: Generate Matrix diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 38dad5e8f8fda..abe9a104429d1 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -17,6 +17,8 @@ on: pull_request: branches: - '**' +permissions: + contents: read jobs: LINUX_X64: strategy: diff --git a/.github/workflows/remove-needs-feedback.yml b/.github/workflows/remove-needs-feedback.yml index fded33b442081..8d1ff3e0a0712 100644 --- a/.github/workflows/remove-needs-feedback.yml +++ b/.github/workflows/remove-needs-feedback.yml @@ -5,10 +5,16 @@ on: types: - created +permissions: + contents: read + jobs: build: if: "github.repository_owner == 'php' && contains(github.event.issue.labels.*.name, 'Status: Needs Feedback') && github.event.issue.user.login == github.event.sender.login" runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - uses: actions-ecosystem/action-remove-labels@v1 with: From 9f303cf7d33127a413f551460914aaa7a0c0d775 Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 30 Aug 2022 12:10:40 -0400 Subject: [PATCH 187/229] Prepare NEWS for PHP 8.2.0RC2 --- NEWS | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 793c6d2be9886..a842befce1d8a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.0RC1 +?? ??? ????, PHP 8.2.0RC2 + + +01 Sep 2022, PHP 8.2.0RC1 - CLI: . Implement built-in web server responding without body to HEAD request on From 06f713e80f0bad93352469316adb14d277fc6c1d Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Tue, 30 Aug 2022 11:42:59 -0500 Subject: [PATCH 188/229] Add PHP-8.2 branch to build processes --- .github/nightly_matrix.php | 2 +- .github/workflows/push.yml | 1 + azure-pipelines.yml | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/nightly_matrix.php b/.github/nightly_matrix.php index a099a3ba2ad67..9174f7dcd8d2d 100644 --- a/.github/nightly_matrix.php +++ b/.github/nightly_matrix.php @@ -1,6 +1,6 @@ Date: Tue, 30 Aug 2022 20:02:28 +0200 Subject: [PATCH 189/229] Mark crypt()'s $string parameter as #[\SensitiveParameter] --- NEWS | 2 ++ ext/standard/basic_functions.stub.php | 2 +- ext/standard/basic_functions_arginfo.h | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index a842befce1d8a..5edeef8bd15fe 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.0RC2 +- Standard: + . Marked crypt()'s $string parameter as #[\SensitiveParameter]. (timwolla) 01 Sep 2022, PHP 8.2.0RC1 diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 7a6ee00d8e49c..0e0968e3b3c1b 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -911,7 +911,7 @@ function crc32(string $string): int {} /* crypt.c */ /** @refcount 1 */ -function crypt(string $string, string $salt): string {} +function crypt(#[\SensitiveParameter] string $string, string $salt): string {} /* datetime.c */ diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 4469a5b07ee08..8793bd4eee24e 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 4df5576b4e03b18896abf58e6c70d9fd6ae76687 */ + * Stub hash: d0941f025c602b46179675026eb198d7425c717a */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3567,6 +3567,8 @@ static void register_basic_functions_symbols(int module_number) REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_PERSISTENT); + zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "crypt", sizeof("crypt") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); + zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "password_hash", sizeof("password_hash") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "password_verify", sizeof("password_verify") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); From 8330a0f3237d9677ec9ba706d4088383a133b6c6 Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Tue, 30 Aug 2022 11:42:59 -0500 Subject: [PATCH 190/229] Add PHP-8.2 branch to build processes --- .github/nightly_matrix.php | 2 +- .github/workflows/push.yml | 1 + azure-pipelines.yml | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/nightly_matrix.php b/.github/nightly_matrix.php index a099a3ba2ad67..9174f7dcd8d2d 100644 --- a/.github/nightly_matrix.php +++ b/.github/nightly_matrix.php @@ -1,6 +1,6 @@ Date: Mon, 8 Aug 2022 23:54:24 +0200 Subject: [PATCH 191/229] Fix pcre.jit on Apple Silicon This backports https://github.com/zherczeg/sljit/pull/105. Relates to bug #80435, however, it doesn't solve the bus error on PHP 8.0, but PHP 8.1 builds fine now. Closes GH-9279. --- NEWS | 3 +++ ext/pcre/pcre2lib/sljit/sljitExecAllocator.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/NEWS b/NEWS index ac630004c5de0..a5dcc78b668dd 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,9 @@ PHP NEWS . Fixed bug #77780 ("Headers already sent..." when previous connection was aborted). (Jakub Zelenka) +- PCRE: + . Fixed pcre.jit on Apple Silicon. (Niklas Keller) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) diff --git a/ext/pcre/pcre2lib/sljit/sljitExecAllocator.c b/ext/pcre/pcre2lib/sljit/sljitExecAllocator.c index 6e5bf78e45fe9..b268624822219 100644 --- a/ext/pcre/pcre2lib/sljit/sljitExecAllocator.c +++ b/ext/pcre/pcre2lib/sljit/sljitExecAllocator.c @@ -187,10 +187,13 @@ static SLJIT_INLINE void* alloc_chunk(sljit_uw size) if (retval == MAP_FAILED) return NULL; +#ifdef __FreeBSD__ + /* HardenedBSD's mmap lies, so check permissions again */ if (mprotect(retval, size, PROT_READ | PROT_WRITE | PROT_EXEC) < 0) { munmap(retval, size); return NULL; } +#endif /* FreeBSD */ SLJIT_UPDATE_WX_FLAGS(retval, (uint8_t *)retval + size, 0); From 9e6eab3c139b41dc976dd5305fd1a6e387e5e27f Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 22 Jul 2022 11:30:19 +0200 Subject: [PATCH 192/229] Store default object handlers alongside the class entry Object handlers being separate from class entries is a legacy inherited from PHP 5. Today it has little benefit to keep them separate: in fact, accessing object handlers usually requires not-so-safe hacks. While it is possible to swap handlers in a custom installed create_object handler, this mostly is tedious, as well as it requires allocating the object handlers struct at runtime, possibly caching it etc.. This allows extensions, which intend to observe other classes to install their own class handlers. The life cycle of internal classes may now be simply observed by swapping the class handlers in post_startup stage. The life cycle of userland classes may be observed by iterating over the new classes in zend_compile_file and zend_compile_string and then swapping their handlers. In general, this would also be a first step in directly tying the object handlers to classes. Especially given that I am not aware of any case where the object handlers would be different between various instances of a given class. Signed-off-by: Bob Weinand --- Zend/zend.h | 2 ++ Zend/zend_API.h | 2 ++ Zend/zend_attributes.c | 14 +------------ Zend/zend_closures.c | 2 +- Zend/zend_compile.c | 1 + Zend/zend_enum.c | 4 ++-- Zend/zend_exceptions.c | 45 +++++++++++++++++------------------------- Zend/zend_fibers.c | 4 +--- Zend/zend_generators.c | 7 ++----- Zend/zend_interfaces.c | 2 +- Zend/zend_objects.c | 2 +- Zend/zend_weakrefs.c | 6 ++---- ext/dom/php_dom.c | 2 +- 13 files changed, 35 insertions(+), 58 deletions(-) diff --git a/Zend/zend.h b/Zend/zend.h index bea23cf40ba0d..5a31ee6562172 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -182,6 +182,8 @@ struct _zend_class_entry { zend_function *__serialize; zend_function *__unserialize; + const zend_object_handlers *default_object_handlers; + /* allocated only if class implements Iterator or IteratorAggregate interface */ zend_class_iterator_funcs *iterator_funcs_ptr; /* allocated only if class implements ArrayAccess interface */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index fa8c1162788f1..7cb10f6a1d5a4 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -272,11 +272,13 @@ typedef struct _zend_fcall_info_cache { { \ memset(&class_container, 0, sizeof(zend_class_entry)); \ class_container.name = zend_string_init_interned(class_name, class_name_len, 1); \ + class_container.default_object_handlers = &std_object_handlers; \ class_container.info.internal.builtin_functions = functions; \ } #define INIT_CLASS_ENTRY_INIT_METHODS(class_container, functions) \ { \ + class_container.default_object_handlers = &std_object_handlers; \ class_container.constructor = NULL; \ class_container.destructor = NULL; \ class_container.clone = NULL; \ diff --git a/Zend/zend_attributes.c b/Zend/zend_attributes.c index 5a446c8c2859e..b34092be038a2 100644 --- a/Zend/zend_attributes.c +++ b/Zend/zend_attributes.c @@ -131,18 +131,6 @@ ZEND_METHOD(SensitiveParameterValue, __debugInfo) RETURN_EMPTY_ARRAY(); } -static zend_object *attributes_sensitive_parameter_value_new(zend_class_entry *ce) -{ - zend_object *object; - - object = zend_objects_new(ce); - object->handlers = &attributes_object_handlers_sensitive_parameter_value; - - object_properties_init(object, ce); - - return object; -} - static HashTable *attributes_sensitive_parameter_value_get_properties_for(zend_object *zobj, zend_prop_purpose purpose) { return NULL; @@ -382,7 +370,7 @@ void zend_register_attribute_ce(void) /* This is not an actual attribute, thus the zend_mark_internal_attribute() call is missing. */ zend_ce_sensitive_parameter_value = register_class_SensitiveParameterValue(); - zend_ce_sensitive_parameter_value->create_object = attributes_sensitive_parameter_value_new; + zend_ce_sensitive_parameter_value->default_object_handlers = &attributes_object_handlers_sensitive_parameter_value; } void zend_attributes_shutdown(void) diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index f697f25a0f802..1f9285ef04468 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -521,7 +521,6 @@ static zend_object *zend_closure_new(zend_class_entry *class_type) /* {{{ */ memset(closure, 0, sizeof(zend_closure)); zend_object_std_init(&closure->std, class_type); - closure->std.handlers = &closure_handlers; return (zend_object*)closure; } @@ -678,6 +677,7 @@ void zend_register_closure_ce(void) /* {{{ */ { zend_ce_closure = register_class_Closure(); zend_ce_closure->create_object = zend_closure_new; + zend_ce_closure->default_object_handlers = &closure_handlers; memcpy(&closure_handlers, &std_object_handlers, sizeof(zend_object_handlers)); closure_handlers.free_obj = zend_closure_free_storage; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 03faf9c96e445..13679b00bb33d 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1828,6 +1828,7 @@ ZEND_API void zend_initialize_class_data(zend_class_entry *ce, bool nullify_hand ZEND_MAP_PTR_INIT(ce->static_members_table, NULL); ZEND_MAP_PTR_INIT(ce->mutable_data, NULL); + ce->default_object_handlers = &std_object_handlers; ce->default_properties_count = 0; ce->default_static_members_count = 0; ce->properties_info_table = NULL; diff --git a/Zend/zend_enum.c b/Zend/zend_enum.c index 59befde732194..192d0eca99131 100644 --- a/Zend/zend_enum.c +++ b/Zend/zend_enum.c @@ -47,8 +47,6 @@ zend_object *zend_enum_new(zval *result, zend_class_entry *ce, zend_string *case ZVAL_COPY(OBJ_PROP_NUM(zobj, 1), backing_value_zv); } - zobj->handlers = &enum_handlers; - return zobj; } @@ -184,6 +182,8 @@ void zend_enum_add_interfaces(zend_class_entry *ce) ce->interface_names[num_interfaces_before + 1].name = zend_string_copy(zend_ce_backed_enum->name); ce->interface_names[num_interfaces_before + 1].lc_name = zend_string_init("backedenum", sizeof("backedenum") - 1, 0); } + + ce->default_object_handlers = &enum_handlers; } zend_result zend_enum_build_backed_enum_table(zend_class_entry *ce) diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index 3934a3cef0717..5a8ebdd0384c1 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -240,7 +240,7 @@ ZEND_API void zend_clear_exception(void) /* {{{ */ } /* }}} */ -static zend_object *zend_default_exception_new_ex(zend_class_entry *class_type, bool skip_top_traces) /* {{{ */ +static zend_object *zend_default_exception_new(zend_class_entry *class_type) /* {{{ */ { zval tmp; zval trace; @@ -248,13 +248,11 @@ static zend_object *zend_default_exception_new_ex(zend_class_entry *class_type, zend_string *filename; zend_object *object = zend_objects_new(class_type); - object->handlers = &default_exception_handlers; - object_properties_init(object, class_type); if (EG(current_execute_data)) { zend_fetch_debug_backtrace(&trace, - skip_top_traces, + 0, EG(exception_ignore_args) ? DEBUG_BACKTRACE_IGNORE_ARGS : 0, 0); } else { array_init(&trace); @@ -282,18 +280,6 @@ static zend_object *zend_default_exception_new_ex(zend_class_entry *class_type, } /* }}} */ -static zend_object *zend_default_exception_new(zend_class_entry *class_type) /* {{{ */ -{ - return zend_default_exception_new_ex(class_type, 0); -} -/* }}} */ - -static zend_object *zend_error_exception_new(zend_class_entry *class_type) /* {{{ */ -{ - return zend_default_exception_new_ex(class_type, 0); -} -/* }}} */ - /* {{{ Clone the exception object */ ZEND_COLD ZEND_METHOD(Exception, __clone) { @@ -739,6 +725,11 @@ ZEND_METHOD(Exception, __toString) } /* }}} */ +static void zend_init_exception_class_entry(zend_class_entry *ce) { + ce->create_object = zend_default_exception_new; + ce->default_object_handlers = &default_exception_handlers; +} + void zend_register_default_exception(void) /* {{{ */ { zend_ce_throwable = register_class_Throwable(zend_ce_stringable); @@ -748,37 +739,37 @@ void zend_register_default_exception(void) /* {{{ */ default_exception_handlers.clone_obj = NULL; zend_ce_exception = register_class_Exception(zend_ce_throwable); - zend_ce_exception->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_exception); zend_ce_error_exception = register_class_ErrorException(zend_ce_exception); - zend_ce_error_exception->create_object = zend_error_exception_new; + zend_init_exception_class_entry(zend_ce_error_exception); zend_ce_error = register_class_Error(zend_ce_throwable); - zend_ce_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_error); zend_ce_compile_error = register_class_CompileError(zend_ce_error); - zend_ce_compile_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_compile_error); zend_ce_parse_error = register_class_ParseError(zend_ce_compile_error); - zend_ce_parse_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_parse_error); zend_ce_type_error = register_class_TypeError(zend_ce_error); - zend_ce_type_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_type_error); zend_ce_argument_count_error = register_class_ArgumentCountError(zend_ce_type_error); - zend_ce_argument_count_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_argument_count_error); zend_ce_value_error = register_class_ValueError(zend_ce_error); - zend_ce_value_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_value_error); zend_ce_arithmetic_error = register_class_ArithmeticError(zend_ce_error); - zend_ce_arithmetic_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_arithmetic_error); zend_ce_division_by_zero_error = register_class_DivisionByZeroError(zend_ce_arithmetic_error); - zend_ce_division_by_zero_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_division_by_zero_error); zend_ce_unhandled_match_error = register_class_UnhandledMatchError(zend_ce_error); - zend_ce_unhandled_match_error->create_object = zend_default_exception_new; + zend_init_exception_class_entry(zend_ce_unhandled_match_error); INIT_CLASS_ENTRY(zend_ce_unwind_exit, "UnwindExit", NULL); diff --git a/Zend/zend_fibers.c b/Zend/zend_fibers.c index 0bb45d1c3dc9c..2df1f0917b32e 100644 --- a/Zend/zend_fibers.c +++ b/Zend/zend_fibers.c @@ -589,12 +589,9 @@ static zend_always_inline zend_fiber_transfer zend_fiber_suspend(zend_fiber *fib static zend_object *zend_fiber_object_create(zend_class_entry *ce) { zend_fiber *fiber = emalloc(sizeof(zend_fiber)); - memset(fiber, 0, sizeof(zend_fiber)); zend_object_std_init(&fiber->std, ce); - fiber->std.handlers = &zend_fiber_handlers; - return &fiber->std; } @@ -903,6 +900,7 @@ void zend_register_fiber_ce(void) { zend_ce_fiber = register_class_Fiber(); zend_ce_fiber->create_object = zend_fiber_object_create; + zend_ce_fiber->default_object_handlers = &zend_fiber_handlers; zend_fiber_handlers = std_object_handlers; zend_fiber_handlers.dtor_obj = zend_fiber_object_destroy; diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 99c888ee09e93..0d3c74b35bbc8 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -404,9 +404,7 @@ static HashTable *zend_generator_get_gc(zend_object *object, zval **table, int * static zend_object *zend_generator_create(zend_class_entry *class_type) /* {{{ */ { - zend_generator *generator; - - generator = emalloc(sizeof(zend_generator)); + zend_generator *generator = emalloc(sizeof(zend_generator)); memset(generator, 0, sizeof(zend_generator)); /* The key will be incremented on first use, so it'll start at 0 */ @@ -421,8 +419,6 @@ static zend_object *zend_generator_create(zend_class_entry *class_type) /* {{{ * generator->node.ptr.root = NULL; zend_object_std_init(&generator->std, class_type); - generator->std.handlers = &zend_generator_handlers; - return (zend_object*)generator; } /* }}} */ @@ -1132,6 +1128,7 @@ void zend_register_generator_ce(void) /* {{{ */ zend_ce_generator->create_object = zend_generator_create; /* get_iterator has to be assigned *after* implementing the interface */ zend_ce_generator->get_iterator = zend_generator_get_iterator; + zend_ce_generator->default_object_handlers = &zend_generator_handlers; memcpy(&zend_generator_handlers, &std_object_handlers, sizeof(zend_object_handlers)); zend_generator_handlers.free_obj = zend_generator_free_storage; diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 1fa2493f17af5..ec14b1a99a03f 100644 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -480,7 +480,6 @@ typedef struct { static zend_object *zend_internal_iterator_create(zend_class_entry *ce) { zend_internal_iterator *intern = emalloc(sizeof(zend_internal_iterator)); zend_object_std_init(&intern->std, ce); - intern->std.handlers = &zend_internal_iterator_handlers; intern->iter = NULL; intern->rewind_called = 0; return &intern->std; @@ -655,6 +654,7 @@ ZEND_API void zend_register_interfaces(void) zend_ce_internal_iterator = register_class_InternalIterator(zend_ce_iterator); zend_ce_internal_iterator->create_object = zend_internal_iterator_create; + zend_ce_internal_iterator->default_object_handlers = &zend_internal_iterator_handlers; memcpy(&zend_internal_iterator_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index b09ce3b990d5c..df76fa0bb8dc3 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -31,6 +31,7 @@ static zend_always_inline void _zend_object_std_init(zend_object *object, zend_c GC_SET_REFCOUNT(object, 1); GC_TYPE_INFO(object) = GC_OBJECT; object->ce = ce; + object->handlers = ce->default_object_handlers; object->properties = NULL; zend_objects_store_put(object); if (UNEXPECTED(ce->ce_flags & ZEND_ACC_USE_GUARDS)) { @@ -186,7 +187,6 @@ ZEND_API zend_object* ZEND_FASTCALL zend_objects_new(zend_class_entry *ce) zend_object *object = emalloc(sizeof(zend_object) + zend_object_properties_size(ce)); _zend_object_std_init(object, ce); - object->handlers = &std_object_handlers; return object; } diff --git a/Zend/zend_weakrefs.c b/Zend/zend_weakrefs.c index 3f2e517f3fe4e..db95b13a7254a 100644 --- a/Zend/zend_weakrefs.c +++ b/Zend/zend_weakrefs.c @@ -210,9 +210,6 @@ static zend_object* zend_weakref_new(zend_class_entry *ce) { zend_weakref *wr = zend_object_alloc(sizeof(zend_weakref), zend_ce_weakref); zend_object_std_init(&wr->std, zend_ce_weakref); - - wr->std.handlers = &zend_weakref_handlers; - return &wr->std; } @@ -304,7 +301,6 @@ static zend_object *zend_weakmap_create_object(zend_class_entry *ce) { zend_weakmap *wm = zend_object_alloc(sizeof(zend_weakmap), ce); zend_object_std_init(&wm->std, ce); - wm->std.handlers = &zend_weakmap_handlers; zend_hash_init(&wm->ht, 0, NULL, ZVAL_PTR_DTOR, 0); return &wm->std; @@ -651,6 +647,7 @@ void zend_register_weakref_ce(void) /* {{{ */ zend_ce_weakref = register_class_WeakReference(); zend_ce_weakref->create_object = zend_weakref_new; + zend_ce_weakref->default_object_handlers = &zend_weakref_handlers; memcpy(&zend_weakref_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); zend_weakref_handlers.offset = XtOffsetOf(zend_weakref, std); @@ -662,6 +659,7 @@ void zend_register_weakref_ce(void) /* {{{ */ zend_ce_weakmap->create_object = zend_weakmap_create_object; zend_ce_weakmap->get_iterator = zend_weakmap_get_iterator; + zend_ce_weakmap->default_object_handlers = &zend_weakmap_handlers; memcpy(&zend_weakmap_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); zend_weakmap_handlers.offset = XtOffsetOf(zend_weakmap, std); diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c index 18b0bce90d3b8..3d3260aee82f7 100644 --- a/ext/dom/php_dom.c +++ b/ext/dom/php_dom.c @@ -782,6 +782,7 @@ PHP_MINIT_FUNCTION(dom) dom_xpath_class_entry = register_class_DOMXPath(); dom_xpath_class_entry->create_object = dom_xpath_objects_new; + dom_xpath_class_entry->default_object_handlers = &dom_xpath_object_handlers; zend_hash_init(&dom_xpath_prop_handlers, 0, NULL, dom_dtor_prop_handler, 1); dom_register_prop_handler(&dom_xpath_prop_handlers, "document", sizeof("document")-1, dom_xpath_document_read, NULL); @@ -989,7 +990,6 @@ zend_object *dom_xpath_objects_new(zend_class_entry *class_type) intern->register_node_ns = 1; intern->dom.prop_handler = &dom_xpath_prop_handlers; - intern->dom.std.handlers = &dom_xpath_object_handlers; zend_object_std_init(&intern->dom.std, class_type); object_properties_init(&intern->dom.std, class_type); From 800c6672e57a01d68dcaba36f8f7d65c6871aafc Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Wed, 24 Aug 2022 18:38:27 +0200 Subject: [PATCH 193/229] Fix compilation on MacOS memrchr has an always available equivalent under the name of zend_memrchr. Signed-off-by: Bob Weinand --- ext/spl/spl_array.c | 8 +++----- ext/spl/spl_dllist.c | 4 +--- ext/spl/spl_fixedarray.c | 2 +- ext/spl/spl_heap.c | 4 ++-- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 991fa88ded64a..4098382c61c17 100644 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -177,11 +177,7 @@ static zend_object *spl_array_object_new_ex(zend_class_entry *class_type, zend_o } while (parent) { - if (parent == spl_ce_ArrayIterator || parent == spl_ce_RecursiveArrayIterator) { - intern->std.handlers = &spl_handler_ArrayIterator; - break; - } else if (parent == spl_ce_ArrayObject) { - intern->std.handlers = &spl_handler_ArrayObject; + if (parent == spl_ce_ArrayIterator || parent == spl_ce_RecursiveArrayIterator || parent == spl_ce_ArrayObject) { break; } parent = parent->parent; @@ -1781,6 +1777,7 @@ PHP_MINIT_FUNCTION(spl_array) { spl_ce_ArrayObject = register_class_ArrayObject(zend_ce_aggregate, zend_ce_arrayaccess, zend_ce_serializable, zend_ce_countable); spl_ce_ArrayObject->create_object = spl_array_object_new; + spl_ce_ArrayObject->default_object_handlers = &spl_handler_ArrayObject; memcpy(&spl_handler_ArrayObject, &std_object_handlers, sizeof(zend_object_handlers)); @@ -1806,6 +1803,7 @@ PHP_MINIT_FUNCTION(spl_array) spl_ce_ArrayIterator = register_class_ArrayIterator(spl_ce_SeekableIterator, zend_ce_arrayaccess, zend_ce_serializable, zend_ce_countable); spl_ce_ArrayIterator->create_object = spl_array_object_new; + spl_ce_ArrayIterator->default_object_handlers = &spl_handler_ArrayIterator; spl_ce_ArrayIterator->get_iterator = spl_array_get_iterator; memcpy(&spl_handler_ArrayIterator, &spl_handler_ArrayObject, sizeof(zend_object_handlers)); diff --git a/ext/spl/spl_dllist.c b/ext/spl/spl_dllist.c index 186b9a34c7efa..a3c17d59668c0 100644 --- a/ext/spl/spl_dllist.c +++ b/ext/spl/spl_dllist.c @@ -344,14 +344,11 @@ static zend_object *spl_dllist_object_new_ex(zend_class_entry *class_type, zend_ while (parent) { if (parent == spl_ce_SplStack) { intern->flags |= (SPL_DLLIST_IT_FIX | SPL_DLLIST_IT_LIFO); - intern->std.handlers = &spl_handler_SplDoublyLinkedList; } else if (parent == spl_ce_SplQueue) { intern->flags |= SPL_DLLIST_IT_FIX; - intern->std.handlers = &spl_handler_SplDoublyLinkedList; } if (parent == spl_ce_SplDoublyLinkedList) { - intern->std.handlers = &spl_handler_SplDoublyLinkedList; break; } @@ -1257,6 +1254,7 @@ PHP_MINIT_FUNCTION(spl_dllist) /* {{{ */ zend_ce_iterator, zend_ce_countable, zend_ce_arrayaccess, zend_ce_serializable ); spl_ce_SplDoublyLinkedList->create_object = spl_dllist_object_new; + spl_ce_SplDoublyLinkedList->default_object_handlers = &spl_handler_SplDoublyLinkedList; spl_ce_SplDoublyLinkedList->get_iterator = spl_dllist_get_iterator; memcpy(&spl_handler_SplDoublyLinkedList, &std_object_handlers, sizeof(zend_object_handlers)); diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c index a00bb8965af65..5c013408ea9f2 100644 --- a/ext/spl/spl_fixedarray.c +++ b/ext/spl/spl_fixedarray.c @@ -282,7 +282,6 @@ static zend_object *spl_fixedarray_object_new_ex(zend_class_entry *class_type, z while (parent) { if (parent == spl_ce_SplFixedArray) { - intern->std.handlers = &spl_handler_SplFixedArray; break; } @@ -959,6 +958,7 @@ PHP_MINIT_FUNCTION(spl_fixedarray) spl_ce_SplFixedArray = register_class_SplFixedArray( zend_ce_aggregate, zend_ce_arrayaccess, zend_ce_countable, php_json_serializable_ce); spl_ce_SplFixedArray->create_object = spl_fixedarray_new; + spl_ce_SplFixedArray->default_object_handlers = &spl_handler_SplFixedArray; spl_ce_SplFixedArray->get_iterator = spl_fixedarray_get_iterator; memcpy(&spl_handler_SplFixedArray, &std_object_handlers, sizeof(zend_object_handlers)); diff --git a/ext/spl/spl_heap.c b/ext/spl/spl_heap.c index db35511f08d2d..64fe962ee2de3 100644 --- a/ext/spl/spl_heap.c +++ b/ext/spl/spl_heap.c @@ -428,7 +428,6 @@ static zend_object *spl_heap_object_new_ex(zend_class_entry *class_type, zend_ob while (parent) { if (parent == spl_ce_SplPriorityQueue) { intern->heap = spl_ptr_heap_init(spl_ptr_pqueue_elem_cmp, spl_ptr_heap_pqueue_elem_ctor, spl_ptr_heap_pqueue_elem_dtor, sizeof(spl_pqueue_elem)); - intern->std.handlers = &spl_handler_SplPriorityQueue; intern->flags = SPL_PQUEUE_EXTR_DATA; break; } @@ -438,7 +437,6 @@ static zend_object *spl_heap_object_new_ex(zend_class_entry *class_type, zend_ob intern->heap = spl_ptr_heap_init( parent == spl_ce_SplMinHeap ? spl_ptr_heap_zval_min_cmp : spl_ptr_heap_zval_max_cmp, spl_ptr_heap_zval_ctor, spl_ptr_heap_zval_dtor, sizeof(zval)); - intern->std.handlers = &spl_handler_SplHeap; break; } @@ -1129,6 +1127,7 @@ PHP_MINIT_FUNCTION(spl_heap) /* {{{ */ { spl_ce_SplHeap = register_class_SplHeap(zend_ce_iterator, zend_ce_countable); spl_ce_SplHeap->create_object = spl_heap_object_new; + spl_ce_SplHeap->default_object_handlers = &spl_handler_SplHeap; spl_ce_SplHeap->get_iterator = spl_heap_get_iterator; memcpy(&spl_handler_SplHeap, &std_object_handlers, sizeof(zend_object_handlers)); @@ -1149,6 +1148,7 @@ PHP_MINIT_FUNCTION(spl_heap) /* {{{ */ spl_ce_SplPriorityQueue = register_class_SplPriorityQueue(zend_ce_iterator, zend_ce_countable); spl_ce_SplPriorityQueue->create_object = spl_heap_object_new; + spl_ce_SplPriorityQueue->default_object_handlers = &spl_handler_SplPriorityQueue; spl_ce_SplPriorityQueue->get_iterator = spl_pqueue_get_iterator; memcpy(&spl_handler_SplPriorityQueue, &std_object_handlers, sizeof(zend_object_handlers)); From 94ee4f9834743ca74f6c9653863273277ce6c61a Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Wed, 24 Aug 2022 18:41:34 +0200 Subject: [PATCH 194/229] Port all internally used classes to use default_object_handlers Signed-off-by: Bob Weinand --- Zend/zend_inheritance.c | 1 + Zend/zend_iterators.c | 2 +- ext/com_dotnet/com_extension.c | 4 ++++ ext/com_dotnet/com_handlers.c | 1 - ext/com_dotnet/com_misc.c | 2 -- ext/com_dotnet/com_persist.c | 2 +- ext/com_dotnet/com_saproxy.c | 1 - ext/com_dotnet/php_com_dotnet_internal.h | 1 + ext/curl/interface.c | 2 +- ext/curl/multi.c | 6 ++--- ext/curl/share.c | 6 ++--- ext/date/php_date.c | 10 ++++----- ext/dom/php_dom.c | 4 ++-- ext/enchant/enchant.c | 4 ++-- ext/ffi/ffi.c | 9 ++++---- ext/fileinfo/fileinfo.c | 2 +- ext/gd/gd.c | 2 +- ext/gmp/gmp.c | 2 +- .../breakiterator/breakiterator_class.cpp | 3 +-- ext/intl/calendar/calendar_class.cpp | 4 +--- ext/intl/collator/collator_class.c | 3 +-- ext/intl/common/common_enum.cpp | 3 +-- ext/intl/converter/converter.c | 2 +- ext/intl/dateformat/dateformat_class.c | 3 +-- .../dateformat/datepatterngenerator_class.cpp | 3 +-- ext/intl/formatter/formatter_class.c | 3 +-- ext/intl/msgformat/msgformat_class.c | 3 +-- .../resourcebundle/resourcebundle_class.c | 3 +-- ext/intl/spoofchecker/spoofchecker_class.c | 3 +-- ext/intl/timezone/timezone_class.cpp | 3 +-- .../transliterator/transliterator_class.c | 3 +-- ext/ldap/ldap.c | 6 ++--- ext/openssl/openssl.c | 6 ++--- ext/pdo/pdo_dbh.c | 3 +-- ext/pdo/pdo_stmt.c | 6 ++--- ext/pgsql/pgsql.c | 6 ++--- ext/random/random.c | 3 +-- ext/reflection/php_reflection.c | 22 ++++++++++++++++++- ext/shmop/shmop.c | 2 +- ext/simplexml/simplexml.c | 2 +- ext/snmp/snmp.c | 3 +-- ext/soap/soap.c | 2 +- ext/sockets/sockets.c | 4 ++-- ext/spl/spl_directory.c | 19 +++++----------- ext/spl/spl_iterators.c | 4 ++-- ext/spl/spl_observer.c | 4 ++-- ext/sqlite3/sqlite3.c | 9 +++----- ext/sysvmsg/sysvmsg.c | 2 +- ext/sysvsem/sysvsem.c | 2 +- ext/sysvshm/sysvshm.c | 2 +- ext/xml/xml.c | 2 +- ext/xmlreader/php_xmlreader.c | 2 +- ext/xmlwriter/php_xmlwriter.c | 2 +- ext/xsl/php_xsl.c | 2 +- ext/zend_test/fiber.c | 2 +- ext/zip/php_zip.c | 2 +- ext/zlib/zlib.c | 4 ++-- 57 files changed, 108 insertions(+), 115 deletions(-) diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index 3eaaca3409a78..0dbdaa2b35ec4 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -1472,6 +1472,7 @@ ZEND_API void zend_do_inheritance_ex(zend_class_entry *ce, zend_class_entry *par zend_string_release_ex(ce->parent_name, 0); } ce->parent = parent_ce; + ce->default_object_handlers = parent_ce->default_object_handlers; ce->ce_flags |= ZEND_ACC_RESOLVED_PARENT; /* Inherit properties */ diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c index aa4391f2caa99..f67033b11161c 100644 --- a/Zend/zend_iterators.c +++ b/Zend/zend_iterators.c @@ -57,6 +57,7 @@ static const zend_object_handlers iterator_object_handlers = { ZEND_API void zend_register_iterator_wrapper(void) { INIT_CLASS_ENTRY(zend_iterator_class_entry, "__iterator_wrapper", NULL); + zend_iterator_class_entry.default_object_handlers = &iterator_object_handlers; } static void iter_wrapper_free(zend_object *object) @@ -83,7 +84,6 @@ static HashTable *iter_wrapper_get_gc(zend_object *object, zval **table, int *n) ZEND_API void zend_iterator_init(zend_object_iterator *iter) { zend_object_std_init(&iter->std, &zend_iterator_class_entry); - iter->std.handlers = &iterator_object_handlers; } ZEND_API void zend_iterator_dtor(zend_object_iterator *iter) diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index 95361a4b9a9ed..fcf9b3bd95ced 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -184,18 +184,22 @@ PHP_MINIT_FUNCTION(com_dotnet) php_com_saproxy_class_entry = register_class_com_safearray_proxy(); /* php_com_saproxy_class_entry->constructor->common.fn_flags |= ZEND_ACC_PROTECTED; */ + php_com_saproxy_class_entry->default_object_handlers = &php_com_saproxy_handlers; php_com_saproxy_class_entry->get_iterator = php_com_saproxy_iter_get; php_com_variant_class_entry = register_class_variant(); + php_com_variant_class_entry->default_object_handlers = &php_com_object_handlers; php_com_variant_class_entry->create_object = php_com_object_new; php_com_variant_class_entry->get_iterator = php_com_iter_get; tmp = register_class_com(php_com_variant_class_entry); + tmp->default_object_handlers = &php_com_object_handlers; tmp->create_object = php_com_object_new; tmp->get_iterator = php_com_iter_get; #if HAVE_MSCOREE_H tmp = register_class_dotnet(php_com_variant_class_entry); + tmp->default_object_handlers = &php_com_object_handlers; tmp->create_object = php_com_object_new; tmp->get_iterator = php_com_iter_get; #endif diff --git a/ext/com_dotnet/com_handlers.c b/ext/com_dotnet/com_handlers.c index db96118ea31c6..0c73d8c4a3a72 100644 --- a/ext/com_dotnet/com_handlers.c +++ b/ext/com_dotnet/com_handlers.c @@ -627,7 +627,6 @@ zend_object* php_com_object_new(zend_class_entry *ce) obj->ce = ce; zend_object_std_init(&obj->zo, ce); - obj->zo.handlers = &php_com_object_handlers; obj->typeinfo = NULL; diff --git a/ext/com_dotnet/com_misc.c b/ext/com_dotnet/com_misc.c index b2920ddba62c2..39d245b7d01a7 100644 --- a/ext/com_dotnet/com_misc.c +++ b/ext/com_dotnet/com_misc.c @@ -61,7 +61,6 @@ PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp, IDispatch_GetTypeInfo(V_DISPATCH(&obj->v), 0, LANG_NEUTRAL, &obj->typeinfo); zend_object_std_init(&obj->zo, php_com_variant_class_entry); - obj->zo.handlers = &php_com_object_handlers; ZVAL_OBJ(z, &obj->zo); } @@ -85,7 +84,6 @@ PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v, } zend_object_std_init(&obj->zo, php_com_variant_class_entry); - obj->zo.handlers = &php_com_object_handlers; ZVAL_OBJ(z, &obj->zo); } diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c index ec5271c908c6b..ececdd87aaba8 100644 --- a/ext/com_dotnet/com_persist.c +++ b/ext/com_dotnet/com_persist.c @@ -709,7 +709,6 @@ static zend_object* helper_new(zend_class_entry *ce) memset(helper, 0, sizeof(*helper)); zend_object_std_init(&helper->std, helper_ce); - helper->std.handlers = &helper_handlers; return &helper->std; } @@ -722,6 +721,7 @@ void php_com_persist_minit(INIT_FUNC_ARGS) helper_ce = register_class_COMPersistHelper(); helper_ce->create_object = helper_new; + helper_ce->default_object_handlers = &helper_handlers; le_istream = zend_register_list_destructors_ex(istream_dtor, NULL, "com_dotnet_istream_wrapper", module_number); diff --git a/ext/com_dotnet/com_saproxy.c b/ext/com_dotnet/com_saproxy.c index 6ad4680c0fe65..c99a622070ec2 100644 --- a/ext/com_dotnet/com_saproxy.c +++ b/ext/com_dotnet/com_saproxy.c @@ -440,7 +440,6 @@ void php_com_saproxy_create(zend_object *com_object, zval *proxy_out, zval *inde ZVAL_DUP(&proxy->indices[proxy->dimensions-1], index); zend_object_std_init(&proxy->std, php_com_saproxy_class_entry); - proxy->std.handlers = &php_com_saproxy_handlers; ZVAL_OBJ(proxy_out, &proxy->std); } diff --git a/ext/com_dotnet/php_com_dotnet_internal.h b/ext/com_dotnet/php_com_dotnet_internal.h index d09db6a13bc82..18982e56ccfa0 100644 --- a/ext/com_dotnet/php_com_dotnet_internal.h +++ b/ext/com_dotnet/php_com_dotnet_internal.h @@ -78,6 +78,7 @@ void php_com_object_enable_event_sink(php_com_dotnet_object *obj, bool enable); /* com_saproxy.c */ zend_object_iterator *php_com_saproxy_iter_get(zend_class_entry *ce, zval *object, int by_ref); void php_com_saproxy_create(zend_object *com_object, zval *proxy_out, zval *index); +extern zend_object_handlers php_com_saproxy_handlers; /* com_olechar.c */ PHP_COM_DOTNET_API zend_string *php_com_olestring_to_string(OLECHAR *olestring, int codepage); diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 66f19f0def72a..e1da59a6c16da 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -398,6 +398,7 @@ PHP_MINIT_FUNCTION(curl) curl_ce = register_class_CurlHandle(); curl_ce->create_object = curl_create_object; + curl_ce->default_object_handlers = &curl_object_handlers; memcpy(&curl_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); curl_object_handlers.offset = XtOffsetOf(php_curl, std); @@ -426,7 +427,6 @@ static zend_object *curl_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &curl_object_handlers; return &intern->std; } diff --git a/ext/curl/multi.c b/ext/curl/multi.c index fb8f08ccdbaa4..4998a2ffa365b 100644 --- a/ext/curl/multi.c +++ b/ext/curl/multi.c @@ -512,14 +512,11 @@ PHP_FUNCTION(curl_multi_setopt) /* CurlMultiHandle class */ -static zend_object_handlers curl_multi_handlers; - static zend_object *curl_multi_create_object(zend_class_entry *class_type) { php_curlm *intern = zend_object_alloc(sizeof(php_curlm), class_type); zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &curl_multi_handlers; return &intern->std; } @@ -582,8 +579,11 @@ static HashTable *curl_multi_get_gc(zend_object *object, zval **table, int *n) return zend_std_get_properties(object); } +static zend_object_handlers curl_multi_handlers; + void curl_multi_register_handlers(void) { curl_multi_ce->create_object = curl_multi_create_object; + curl_multi_ce->default_object_handlers = &curl_multi_handlers; memcpy(&curl_multi_handlers, &std_object_handlers, sizeof(zend_object_handlers)); curl_multi_handlers.offset = XtOffsetOf(php_curlm, std); diff --git a/ext/curl/share.c b/ext/curl/share.c index 7f65cb4a27a94..f30790250e0ca 100644 --- a/ext/curl/share.c +++ b/ext/curl/share.c @@ -136,14 +136,11 @@ PHP_FUNCTION(curl_share_strerror) /* CurlShareHandle class */ -static zend_object_handlers curl_share_handlers; - static zend_object *curl_share_create_object(zend_class_entry *class_type) { php_curlsh *intern = zend_object_alloc(sizeof(php_curlsh), class_type); zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &curl_share_handlers; return &intern->std; } @@ -161,8 +158,11 @@ void curl_share_free_obj(zend_object *object) zend_object_std_dtor(&sh->std); } +static zend_object_handlers curl_share_handlers; + void curl_share_register_handlers(void) { curl_share_ce->create_object = curl_share_create_object; + curl_share_ce->default_object_handlers = &curl_share_handlers; memcpy(&curl_share_handlers, &std_object_handlers, sizeof(zend_object_handlers)); curl_share_handlers.offset = XtOffsetOf(php_curlsh, std); diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 229d9890251e6..c64ef6afe112a 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -1722,6 +1722,7 @@ static void date_register_classes(void) /* {{{ */ date_ce_date = register_class_DateTime(date_ce_interface); date_ce_date->create_object = date_object_new_date; + date_ce_date->default_object_handlers = &date_object_handlers_date; memcpy(&date_object_handlers_date, &std_object_handlers, sizeof(zend_object_handlers)); date_object_handlers_date.offset = XtOffsetOf(php_date_obj, std); date_object_handlers_date.free_obj = date_object_free_storage_date; @@ -1732,6 +1733,7 @@ static void date_register_classes(void) /* {{{ */ date_ce_immutable = register_class_DateTimeImmutable(date_ce_interface); date_ce_immutable->create_object = date_object_new_date; + date_ce_immutable->default_object_handlers = &date_object_handlers_date; memcpy(&date_object_handlers_immutable, &std_object_handlers, sizeof(zend_object_handlers)); date_object_handlers_immutable.clone_obj = date_object_clone_date; date_object_handlers_immutable.compare = date_object_compare_date; @@ -1740,6 +1742,7 @@ static void date_register_classes(void) /* {{{ */ date_ce_timezone = register_class_DateTimeZone(); date_ce_timezone->create_object = date_object_new_timezone; + date_ce_timezone->default_object_handlers = &date_object_handlers_timezone; memcpy(&date_object_handlers_timezone, &std_object_handlers, sizeof(zend_object_handlers)); date_object_handlers_timezone.offset = XtOffsetOf(php_timezone_obj, std); date_object_handlers_timezone.free_obj = date_object_free_storage_timezone; @@ -1751,6 +1754,7 @@ static void date_register_classes(void) /* {{{ */ date_ce_interval = register_class_DateInterval(); date_ce_interval->create_object = date_object_new_interval; + date_ce_interval->default_object_handlers = &date_object_handlers_interval; memcpy(&date_object_handlers_interval, &std_object_handlers, sizeof(zend_object_handlers)); date_object_handlers_interval.offset = XtOffsetOf(php_interval_obj, std); date_object_handlers_interval.free_obj = date_object_free_storage_interval; @@ -1765,6 +1769,7 @@ static void date_register_classes(void) /* {{{ */ date_ce_period = register_class_DatePeriod(zend_ce_aggregate); date_ce_period->create_object = date_object_new_period; + date_ce_period->default_object_handlers = &date_object_handlers_period; date_ce_period->get_iterator = date_object_period_get_iterator; memcpy(&date_object_handlers_period, &std_object_handlers, sizeof(zend_object_handlers)); date_object_handlers_period.offset = XtOffsetOf(php_period_obj, std); @@ -1782,7 +1787,6 @@ static zend_object *date_object_new_date(zend_class_entry *class_type) /* {{{ */ zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &date_object_handlers_date; return &intern->std; } /* }}} */ @@ -1923,7 +1927,6 @@ static zend_object *date_object_new_timezone(zend_class_entry *class_type) /* {{ zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &date_object_handlers_timezone; return &intern->std; } /* }}} */ @@ -2076,7 +2079,6 @@ static zend_object *date_object_new_interval(zend_class_entry *class_type) /* {{ zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &date_object_handlers_interval; return &intern->std; } /* }}} */ @@ -2169,8 +2171,6 @@ static zend_object *date_object_new_period(zend_class_entry *class_type) /* {{{ zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &date_object_handlers_period; - return &intern->std; } /* }}} */ diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c index 3d3260aee82f7..d9463012f146b 100644 --- a/ext/dom/php_dom.c +++ b/ext/dom/php_dom.c @@ -660,6 +660,7 @@ PHP_MINIT_FUNCTION(dom) dom_nodelist_class_entry = register_class_DOMNodeList(zend_ce_aggregate, zend_ce_countable); dom_nodelist_class_entry->create_object = dom_nnodemap_objects_new; + dom_nodelist_class_entry->default_object_handlers = &dom_nnodemap_object_handlers; dom_nodelist_class_entry->get_iterator = php_dom_get_iterator; zend_hash_init(&dom_nodelist_prop_handlers, 0, NULL, dom_dtor_prop_handler, 1); @@ -668,6 +669,7 @@ PHP_MINIT_FUNCTION(dom) dom_namednodemap_class_entry = register_class_DOMNamedNodeMap(zend_ce_aggregate, zend_ce_countable); dom_namednodemap_class_entry->create_object = dom_nnodemap_objects_new; + dom_namednodemap_class_entry->default_object_handlers = &dom_nnodemap_object_handlers; dom_namednodemap_class_entry->get_iterator = php_dom_get_iterator; zend_hash_init(&dom_namednodemap_prop_handlers, 0, NULL, dom_dtor_prop_handler, 1); @@ -1039,8 +1041,6 @@ zend_object *dom_nnodemap_objects_new(zend_class_entry *class_type) /* {{{ */ objmap->local = NULL; objmap->ns = NULL; - intern->std.handlers = &dom_nnodemap_object_handlers; - return &intern->std; } /* }}} */ diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c index 2ddf5f041003e..5c209705d776b 100644 --- a/ext/enchant/enchant.c +++ b/ext/enchant/enchant.c @@ -61,7 +61,6 @@ static zend_object *enchant_broker_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &enchant_broker_handlers; return &intern->std; } @@ -80,7 +79,6 @@ static zend_object *enchant_dict_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &enchant_dict_handlers; return &intern->std; } @@ -191,6 +189,7 @@ PHP_MINIT_FUNCTION(enchant) { enchant_broker_ce = register_class_EnchantBroker(); enchant_broker_ce->create_object = enchant_broker_create_object; + enchant_broker_ce->default_object_handlers = &enchant_broker_handlers; memcpy(&enchant_broker_handlers, &std_object_handlers, sizeof(zend_object_handlers)); enchant_broker_handlers.offset = XtOffsetOf(enchant_broker, std); @@ -200,6 +199,7 @@ PHP_MINIT_FUNCTION(enchant) enchant_dict_ce = register_class_EnchantDictionary(); enchant_dict_ce->create_object = enchant_dict_create_object; + enchant_dict_ce->default_object_handlers = &enchant_dict_handlers; memcpy(&enchant_dict_handlers, &std_object_handlers, sizeof(zend_object_handlers)); enchant_dict_handlers.offset = XtOffsetOf(enchant_dict, std); diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c index ac1aabc4f6656..edad7465f8cfa 100644 --- a/ext/ffi/ffi.c +++ b/ext/ffi/ffi.c @@ -234,6 +234,7 @@ static zend_always_inline void zend_ffi_object_init(zend_object *object, zend_cl GC_SET_REFCOUNT(object, 1); GC_TYPE_INFO(object) = GC_OBJECT | (IS_OBJ_DESTRUCTOR_CALLED << GC_FLAGS_SHIFT); object->ce = ce; + object->handlers = ce->default_object_handlers; object->properties = NULL; zend_objects_store_put(object); } @@ -246,7 +247,6 @@ static zend_object *zend_ffi_cdata_new(zend_class_entry *class_type) /* {{{ */ cdata = emalloc(sizeof(zend_ffi_cdata)); zend_ffi_object_init(&cdata->std, class_type); - cdata->std.handlers = &zend_ffi_cdata_handlers; cdata->type = NULL; cdata->ptr = NULL; @@ -495,7 +495,6 @@ static zend_never_inline zend_ffi_cdata *zend_ffi_cdata_to_zval_slow_ptr(void *p zend_ffi_cdata *cdata = emalloc(sizeof(zend_ffi_cdata)); zend_ffi_object_init(&cdata->std, zend_ffi_cdata_ce); - cdata->std.handlers = &zend_ffi_cdata_handlers; cdata->type = type; cdata->flags = flags; cdata->ptr = (void*)&cdata->ptr_holder; @@ -2174,7 +2173,6 @@ static zend_object *zend_ffi_ctype_new(zend_class_entry *class_type) /* {{{ */ ctype = emalloc(sizeof(zend_ffi_ctype)); zend_ffi_object_init(&ctype->std, class_type); - ctype->std.handlers = &zend_ffi_ctype_handlers; ctype->type = NULL; @@ -2261,7 +2259,6 @@ static zend_object *zend_ffi_new(zend_class_entry *class_type) /* {{{ */ ffi = emalloc(sizeof(zend_ffi)); zend_ffi_object_init(&ffi->std, class_type); - ffi->std.handlers = &zend_ffi_handlers; ffi->lib = NULL; ffi->symbols = NULL; @@ -2473,7 +2470,6 @@ static zval *zend_ffi_read_var(zend_object *obj, zend_string *var_name, int read cdata = emalloc(sizeof(zend_ffi_cdata)); zend_ffi_object_init(&cdata->std, zend_ffi_cdata_ce); - cdata->std.handlers = &zend_ffi_cdata_handlers; cdata->type = ZEND_FFI_TYPE_MAKE_OWNED(new_type); cdata->flags = ZEND_FFI_FLAG_CONST; cdata->ptr_holder = sym->addr; @@ -5305,6 +5301,7 @@ ZEND_MINIT_FUNCTION(ffi) zend_ffi_ce = register_class_FFI(); zend_ffi_ce->create_object = zend_ffi_new; + zend_ffi_ce->default_object_handlers = &zend_ffi_handlers; memcpy(&zend_ffi_new_fn, zend_hash_str_find_ptr(&zend_ffi_ce->function_table, "new", sizeof("new")-1), sizeof(zend_internal_function)); zend_ffi_new_fn.fn_flags &= ~ZEND_ACC_STATIC; @@ -5336,6 +5333,7 @@ ZEND_MINIT_FUNCTION(ffi) zend_ffi_cdata_ce = register_class_FFI_CData(); zend_ffi_cdata_ce->create_object = zend_ffi_cdata_new; + zend_ffi_cdata_ce->default_object_handlers = &zend_ffi_cdata_handlers; zend_ffi_cdata_ce->get_iterator = zend_ffi_cdata_get_iterator; memcpy(&zend_ffi_cdata_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); @@ -5410,6 +5408,7 @@ ZEND_MINIT_FUNCTION(ffi) zend_ffi_ctype_ce = register_class_FFI_CType(); zend_ffi_ctype_ce->create_object = zend_ffi_ctype_new; + zend_ffi_ctype_ce->default_object_handlers = &zend_ffi_ctype_handlers; memcpy(&zend_ffi_ctype_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); zend_ffi_ctype_handlers.get_constructor = zend_fake_get_constructor; diff --git a/ext/fileinfo/fileinfo.c b/ext/fileinfo/fileinfo.c index 8163884577ad6..90af9baa3d08a 100644 --- a/ext/fileinfo/fileinfo.c +++ b/ext/fileinfo/fileinfo.c @@ -89,7 +89,6 @@ PHP_FILEINFO_API zend_object *finfo_objects_new(zend_class_entry *class_type) zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &finfo_object_handlers; return &intern->zo; } @@ -108,6 +107,7 @@ PHP_MINIT_FUNCTION(finfo) { finfo_class_entry = register_class_finfo(); finfo_class_entry->create_object = finfo_objects_new; + finfo_class_entry->default_object_handlers = &finfo_object_handlers; /* copy the standard object handlers to you handler table */ memcpy(&finfo_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); diff --git a/ext/gd/gd.c b/ext/gd/gd.c index cdfaaeedaeb7f..31e8fd9eb0872 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -177,7 +177,6 @@ zend_object *php_gd_image_object_create(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &php_gd_image_object_handlers; return &intern->std; } @@ -207,6 +206,7 @@ static void php_gd_object_minit_helper(void) { gd_image_ce = register_class_GdImage(); gd_image_ce->create_object = php_gd_image_object_create; + gd_image_ce->default_object_handlers = &php_gd_image_object_handlers; /* setting up the object handlers for the GdImage class */ memcpy(&php_gd_image_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c index fff4e9293d18f..b6b31cbdcad52 100644 --- a/ext/gmp/gmp.c +++ b/ext/gmp/gmp.c @@ -256,7 +256,6 @@ static inline zend_object *gmp_create_object_ex(zend_class_entry *ce, mpz_ptr *g mpz_init(intern->num); *gmpnum_target = intern->num; - intern->std.handlers = &gmp_object_handlers; return &intern->std; } @@ -533,6 +532,7 @@ ZEND_MINIT_FUNCTION(gmp) { gmp_ce = register_class_GMP(); gmp_ce->create_object = gmp_create_object; + gmp_ce->default_object_handlers = &gmp_object_handlers; gmp_ce->serialize = gmp_serialize; gmp_ce->unserialize = gmp_unserialize; diff --git a/ext/intl/breakiterator/breakiterator_class.cpp b/ext/intl/breakiterator/breakiterator_class.cpp index 761fcfcfccc65..d4dec4f31d7a5 100644 --- a/ext/intl/breakiterator/breakiterator_class.cpp +++ b/ext/intl/breakiterator/breakiterator_class.cpp @@ -209,8 +209,6 @@ static zend_object *BreakIterator_object_create(zend_class_entry *ce) object_properties_init(&intern->zo, ce); breakiterator_object_init(intern); - intern->zo.handlers = &BreakIterator_handlers; - return &intern->zo; } /* }}} */ @@ -224,6 +222,7 @@ U_CFUNC void breakiterator_register_BreakIterator_class(void) BreakIterator_ce_ptr = register_class_IntlBreakIterator(zend_ce_aggregate); BreakIterator_ce_ptr->create_object = BreakIterator_object_create; + BreakIterator_ce_ptr->default_object_handlers = &BreakIterator_handlers; BreakIterator_ce_ptr->get_iterator = _breakiterator_get_iterator; memcpy(&BreakIterator_handlers, &std_object_handlers, diff --git a/ext/intl/calendar/calendar_class.cpp b/ext/intl/calendar/calendar_class.cpp index f114c9b0fe57c..8a2c7904a2d26 100644 --- a/ext/intl/calendar/calendar_class.cpp +++ b/ext/intl/calendar/calendar_class.cpp @@ -256,9 +256,6 @@ static zend_object *Calendar_object_create(zend_class_entry *ce) object_properties_init(&intern->zo, ce); calendar_object_init(intern); - - intern->zo.handlers = &Calendar_handlers; - return &intern->zo; } /* }}} */ @@ -270,6 +267,7 @@ void calendar_register_IntlCalendar_class(void) { /* Create and register 'IntlCalendar' class. */ Calendar_ce_ptr = register_class_IntlCalendar(); + Calendar_ce_ptr->default_object_handlers = &Calendar_handlers; Calendar_ce_ptr->create_object = Calendar_object_create; memcpy( &Calendar_handlers, &std_object_handlers, diff --git a/ext/intl/collator/collator_class.c b/ext/intl/collator/collator_class.c index 709691123ed35..db974b8748ec6 100644 --- a/ext/intl/collator/collator_class.c +++ b/ext/intl/collator/collator_class.c @@ -50,8 +50,6 @@ zend_object *Collator_object_create(zend_class_entry *ce ) zend_object_std_init(&intern->zo, ce ); object_properties_init(&intern->zo, ce); - intern->zo.handlers = &Collator_handlers; - return &intern->zo; } /* }}} */ @@ -70,6 +68,7 @@ void collator_register_Collator_symbols(int module_number) /* Create and register 'Collator' class. */ Collator_ce_ptr = register_class_Collator(); Collator_ce_ptr->create_object = Collator_object_create; + Collator_ce_ptr->default_object_handlers = &Collator_handlers; memcpy(&Collator_handlers, &std_object_handlers, sizeof Collator_handlers); diff --git a/ext/intl/common/common_enum.cpp b/ext/intl/common/common_enum.cpp index e0ddce7bfa5b0..874c748d58b70 100644 --- a/ext/intl/common/common_enum.cpp +++ b/ext/intl/common/common_enum.cpp @@ -200,8 +200,6 @@ static zend_object *IntlIterator_object_create(zend_class_entry *ce) intern->iterator = NULL; - intern->zo.handlers = &IntlIterator_handlers; - return &intern->zo; } @@ -287,6 +285,7 @@ U_CFUNC void intl_register_common_symbols(int module_number) /* Create and register 'IntlIterator' class. */ IntlIterator_ce_ptr = register_class_IntlIterator(zend_ce_iterator); IntlIterator_ce_ptr->create_object = IntlIterator_object_create; + IntlIterator_ce_ptr->default_object_handlers = &IntlIterator_handlers; IntlIterator_ce_ptr->get_iterator = IntlIterator_get_iterator; memcpy(&IntlIterator_handlers, &std_object_handlers, diff --git a/ext/intl/converter/converter.c b/ext/intl/converter/converter.c index 04a34e207cce1..6f65cfc2eea69 100644 --- a/ext/intl/converter/converter.c +++ b/ext/intl/converter/converter.c @@ -911,7 +911,6 @@ static zend_object *php_converter_object_ctor(zend_class_entry *ce, php_converte object_properties_init(&objval->obj, ce); intl_error_init(&(objval->error)); - objval->obj.handlers = &php_converter_object_handlers; *pobjval = objval; return &objval->obj; @@ -973,6 +972,7 @@ static zend_object *php_converter_clone_object(zend_object *object) { int php_converter_minit(INIT_FUNC_ARGS) { php_converter_ce = register_class_UConverter(); php_converter_ce->create_object = php_converter_create_object; + php_converter_ce->default_object_handlers = &php_converter_object_handlers; memcpy(&php_converter_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); php_converter_object_handlers.offset = XtOffsetOf(php_converter_object, obj); php_converter_object_handlers.clone_obj = php_converter_clone_object; diff --git a/ext/intl/dateformat/dateformat_class.c b/ext/intl/dateformat/dateformat_class.c index c020d69d5976f..f547640efbb0c 100644 --- a/ext/intl/dateformat/dateformat_class.c +++ b/ext/intl/dateformat/dateformat_class.c @@ -57,8 +57,6 @@ zend_object *IntlDateFormatter_object_create(zend_class_entry *ce) intern->calendar = -1; intern->requested_locale = NULL; - intern->zo.handlers = &IntlDateFormatter_handlers; - return &intern->zo; } /* }}} */ @@ -104,6 +102,7 @@ void dateformat_register_IntlDateFormatter_class( void ) /* Create and register 'IntlDateFormatter' class. */ IntlDateFormatter_ce_ptr = register_class_IntlDateFormatter(); IntlDateFormatter_ce_ptr->create_object = IntlDateFormatter_object_create; + IntlDateFormatter_ce_ptr->default_object_handlers = &IntlDateFormatter_handlers; memcpy(&IntlDateFormatter_handlers, &std_object_handlers, sizeof IntlDateFormatter_handlers); diff --git a/ext/intl/dateformat/datepatterngenerator_class.cpp b/ext/intl/dateformat/datepatterngenerator_class.cpp index 4c567beb1a206..c77398deb983f 100644 --- a/ext/intl/dateformat/datepatterngenerator_class.cpp +++ b/ext/intl/dateformat/datepatterngenerator_class.cpp @@ -98,8 +98,6 @@ static zend_object *IntlDatePatternGenerator_object_create(zend_class_entry *ce) object_properties_init(&intern->zo, ce); IntlDatePatternGenerator_object_init(intern); - intern->zo.handlers = &IntlDatePatternGenerator_handlers; - return &intern->zo; } @@ -115,6 +113,7 @@ void dateformat_register_IntlDatePatternGenerator_class( void ) /* Create and register 'IntlDatePatternGenerator' class. */ IntlDatePatternGenerator_ce_ptr = register_class_IntlDatePatternGenerator(); IntlDatePatternGenerator_ce_ptr->create_object = IntlDatePatternGenerator_object_create; + IntlDatePatternGenerator_ce_ptr->default_object_handlers = &IntlDatePatternGenerator_handlers; memcpy(&IntlDatePatternGenerator_handlers, &std_object_handlers, sizeof IntlDatePatternGenerator_handlers); diff --git a/ext/intl/formatter/formatter_class.c b/ext/intl/formatter/formatter_class.c index ce71f43a816a2..0c2d8e418153d 100644 --- a/ext/intl/formatter/formatter_class.c +++ b/ext/intl/formatter/formatter_class.c @@ -51,8 +51,6 @@ zend_object *NumberFormatter_object_create(zend_class_entry *ce) zend_object_std_init( &intern->zo, ce ); object_properties_init(&intern->zo, ce); - intern->zo.handlers = &NumberFormatter_handlers; - return &intern->zo; } /* }}} */ @@ -99,6 +97,7 @@ void formatter_register_class( void ) /* Create and register 'NumberFormatter' class. */ NumberFormatter_ce_ptr = register_class_NumberFormatter(); NumberFormatter_ce_ptr->create_object = NumberFormatter_object_create; + NumberFormatter_ce_ptr->default_object_handlers = &NumberFormatter_handlers; memcpy(&NumberFormatter_handlers, &std_object_handlers, sizeof(NumberFormatter_handlers)); diff --git a/ext/intl/msgformat/msgformat_class.c b/ext/intl/msgformat/msgformat_class.c index 3d7241b0da58e..57378f19bb010 100644 --- a/ext/intl/msgformat/msgformat_class.c +++ b/ext/intl/msgformat/msgformat_class.c @@ -49,8 +49,6 @@ zend_object *MessageFormatter_object_create(zend_class_entry *ce) zend_object_std_init( &intern->zo, ce ); object_properties_init(&intern->zo, ce); - intern->zo.handlers = &MessageFormatter_handlers; - return &intern->zo; } /* }}} */ @@ -98,6 +96,7 @@ void msgformat_register_class( void ) /* Create and register 'MessageFormatter' class. */ MessageFormatter_ce_ptr = register_class_MessageFormatter(); MessageFormatter_ce_ptr->create_object = MessageFormatter_object_create; + MessageFormatter_ce_ptr->default_object_handlers = &MessageFormatter_handlers; memcpy(&MessageFormatter_handlers, &std_object_handlers, sizeof MessageFormatter_handlers); diff --git a/ext/intl/resourcebundle/resourcebundle_class.c b/ext/intl/resourcebundle/resourcebundle_class.c index 5e1e9e5312e29..9e86b41e761a2 100644 --- a/ext/intl/resourcebundle/resourcebundle_class.c +++ b/ext/intl/resourcebundle/resourcebundle_class.c @@ -67,8 +67,6 @@ static zend_object *ResourceBundle_object_create( zend_class_entry *ce ) rb->me = NULL; rb->child = NULL; - rb->zend.handlers = &ResourceBundle_object_handlers; - return &rb->zend; } /* }}} */ @@ -375,6 +373,7 @@ void resourcebundle_register_class( void ) { ResourceBundle_ce_ptr = register_class_ResourceBundle(zend_ce_aggregate, zend_ce_countable); ResourceBundle_ce_ptr->create_object = ResourceBundle_object_create; + ResourceBundle_ce_ptr->default_object_handlers = &ResourceBundle_object_handlers; ResourceBundle_ce_ptr->get_iterator = resourcebundle_get_iterator; ResourceBundle_object_handlers = std_object_handlers; diff --git a/ext/intl/spoofchecker/spoofchecker_class.c b/ext/intl/spoofchecker/spoofchecker_class.c index ed343ec1bed01..176917ed4edec 100644 --- a/ext/intl/spoofchecker/spoofchecker_class.c +++ b/ext/intl/spoofchecker/spoofchecker_class.c @@ -47,8 +47,6 @@ zend_object *Spoofchecker_object_create(zend_class_entry *ce) zend_object_std_init(&intern->zo, ce); object_properties_init(&intern->zo, ce); - intern->zo.handlers = &Spoofchecker_handlers; - return &intern->zo; } /* }}} */ @@ -93,6 +91,7 @@ void spoofchecker_register_Spoofchecker_class(void) /* Create and register 'Spoofchecker' class. */ Spoofchecker_ce_ptr = register_class_Spoofchecker(); Spoofchecker_ce_ptr->create_object = Spoofchecker_object_create; + Spoofchecker_ce_ptr->default_object_handlers = &Spoofchecker_handlers; memcpy(&Spoofchecker_handlers, &std_object_handlers, sizeof Spoofchecker_handlers); diff --git a/ext/intl/timezone/timezone_class.cpp b/ext/intl/timezone/timezone_class.cpp index 559086365ceb8..df1da4c021daa 100644 --- a/ext/intl/timezone/timezone_class.cpp +++ b/ext/intl/timezone/timezone_class.cpp @@ -377,8 +377,6 @@ static zend_object *TimeZone_object_create(zend_class_entry *ce) object_properties_init(&intern->zo, ce); TimeZone_object_init(intern); - intern->zo.handlers = &TimeZone_handlers; - return &intern->zo; } /* }}} */ @@ -391,6 +389,7 @@ U_CFUNC void timezone_register_IntlTimeZone_class(void) /* Create and register 'IntlTimeZone' class. */ TimeZone_ce_ptr = register_class_IntlTimeZone(); TimeZone_ce_ptr->create_object = TimeZone_object_create; + TimeZone_ce_ptr->default_object_handlers = &TimeZone_handlers; memcpy(&TimeZone_handlers, &std_object_handlers, sizeof TimeZone_handlers); diff --git a/ext/intl/transliterator/transliterator_class.c b/ext/intl/transliterator/transliterator_class.c index 552505e19c9a0..78c6d562d2f93 100644 --- a/ext/intl/transliterator/transliterator_class.c +++ b/ext/intl/transliterator/transliterator_class.c @@ -117,8 +117,6 @@ static zend_object *Transliterator_object_create( zend_class_entry *ce ) object_properties_init( &intern->zo, ce ); transliterator_object_init( intern ); - intern->zo.handlers = &Transliterator_handlers; - return &intern->zo; } /* }}} */ @@ -184,6 +182,7 @@ void transliterator_register_Transliterator_class( void ) /* Create and register 'Transliterator' class. */ Transliterator_ce_ptr = register_class_Transliterator(); Transliterator_ce_ptr->create_object = Transliterator_object_create; + Transliterator_ce_ptr->default_object_handlers = &Transliterator_handlers; memcpy( &Transliterator_handlers, &std_object_handlers, sizeof Transliterator_handlers ); Transliterator_handlers.offset = XtOffsetOf(Transliterator_object, zo); Transliterator_handlers.free_obj = Transliterator_objects_free; diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index b8fb4274215ff..ecd94c2da509e 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -115,7 +115,6 @@ static zend_object *ldap_link_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &ldap_link_object_handlers; return &intern->std; } @@ -161,7 +160,6 @@ static zend_object *ldap_result_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &ldap_result_object_handlers; return &intern->std; } @@ -199,7 +197,6 @@ static zend_object *ldap_result_entry_create_object(zend_class_entry *class_type zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &ldap_result_entry_object_handlers; return &intern->std; } @@ -828,6 +825,7 @@ PHP_MINIT_FUNCTION(ldap) ldap_link_ce = register_class_LDAP_Connection(); ldap_link_ce->create_object = ldap_link_create_object; + ldap_link_ce->default_object_handlers = &ldap_link_object_handlers; memcpy(&ldap_link_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); ldap_link_object_handlers.offset = XtOffsetOf(ldap_linkdata, std); @@ -838,6 +836,7 @@ PHP_MINIT_FUNCTION(ldap) ldap_result_ce = register_class_LDAP_Result(); ldap_result_ce->create_object = ldap_result_create_object; + ldap_result_ce->default_object_handlers = &ldap_result_object_handlers; memcpy(&ldap_result_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); ldap_result_object_handlers.offset = XtOffsetOf(ldap_resultdata, std); @@ -848,6 +847,7 @@ PHP_MINIT_FUNCTION(ldap) ldap_result_entry_ce = register_class_LDAP_ResultEntry(); ldap_result_entry_ce->create_object = ldap_result_entry_create_object; + ldap_result_entry_ce->default_object_handlers = &ldap_result_entry_object_handlers; memcpy(&ldap_result_entry_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); ldap_result_entry_object_handlers.offset = XtOffsetOf(ldap_result_entry, std); diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 2ea54dd455ab5..6d10fef971988 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -144,7 +144,6 @@ static zend_object *php_openssl_certificate_create_object(zend_class_entry *clas zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &php_openssl_certificate_object_handlers; return &intern->std; } @@ -184,7 +183,6 @@ static zend_object *php_openssl_request_create_object(zend_class_entry *class_ty zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &php_openssl_request_object_handlers; return &intern->std; } @@ -225,7 +223,6 @@ static zend_object *php_openssl_pkey_create_object(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &php_openssl_pkey_object_handlers; return &intern->std; } @@ -1190,6 +1187,7 @@ PHP_MINIT_FUNCTION(openssl) php_openssl_certificate_ce = register_class_OpenSSLCertificate(); php_openssl_certificate_ce->create_object = php_openssl_certificate_create_object; + php_openssl_certificate_ce->default_object_handlers = &php_openssl_certificate_object_handlers; memcpy(&php_openssl_certificate_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); php_openssl_certificate_object_handlers.offset = XtOffsetOf(php_openssl_certificate_object, std); @@ -1200,6 +1198,7 @@ PHP_MINIT_FUNCTION(openssl) php_openssl_request_ce = register_class_OpenSSLCertificateSigningRequest(); php_openssl_request_ce->create_object = php_openssl_request_create_object; + php_openssl_request_ce->default_object_handlers = &php_openssl_request_object_handlers; memcpy(&php_openssl_request_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); php_openssl_request_object_handlers.offset = XtOffsetOf(php_openssl_request_object, std); @@ -1210,6 +1209,7 @@ PHP_MINIT_FUNCTION(openssl) php_openssl_pkey_ce = register_class_OpenSSLAsymmetricKey(); php_openssl_pkey_ce->create_object = php_openssl_pkey_create_object; + php_openssl_pkey_ce->default_object_handlers = &php_openssl_pkey_object_handlers; memcpy(&php_openssl_pkey_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); php_openssl_pkey_object_handlers.offset = XtOffsetOf(php_openssl_pkey_object, std); diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index 26d4e9bf85870..1f291def5b835 100644 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -1333,6 +1333,7 @@ void pdo_dbh_init(int module_number) { pdo_dbh_ce = register_class_PDO(); pdo_dbh_ce->create_object = pdo_dbh_new; + pdo_dbh_ce->default_object_handlers = &pdo_dbh_object_handlers; memcpy(&pdo_dbh_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); pdo_dbh_object_handlers.offset = XtOffsetOf(pdo_dbh_object_t, std); @@ -1419,8 +1420,6 @@ zend_object *pdo_dbh_new(zend_class_entry *ce) dbh->inner = ecalloc(1, sizeof(pdo_dbh_t)); dbh->inner->def_stmt_ce = pdo_dbstmt_ce; - dbh->std.handlers = &pdo_dbh_object_handlers; - return &dbh->std; } diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 453933607f38e..65f0900075af0 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -218,7 +218,6 @@ static void get_lazy_object(pdo_stmt_t *stmt, zval *return_value) /* {{{ */ row->stmt = stmt; zend_object_std_init(&row->std, pdo_row_ce); ZVAL_OBJ(&stmt->lazy_object_ref, &row->std); - row->std.handlers = &pdo_row_object_handlers; GC_ADDREF(&stmt->std); GC_DELREF(&row->std); } @@ -2137,8 +2136,6 @@ zend_object *pdo_dbstmt_new(zend_class_entry *ce) zend_object_std_init(&stmt->std, ce); object_properties_init(&stmt->std, ce); - stmt->std.handlers = &pdo_dbstmt_object_handlers; - return &stmt->std; } /* }}} */ @@ -2464,7 +2461,6 @@ zend_object *pdo_row_new(zend_class_entry *ce) { pdo_row_t *row = ecalloc(1, sizeof(pdo_row_t)); zend_object_std_init(&row->std, ce); - row->std.handlers = &pdo_row_object_handlers; return &row->std; } @@ -2474,6 +2470,7 @@ void pdo_stmt_init(void) pdo_dbstmt_ce = register_class_PDOStatement(zend_ce_aggregate); pdo_dbstmt_ce->get_iterator = pdo_stmt_iter_get; pdo_dbstmt_ce->create_object = pdo_dbstmt_new; + pdo_dbstmt_ce->default_object_handlers = &pdo_dbstmt_object_handlers; memcpy(&pdo_dbstmt_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); pdo_dbstmt_object_handlers.offset = XtOffsetOf(pdo_stmt_t, std); @@ -2486,6 +2483,7 @@ void pdo_stmt_init(void) pdo_row_ce = register_class_PDORow(); pdo_row_ce->create_object = pdo_row_new; + pdo_row_ce->default_object_handlers = &pdo_row_object_handlers; memcpy(&pdo_row_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); pdo_row_object_handlers.free_obj = pdo_row_free_storage; diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index b5c4b77ad3f71..94b53df711f1c 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -157,7 +157,6 @@ static zend_object *pgsql_link_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &pgsql_link_object_handlers; return &intern->std; } @@ -213,7 +212,6 @@ static zend_object *pgsql_result_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &pgsql_result_object_handlers; return &intern->std; } @@ -251,7 +249,6 @@ static zend_object *pgsql_lob_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &pgsql_lob_object_handlers; return &intern->std; } @@ -440,6 +437,7 @@ PHP_MINIT_FUNCTION(pgsql) pgsql_link_ce = register_class_PgSql_Connection(); pgsql_link_ce->create_object = pgsql_link_create_object; + pgsql_link_ce->default_object_handlers = &pgsql_link_object_handlers; memcpy(&pgsql_link_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); pgsql_link_object_handlers.offset = XtOffsetOf(pgsql_link_handle, std); @@ -450,6 +448,7 @@ PHP_MINIT_FUNCTION(pgsql) pgsql_result_ce = register_class_PgSql_Result(); pgsql_result_ce->create_object = pgsql_result_create_object; + pgsql_result_ce->default_object_handlers = &pgsql_result_object_handlers; memcpy(&pgsql_result_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); pgsql_result_object_handlers.offset = XtOffsetOf(pgsql_result_handle, std); @@ -460,6 +459,7 @@ PHP_MINIT_FUNCTION(pgsql) pgsql_lob_ce = register_class_PgSql_Lob(); pgsql_lob_ce->create_object = pgsql_lob_create_object; + pgsql_lob_ce->default_object_handlers = &pgsql_lob_object_handlers; memcpy(&pgsql_lob_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); pgsql_lob_object_handlers.offset = XtOffsetOf(pgLofp, std); diff --git a/ext/random/random.c b/ext/random/random.c index 2380a83b75890..5afc7680d7ddd 100644 --- a/ext/random/random.c +++ b/ext/random/random.c @@ -227,8 +227,6 @@ static zend_object *php_random_randomizer_new(zend_class_entry *ce) zend_object_std_init(&randomizer->std, ce); object_properties_init(&randomizer->std, ce); - randomizer->std.handlers = &random_randomizer_object_handlers; - return &randomizer->std; } @@ -880,6 +878,7 @@ PHP_MINIT_FUNCTION(random) /* Random\Randomizer */ random_ce_Random_Randomizer = register_class_Random_Randomizer(); random_ce_Random_Randomizer->create_object = php_random_randomizer_new; + random_ce_Random_Randomizer->default_object_handlers = &random_randomizer_object_handlers; memcpy(&random_randomizer_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); random_randomizer_object_handlers.offset = XtOffsetOf(php_random_randomizer, std); random_randomizer_object_handlers.free_obj = randomizer_free_obj; diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index fef531292b564..b97e271aa4901 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -283,7 +283,6 @@ static zend_object *reflection_objects_new(zend_class_entry *class_type) /* {{{ zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &reflection_object_handlers; return &intern->zo; } /* }}} */ @@ -7127,67 +7126,88 @@ PHP_MINIT_FUNCTION(reflection) /* {{{ */ reflector_ptr = register_class_Reflector(zend_ce_stringable); reflection_function_abstract_ptr = register_class_ReflectionFunctionAbstract(reflector_ptr); + reflection_function_abstract_ptr->default_object_handlers = &reflection_object_handlers; reflection_function_abstract_ptr->create_object = reflection_objects_new; reflection_function_ptr = register_class_ReflectionFunction(reflection_function_abstract_ptr); reflection_function_ptr->create_object = reflection_objects_new; + reflection_function_ptr->default_object_handlers = &reflection_object_handlers; reflection_generator_ptr = register_class_ReflectionGenerator(); reflection_generator_ptr->create_object = reflection_objects_new; + reflection_generator_ptr->default_object_handlers = &reflection_object_handlers; reflection_parameter_ptr = register_class_ReflectionParameter(reflector_ptr); reflection_parameter_ptr->create_object = reflection_objects_new; + reflection_parameter_ptr->default_object_handlers = &reflection_object_handlers; reflection_type_ptr = register_class_ReflectionType(zend_ce_stringable); reflection_type_ptr->create_object = reflection_objects_new; + reflection_type_ptr->default_object_handlers = &reflection_object_handlers; reflection_named_type_ptr = register_class_ReflectionNamedType(reflection_type_ptr); reflection_named_type_ptr->create_object = reflection_objects_new; + reflection_named_type_ptr->default_object_handlers = &reflection_object_handlers; reflection_union_type_ptr = register_class_ReflectionUnionType(reflection_type_ptr); reflection_union_type_ptr->create_object = reflection_objects_new; + reflection_union_type_ptr->default_object_handlers = &reflection_object_handlers; reflection_intersection_type_ptr = register_class_ReflectionIntersectionType(reflection_type_ptr); reflection_intersection_type_ptr->create_object = reflection_objects_new; + reflection_intersection_type_ptr->default_object_handlers = &reflection_object_handlers; reflection_method_ptr = register_class_ReflectionMethod(reflection_function_abstract_ptr); reflection_method_ptr->create_object = reflection_objects_new; + reflection_method_ptr->default_object_handlers = &reflection_object_handlers; reflection_class_ptr = register_class_ReflectionClass(reflector_ptr); reflection_class_ptr->create_object = reflection_objects_new; + reflection_class_ptr->default_object_handlers = &reflection_object_handlers; reflection_object_ptr = register_class_ReflectionObject(reflection_class_ptr); reflection_object_ptr->create_object = reflection_objects_new; + reflection_object_ptr->default_object_handlers = &reflection_object_handlers; reflection_property_ptr = register_class_ReflectionProperty(reflector_ptr); reflection_property_ptr->create_object = reflection_objects_new; + reflection_property_ptr->default_object_handlers = &reflection_object_handlers; reflection_class_constant_ptr = register_class_ReflectionClassConstant(reflector_ptr); reflection_class_constant_ptr->create_object = reflection_objects_new; + reflection_class_constant_ptr->default_object_handlers = &reflection_object_handlers; reflection_extension_ptr = register_class_ReflectionExtension(reflector_ptr); reflection_extension_ptr->create_object = reflection_objects_new; + reflection_extension_ptr->default_object_handlers = &reflection_object_handlers; reflection_zend_extension_ptr = register_class_ReflectionZendExtension(reflector_ptr); reflection_zend_extension_ptr->create_object = reflection_objects_new; + reflection_zend_extension_ptr->default_object_handlers = &reflection_object_handlers; reflection_reference_ptr = register_class_ReflectionReference(); reflection_reference_ptr->create_object = reflection_objects_new; + reflection_reference_ptr->default_object_handlers = &reflection_object_handlers; reflection_attribute_ptr = register_class_ReflectionAttribute(reflector_ptr); reflection_attribute_ptr->create_object = reflection_objects_new; + reflection_attribute_ptr->default_object_handlers = &reflection_object_handlers; reflection_enum_ptr = register_class_ReflectionEnum(reflection_class_ptr); reflection_enum_ptr->create_object = reflection_objects_new; + reflection_enum_ptr->default_object_handlers = &reflection_object_handlers; reflection_enum_unit_case_ptr = register_class_ReflectionEnumUnitCase(reflection_class_constant_ptr); reflection_enum_unit_case_ptr->create_object = reflection_objects_new; + reflection_enum_unit_case_ptr->default_object_handlers = &reflection_object_handlers; reflection_enum_backed_case_ptr = register_class_ReflectionEnumBackedCase(reflection_enum_unit_case_ptr); reflection_enum_backed_case_ptr->create_object = reflection_objects_new; + reflection_enum_backed_case_ptr->default_object_handlers = &reflection_object_handlers; reflection_fiber_ptr = register_class_ReflectionFiber(); reflection_fiber_ptr->create_object = reflection_objects_new; + reflection_fiber_ptr->default_object_handlers = &reflection_object_handlers; REFLECTION_G(key_initialized) = 0; diff --git a/ext/shmop/shmop.c b/ext/shmop/shmop.c index ce810a782391e..be4f57ad27162 100644 --- a/ext/shmop/shmop.c +++ b/ext/shmop/shmop.c @@ -84,7 +84,6 @@ static zend_object *shmop_create_object(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &shmop_object_handlers; return &intern->std; } @@ -109,6 +108,7 @@ PHP_MINIT_FUNCTION(shmop) { shmop_ce = register_class_Shmop(); shmop_ce->create_object = shmop_create_object; + shmop_ce->default_object_handlers = &shmop_object_handlers; memcpy(&shmop_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); shmop_object_handlers.offset = XtOffsetOf(php_shmop, std); diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 763886730158b..20537989d0711 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -2222,7 +2222,6 @@ static php_sxe_object* php_sxe_object_new(zend_class_entry *ce, zend_function *f zend_object_std_init(&intern->zo, ce); object_properties_init(&intern->zo, ce); - intern->zo.handlers = &sxe_object_handlers; return intern; } @@ -2673,6 +2672,7 @@ PHP_MINIT_FUNCTION(simplexml) { sxe_class_entry = register_class_SimpleXMLElement(zend_ce_stringable, zend_ce_countable, spl_ce_RecursiveIterator); sxe_class_entry->create_object = sxe_object_new; + sxe_class_entry->default_object_handlers = &sxe_object_handlers; sxe_class_entry->get_iterator = php_sxe_get_iterator; memcpy(&sxe_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index 299d2d8fd08c8..6c7a6f42e968c 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -185,8 +185,6 @@ static zend_object *php_snmp_object_new(zend_class_entry *class_type) /* {{{ */ zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &php_snmp_object_handlers; - return &intern->zo; } @@ -2024,6 +2022,7 @@ PHP_MINIT_FUNCTION(snmp) /* Register SNMP Class */ php_snmp_ce = register_class_SNMP(); php_snmp_ce->create_object = php_snmp_object_new; + php_snmp_ce->default_object_handlers = &php_snmp_object_handlers; php_snmp_object_handlers.offset = XtOffsetOf(php_snmp_object, zo); php_snmp_object_handlers.clone_obj = NULL; php_snmp_object_handlers.free_obj = php_snmp_object_free_storage; diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 5d89825f91c30..a318ae896f4fd 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -194,7 +194,6 @@ static zend_object *soap_server_object_create(zend_class_entry *ce) soap_server_object *obj = zend_object_alloc(sizeof(soap_server_object), ce); zend_object_std_init(&obj->std, ce); object_properties_init(&obj->std, ce); - obj->std.handlers = &soap_server_object_handlers; return &obj->std; } @@ -407,6 +406,7 @@ PHP_MINIT_FUNCTION(soap) /* Register SoapServer class */ soap_server_class_entry = register_class_SoapServer(); soap_server_class_entry->create_object = soap_server_object_create; + soap_server_class_entry->default_object_handlers = &soap_server_object_handlers; memcpy(&soap_server_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); soap_server_object_handlers.offset = XtOffsetOf(soap_server_object, std); diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index b54859ad4a20d..8dd8265d7341c 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -101,7 +101,6 @@ static zend_object *socket_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &socket_object_handlers; intern->bsd_socket = -1; /* invalid socket */ intern->type = PF_UNSPEC; @@ -163,7 +162,6 @@ static zend_object *address_info_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &address_info_object_handlers; return &intern->std; } @@ -428,6 +426,7 @@ static PHP_MINIT_FUNCTION(sockets) socket_ce = register_class_Socket(); socket_ce->create_object = socket_create_object; + socket_ce->default_object_handlers = &socket_object_handlers; memcpy(&socket_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); socket_object_handlers.offset = XtOffsetOf(php_socket, std); @@ -439,6 +438,7 @@ static PHP_MINIT_FUNCTION(sockets) address_info_ce = register_class_AddressInfo(); address_info_ce->create_object = address_info_create_object; + address_info_ce->default_object_handlers = &address_info_object_handlers; memcpy(&address_info_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); address_info_object_handlers.offset = XtOffsetOf(php_addrinfo, std); diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index c8cd8f684d406..ff840e6ad3619 100644 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -199,7 +199,6 @@ static zend_object *spl_filesystem_object_new_ex(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &spl_filesystem_object_handlers; return &intern->std; } @@ -213,15 +212,6 @@ static zend_object *spl_filesystem_object_new(zend_class_entry *class_type) } /* }}} */ -/* {{{ spl_filesystem_object_new_check */ -static zend_object *spl_filesystem_object_new_check(zend_class_entry *class_type) -{ - spl_filesystem_object *ret = spl_filesystem_from_obj(spl_filesystem_object_new_ex(class_type)); - ret->std.handlers = &spl_filesystem_object_check_handlers; - return &ret->std; -} -/* }}} */ - PHPAPI zend_string *spl_filesystem_object_get_path(spl_filesystem_object *intern) /* {{{ */ { #ifdef HAVE_GLOB @@ -2756,6 +2746,7 @@ PHP_MINIT_FUNCTION(spl_directory) { spl_ce_SplFileInfo = register_class_SplFileInfo(zend_ce_stringable); spl_ce_SplFileInfo->create_object = spl_filesystem_object_new; + spl_ce_SplFileInfo->default_object_handlers = &spl_filesystem_object_handlers; memcpy(&spl_filesystem_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); spl_filesystem_object_handlers.offset = XtOffsetOf(spl_filesystem_object, std); @@ -2781,14 +2772,16 @@ PHP_MINIT_FUNCTION(spl_directory) #ifdef HAVE_GLOB spl_ce_GlobIterator = register_class_GlobIterator(spl_ce_FilesystemIterator, zend_ce_countable); - spl_ce_GlobIterator->create_object = spl_filesystem_object_new_check; + spl_ce_GlobIterator->create_object = spl_filesystem_object_new; + spl_ce_GlobIterator->default_object_handlers = &spl_filesystem_object_check_handlers; #endif spl_ce_SplFileObject = register_class_SplFileObject(spl_ce_SplFileInfo, spl_ce_RecursiveIterator, spl_ce_SeekableIterator); - spl_ce_SplFileObject->create_object = spl_filesystem_object_new_check; + spl_ce_SplFileObject->default_object_handlers = &spl_filesystem_object_check_handlers; + spl_ce_SplFileObject->create_object = spl_filesystem_object_new; spl_ce_SplTempFileObject = register_class_SplTempFileObject(spl_ce_SplFileObject); - spl_ce_SplTempFileObject->create_object = spl_filesystem_object_new_check; + spl_ce_SplTempFileObject->create_object = spl_filesystem_object_new; return SUCCESS; } diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index ccbb871269b12..b468a0a5468f4 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -1019,7 +1019,6 @@ static zend_object *spl_RecursiveIteratorIterator_new_ex(zend_class_entry *class zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &spl_handlers_rec_it_it; return &intern->std; } /* }}} */ @@ -2206,7 +2205,6 @@ static zend_object *spl_dual_it_new(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &spl_handlers_dual_it; return &intern->std; } /* }}} */ @@ -3261,6 +3259,7 @@ PHP_MINIT_FUNCTION(spl_iterators) spl_ce_RecursiveIteratorIterator = register_class_RecursiveIteratorIterator(spl_ce_OuterIterator); spl_ce_RecursiveIteratorIterator->create_object = spl_RecursiveIteratorIterator_new; + spl_ce_RecursiveIteratorIterator->default_object_handlers = &spl_handlers_rec_it_it; spl_ce_RecursiveIteratorIterator->get_iterator = spl_recursive_it_get_iterator; memcpy(&spl_handlers_rec_it_it, &std_object_handlers, sizeof(zend_object_handlers)); @@ -3279,6 +3278,7 @@ PHP_MINIT_FUNCTION(spl_iterators) spl_ce_IteratorIterator = register_class_IteratorIterator(spl_ce_OuterIterator); spl_ce_IteratorIterator->create_object = spl_dual_it_new; + spl_ce_IteratorIterator->default_object_handlers = &spl_handlers_dual_it; spl_ce_FilterIterator = register_class_FilterIterator(spl_ce_IteratorIterator); spl_ce_FilterIterator->create_object = spl_dual_it_new; diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c index 339bd0b6e5d22..ce7852618f875 100644 --- a/ext/spl/spl_observer.c +++ b/ext/spl/spl_observer.c @@ -265,8 +265,6 @@ static zend_object *spl_object_storage_new_ex(zend_class_entry *class_type, zend zend_hash_init(&intern->storage, 0, NULL, spl_object_storage_dtor, 0); - intern->std.handlers = &spl_handler_SplObjectStorage; - while (parent) { if (parent == spl_ce_SplObjectStorage) { /* Possible optimization: Cache these results with a map from class entry to IS_NULL/IS_PTR. @@ -1329,6 +1327,7 @@ PHP_MINIT_FUNCTION(spl_observer) spl_ce_SplObjectStorage = register_class_SplObjectStorage(zend_ce_countable, zend_ce_iterator, zend_ce_serializable, zend_ce_arrayaccess); spl_ce_SplObjectStorage->create_object = spl_SplObjectStorage_new; + spl_ce_SplObjectStorage->default_object_handlers = &spl_handler_SplObjectStorage; memcpy(&spl_handler_SplObjectStorage, &std_object_handlers, sizeof(zend_object_handlers)); @@ -1344,6 +1343,7 @@ PHP_MINIT_FUNCTION(spl_observer) spl_ce_MultipleIterator = register_class_MultipleIterator(zend_ce_iterator); spl_ce_MultipleIterator->create_object = spl_SplObjectStorage_new; + spl_ce_MultipleIterator->default_object_handlers = &spl_handler_SplObjectStorage; return SUCCESS; } diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 4b9119d79cd35..03dc225d22d39 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -2298,8 +2298,6 @@ static zend_object *php_sqlite3_object_new(zend_class_entry *class_type) /* {{{ zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &sqlite3_object_handlers; - return &intern->zo; } /* }}} */ @@ -2314,8 +2312,6 @@ static zend_object *php_sqlite3_stmt_object_new(zend_class_entry *class_type) /* zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &sqlite3_stmt_object_handlers; - return &intern->zo; } /* }}} */ @@ -2330,8 +2326,6 @@ static zend_object *php_sqlite3_result_object_new(zend_class_entry *class_type) zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &sqlite3_result_object_handlers; - return &intern->zo; } /* }}} */ @@ -2373,6 +2367,7 @@ PHP_MINIT_FUNCTION(sqlite3) sqlite3_object_handlers.free_obj = php_sqlite3_object_free_storage; php_sqlite3_sc_entry = register_class_SQLite3(); php_sqlite3_sc_entry->create_object = php_sqlite3_object_new; + php_sqlite3_sc_entry->default_object_handlers = &sqlite3_object_handlers; /* Register SQLite 3 Prepared Statement Class */ sqlite3_stmt_object_handlers.offset = XtOffsetOf(php_sqlite3_stmt, zo); @@ -2380,6 +2375,7 @@ PHP_MINIT_FUNCTION(sqlite3) sqlite3_stmt_object_handlers.free_obj = php_sqlite3_stmt_object_free_storage; php_sqlite3_stmt_entry = register_class_SQLite3Stmt(); php_sqlite3_stmt_entry->create_object = php_sqlite3_stmt_object_new; + php_sqlite3_stmt_entry->default_object_handlers = &sqlite3_stmt_object_handlers; /* Register SQLite 3 Result Class */ sqlite3_result_object_handlers.offset = XtOffsetOf(php_sqlite3_result, zo); @@ -2387,6 +2383,7 @@ PHP_MINIT_FUNCTION(sqlite3) sqlite3_result_object_handlers.free_obj = php_sqlite3_result_object_free_storage; php_sqlite3_result_entry = register_class_SQLite3Result(); php_sqlite3_result_entry->create_object = php_sqlite3_result_object_new; + php_sqlite3_result_entry->default_object_handlers = &sqlite3_result_object_handlers; REGISTER_INI_ENTRIES(); diff --git a/ext/sysvmsg/sysvmsg.c b/ext/sysvmsg/sysvmsg.c index d9146f6e78cc3..debb8b675b0c2 100644 --- a/ext/sysvmsg/sysvmsg.c +++ b/ext/sysvmsg/sysvmsg.c @@ -79,7 +79,6 @@ static zend_object *sysvmsg_queue_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &sysvmsg_queue_object_handlers; return &intern->std; } @@ -102,6 +101,7 @@ PHP_MINIT_FUNCTION(sysvmsg) { sysvmsg_queue_ce = register_class_SysvMessageQueue(); sysvmsg_queue_ce->create_object = sysvmsg_queue_create_object; + sysvmsg_queue_ce->default_object_handlers = &sysvmsg_queue_object_handlers; memcpy(&sysvmsg_queue_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); sysvmsg_queue_object_handlers.offset = XtOffsetOf(sysvmsg_queue_t, std); diff --git a/ext/sysvsem/sysvsem.c b/ext/sysvsem/sysvsem.c index 42fb1d96c6fb0..d9369dfa9f6f1 100644 --- a/ext/sysvsem/sysvsem.c +++ b/ext/sysvsem/sysvsem.c @@ -100,7 +100,6 @@ static zend_object *sysvsem_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &sysvsem_object_handlers; return &intern->std; } @@ -152,6 +151,7 @@ PHP_MINIT_FUNCTION(sysvsem) { sysvsem_ce = register_class_SysvSemaphore(); sysvsem_ce->create_object = sysvsem_create_object; + sysvsem_ce->default_object_handlers = &sysvsem_object_handlers; memcpy(&sysvsem_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); sysvsem_object_handlers.offset = XtOffsetOf(sysvsem_sem, std); diff --git a/ext/sysvshm/sysvshm.c b/ext/sysvshm/sysvshm.c index 717c75337bb66..bec3af680e0d1 100644 --- a/ext/sysvshm/sysvshm.c +++ b/ext/sysvshm/sysvshm.c @@ -47,7 +47,6 @@ static zend_object *sysvshm_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &sysvshm_object_handlers; return &intern->std; } @@ -101,6 +100,7 @@ PHP_MINIT_FUNCTION(sysvshm) { sysvshm_ce = register_class_SysvSharedMemory(); sysvshm_ce->create_object = sysvshm_create_object; + sysvshm_ce->default_object_handlers = &sysvshm_object_handlers; memcpy(&sysvshm_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); sysvshm_object_handlers.offset = XtOffsetOf(sysvshm_shm, std); diff --git a/ext/xml/xml.c b/ext/xml/xml.c index c3bfa37169b78..5d981c5326189 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -245,6 +245,7 @@ PHP_MINIT_FUNCTION(xml) { xml_parser_ce = register_class_XMLParser(); xml_parser_ce->create_object = xml_parser_create_object; + xml_parser_ce->default_object_handlers = &xml_parser_object_handlers; memcpy(&xml_parser_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); xml_parser_object_handlers.offset = XtOffsetOf(xml_parser, std); @@ -313,7 +314,6 @@ static zend_object *xml_parser_create_object(zend_class_entry *class_type) { zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &xml_parser_object_handlers; return &intern->std; } diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c index 729a1d2c7c3ad..76ca54d686359 100644 --- a/ext/xmlreader/php_xmlreader.c +++ b/ext/xmlreader/php_xmlreader.c @@ -368,7 +368,6 @@ zend_object *xmlreader_objects_new(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); intern->prop_handler = &xmlreader_prop_handlers; - intern->std.handlers = &xmlreader_object_handlers; return &intern->std; } @@ -1163,6 +1162,7 @@ PHP_MINIT_FUNCTION(xmlreader) xmlreader_class_entry = register_class_XMLReader(); xmlreader_class_entry->create_object = xmlreader_objects_new; + xmlreader_class_entry->default_object_handlers = &xmlreader_object_handlers; memcpy(&xmlreader_open_fn, zend_hash_str_find_ptr(&xmlreader_class_entry->function_table, "open", sizeof("open")-1), sizeof(zend_internal_function)); xmlreader_open_fn.fn_flags &= ~ZEND_ACC_STATIC; diff --git a/ext/xmlwriter/php_xmlwriter.c b/ext/xmlwriter/php_xmlwriter.c index 8d4abb3d26b06..5944abf30a98b 100644 --- a/ext/xmlwriter/php_xmlwriter.c +++ b/ext/xmlwriter/php_xmlwriter.c @@ -82,7 +82,6 @@ static zend_object *xmlwriter_object_new(zend_class_entry *class_type) intern = zend_object_alloc(sizeof(ze_xmlwriter_object), class_type); zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &xmlwriter_object_handlers; return &intern->std; } @@ -1039,6 +1038,7 @@ static PHP_MINIT_FUNCTION(xmlwriter) xmlwriter_object_handlers.clone_obj = NULL; xmlwriter_class_entry_ce = register_class_XMLWriter(); xmlwriter_class_entry_ce->create_object = xmlwriter_object_new; + xmlwriter_class_entry_ce->default_object_handlers = &xmlwriter_object_handlers; return SUCCESS; } diff --git a/ext/xsl/php_xsl.c b/ext/xsl/php_xsl.c index 0c9029c9601df..82e782d18f9d1 100644 --- a/ext/xsl/php_xsl.c +++ b/ext/xsl/php_xsl.c @@ -103,7 +103,6 @@ zend_object *xsl_objects_new(zend_class_entry *class_type) intern->parameter = zend_new_array(0); intern->registered_phpfunctions = zend_new_array(0); - intern->std.handlers = &xsl_object_handlers; return &intern->std; } /* }}} */ @@ -118,6 +117,7 @@ PHP_MINIT_FUNCTION(xsl) xsl_xsltprocessor_class_entry = register_class_XSLTProcessor(); xsl_xsltprocessor_class_entry->create_object = xsl_objects_new; + xsl_xsltprocessor_class_entry->default_object_handlers = &xsl_object_handlers; #ifdef HAVE_XSL_EXSLT exsltRegisterAll(); diff --git a/ext/zend_test/fiber.c b/ext/zend_test/fiber.c index 0254799e2bdb5..f67c0217d050f 100644 --- a/ext/zend_test/fiber.c +++ b/ext/zend_test/fiber.c @@ -150,7 +150,6 @@ static zend_object *zend_test_fiber_object_create(zend_class_entry *ce) memset(fiber, 0, sizeof(zend_test_fiber)); zend_object_std_init(&fiber->std, ce); - fiber->std.handlers = &zend_test_fiber_handlers; return &fiber->std; } @@ -344,6 +343,7 @@ void zend_test_fiber_init(void) { zend_test_fiber_class = register_class__ZendTestFiber(); zend_test_fiber_class->create_object = zend_test_fiber_object_create; + zend_test_fiber_class->default_object_handlers = &zend_test_fiber_handlers; zend_test_fiber_handlers = std_object_handlers; zend_test_fiber_handlers.dtor_obj = zend_test_fiber_object_destroy; diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index 095fa23fe7746..10abf4447b083 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -1075,7 +1075,6 @@ static zend_object *php_zip_object_new(zend_class_entry *class_type) /* {{{ */ intern->prop_handler = &zip_prop_handlers; zend_object_std_init(&intern->zo, class_type); object_properties_init(&intern->zo, class_type); - intern->zo.handlers = &zip_object_handlers; intern->last_id = -1; return &intern->zo; @@ -3101,6 +3100,7 @@ static PHP_MINIT_FUNCTION(zip) zip_class_entry = register_class_ZipArchive(zend_ce_countable); zip_class_entry->create_object = php_zip_object_new; + zip_class_entry->default_object_handlers = &zip_object_handlers; zend_hash_init(&zip_prop_handlers, 0, NULL, php_zip_free_prop_handler, 1); php_zip_register_prop_handler(&zip_prop_handlers, "lastId", php_zip_last_id, NULL, IS_LONG); diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index d80db3194f0d8..134892a14f900 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -60,7 +60,6 @@ static zend_object *inflate_context_create_object(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &inflate_context_object_handlers; return &intern->std; } @@ -99,7 +98,6 @@ static zend_object *deflate_context_create_object(zend_class_entry *class_type) zend_object_std_init(&intern->std, class_type); object_properties_init(&intern->std, class_type); - intern->std.handlers = &deflate_context_object_handlers; return &intern->std; } @@ -1340,6 +1338,7 @@ static PHP_MINIT_FUNCTION(zlib) inflate_context_ce = register_class_InflateContext(); inflate_context_ce->create_object = inflate_context_create_object; + inflate_context_ce->default_object_handlers = &inflate_context_object_handlers; memcpy(&inflate_context_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); inflate_context_object_handlers.offset = XtOffsetOf(php_zlib_context, std); @@ -1350,6 +1349,7 @@ static PHP_MINIT_FUNCTION(zlib) deflate_context_ce = register_class_DeflateContext(); deflate_context_ce->create_object = deflate_context_create_object; + deflate_context_ce->default_object_handlers = &deflate_context_object_handlers; memcpy(&deflate_context_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); deflate_context_object_handlers.offset = XtOffsetOf(php_zlib_context, std); From f7d426cca697ed1e064ed7f8f5cd2a0b176aef6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Wed, 31 Aug 2022 19:22:39 +0200 Subject: [PATCH 195/229] Unify structure for ext/random's randomizer tests (#9410) * Unify structure for ext/random's engine tests (2) This makes adjustments that were missed in 2d6a883b3a1e5ee4f225dce64584ad2522e8e391. * Add `engines.inc` for ext/random tests * Unify structure for ext/random's randomizer tests --- .../tests/02_engine/all_serialize_native.phpt | 9 +- .../tests/02_engine/all_serialize_user.phpt | 27 ++-- .../pcgoneseq128xslrr64_jump_error.phpt | 2 +- .../tests/02_engine/user_compatibility.phpt | 23 ++- .../02_engine/xoshiro256starstar_seed.phpt | 12 +- ext/random/tests/03_randomizer/basic.phpt | 81 ---------- ...eys.phpt => compatibility_array_rand.phpt} | 22 ++- .../tests/03_randomizer/compatibility_mt.phpt | 24 --- .../03_randomizer/compatibility_mt_rand.phpt | 49 ++++++ .../03_randomizer/compatibility_user.phpt | 87 ++++------- .../tests/03_randomizer/construct_twice.phpt | 47 +++--- .../03_randomizer/engine_unsafe_biased.phpt | 58 +++++++ .../engine_unsafe_empty_string.phpt | 58 +++++++ .../03_randomizer/engine_unsafe_exits.phpt | 23 +++ .../03_randomizer/engine_unsafe_throws.phpt | 28 ++++ ext/random/tests/03_randomizer/get_bytes.phpt | 40 ----- .../tests/03_randomizer/get_int_user.phpt | 22 --- .../tests/03_randomizer/methods/getBytes.phpt | 47 ++++++ .../methods/getBytes_expansion.phpt | 43 ++++++ .../tests/03_randomizer/methods/getInt.phpt | 54 +++++++ .../methods/getInt_expansion_32.phpt | 25 ++++ .../methods/getInt_expansion_64.phpt | 27 ++++ .../getInt_gh9415.phpt} | 0 .../tests/03_randomizer/methods/nextInt.phpt | 50 +++++++ .../nextInt_64_engine_on_32_platform.phpt | 21 +++ .../03_randomizer/methods/pickArrayKeys.phpt | 84 +++++++++++ .../methods/pickArrayKeys_error.phpt | 49 ++++++ .../03_randomizer/methods/shuffleArray.phpt | 53 +++++++ .../03_randomizer/methods/shuffleBytes.phpt | 60 ++++++++ .../tests/03_randomizer/nextint_error.phpt | 18 --- .../03_randomizer/pick_array_keys_error.phpt | 52 ------- ext/random/tests/03_randomizer/readonly.phpt | 41 ++--- ext/random/tests/03_randomizer/serialize.phpt | 77 +++++----- .../03_randomizer/serialize_disallowed.phpt | 17 +++ .../tests/03_randomizer/user_exits.phpt | 19 --- .../tests/03_randomizer/user_throws.phpt | 24 --- .../tests/03_randomizer/user_unsafe.phpt | 141 ------------------ ext/random/tests/engines.inc | 74 +++++++++ 38 files changed, 965 insertions(+), 623 deletions(-) delete mode 100644 ext/random/tests/03_randomizer/basic.phpt rename ext/random/tests/03_randomizer/{pick_array_keys.phpt => compatibility_array_rand.phpt} (73%) delete mode 100644 ext/random/tests/03_randomizer/compatibility_mt.phpt create mode 100644 ext/random/tests/03_randomizer/compatibility_mt_rand.phpt create mode 100644 ext/random/tests/03_randomizer/engine_unsafe_biased.phpt create mode 100644 ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt create mode 100644 ext/random/tests/03_randomizer/engine_unsafe_exits.phpt create mode 100644 ext/random/tests/03_randomizer/engine_unsafe_throws.phpt delete mode 100644 ext/random/tests/03_randomizer/get_bytes.phpt delete mode 100644 ext/random/tests/03_randomizer/get_int_user.phpt create mode 100644 ext/random/tests/03_randomizer/methods/getBytes.phpt create mode 100644 ext/random/tests/03_randomizer/methods/getBytes_expansion.phpt create mode 100644 ext/random/tests/03_randomizer/methods/getInt.phpt create mode 100644 ext/random/tests/03_randomizer/methods/getInt_expansion_32.phpt create mode 100644 ext/random/tests/03_randomizer/methods/getInt_expansion_64.phpt rename ext/random/tests/03_randomizer/{gh9415.phpt => methods/getInt_gh9415.phpt} (100%) create mode 100644 ext/random/tests/03_randomizer/methods/nextInt.phpt create mode 100644 ext/random/tests/03_randomizer/methods/nextInt_64_engine_on_32_platform.phpt create mode 100644 ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt create mode 100644 ext/random/tests/03_randomizer/methods/pickArrayKeys_error.phpt create mode 100644 ext/random/tests/03_randomizer/methods/shuffleArray.phpt create mode 100644 ext/random/tests/03_randomizer/methods/shuffleBytes.phpt delete mode 100644 ext/random/tests/03_randomizer/nextint_error.phpt delete mode 100644 ext/random/tests/03_randomizer/pick_array_keys_error.phpt create mode 100644 ext/random/tests/03_randomizer/serialize_disallowed.phpt delete mode 100644 ext/random/tests/03_randomizer/user_exits.phpt delete mode 100644 ext/random/tests/03_randomizer/user_throws.phpt delete mode 100644 ext/random/tests/03_randomizer/user_unsafe.phpt create mode 100644 ext/random/tests/engines.inc diff --git a/ext/random/tests/02_engine/all_serialize_native.phpt b/ext/random/tests/02_engine/all_serialize_native.phpt index df56456d1338d..cadb208a66422 100644 --- a/ext/random/tests/02_engine/all_serialize_native.phpt +++ b/ext/random/tests/02_engine/all_serialize_native.phpt @@ -13,6 +13,8 @@ $engines[] = new PcgOneseq128XslRr64(1234); $engines[] = new Xoshiro256StarStar(1234); foreach ($engines as $engine) { + echo $engine::class, PHP_EOL; + for ($i = 0; $i < 10_000; $i++) { $engine->generate(); } @@ -21,9 +23,7 @@ foreach ($engines as $engine) { for ($i = 0; $i < 10_000; $i++) { if ($engine->generate() !== $engine2->generate()) { - $className = $engine::class; - - die("failure: {$className} at {$i}"); + die("failure: state differs at {$i}"); } } } @@ -32,4 +32,7 @@ die('success'); ?> --EXPECT-- +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar success diff --git a/ext/random/tests/02_engine/all_serialize_user.phpt b/ext/random/tests/02_engine/all_serialize_user.phpt index de3fe2f8292aa..9ae742314f5af 100644 --- a/ext/random/tests/02_engine/all_serialize_user.phpt +++ b/ext/random/tests/02_engine/all_serialize_user.phpt @@ -4,18 +4,11 @@ Random: Engine: Serialization of user engines must preserve the sequence count); - } -} +require __DIR__ . "/../engines.inc"; -final class User32 implements Engine +final class CountingEngine32 implements Engine { private int $count = 0; @@ -26,12 +19,12 @@ final class User32 implements Engine } $engines = []; -if (PHP_INT_SIZE >= 8) { - $engines[] = new User64(); -} -$engines[] = new User32(); +$engines[] = new CountingEngine32(); +$engines[] = new TestShaEngine(); foreach ($engines as $engine) { + echo $engine::class, PHP_EOL; + for ($i = 0; $i < 10_000; $i++) { $engine->generate(); } @@ -40,9 +33,7 @@ foreach ($engines as $engine) { for ($i = 0; $i < 10_000; $i++) { if ($engine->generate() !== $engine2->generate()) { - $className = $engine::class; - - die("failure: {$className} at {$i}"); + die("failure: state differs at {$i}"); } } } @@ -51,4 +42,6 @@ die('success'); ?> --EXPECT-- +CountingEngine32 +Random\Engine\Test\TestShaEngine success diff --git a/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt b/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt index 02be8ecb6c92f..cbc6e370b1733 100644 --- a/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt +++ b/ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt @@ -16,7 +16,7 @@ try { for ($i = 0; $i < 10_000; $i++) { if ($engine->generate() !== $referenceEngine->generate()) { - die('failure: state changed'); + die("failure: state differs at {$i}"); } } diff --git a/ext/random/tests/02_engine/user_compatibility.phpt b/ext/random/tests/02_engine/user_compatibility.phpt index 11ac451431204..401541e7141b0 100644 --- a/ext/random/tests/02_engine/user_compatibility.phpt +++ b/ext/random/tests/02_engine/user_compatibility.phpt @@ -6,19 +6,10 @@ Random: Engine: Native engines can be wrapped without changing their sequence use Random\Engine; use Random\Engine\Mt19937; use Random\Engine\PcgOneseq128XslRr64; +use Random\Engine\Test\TestWrapperEngine; use Random\Engine\Xoshiro256StarStar; -class WrapperEngine implements Engine -{ - public function __construct(private readonly Engine $engine) - { - } - - public function generate(): string - { - return $this->engine->generate(); - } -} +require __DIR__ . "/../engines.inc"; $engines = []; $engines[] = new Mt19937(1234); @@ -26,13 +17,14 @@ $engines[] = new PcgOneseq128XslRr64(1234); $engines[] = new Xoshiro256StarStar(1234); foreach ($engines as $engine) { + echo $engine::class, PHP_EOL; + $native_engine = clone $engine; - $user_engine = new WrapperEngine(clone $engine); + $user_engine = new TestWrapperEngine(clone $engine); for ($i = 0; $i < 10_000; $i++) { if ($native_engine->generate() !== $user_engine->generate()) { - $className = $engine::class; - die("failure: {$className} at {$i}"); + die("failure: state differs at {$i}"); } } } @@ -41,4 +33,7 @@ die('success'); ?> --EXPECT-- +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar success diff --git a/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt index f4fa0a40b9898..ec31c358fd68e 100644 --- a/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt +++ b/ext/random/tests/02_engine/xoshiro256starstar_seed.phpt @@ -6,17 +6,17 @@ Random: Engine: Xoshiro256StarStar: The seed parameter must work as expected use Random\Engine\Xoshiro256StarStar; echo "Random integer seed", PHP_EOL; -$engine = new Xoshiro256StarStar(\random_int(\PHP_INT_MIN, \PHP_INT_MAX)); +$engine = new Xoshiro256StarStar(random_int(PHP_INT_MIN, PHP_INT_MAX)); echo PHP_EOL, PHP_EOL; echo "Random string seed", PHP_EOL; -$engine = new Xoshiro256StarStar(\random_bytes(32)); +$engine = new Xoshiro256StarStar(random_bytes(32)); echo PHP_EOL, PHP_EOL; echo "Invalid data type", PHP_EOL; try { $engine = new Xoshiro256StarStar(1.0); -} catch (\Throwable $e) { +} catch (Throwable $e) { echo $e->getMessage(), PHP_EOL; } echo PHP_EOL, PHP_EOL; @@ -24,15 +24,15 @@ echo PHP_EOL, PHP_EOL; echo "Invalid string seed length", PHP_EOL; try { $engine = new Xoshiro256StarStar('foobar'); -} catch (\Throwable $e) { +} catch (Throwable $e) { echo $e->getMessage(), PHP_EOL; } echo PHP_EOL, PHP_EOL; echo "Null seed", PHP_EOL; try { - $engine = new Random\Engine\Xoshiro256StarStar(\str_repeat("\x00", 32)); -} catch (\Throwable $e) { + $engine = new Xoshiro256StarStar(str_repeat("\x00", 32)); +} catch (Throwable $e) { echo $e->getMessage(), PHP_EOL; } echo PHP_EOL, PHP_EOL; diff --git a/ext/random/tests/03_randomizer/basic.phpt b/ext/random/tests/03_randomizer/basic.phpt deleted file mode 100644 index a2f6378a71eb1..0000000000000 --- a/ext/random/tests/03_randomizer/basic.phpt +++ /dev/null @@ -1,81 +0,0 @@ ---TEST-- -Random: Randomizer: basic ---FILE-- -nextInt(); - } catch (\Random\RandomException $e) { - if ($e->getMessage() !== 'Generated value exceeds size of int') { - die($engine::class . ": nextInt: failure: {$e->getMessage()}"); - } - } - } - - // getInt - for ($i = 0; $i < 1000; $i++) { - $result = $randomizer->getInt(-50, 50); - if ($result > 50 || $result < -50) { - die($engine::class . ': getInt: failure'); - } - } - - // getBytes - for ($i = 0; $i < 1000; $i++) { - $length = \random_int(1, 1024); - if (\strlen($randomizer->getBytes($length)) !== $length) { - die($engine::class . ': getBytes: failure'); - } - } - - // shuffleArray - $array = range(1, 1000); - $shuffled_array = $randomizer->shuffleArray($array); - (function () use ($array, $shuffled_array): void { - for ($i = 0; $i < count($array); $i++) { - if ($array[$i] !== $shuffled_array[$i]) { - return; - } - } - - die($engine::class . ': shuffleArray: failure'); - })(); - - // shuffleBytes - $string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'; - $shuffled_string = $randomizer->shuffleBytes($string); - if ($string === $shuffled_string) { - die($engine::class . ': shuffleBytes: failure'); - } -} - -die('success'); -?> ---EXPECTF-- -success diff --git a/ext/random/tests/03_randomizer/pick_array_keys.phpt b/ext/random/tests/03_randomizer/compatibility_array_rand.phpt similarity index 73% rename from ext/random/tests/03_randomizer/pick_array_keys.phpt rename to ext/random/tests/03_randomizer/compatibility_array_rand.phpt index 168d01dbc42dd..364267faf6ba4 100644 --- a/ext/random/tests/03_randomizer/pick_array_keys.phpt +++ b/ext/random/tests/03_randomizer/compatibility_array_rand.phpt @@ -1,8 +1,11 @@ --TEST-- -Random: Randomizer: pickArrayKeys +Random: Randomizer: The Mt19937 engine and pickArrayKeys are consistent with array_rand() --FILE-- 0, 'bar' => 1, 'baz' => 2]; $list = range(1, 10); @@ -14,7 +17,7 @@ $mapPickTwoFunc = array_rand($map, 2); $listPickOneFunc = array_rand($list, 1); $listPickTwoFunc = array_rand($list, 2); -$randomizer = new \Random\Randomizer(new \Random\Engine\Mt19937(1234)); +$randomizer = new Randomizer(new Mt19937(1234)); [$mapPickOneMethod] = $randomizer->pickArrayKeys($map, 1); $mapPickTwoMethod = $randomizer->pickArrayKeys($map, 2); @@ -24,25 +27,30 @@ $listPickTwoMethod = $randomizer->pickArrayKeys($list, 2); if ($mapPickOneFunc !== $mapPickOneMethod) { var_dump($mapPickOneFunc, $mapPickOneMethod); - die('failure mapPickOne'); + + die('failure: mapPickOne'); } if ($mapPickTwoFunc !== $mapPickTwoMethod) { var_dump($mapPickTwoFunc, $mapPickTwoMethod); - die('failure mapPickTwo'); + + die('failure: mapPickTwo'); } if ($listPickOneFunc !== $listPickOneMethod) { var_dump($listPickOneFunc, $listPickOneMethod); - die('failure listPickOne'); + + die('failure: listPickOne'); } if ($listPickTwoFunc !== $listPickTwoMethod) { var_dump($listPickTwoFunc, $listPickOneMethod); - die('failure listPickTwo'); + + die('failure: listPickTwo'); } die('success'); + ?> ---EXPECTF-- +--EXPECT-- success diff --git a/ext/random/tests/03_randomizer/compatibility_mt.phpt b/ext/random/tests/03_randomizer/compatibility_mt.phpt deleted file mode 100644 index 9740a494d6fe6..0000000000000 --- a/ext/random/tests/03_randomizer/compatibility_mt.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -Random: Randomizer: Compatibility: Mt19937 ---FILE-- -nextInt() !== \mt_rand()) { - die('failure'); - } -} - -$randomizer = new \Random\Randomizer(new \Random\Engine\Mt19937(1234, \MT_RAND_MT19937)); -\mt_srand(1234, \MT_RAND_MT19937); -for ($i = 0; $i < 1000; $i++) { - if ($randomizer->nextInt() !== \mt_rand()) { - die('failure'); - } -} - -die('success'); ---EXPECT-- -success diff --git a/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt b/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt new file mode 100644 index 0000000000000..a69c50d0cb622 --- /dev/null +++ b/ext/random/tests/03_randomizer/compatibility_mt_rand.phpt @@ -0,0 +1,49 @@ +--TEST-- +Random: Randomizer: The Mt19937 engine is a drop-in replacement for mt_rand() +--FILE-- +nextInt() !== mt_rand()) { + die("failure: state differs at {$i} for nextInt()"); + } +} + +for ($i = 0; $i < 10_000; $i++) { + if ($randomizer->getInt(0, $i) !== mt_rand(0, $i)) { + die("failure: state differs at {$i} for getInt()"); + } +} + +echo "MT_RAND_MT19937", PHP_EOL; + +$randomizer = new Randomizer(new Mt19937(1234, MT_RAND_MT19937)); +mt_srand(1234, MT_RAND_MT19937); + +for ($i = 0; $i < 10_000; $i++) { + if ($randomizer->nextInt() !== mt_rand()) { + die("failure: state differs at {$i} for nextInt()"); + } +} + +for ($i = 0; $i < 10_000; $i++) { + if ($randomizer->getInt(0, $i) !== mt_rand(0, $i)) { + die("failure: state differs at {$i} for getInt()"); + } +} + +die('success'); + +?> +--EXPECT-- +MT_RAND_PHP +MT_RAND_MT19937 +success diff --git a/ext/random/tests/03_randomizer/compatibility_user.phpt b/ext/random/tests/03_randomizer/compatibility_user.phpt index 3b4251aecbe72..a4601b55ab04a 100644 --- a/ext/random/tests/03_randomizer/compatibility_user.phpt +++ b/ext/random/tests/03_randomizer/compatibility_user.phpt @@ -1,80 +1,43 @@ --TEST-- -Random: Randomizer: Compatibility: user +Random: Randomizer: Native engines can be wrapped without changing their sequence --FILE-- engine->generate(); - } -}); -for ($i = 0; $i < 1000; $i++) { - $native = $native_randomizer->nextInt(); - $user = $user_randomizer->nextInt(); - if ($native !== $user) { - die("failure Mt19937 i: {$i} native: {$native} user: {$user}"); - } -} +require __DIR__ . "/../engines.inc"; -try { - $native_randomizer = new \Random\Randomizer(new \Random\Engine\PcgOneseq128XslRr64(1234)); - $user_randomizer = new \Random\Randomizer(new class () implements \Random\Engine { - public function __construct(private $engine = new \Random\Engine\PcgOneseq128XslRr64(1234)) - { - } +$engines = []; +$engines[] = new Mt19937(1234); +$engines[] = new PcgOneseq128XslRr64(1234); +$engines[] = new Xoshiro256StarStar(1234); - public function generate(): string - { - return $this->engine->generate(); - } - }); - - for ($i = 0; $i < 1000; $i++) { - $native = $native_randomizer->nextInt(); - $user = $user_randomizer->nextInt(); - if ($native !== $user) { - die("failure PcgOneseq128XslRr64 i: {$i} native: {$native} user: {$user}"); - } - } -} catch (\Random\RandomException $e) { - if ($e->getMessage() !== 'Generated value exceeds size of int') { - throw $e; - } -} +foreach ($engines as $engine) { + echo $engine::class, PHP_EOL; -try { - $native_randomizer = new \Random\Randomizer(new \Random\Engine\Xoshiro256StarStar(1234)); - $user_randomizer = new \Random\Randomizer(new class () implements \Random\Engine { - public function __construct(private $engine = new \Random\Engine\Xoshiro256StarStar(1234)) - { - } + $native_randomizer = new Randomizer(clone $engine); + $user_randomizer = new Randomizer(new TestWrapperEngine(clone $engine)); + + for ($i = 0; $i < 10_000; $i++) { + $native = $native_randomizer->getInt(0, $i); + $user = $user_randomizer->getInt(0, $i); - public function generate(): string - { - return $this->engine->generate(); - } - }); - - for ($i = 0; $i < 1000; $i++) { - $native = $native_randomizer->nextInt(); - $user = $user_randomizer->nextInt(); if ($native !== $user) { - die("failure Xoshiro256StarStar i: {$i} native: {$native} user: {$user}"); + die("failure: state differs at {$i}"); } } -} catch (\Random\RandomException $e) { - if ($e->getMessage() !== 'Generated value exceeds size of int') { - throw $e; - } } die('success'); + ?> --EXPECT-- +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar success diff --git a/ext/random/tests/03_randomizer/construct_twice.phpt b/ext/random/tests/03_randomizer/construct_twice.phpt index ed2a667e2af11..7128338ade973 100644 --- a/ext/random/tests/03_randomizer/construct_twice.phpt +++ b/ext/random/tests/03_randomizer/construct_twice.phpt @@ -1,46 +1,47 @@ --TEST-- -Random: Randomizer: Disallow manually calling __construct +Random: Randomizer: Calling __construct() fails due to readonly $engine property --FILE-- __construct(); -} catch (\Error $e) { - echo $e->getMessage() . PHP_EOL; + (new Randomizer())->__construct(); +} catch (Error $e) { + echo $e->getMessage(), PHP_EOL; } try { - $r = new \Random\Randomizer(new \Random\Engine\Xoshiro256StarStar()); - $r->__construct(new \Random\Engine\PcgOneseq128XslRr64()); -} catch (\Error $e) { - echo $e->getMessage() . PHP_EOL; + $randomizer = new Randomizer(new Xoshiro256StarStar()); + $randomizer->__construct(new PcgOneseq128XslRr64()); +} catch (Error $e) { + echo $e->getMessage(), PHP_EOL; } try { - $r = new \Random\Randomizer(new \UserEngine()); - $r->__construct(new \UserEngine()); -} catch (\Error $e) { - echo $e->getMessage() . PHP_EOL; + $randomizer = new Randomizer(new TestShaEngine("1234")); + $randomizer->__construct(new TestShaEngine("1234")); +} catch (Error $e) { + echo $e->getMessage(), PHP_EOL; } try { - $r = new \Random\Randomizer(new \Random\Engine\Xoshiro256StarStar()); - $r->__construct(new \UserEngine()); -} catch (\Error $e) { + $randomizer = new Randomizer(new Xoshiro256StarStar()); + $randomizer->__construct(new TestShaEngine("1234")); +} catch (Error $e) { echo $e->getMessage(), PHP_EOL; } -var_dump($r->engine::class); +var_dump($randomizer->engine::class); die('success'); + ?> --EXPECT-- Cannot modify readonly property Random\Randomizer::$engine diff --git a/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt b/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt new file mode 100644 index 0000000000000..09fbd85b54eb0 --- /dev/null +++ b/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt @@ -0,0 +1,58 @@ +--TEST-- +Random: Randomizer: Heavily biased engines are detected and rejected +--FILE-- +getInt(0, 1234)); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->nextInt()); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(bin2hex(randomizer()->getBytes(1))); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->shuffleArray(range(1, 1234))); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->shuffleBytes('foobar')); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECTF-- +Failed to generate an acceptable random number in 50 attempts +int(%d) +string(2) "ff" +Failed to generate an acceptable random number in 50 attempts +Failed to generate an acceptable random number in 50 attempts diff --git a/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt b/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt new file mode 100644 index 0000000000000..01bd293bc0508 --- /dev/null +++ b/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt @@ -0,0 +1,58 @@ +--TEST-- +Random: Randomizer: Engines returning an empty string are detected and rejected +--FILE-- +getInt(0, 1234)); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->nextInt()); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(bin2hex(randomizer()->getBytes(1))); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->shuffleArray(range(1, 1234))); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->shuffleBytes('foobar')); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECT-- +A random engine must return a non-empty string +A random engine must return a non-empty string +A random engine must return a non-empty string +A random engine must return a non-empty string +A random engine must return a non-empty string diff --git a/ext/random/tests/03_randomizer/engine_unsafe_exits.phpt b/ext/random/tests/03_randomizer/engine_unsafe_exits.phpt new file mode 100644 index 0000000000000..cb598872d9773 --- /dev/null +++ b/ext/random/tests/03_randomizer/engine_unsafe_exits.phpt @@ -0,0 +1,23 @@ +--TEST-- +Random: Randomizer: Engines calling exit() are gracefully handled +--FILE-- +getBytes(1)); + +?> +--EXPECT-- +Exit diff --git a/ext/random/tests/03_randomizer/engine_unsafe_throws.phpt b/ext/random/tests/03_randomizer/engine_unsafe_throws.phpt new file mode 100644 index 0000000000000..bfb679f81a201 --- /dev/null +++ b/ext/random/tests/03_randomizer/engine_unsafe_throws.phpt @@ -0,0 +1,28 @@ +--TEST-- +Random: Randomizer: Engines throwing an exception are gracefully handled +--FILE-- +getBytes(1)); + +?> +--EXPECTF-- +Fatal error: Uncaught Exception: Error in %s:%d +Stack trace: +#0 [internal function]: ThrowingEngine->generate() +#1 %s(%d): Random\Randomizer->getBytes(1) +#2 {main} + thrown in %s on line %d diff --git a/ext/random/tests/03_randomizer/get_bytes.phpt b/ext/random/tests/03_randomizer/get_bytes.phpt deleted file mode 100644 index c6b4a59475e72..0000000000000 --- a/ext/random/tests/03_randomizer/get_bytes.phpt +++ /dev/null @@ -1,40 +0,0 @@ ---TEST-- -Random: Randomizer: getBytes ---FILE-- -count > 5) { - die('overflow'); - } - - return match ($this->count++) { - 0 => 'H', - 1 => 'e', - 2 => 'll', - 3 => 'o', - 4 => 'abcdefghijklmnopqrstuvwxyz', // 208 bits - 5 => 'success', - default => \random_bytes(16), - }; - } - } -); - -echo $randomizer->getBytes(5) . PHP_EOL; // Hello - -echo $randomizer->getBytes(8) . PHP_EOL; // abcdefgh (64 bits) - -die($randomizer->getBytes(7)); - -?> ---EXPECTF-- -Hello -abcdefgh -success diff --git a/ext/random/tests/03_randomizer/get_int_user.phpt b/ext/random/tests/03_randomizer/get_int_user.phpt deleted file mode 100644 index d6c995314319c..0000000000000 --- a/ext/random/tests/03_randomizer/get_int_user.phpt +++ /dev/null @@ -1,22 +0,0 @@ ---TEST-- -Random: Randomizer: User Engine results are correctly expanded for getInt() ---FILE-- -count++]; - } - } -); - -var_dump(bin2hex(pack('V', $randomizer->getInt(0, 0xFFFFFF)))); - -?> ---EXPECT-- -string(8) "01020300" diff --git a/ext/random/tests/03_randomizer/methods/getBytes.phpt b/ext/random/tests/03_randomizer/methods/getBytes.phpt new file mode 100644 index 0000000000000..a236e9746fa19 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getBytes.phpt @@ -0,0 +1,47 @@ +--TEST-- +Random: Randomizer: getBytes(): Basic functionality +--FILE-- +getBytes($i)) !== $i) { + die("failure: incorrect string length at {$i}"); + } + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Secure +Random\Engine\Test\TestShaEngine +success diff --git a/ext/random/tests/03_randomizer/methods/getBytes_expansion.phpt b/ext/random/tests/03_randomizer/methods/getBytes_expansion.phpt new file mode 100644 index 0000000000000..750b7870e4001 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getBytes_expansion.phpt @@ -0,0 +1,43 @@ +--TEST-- +Random: Randomizer: getBytes(): Returned bytes are consistently expanded +--FILE-- +count++) { + 0 => 'H', + 1 => 'e', + 2 => 'll', + 3 => 'o', + 4 => 'abcdefghijklmnopqrstuvwxyz', + 5 => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', + 6 => 'success', + default => throw new \Exception('Unhandled'), + }; + } +} + +$randomizer = new Randomizer(new TestEngine()); + +// 0-3: "Hello" - Insufficient bytes are concatenated. +var_dump($randomizer->getBytes(5)); + +// 4-5: "abcdefghABC" - Returned values are truncated to 64-bits for technical reasons, thus dropping i-z. +var_dump($randomizer->getBytes(11)); + +// 6: "success" +var_dump($randomizer->getBytes(7)); + +?> +--EXPECT-- +string(5) "Hello" +string(11) "abcdefghABC" +string(7) "success" diff --git a/ext/random/tests/03_randomizer/methods/getInt.phpt b/ext/random/tests/03_randomizer/methods/getInt.phpt new file mode 100644 index 0000000000000..faa098ade1364 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getInt.phpt @@ -0,0 +1,54 @@ +--TEST-- +Random: Randomizer: getInt(): Basic functionality +--FILE-- +getInt(-$i, $i); + + if ($result > $i || $result < -$i) { + die("failure: out of range at {$i}"); + } + } + + // Test that extreme ranges do not throw. + for ($i = 0; $i < 10_000; $i++) { + $randomizer->getInt(PHP_INT_MIN, PHP_INT_MAX); + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Secure +Random\Engine\Test\TestShaEngine +success diff --git a/ext/random/tests/03_randomizer/methods/getInt_expansion_32.phpt b/ext/random/tests/03_randomizer/methods/getInt_expansion_32.phpt new file mode 100644 index 0000000000000..6e93208138c5f --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getInt_expansion_32.phpt @@ -0,0 +1,25 @@ +--TEST-- +Random: Randomizer: getInt(): Returned values with insufficient bits are correctly expanded +--FILE-- +count++]; + } +} + +$randomizer = new Randomizer(new ByteEngine()); + +var_dump(bin2hex(pack('V', $randomizer->getInt(0, 0x00FF_FFFF)))); + +?> +--EXPECT-- +string(8) "01020300" diff --git a/ext/random/tests/03_randomizer/methods/getInt_expansion_64.phpt b/ext/random/tests/03_randomizer/methods/getInt_expansion_64.phpt new file mode 100644 index 0000000000000..87c6bfeafeb85 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getInt_expansion_64.phpt @@ -0,0 +1,27 @@ +--TEST-- +Random: Randomizer: getInt(): Returned values with insufficient bits are correctly expanded (64 Bit) +--SKIPIF-- + +--FILE-- +count++]; + } +} + +$randomizer = new Randomizer(new ByteEngine()); + +var_dump(bin2hex(pack('P', $randomizer->getInt(0, 0x00FF_FFFF_FFFF_FFFF)))); + +?> +--EXPECT-- +string(16) "0102030405060700" diff --git a/ext/random/tests/03_randomizer/gh9415.phpt b/ext/random/tests/03_randomizer/methods/getInt_gh9415.phpt similarity index 100% rename from ext/random/tests/03_randomizer/gh9415.phpt rename to ext/random/tests/03_randomizer/methods/getInt_gh9415.phpt diff --git a/ext/random/tests/03_randomizer/methods/nextInt.phpt b/ext/random/tests/03_randomizer/methods/nextInt.phpt new file mode 100644 index 0000000000000..fd4460cb811ce --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/nextInt.phpt @@ -0,0 +1,50 @@ +--TEST-- +Random: Randomizer: nextInt(): Basic functionality +--FILE-- +nextInt(); + } catch (\Random\RandomException $e) { + if ($e->getMessage() !== 'Generated value exceeds size of int' || PHP_INT_SIZE !== 4) { + throw $e; + } + } + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Secure +Random\Engine\Test\TestShaEngine +success diff --git a/ext/random/tests/03_randomizer/methods/nextInt_64_engine_on_32_platform.phpt b/ext/random/tests/03_randomizer/methods/nextInt_64_engine_on_32_platform.phpt new file mode 100644 index 0000000000000..2a408e566e0b4 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/nextInt_64_engine_on_32_platform.phpt @@ -0,0 +1,21 @@ +--TEST-- +Random: Randomizer: nextInt(): Throws for 64 bit engines on 32 bit platforms +--SKIPIF-- + +--FILE-- +nextInt()); +} catch (Random\RandomException $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECT-- +Generated value exceeds size of int diff --git a/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt b/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt new file mode 100644 index 0000000000000..4178455898df4 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/pickArrayKeys.phpt @@ -0,0 +1,84 @@ +--TEST-- +Random: Randomizer: pickArrayKeys(): Basic functionality +--FILE-- +pickArrayKeys($array1, $i); + + if (array_unique($result) !== $result) { + die("failure: duplicates returned at {$i} for array1"); + } + + if (array_diff($result, array_keys($array1)) !== []) { + die("failure: non-keys returned at {$i} for array1"); + } + + $result = $randomizer->pickArrayKeys($array2, $i); + + if (array_unique($result) !== $result) { + die("failure: duplicates returned at {$i} for array2"); + } + + if (array_diff($result, array_keys($array2)) !== []) { + die("failure: non-keys returned at {$i} for array2"); + } + + $result = $randomizer->pickArrayKeys($array3, $i); + + if (array_unique($result) !== $result) { + die("failure: duplicates returned at {$i} for array3"); + } + + if (array_diff($result, array_keys($array3)) !== []) { + die("failure: non-keys returned at {$i} for array3"); + } + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Secure +Random\Engine\Test\TestShaEngine +success diff --git a/ext/random/tests/03_randomizer/methods/pickArrayKeys_error.phpt b/ext/random/tests/03_randomizer/methods/pickArrayKeys_error.phpt new file mode 100644 index 0000000000000..15526327b095c --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/pickArrayKeys_error.phpt @@ -0,0 +1,49 @@ +--TEST-- +Random: Randomizer: pickArrayKeys(): Parameters are correctly validated +--FILE-- +pickArrayKeys("foo", 2)); +} catch (TypeError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->pickArrayKeys([], 0)); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->pickArrayKeys(range(1, 3), 0)); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->pickArrayKeys(range(1, 3), -1)); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->pickArrayKeys(range(1, 3), 10)); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECTF-- +Random\Randomizer::pickArrayKeys(): Argument #1 ($array) must be of type array, string given +Random\Randomizer::pickArrayKeys(): Argument #1 ($array) cannot be empty +Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array) +Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array) +Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array) diff --git a/ext/random/tests/03_randomizer/methods/shuffleArray.phpt b/ext/random/tests/03_randomizer/methods/shuffleArray.phpt new file mode 100644 index 0000000000000..c0f6d17fecddf --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/shuffleArray.phpt @@ -0,0 +1,53 @@ +--TEST-- +Random: Randomizer: shuffleArray(): Basic functionality +--FILE-- +shuffleArray($array); + + sort($result); + + if ($result !== $array) { + die("failure: not a permutation at {$i}"); + } + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Secure +Random\Engine\Test\TestShaEngine +success diff --git a/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt b/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt new file mode 100644 index 0000000000000..d16168d32fe2d --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/shuffleBytes.phpt @@ -0,0 +1,60 @@ +--TEST-- +Random: Randomizer: shuffleBytes(): Basic functionality +--FILE-- +shuffleBytes($bytes); + + $result = sort_bytes($result); + + if ($result !== $bytes) { + die("failure: not a permutation at {$i}"); + } + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Secure +Random\Engine\Test\TestShaEngine +success diff --git a/ext/random/tests/03_randomizer/nextint_error.phpt b/ext/random/tests/03_randomizer/nextint_error.phpt deleted file mode 100644 index 5f9f8bdc77cf8..0000000000000 --- a/ext/random/tests/03_randomizer/nextint_error.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -Random: Randomizer: nextInt() throws for too large values on 32 Bit ---SKIPIF-- - ---FILE-- -nextInt()); -} catch (\Random\RandomException $e) { - echo $e->getMessage(), PHP_EOL; -} - -?> ---EXPECT-- -Generated value exceeds size of int diff --git a/ext/random/tests/03_randomizer/pick_array_keys_error.phpt b/ext/random/tests/03_randomizer/pick_array_keys_error.phpt deleted file mode 100644 index 98abc82a55018..0000000000000 --- a/ext/random/tests/03_randomizer/pick_array_keys_error.phpt +++ /dev/null @@ -1,52 +0,0 @@ ---TEST-- -Random: Randomizer: pickArrayKeys error pattern ---FILE-- -pickArrayKeys([], 0)); -} catch (\ValueError $e) { - echo $e->getMessage() . "\n"; -} - -try { - var_dump((new \Random\Randomizer())->pickArrayKeys(range(1, 3), 0)); -} catch (\ValueError $e) { - echo $e->getMessage() . "\n"; -} - -try { - var_dump((new \Random\Randomizer())->pickArrayKeys(range(1, 3), -1)); -} catch (\ValueError $e) { - echo $e->getMessage() . "\n"; -} - -try { - var_dump((new \Random\Randomizer())->pickArrayKeys(range(1, 3), 10)); -} catch (\ValueError $e) { - echo $e->getMessage() . "\n"; -} - -var_dump((new \Random\Randomizer())->pickArrayKeys(range(1, 3), 3)); -var_dump((new \Random\Randomizer())->pickArrayKeys(range(1, 3), 2)); - -?> ---EXPECTF-- -Random\Randomizer::pickArrayKeys(): Argument #1 ($array) cannot be empty -Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array) -Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array) -Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array) -array(3) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) -} -array(2) { - [0]=> - int(%d) - [1]=> - int(%d) -} diff --git a/ext/random/tests/03_randomizer/readonly.phpt b/ext/random/tests/03_randomizer/readonly.phpt index f1f4a461714e4..f5cf7cc0dd5b0 100644 --- a/ext/random/tests/03_randomizer/readonly.phpt +++ b/ext/random/tests/03_randomizer/readonly.phpt @@ -1,43 +1,30 @@ --TEST-- -Random: Randomizer: readonly engine +Random: Randomizer: The engine property must be readonly --FILE-- engine; -if ($one->engine->generate() !== $one_ng_clone->generate()) { - die('invalid result'); -} +$randomizer = new Randomizer(new PcgOneseq128XslRr64(1234)); +$referenceRandomizer = new Randomizer(new PcgOneseq128XslRr64(1234)); try { - $one->engine = $one_ng_clone; -} catch (\Throwable $e) { - echo $e->getMessage() . PHP_EOL; + $randomizer->engine = new Xoshiro256StarStar(1234); +} catch (Throwable $e) { + echo $e->getMessage(), PHP_EOL; } -$two = new \Random\Randomizer( - new \Random\Engine\Secure() -); - -try { - $two_ng_clone = clone $two->engine; -} catch (\Throwable $e) { - echo $e->getMessage() . PHP_EOL; +for ($i = 0; $i < 10_000; $i++) { + if ($randomizer->getInt(0, $i) !== $referenceRandomizer->getInt(0, $i)) { + die("failure: state differs at {$i}"); + } } -try { - $two->engine = $one_ng_clone; -} catch (\Throwable $e) { - echo $e->getMessage() . PHP_EOL; -} +die('success'); -die('success') ?> --EXPECT-- Cannot modify readonly property Random\Randomizer::$engine -Trying to clone an uncloneable object of class Random\Engine\Secure -Cannot modify readonly property Random\Randomizer::$engine success diff --git a/ext/random/tests/03_randomizer/serialize.phpt b/ext/random/tests/03_randomizer/serialize.phpt index 37841a0db106f..b02bb93c827b3 100644 --- a/ext/random/tests/03_randomizer/serialize.phpt +++ b/ext/random/tests/03_randomizer/serialize.phpt @@ -1,57 +1,50 @@ --TEST-- -Random: Randomizer: serialize +Random: Randomizer: Serialization of the Randomizer must preserve the sequence --FILE-- getInt(\PHP_INT_MIN, \PHP_INT_MAX); - try { - $randomizer2 = unserialize(serialize($randomizer)); - } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; - continue; - } + echo $engine::class, PHP_EOL; + + $randomizer = new Randomizer($engine); - if ($randomizer->getInt(\PHP_INT_MIN, \PHP_INT_MAX) !== $randomizer2->getInt(\PHP_INT_MIN, \PHP_INT_MAX)) { - die($engine::class . ': failure.'); + for ($i = 0; $i < 10_000; $i++) { + $randomizer->getInt(0, $i); } - echo $engine::class . ': success' . PHP_EOL; + $randomizer2 = unserialize(serialize($randomizer)); + + for ($i = 0; $i < 10_000; $i++) { + if ($randomizer->getInt(0, $i) !== $randomizer2->getInt(0, $i)) { + $className = $engine::class; + + die("failure: state differs at {$i}"); + } + } } die('success'); ?> ---EXPECTF-- -Random\Engine\Mt19937: success -Random\Engine\Mt19937: success -Random\Engine\PcgOneseq128XslRr64: success -Random\Engine\Xoshiro256StarStar: success -Serialization of 'Random\Engine\Secure' is not allowed -Serialization of 'Random\Engine@anonymous' is not allowed -UserEngine: success +--EXPECT-- +Random\Engine\Mt19937 +Random\Engine\Mt19937 +Random\Engine\PcgOneseq128XslRr64 +Random\Engine\Xoshiro256StarStar +Random\Engine\Test\TestShaEngine success diff --git a/ext/random/tests/03_randomizer/serialize_disallowed.phpt b/ext/random/tests/03_randomizer/serialize_disallowed.phpt new file mode 100644 index 0000000000000..06f8ea2cb09ae --- /dev/null +++ b/ext/random/tests/03_randomizer/serialize_disallowed.phpt @@ -0,0 +1,17 @@ +--TEST-- +Random: Randomizer: Serialization of the Randomizer fails if the engine is not serializable +--FILE-- +getMessage(), PHP_EOL; +} + +?> +--EXPECT-- +Serialization of 'Random\Engine\Secure' is not allowed diff --git a/ext/random/tests/03_randomizer/user_exits.phpt b/ext/random/tests/03_randomizer/user_exits.phpt deleted file mode 100644 index 6d6f5636cbec4..0000000000000 --- a/ext/random/tests/03_randomizer/user_exits.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -Random: Randomizer: User: Engine exits ---FILE-- -getBytes(1)); - -?> ---EXPECT-- -Exit diff --git a/ext/random/tests/03_randomizer/user_throws.phpt b/ext/random/tests/03_randomizer/user_throws.phpt deleted file mode 100644 index 41cd004b63879..0000000000000 --- a/ext/random/tests/03_randomizer/user_throws.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -Random: Randomizer: User: Engine throws ---FILE-- -getBytes(1)); - -?> ---EXPECTF-- -Fatal error: Uncaught Exception: Error in %s:%d -Stack trace: -#0 [internal function]: Random\Engine@anonymous->generate() -#1 %s(%d): Random\Randomizer->getBytes(1) -#2 {main} - thrown in %s on line %d diff --git a/ext/random/tests/03_randomizer/user_unsafe.phpt b/ext/random/tests/03_randomizer/user_unsafe.phpt deleted file mode 100644 index 6e6a8151fdf11..0000000000000 --- a/ext/random/tests/03_randomizer/user_unsafe.phpt +++ /dev/null @@ -1,141 +0,0 @@ ---TEST-- -Random: Randomizer: User: Engine unsafe ---FILE-- -getInt(0, 123)); - } catch (Throwable $e) { - echo $e, PHP_EOL; - } - - echo PHP_EOL, "-------", PHP_EOL, PHP_EOL; - - try { - var_dump((new Randomizer(new $engine()))->nextInt()); - } catch (Throwable $e) { - echo $e, PHP_EOL; - } - - echo PHP_EOL, "-------", PHP_EOL, PHP_EOL; - - try { - var_dump(bin2hex((new Randomizer(new $engine()))->getBytes(1))); - } catch (Throwable $e) { - echo $e, PHP_EOL; - } - - echo PHP_EOL, "-------", PHP_EOL, PHP_EOL; - - try { - var_dump((new Randomizer(new $engine()))->shuffleArray(\range(1, 10))); - } catch (Throwable $e) { - echo $e, PHP_EOL; - } - - echo PHP_EOL, "-------", PHP_EOL, PHP_EOL; - - try { - var_dump((new Randomizer(new $engine()))->shuffleBytes('foobar')); - } catch (Throwable $e) { - echo $e, PHP_EOL; - } - - echo PHP_EOL, "=====================", PHP_EOL; -} - -?> ---EXPECTF-- -===================== -EmptyStringEngine -===================== - -Random\BrokenRandomEngineError: A random engine must return a non-empty string in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->getInt(0, 123) -#1 {main} - -------- - -Random\BrokenRandomEngineError: A random engine must return a non-empty string in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->nextInt() -#1 {main} - -------- - -Random\BrokenRandomEngineError: A random engine must return a non-empty string in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->getBytes(1) -#1 {main} - -------- - -Random\BrokenRandomEngineError: A random engine must return a non-empty string in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->shuffleArray(Array) -#1 {main} - -------- - -Random\BrokenRandomEngineError: A random engine must return a non-empty string in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->shuffleBytes('foobar') -#1 {main} - -===================== -HeavilyBiasedEngine -===================== - -Random\BrokenRandomEngineError: Failed to generate an acceptable random number in 50 attempts in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->getInt(0, 123) -#1 {main} - -------- - -int(%d) - -------- - -string(2) "ff" - -------- - -Random\BrokenRandomEngineError: Failed to generate an acceptable random number in 50 attempts in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->shuffleArray(Array) -#1 {main} - -------- - -Random\BrokenRandomEngineError: Failed to generate an acceptable random number in 50 attempts in %s:%d -Stack trace: -#0 %s(%d): Random\Randomizer->shuffleBytes('foobar') -#1 {main} - -===================== diff --git a/ext/random/tests/engines.inc b/ext/random/tests/engines.inc new file mode 100644 index 0000000000000..909f581d775a1 --- /dev/null +++ b/ext/random/tests/engines.inc @@ -0,0 +1,74 @@ +state = $state; + } else { + $this->state = random_bytes(20); + } + } + + public function generate(): string + { + $this->state = sha1($this->state, true); + + return substr($this->state, 0, 8); + } +} + +final class TestWrapperEngine implements Engine +{ + public function __construct(private readonly Engine $engine) + { + } + + public function generate(): string + { + return $this->engine->generate(); + } +} + +final class TestXoshiro128PlusPlusEngine implements Engine +{ + public function __construct( + private int $s0, + private int $s1, + private int $s2, + private int $s3 + ) { + } + + private static function rotl($x, $k) + { + return (($x << $k) | ($x >> (32 - $k))) & 0xFFFFFFFF; + } + + public function generate(): string + { + $result = (self::rotl(($this->s0 + $this->s3) & 0xFFFFFFFF, 7) + $this->s0) & 0xFFFFFFFF; + + $t = ($this->s1 << 9) & 0xFFFFFFFF; + + $this->s2 ^= $this->s0; + $this->s3 ^= $this->s1; + $this->s1 ^= $this->s2; + $this->s0 ^= $this->s3; + + $this->s2 ^= $t; + + $this->s3 = self::rotl($this->s3, 11); + + return pack('V', $result); + } +} + +?> From 2cfb028e22f807d859823d040a77c912e8afb996 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 1 Sep 2022 23:17:20 +0200 Subject: [PATCH 196/229] Fix class name FQN when AST dumping new and class const Fixes GH-9447 Closes GH-9462 --- NEWS | 2 ++ Zend/zend_ast.c | 2 +- Zend/zend_compile.c | 4 ++-- Zend/zend_compile.h | 3 +++ ext/reflection/tests/gh9447.phpt | 39 ++++++++++++++++++++++++++++++++ 5 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 ext/reflection/tests/gh9447.phpt diff --git a/NEWS b/NEWS index a5dcc78b668dd..f263798514391 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ PHP NEWS (Tim Starling) . Fixed bug GH-9361 (Segmentation fault on script exit #9379). (cmb, Christian Schneider) + . Fixed bug GH-9447 (Invalid class FQN emitted by AST dump for new and class + constants in constant expressions). (ilutov) - DOM: . Fixed bug #79451 (DOMDocument->replaceChild on doctype causes double free). diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index d0a180ee6a9c1..07cb9c5fbb7c0 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -482,7 +482,7 @@ static zend_result zend_ast_add_unpacked_element(zval *result, zval *expr) { zend_class_entry *zend_ast_fetch_class(zend_ast *ast, zend_class_entry *scope) { - return zend_fetch_class_with_scope(zend_ast_get_str(ast), ast->attr | ZEND_FETCH_CLASS_EXCEPTION, scope); + return zend_fetch_class_with_scope(zend_ast_get_str(ast), (ast->attr >> ZEND_CONST_EXPR_NEW_FETCH_TYPE_SHIFT) | ZEND_FETCH_CLASS_EXCEPTION, scope); } ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *scope) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 4a49687415c1a..8157ea169c820 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -9738,8 +9738,8 @@ static void zend_compile_const_expr_class_const(zend_ast **ast_ptr) /* {{{ */ zend_string_release_ex(class_name, 0); if (tmp != class_name) { zval *zv = zend_ast_get_zval(class_ast); - ZVAL_STR(zv, tmp); + class_ast->attr = ZEND_NAME_FQ; } } @@ -9834,7 +9834,7 @@ static void zend_compile_const_expr_new(zend_ast **ast_ptr) zval *class_ast_zv = zend_ast_get_zval(class_ast); zval_ptr_dtor_nogc(class_ast_zv); ZVAL_STR(class_ast_zv, class_name); - class_ast->attr = fetch_type; + class_ast->attr = fetch_type << ZEND_CONST_EXPR_NEW_FETCH_TYPE_SHIFT; } static void zend_compile_const_expr_args(zend_ast **ast_ptr) diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index d396f3530a522..ac304ac7f6ae9 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -917,6 +917,9 @@ ZEND_API zend_string *zend_type_to_string(zend_type type); #define ZEND_NAME_NOT_FQ 1 #define ZEND_NAME_RELATIVE 2 +/* ZEND_FETCH_ flags in class name AST of new const expression must not clash with ZEND_NAME_ flags */ +#define ZEND_CONST_EXPR_NEW_FETCH_TYPE_SHIFT 2 + #define ZEND_TYPE_NULLABLE (1<<8) #define ZEND_ARRAY_SYNTAX_LIST 1 /* list() */ diff --git a/ext/reflection/tests/gh9447.phpt b/ext/reflection/tests/gh9447.phpt new file mode 100644 index 0000000000000..9ee908329733a --- /dev/null +++ b/ext/reflection/tests/gh9447.phpt @@ -0,0 +1,39 @@ +--TEST-- +GH-9447: Invalid class FQN emitted by AST dump for new and class constants in constant expressions +--FILE-- +getParameters() as $p) { + echo $p, "\n"; +} + +?> +--EXPECT-- +Parameter #0 [ $a = \App\Bar::BAZ ] +Parameter #1 [ $b = new \App\Bar() ] +Parameter #2 [ $c = new parent() ] +Parameter #3 [ $d = new self() ] +Parameter #4 [ $e = new \App\Bar() ] +Parameter #5 [ $f = new \SomewhereElse\Qux() ] +Parameter #6 [ $g = new \App\Qux() ] +Parameter #7 [ $i = new \Qux() ] From 64b962b241747caf02fce2029c890e3011e71b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 11:14:10 +0200 Subject: [PATCH 197/229] Declare ext/standard constants in stubs - part 4 Closes GH-9465 --- ext/standard/basic_functions.c | 1 + ext/standard/basic_functions.stub.php | 199 +++++++++++++++++++++++++ ext/standard/basic_functions_arginfo.h | 63 +++++++- ext/standard/syslog.c | 55 ------- 4 files changed, 262 insertions(+), 56 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 2a2fc2e4ae1e1..0b48bd834e631 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -26,6 +26,7 @@ #include "php_http.h" #include "php_incomplete_class.h" #include "php_getopt.h" +#include "php_ext_syslog.h" #include "ext/standard/info.h" #include "ext/session/php_session.h" #include "zend_exceptions.h" diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 0e0968e3b3c1b..e6473e5932f40 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -343,6 +343,205 @@ */ const PHP_ROUND_HALF_ODD = UNKNOWN; +/* syslog.c */ + +/* error levels */ + +/** + * system unusable + * @var int + * @cvalue LOG_EMERG + */ +const LOG_EMERG = UNKNOWN; +/** + * immediate action required + * @var int + * @cvalue LOG_ALERT + */ +const LOG_ALERT = UNKNOWN; +/** + * critical conditions + * @var int + * @cvalue LOG_CRIT + */ +const LOG_CRIT = UNKNOWN; +/** + * @var int + * @cvalue LOG_ERR + */ +const LOG_ERR = UNKNOWN; +/** + * @var int + * @cvalue LOG_WARNING + */ +const LOG_WARNING = UNKNOWN; +/** + * @var int + * @cvalue LOG_NOTICE + */ +const LOG_NOTICE = UNKNOWN; +/** + * @var int + * @cvalue LOG_INFO + */ +const LOG_INFO = UNKNOWN; +/** + * @var int + * @cvalue LOG_DEBUG + */ +const LOG_DEBUG = UNKNOWN; +/* facility: type of program logging the message */ +/** + * @var int + * @cvalue LOG_KERN + */ +const LOG_KERN = UNKNOWN; +/** + * generic user level + * @var int + * @cvalue LOG_USER + */ +const LOG_USER = UNKNOWN; +/** + * log to email + * @var int + * @cvalue LOG_MAIL + */ +const LOG_MAIL = UNKNOWN; +/** + * other system daemons + * @var int + * @cvalue LOG_DAEMON + */ +const LOG_DAEMON = UNKNOWN; +/** + * @var int + * @cvalue LOG_AUTH + */ +const LOG_AUTH = UNKNOWN; +/** + * @var int + * @cvalue LOG_SYSLOG + */ +const LOG_SYSLOG = UNKNOWN; +/** + * @var int + * @cvalue LOG_LPR + */ +const LOG_LPR = UNKNOWN; +#ifdef LOG_NEWS +/* No LOG_NEWS on HP-UX */ +/** + * usenet new + * @var int + * @cvalue LOG_NEWS + */ +const LOG_NEWS = UNKNOWN; +#endif +#ifdef LOG_UUCP +/* No LOG_UUCP on HP-UX */ +/** + * @var int + * @cvalue LOG_UUCP + */ +const LOG_UUCP = UNKNOWN; +#endif +#ifdef LOG_CRON +/* apparently some systems don't have this one */ +/** + * @var int + * @cvalue LOG_CRON + */ +const LOG_CRON = UNKNOWN; +#endif +#ifdef LOG_AUTHPRIV +/* AIX doesn't have LOG_AUTHPRIV */ +/** + * @var int + * @cvalue LOG_AUTHPRIV + */ +const LOG_AUTHPRIV = UNKNOWN; +#endif +#ifndef PHP_WIN32 +/** + * @var int + * @cvalue LOG_LOCAL0 + */ +const LOG_LOCAL0 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL1 + */ +const LOG_LOCAL1 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL2 + */ +const LOG_LOCAL2 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL3 + */ +const LOG_LOCAL3 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL4 + */ +const LOG_LOCAL4 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL5 + */ +const LOG_LOCAL5 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL6 + */ +const LOG_LOCAL6 = UNKNOWN; +/** + * @var int + * @cvalue LOG_LOCAL7 + */ +const LOG_LOCAL7 = UNKNOWN; +#endif +/* options */ +/** + * @var int + * @cvalue LOG_PID + */ +const LOG_PID = UNKNOWN; +/** + * @var int + * @cvalue LOG_CONS + */ +const LOG_CONS = UNKNOWN; +/** + * @var int + * @cvalue LOG_ODELAY + */ +const LOG_ODELAY = UNKNOWN; +/** + * @var int + * @cvalue LOG_NDELAY + */ +const LOG_NDELAY = UNKNOWN; +#ifdef LOG_NOWAIT +/** + * @var int + * @cvalue LOG_NOWAIT + */ +const LOG_NOWAIT = UNKNOWN; +#endif +#ifdef LOG_PERROR +/* AIX doesn't have LOG_PERROR */ +/** + * log to stderr + * @var int + * @cvalue LOG_PERROR + */ +const LOG_PERROR = UNKNOWN; +#endif + #[AllowDynamicProperties] final class __PHP_Incomplete_Class { diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 8793bd4eee24e..50eea65e01c3e 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: d0941f025c602b46179675026eb198d7425c717a */ + * Stub hash: 18f0424186dc6914160176d70f8ac830f949bfd4 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3565,6 +3565,67 @@ static void register_basic_functions_symbols(int module_number) REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_EVEN", PHP_ROUND_HALF_EVEN, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_ERR", LOG_ERR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_WARNING", LOG_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_NOTICE", LOG_NOTICE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_INFO", LOG_INFO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_DEBUG", LOG_DEBUG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_KERN", LOG_KERN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_USER", LOG_USER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_MAIL", LOG_MAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_DAEMON", LOG_DAEMON, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_AUTH", LOG_AUTH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_SYSLOG", LOG_SYSLOG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_LPR", LOG_LPR, CONST_PERSISTENT); +#if defined(LOG_NEWS) + REGISTER_LONG_CONSTANT("LOG_NEWS", LOG_NEWS, CONST_PERSISTENT); +#endif +#if defined(LOG_UUCP) + REGISTER_LONG_CONSTANT("LOG_UUCP", LOG_UUCP, CONST_PERSISTENT); +#endif +#if defined(LOG_CRON) + REGISTER_LONG_CONSTANT("LOG_CRON", LOG_CRON, CONST_PERSISTENT); +#endif +#if defined(LOG_AUTHPRIV) + REGISTER_LONG_CONSTANT("LOG_AUTHPRIV", LOG_AUTHPRIV, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL0", LOG_LOCAL0, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL1", LOG_LOCAL1, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL2", LOG_LOCAL2, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL3", LOG_LOCAL3, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL4", LOG_LOCAL4, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL5", LOG_LOCAL5, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL6", LOG_LOCAL6, CONST_PERSISTENT); +#endif +#if !defined(PHP_WIN32) + REGISTER_LONG_CONSTANT("LOG_LOCAL7", LOG_LOCAL7, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("LOG_PID", LOG_PID, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_CONS", LOG_CONS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_ODELAY", LOG_ODELAY, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("LOG_NDELAY", LOG_NDELAY, CONST_PERSISTENT); +#if defined(LOG_NOWAIT) + REGISTER_LONG_CONSTANT("LOG_NOWAIT", LOG_NOWAIT, CONST_PERSISTENT); +#endif +#if defined(LOG_PERROR) + REGISTER_LONG_CONSTANT("LOG_PERROR", LOG_PERROR, CONST_PERSISTENT); +#endif zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "crypt", sizeof("crypt") - 1), 0, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0); diff --git a/ext/standard/syslog.c b/ext/standard/syslog.c index e0120a5b603b3..f806e74a03b63 100644 --- a/ext/standard/syslog.c +++ b/ext/standard/syslog.c @@ -35,61 +35,6 @@ /* {{{ PHP_MINIT_FUNCTION */ PHP_MINIT_FUNCTION(syslog) { - /* error levels */ - REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_CS | CONST_PERSISTENT); /* system unusable */ - REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_CS | CONST_PERSISTENT); /* immediate action required */ - REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_CS | CONST_PERSISTENT); /* critical conditions */ - REGISTER_LONG_CONSTANT("LOG_ERR", LOG_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_WARNING", LOG_WARNING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_NOTICE", LOG_NOTICE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_INFO", LOG_INFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_DEBUG", LOG_DEBUG, CONST_CS | CONST_PERSISTENT); - /* facility: type of program logging the message */ - REGISTER_LONG_CONSTANT("LOG_KERN", LOG_KERN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_USER", LOG_USER, CONST_CS | CONST_PERSISTENT); /* generic user level */ - REGISTER_LONG_CONSTANT("LOG_MAIL", LOG_MAIL, CONST_CS | CONST_PERSISTENT); /* log to email */ - REGISTER_LONG_CONSTANT("LOG_DAEMON", LOG_DAEMON, CONST_CS | CONST_PERSISTENT); /* other system daemons */ - REGISTER_LONG_CONSTANT("LOG_AUTH", LOG_AUTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_SYSLOG", LOG_SYSLOG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LPR", LOG_LPR, CONST_CS | CONST_PERSISTENT); -#ifdef LOG_NEWS - /* No LOG_NEWS on HP-UX */ - REGISTER_LONG_CONSTANT("LOG_NEWS", LOG_NEWS, CONST_CS | CONST_PERSISTENT); /* usenet new */ -#endif -#ifdef LOG_UUCP - /* No LOG_UUCP on HP-UX */ - REGISTER_LONG_CONSTANT("LOG_UUCP", LOG_UUCP, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef LOG_CRON - /* apparently some systems don't have this one */ - REGISTER_LONG_CONSTANT("LOG_CRON", LOG_CRON, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef LOG_AUTHPRIV - /* AIX doesn't have LOG_AUTHPRIV */ - REGISTER_LONG_CONSTANT("LOG_AUTHPRIV", LOG_AUTHPRIV, CONST_CS | CONST_PERSISTENT); -#endif -#ifndef PHP_WIN32 - REGISTER_LONG_CONSTANT("LOG_LOCAL0", LOG_LOCAL0, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL1", LOG_LOCAL1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL2", LOG_LOCAL2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL3", LOG_LOCAL3, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL4", LOG_LOCAL4, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL5", LOG_LOCAL5, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL6", LOG_LOCAL6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_LOCAL7", LOG_LOCAL7, CONST_CS | CONST_PERSISTENT); -#endif - /* options */ - REGISTER_LONG_CONSTANT("LOG_PID", LOG_PID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_CONS", LOG_CONS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_ODELAY", LOG_ODELAY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("LOG_NDELAY", LOG_NDELAY, CONST_CS | CONST_PERSISTENT); -#ifdef LOG_NOWAIT - REGISTER_LONG_CONSTANT("LOG_NOWAIT", LOG_NOWAIT, CONST_CS | CONST_PERSISTENT); -#endif -#ifdef LOG_PERROR - /* AIX doesn't have LOG_PERROR */ - REGISTER_LONG_CONSTANT("LOG_PERROR", LOG_PERROR, CONST_CS | CONST_PERSISTENT); /*log to stderr*/ -#endif BG(syslog_device)=NULL; return SUCCESS; From 93f11d84294d7eaadb9d9fc3c0996ff30279011d Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 2 Sep 2022 13:32:50 +0200 Subject: [PATCH 198/229] Fix GH-8932: Provide a way to get the called-scope of closures (#9299) Co-authored-by: Christoph M. Becker --- ext/reflection/php_reflection.c | 22 ++++++ ext/reflection/php_reflection.stub.php | 3 + ext/reflection/php_reflection_arginfo.h | 6 +- ...lectionFunction_getClosureCalledClass.phpt | 70 +++++++++++++++++++ 4 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index e6c63b852e096..ae5b0f1ac246e 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -1633,6 +1633,28 @@ ZEND_METHOD(ReflectionFunctionAbstract, getClosureScopeClass) } /* }}} */ +/* {{{ Returns the called scope associated to the closure */ +ZEND_METHOD(ReflectionFunctionAbstract, getClosureCalledClass) +{ + reflection_object *intern; + + if (zend_parse_parameters_none() == FAILURE) { + RETURN_THROWS(); + } + GET_REFLECTION_OBJECT(); + if (!Z_ISUNDEF(intern->obj)) { + zend_class_entry *called_scope; + zend_function *closure_func; + zend_object *object; + if (Z_OBJ_HANDLER(intern->obj, get_closure) + && Z_OBJ_HANDLER(intern->obj, get_closure)(Z_OBJ(intern->obj), &called_scope, &closure_func, &object, 1) == SUCCESS + && closure_func && (called_scope || closure_func->common.scope)) { + zend_reflection_class_factory(called_scope ? (zend_class_entry *) called_scope : closure_func->common.scope, return_value); + } + } +} +/* }}} */ + /* {{{ Returns a dynamically created closure for the function */ ZEND_METHOD(ReflectionFunction, getClosure) { diff --git a/ext/reflection/php_reflection.stub.php b/ext/reflection/php_reflection.stub.php index b0bfade520f10..31d8d0530c95c 100644 --- a/ext/reflection/php_reflection.stub.php +++ b/ext/reflection/php_reflection.stub.php @@ -48,6 +48,9 @@ public function getClosureThis() {} /** @return ReflectionClass|null */ public function getClosureScopeClass() {} + /** @return ReflectionClass|null */ + public function getClosureCalledClass() {} + /** @return string|false */ public function getDocComment() {} diff --git a/ext/reflection/php_reflection_arginfo.h b/ext/reflection/php_reflection_arginfo.h index 6fdc0c44d22ee..788485b2dd701 100644 --- a/ext/reflection/php_reflection_arginfo.h +++ b/ext/reflection/php_reflection_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 6e98777552147f4a413db16ecd87c9a6931f9c00 */ + * Stub hash: 9309c0d567aae3041255b5f9b9782add9b6ac783 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Reflection_getModifierNames, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, modifiers, IS_LONG, 0) @@ -27,6 +27,8 @@ ZEND_END_ARG_INFO() #define arginfo_class_ReflectionFunctionAbstract_getClosureScopeClass arginfo_class_ReflectionFunctionAbstract_inNamespace +#define arginfo_class_ReflectionFunctionAbstract_getClosureCalledClass arginfo_class_ReflectionFunctionAbstract_inNamespace + #define arginfo_class_ReflectionFunctionAbstract_getDocComment arginfo_class_ReflectionFunctionAbstract_inNamespace #define arginfo_class_ReflectionFunctionAbstract_getEndLine arginfo_class_ReflectionFunctionAbstract_inNamespace @@ -501,6 +503,7 @@ ZEND_METHOD(ReflectionFunctionAbstract, isGenerator); ZEND_METHOD(ReflectionFunctionAbstract, isVariadic); ZEND_METHOD(ReflectionFunctionAbstract, getClosureThis); ZEND_METHOD(ReflectionFunctionAbstract, getClosureScopeClass); +ZEND_METHOD(ReflectionFunctionAbstract, getClosureCalledClass); ZEND_METHOD(ReflectionFunctionAbstract, getDocComment); ZEND_METHOD(ReflectionFunctionAbstract, getEndLine); ZEND_METHOD(ReflectionFunctionAbstract, getExtension); @@ -719,6 +722,7 @@ static const zend_function_entry class_ReflectionFunctionAbstract_methods[] = { ZEND_ME(ReflectionFunctionAbstract, isVariadic, arginfo_class_ReflectionFunctionAbstract_isVariadic, ZEND_ACC_PUBLIC) ZEND_ME(ReflectionFunctionAbstract, getClosureThis, arginfo_class_ReflectionFunctionAbstract_getClosureThis, ZEND_ACC_PUBLIC) ZEND_ME(ReflectionFunctionAbstract, getClosureScopeClass, arginfo_class_ReflectionFunctionAbstract_getClosureScopeClass, ZEND_ACC_PUBLIC) + ZEND_ME(ReflectionFunctionAbstract, getClosureCalledClass, arginfo_class_ReflectionFunctionAbstract_getClosureCalledClass, ZEND_ACC_PUBLIC) ZEND_ME(ReflectionFunctionAbstract, getDocComment, arginfo_class_ReflectionFunctionAbstract_getDocComment, ZEND_ACC_PUBLIC) ZEND_ME(ReflectionFunctionAbstract, getEndLine, arginfo_class_ReflectionFunctionAbstract_getEndLine, ZEND_ACC_PUBLIC) ZEND_ME(ReflectionFunctionAbstract, getExtension, arginfo_class_ReflectionFunctionAbstract_getExtension, ZEND_ACC_PUBLIC) diff --git a/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt b/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt new file mode 100644 index 0000000000000..3c556c2e37cd4 --- /dev/null +++ b/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt @@ -0,0 +1,70 @@ +--TEST-- +GH-8932 (Provide a way to get the called-scope of closures) +--FILE-- +'.$name, "\n"; + } + + public static function b() { + echo static::class.'::b', "\n"; + } + + + public function c() { + echo static::class.'->c', "\n"; + } +} + +class B extends A {} + +$c = ['B', 'b']; +$d = \Closure::fromCallable($c); +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); + +$c = [new B(), 'c']; +$d = \Closure::fromCallable($c); +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); + +$c = ['B', 'd']; +$d = \Closure::fromCallable($c); +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); + +$c = [new B(), 'e']; +$d = \Closure::fromCallable($c); +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); +?> +--EXPECTF-- +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "B" +} +B::b +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "B" +} +B->c +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "B" +} +B::d +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "B" +} +B->e From db1ef9720925424c549bfd06cc5f434eea1f1173 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 2 Sep 2022 13:14:55 +0200 Subject: [PATCH 199/229] Add tests --- ...lectionFunction_getClosureCalledClass.phpt | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt b/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt index 3c556c2e37cd4..ab06a6472e0c1 100644 --- a/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt +++ b/ext/reflection/tests/ReflectionFunction_getClosureCalledClass.phpt @@ -19,6 +19,12 @@ class A { public function c() { echo static::class.'->c', "\n"; } + + public function makeClosure() { + return function () { + echo static::class.'::{closure}'."\n"; + }; + } } class B extends A {} @@ -46,6 +52,26 @@ $d = \Closure::fromCallable($c); $r = new \ReflectionFunction($d); var_dump($r->getClosureCalledClass()); $d(); + +$c = ['A', 'b']; +$d = \Closure::fromCallable($c); +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); + +$b = new B(); +$d = $b->makeClosure(); +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); + +$d = function () { + echo "{closure}\n"; +}; +$r = new \ReflectionFunction($d); +var_dump($r->getClosureCalledClass()); +$d(); + ?> --EXPECTF-- object(ReflectionClass)#%d (1) { @@ -68,3 +94,15 @@ object(ReflectionClass)#%d (1) { string(1) "B" } B->e +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "A" +} +A::b +object(ReflectionClass)#%d (1) { + ["name"]=> + string(1) "B" +} +B::{closure} +NULL +{closure} From 6aedc5eaf003967bbf0ce8b95ebe8fa7766c0a4a Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 2 Sep 2022 13:40:31 +0200 Subject: [PATCH 200/229] [ci skip] NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 81762e523fe64..805dec249ad86 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,10 @@ PHP NEWS . Fixed bug #77780 ("Headers already sent..." when previous connection was aborted). (Jakub Zelenka) +- Reflection: + . Fixed bug GH-8932 (ReflectionFunction provides no way to get the called + class of a Closure). (cmb, Nicolas Grekas) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) From 6deddd39500916870e4a0fda32783b6489c79d4e Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 2 Sep 2022 13:53:20 +0200 Subject: [PATCH 201/229] [ci skip] NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index f263798514391..b05aaaa635d60 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,10 @@ PHP NEWS - PCRE: . Fixed pcre.jit on Apple Silicon. (Niklas Keller) +- Reflection: + . Fixed bug GH-8932 (ReflectionFunction provides no way to get the called + class of a Closure). (cmb, Nicolas Grekas) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) From 840ea641b17dd15242bca2571b899c58cbbed817 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 2 Sep 2022 13:57:11 +0200 Subject: [PATCH 202/229] [ci skip] NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 5edeef8bd15fe..b10c23ee4869e 100644 --- a/NEWS +++ b/NEWS @@ -52,6 +52,10 @@ PHP NEWS always returns 1). (timwolla) . Fixed Randomizer::getInt() consistency for 32-bit engines. (timwolla) +- Reflection: + . Fixed bug GH-8932 (ReflectionFunction provides no way to get the called + class of a Closure). (cmb, Nicolas Grekas) + - Streams: . Fixed bug GH-9316 ($http_response_header is wrong for long status line). (cmb, timwolla) From 6f2f228e4ada762067bd5c22b7cab35623fe49cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 11:59:59 +0200 Subject: [PATCH 203/229] Declare ext/standard constants in stubs - part 5 Closes GH-9466 --- ext/standard/basic_functions.c | 6 -- ext/standard/basic_functions.stub.php | 82 ++++++++++++++++++++++++++ ext/standard/basic_functions_arginfo.h | 47 ++++++++++++++- ext/standard/dns.c | 41 ------------- ext/standard/dns_win32.c | 18 ------ ext/standard/php_dns.h | 31 ++++++++-- 6 files changed, 154 insertions(+), 71 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 0b48bd834e631..cd30c598440b2 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -359,12 +359,6 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ php_register_url_stream_wrapper("http", &php_stream_http_wrapper); php_register_url_stream_wrapper("ftp", &php_stream_ftp_wrapper); -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) -# if defined(PHP_WIN32) || defined(HAVE_FULL_DNS_FUNCS) - BASIC_MINIT_SUBMODULE(dns) -# endif -#endif - BASIC_MINIT_SUBMODULE(hrtime) return SUCCESS; diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index e6473e5932f40..2bd16bbe4c5d7 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -343,6 +343,88 @@ */ const PHP_ROUND_HALF_ODD = UNKNOWN; +/* dns.c */ + +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) +/** + * @var int + * @cvalue PHP_DNS_A + */ +const DNS_A = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_NS + */ +const DNS_NS = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_CNAME + */ +const DNS_CNAME = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_SOA + */ +const DNS_SOA = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_PTR + */ +const DNS_PTR = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_HINFO + */ +const DNS_HINFO = UNKNOWN; +#if (!defined(PHP_WIN32)) +/** + * @var int + * @cvalue PHP_DNS_CAA + */ +const DNS_CAA = UNKNOWN; +#endif +/** + * @var int + * @cvalue PHP_DNS_MX + */ +const DNS_MX = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_TXT + */ +const DNS_TXT = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_SRV + */ +const DNS_SRV = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_NAPTR + */ +const DNS_NAPTR = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_AAAA + */ +const DNS_AAAA = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_A6 + */ +const DNS_A6 = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_ANY + */ +const DNS_ANY = UNKNOWN; +/** + * @var int + * @cvalue PHP_DNS_ALL + */ +const DNS_ALL = UNKNOWN; +#endif + /* syslog.c */ /* error levels */ diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 50eea65e01c3e..7e7d5f5692ab3 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 18f0424186dc6914160176d70f8ac830f949bfd4 */ + * Stub hash: 64cff452a29eabb6a1a2da8ba1171a386b98cf71 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3565,6 +3565,51 @@ static void register_basic_functions_symbols(int module_number) REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_EVEN", PHP_ROUND_HALF_EVEN, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_ODD", PHP_ROUND_HALF_ODD, CONST_PERSISTENT); +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_A", PHP_DNS_A, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_NS", PHP_DNS_NS, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_CNAME", PHP_DNS_CNAME, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_SOA", PHP_DNS_SOA, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_PTR", PHP_DNS_PTR, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_HINFO", PHP_DNS_HINFO, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) && (!defined(PHP_WIN32)) + REGISTER_LONG_CONSTANT("DNS_CAA", PHP_DNS_CAA, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_MX", PHP_DNS_MX, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_TXT", PHP_DNS_TXT, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_SRV", PHP_DNS_SRV, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_NAPTR", PHP_DNS_NAPTR, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_AAAA", PHP_DNS_AAAA, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_A6", PHP_DNS_A6, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_ANY", PHP_DNS_ANY, CONST_PERSISTENT); +#endif +#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_PERSISTENT); diff --git a/ext/standard/dns.c b/ext/standard/dns.c index 456c76ab1af2f..d229b998a4b6b 100644 --- a/ext/standard/dns.c +++ b/ext/standard/dns.c @@ -316,26 +316,6 @@ static zend_string *php_gethostbyname(char *name) } /* }}} */ -#if defined(HAVE_FULL_DNS_FUNCS) || defined(PHP_WIN32) -# define PHP_DNS_NUM_TYPES 13 /* Number of DNS Types Supported by PHP currently */ - -# define PHP_DNS_A 0x00000001 -# define PHP_DNS_NS 0x00000002 -# define PHP_DNS_CNAME 0x00000010 -# define PHP_DNS_SOA 0x00000020 -# define PHP_DNS_PTR 0x00000800 -# define PHP_DNS_HINFO 0x00001000 -# define PHP_DNS_CAA 0x00002000 -# define PHP_DNS_MX 0x00004000 -# define PHP_DNS_TXT 0x00008000 -# define PHP_DNS_A6 0x01000000 -# define PHP_DNS_SRV 0x02000000 -# define PHP_DNS_NAPTR 0x04000000 -# define PHP_DNS_AAAA 0x08000000 -# define PHP_DNS_ANY 0x10000000 -# define PHP_DNS_ALL (PHP_DNS_A|PHP_DNS_NS|PHP_DNS_CNAME|PHP_DNS_SOA|PHP_DNS_PTR|PHP_DNS_HINFO|PHP_DNS_CAA|PHP_DNS_MX|PHP_DNS_TXT|PHP_DNS_A6|PHP_DNS_SRV|PHP_DNS_NAPTR|PHP_DNS_AAAA) -#endif /* HAVE_FULL_DNS_FUNCS || defined(PHP_WIN32) */ - /* Note: These functions are defined in ext/standard/dns_win32.c for Windows! */ #if !defined(PHP_WIN32) && defined(HAVE_DNS_SEARCH_FUNC) @@ -1161,24 +1141,3 @@ PHP_FUNCTION(dns_get_mx) /* }}} */ #endif /* HAVE_FULL_DNS_FUNCS */ #endif /* !defined(PHP_WIN32) && HAVE_DNS_SEARCH_FUNC */ - -#if defined(HAVE_FULL_DNS_FUNCS) && !defined(PHP_WIN32) -PHP_MINIT_FUNCTION(dns) { - REGISTER_LONG_CONSTANT("DNS_A", PHP_DNS_A, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_NS", PHP_DNS_NS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_CNAME", PHP_DNS_CNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_SOA", PHP_DNS_SOA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_PTR", PHP_DNS_PTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_HINFO", PHP_DNS_HINFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_CAA", PHP_DNS_CAA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_MX", PHP_DNS_MX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_TXT", PHP_DNS_TXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_SRV", PHP_DNS_SRV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_NAPTR", PHP_DNS_NAPTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_AAAA", PHP_DNS_AAAA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_A6", PHP_DNS_A6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_ANY", PHP_DNS_ANY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_CS | CONST_PERSISTENT); - return SUCCESS; -} -#endif /* HAVE_FULL_DNS_FUNCS */ diff --git a/ext/standard/dns_win32.c b/ext/standard/dns_win32.c index 25fdccbfcf987..4d87d4c8210de 100644 --- a/ext/standard/dns_win32.c +++ b/ext/standard/dns_win32.c @@ -506,21 +506,3 @@ PHP_FUNCTION(dns_get_record) } } /* }}} */ - -PHP_MINIT_FUNCTION(dns) { - REGISTER_LONG_CONSTANT("DNS_A", PHP_DNS_A, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_NS", PHP_DNS_NS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_CNAME", PHP_DNS_CNAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_SOA", PHP_DNS_SOA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_PTR", PHP_DNS_PTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_HINFO", PHP_DNS_HINFO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_MX", PHP_DNS_MX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_TXT", PHP_DNS_TXT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_SRV", PHP_DNS_SRV, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_NAPTR", PHP_DNS_NAPTR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_AAAA", PHP_DNS_AAAA, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_A6", PHP_DNS_A6, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_ANY", PHP_DNS_ANY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_CS | CONST_PERSISTENT); - return SUCCESS; -} diff --git a/ext/standard/php_dns.h b/ext/standard/php_dns.h index 53fbc76514f53..4e04799cdb8a7 100644 --- a/ext/standard/php_dns.h +++ b/ext/standard/php_dns.h @@ -56,11 +56,32 @@ #define HAVE_FULL_DNS_FUNCS 1 #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) -# if defined(PHP_WIN32) || defined(HAVE_FULL_DNS_FUNCS) -PHP_MINIT_FUNCTION(dns); -# endif -#endif /* defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC */ +#if defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS)) +#define PHP_DNS_A 0x00000001 +#define PHP_DNS_NS 0x00000002 +#define PHP_DNS_CNAME 0x00000010 +#define PHP_DNS_SOA 0x00000020 +#define PHP_DNS_PTR 0x00000800 +#define PHP_DNS_HINFO 0x00001000 +#if !defined(PHP_WIN32) +# define PHP_DNS_CAA 0x00002000 +#endif +#define PHP_DNS_MX 0x00004000 +#define PHP_DNS_TXT 0x00008000 +#define PHP_DNS_A6 0x01000000 +#define PHP_DNS_SRV 0x02000000 +#define PHP_DNS_NAPTR 0x04000000 +#define PHP_DNS_AAAA 0x08000000 +#define PHP_DNS_ANY 0x10000000 + +#if defined(PHP_WIN32) +# define PHP_DNS_NUM_TYPES 12 /* Number of DNS Types Supported by PHP currently */ +# define PHP_DNS_ALL (PHP_DNS_A|PHP_DNS_NS|PHP_DNS_CNAME|PHP_DNS_SOA|PHP_DNS_PTR|PHP_DNS_HINFO|PHP_DNS_MX|PHP_DNS_TXT|PHP_DNS_A6|PHP_DNS_SRV|PHP_DNS_NAPTR|PHP_DNS_AAAA) +#else +# define PHP_DNS_NUM_TYPES 13 /* Number of DNS Types Supported by PHP currently */ +# define PHP_DNS_ALL (PHP_DNS_A|PHP_DNS_NS|PHP_DNS_CNAME|PHP_DNS_SOA|PHP_DNS_PTR|PHP_DNS_HINFO|PHP_DNS_CAA|PHP_DNS_MX|PHP_DNS_TXT|PHP_DNS_A6|PHP_DNS_SRV|PHP_DNS_NAPTR|PHP_DNS_AAAA) +#endif +#endif #ifndef INT16SZ #define INT16SZ 2 From 5c3559464b721e29c5426dccd1c25811683787ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 14:06:58 +0200 Subject: [PATCH 204/229] Fix memory leak triggered by unsuccessful dynamic property unserialization Closes GH-9468 --- ext/standard/var_unserializer.re | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 72d50c190e653..bcf19002fc0a2 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -644,11 +644,13 @@ declared_property: if (UNEXPECTED(obj->ce->ce_flags & ZEND_ACC_NO_DYNAMIC_PROPERTIES)) { zend_throw_error(NULL, "Cannot create dynamic property %s::$%s", ZSTR_VAL(obj->ce->name), zend_get_unmangled_property_name(Z_STR_P(&key))); + zval_ptr_dtor_str(&key); goto failure; } else if (!(obj->ce->ce_flags & ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES)) { zend_error(E_DEPRECATED, "Creation of dynamic property %s::$%s is deprecated", ZSTR_VAL(obj->ce->name), zend_get_unmangled_property_name(Z_STR_P(&key))); if (EG(exception)) { + zval_ptr_dtor_str(&key); goto failure; } } From cfa72ff3af144aa720aade9a311bf8160d57e8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 13:00:07 +0200 Subject: [PATCH 205/229] Declare ext/standard constants in stubs - part 6 Closes GH-9467 --- ext/standard/basic_functions.c | 2 +- ext/standard/basic_functions.stub.php | 116 +++++++++++++++++++++++++ ext/standard/basic_functions_arginfo.h | 26 +++++- ext/standard/image.c | 32 ------- ext/standard/php_image.h | 4 +- 5 files changed, 143 insertions(+), 37 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index cd30c598440b2..713af33e0674f 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -21,6 +21,7 @@ #include "php_globals.h" #include "php_variables.h" #include "php_ini.h" +#include "php_image.h" #include "php_standard.h" #include "php_math.h" #include "php_http.h" @@ -348,7 +349,6 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ BASIC_MINIT_SUBMODULE(exec) BASIC_MINIT_SUBMODULE(user_streams) - BASIC_MINIT_SUBMODULE(imagetypes) php_register_url_stream_wrapper("php", &php_stream_php_wrapper); php_register_url_stream_wrapper("file", &php_plain_files_wrapper); diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 2bd16bbe4c5d7..596f32b4e4b06 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -425,6 +425,122 @@ const DNS_ALL = UNKNOWN; #endif +/* image.c */ + +/** + * @var int + * @cvalue IMAGE_FILETYPE_GIF + */ +const IMAGETYPE_GIF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPEG + */ +const IMAGETYPE_JPEG = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_PNG + */ +const IMAGETYPE_PNG = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_SWF + */ +const IMAGETYPE_SWF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_PSD + */ +const IMAGETYPE_PSD = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_BMP + */ +const IMAGETYPE_BMP = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_TIFF_II + */ +const IMAGETYPE_TIFF_II = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_TIFF_MM + */ +const IMAGETYPE_TIFF_MM = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPC + */ +const IMAGETYPE_JPC = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JP2 + */ +const IMAGETYPE_JP2 = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPX + */ +const IMAGETYPE_JPX = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JB2 + */ +const IMAGETYPE_JB2 = UNKNOWN; +#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)) +/** + * @var int + * @cvalue IMAGE_FILETYPE_SWC + */ +const IMAGETYPE_SWC = UNKNOWN; +#endif +/** + * @var int + * @cvalue IMAGE_FILETYPE_IFF + */ +const IMAGETYPE_IFF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_WBMP + */ +const IMAGETYPE_WBMP = UNKNOWN; +/* keep alias */ +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPC + */ +const IMAGETYPE_JPEG2000 = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_XBM + */ +const IMAGETYPE_XBM = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_ICO + */ +const IMAGETYPE_ICO = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_WEBP + */ +const IMAGETYPE_WEBP = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_AVIF + */ +const IMAGETYPE_AVIF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_UNKNOWN + */ +const IMAGETYPE_UNKNOWN = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_COUNT + */ +const IMAGETYPE_COUNT = UNKNOWN; + /* syslog.c */ /* error levels */ diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 7e7d5f5692ab3..570dbe9a85c8c 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 64cff452a29eabb6a1a2da8ba1171a386b98cf71 */ + * Stub hash: 1921468762d3df7f36d22f27db02f22caa36238a */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3610,6 +3610,30 @@ static void register_basic_functions_symbols(int module_number) #if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_PERSISTENT); #endif + REGISTER_LONG_CONSTANT("IMAGETYPE_GIF", IMAGE_FILETYPE_GIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG", IMAGE_FILETYPE_JPEG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_PNG", IMAGE_FILETYPE_PNG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_SWF", IMAGE_FILETYPE_SWF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_PSD", IMAGE_FILETYPE_PSD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_BMP", IMAGE_FILETYPE_BMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_II", IMAGE_FILETYPE_TIFF_II, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_MM", IMAGE_FILETYPE_TIFF_MM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPC", IMAGE_FILETYPE_JPC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_PERSISTENT); +#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)) + REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000", IMAGE_FILETYPE_JPC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_XBM", IMAGE_FILETYPE_XBM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_ICO", IMAGE_FILETYPE_ICO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_WEBP", IMAGE_FILETYPE_WEBP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_AVIF", IMAGE_FILETYPE_AVIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_UNKNOWN", IMAGE_FILETYPE_UNKNOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_COUNT", IMAGE_FILETYPE_COUNT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_PERSISTENT); diff --git a/ext/standard/image.c b/ext/standard/image.c index 831cd8a28bc1f..7375d75fc6477 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -64,38 +64,6 @@ struct gfxinfo { unsigned int channels; }; -/* {{{ PHP_MINIT_FUNCTION(imagetypes) - * Register IMAGETYPE_ constants used by GetImageSize(), image_type_to_mime_type, ext/exif */ -PHP_MINIT_FUNCTION(imagetypes) -{ - REGISTER_LONG_CONSTANT("IMAGETYPE_GIF", IMAGE_FILETYPE_GIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG", IMAGE_FILETYPE_JPEG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_PNG", IMAGE_FILETYPE_PNG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_SWF", IMAGE_FILETYPE_SWF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_PSD", IMAGE_FILETYPE_PSD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_BMP", IMAGE_FILETYPE_BMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_II", IMAGE_FILETYPE_TIFF_II, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_MM", IMAGE_FILETYPE_TIFF_MM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPC", IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT); -#if defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB) - REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */ - REGISTER_LONG_CONSTANT("IMAGETYPE_XBM", IMAGE_FILETYPE_XBM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_ICO", IMAGE_FILETYPE_ICO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_WEBP", IMAGE_FILETYPE_WEBP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_AVIF", IMAGE_FILETYPE_AVIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_UNKNOWN", IMAGE_FILETYPE_UNKNOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_COUNT", IMAGE_FILETYPE_COUNT, CONST_CS | CONST_PERSISTENT); - return SUCCESS; -} -/* }}} */ - /* {{{ php_handle_gif * routine to handle GIF files. If only everything were that easy... ;} */ static struct gfxinfo *php_handle_gif (php_stream * stream) diff --git a/ext/standard/php_image.h b/ext/standard/php_image.h index b975e0bf147a1..a41273e6745ae 100644 --- a/ext/standard/php_image.h +++ b/ext/standard/php_image.h @@ -44,13 +44,11 @@ typedef enum IMAGE_FILETYPE_ICO, IMAGE_FILETYPE_WEBP, IMAGE_FILETYPE_AVIF, -/* WHEN EXTENDING: PLEASE ALSO REGISTER IN image.c:PHP_MINIT_FUNCTION(imagetypes) */ +/* WHEN EXTENDING: PLEASE ALSO REGISTER IN basic_function.stub.php */ IMAGE_FILETYPE_COUNT } image_filetype; /* }}} */ -PHP_MINIT_FUNCTION(imagetypes); - PHPAPI int php_getimagetype(php_stream *stream, const char *input, char *filetype); PHPAPI char * php_image_type_to_mime_type(int image_type); From e733ebf30ef1998d02540f84b80a2ad265d13a98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 16:15:06 +0200 Subject: [PATCH 206/229] Add parenthesis around preprocessor conditions in stubs gen_stub.php concatenates nested #ifs into one #if so let's make sure the semantics remain the same. --- ext/imap/php_imap.stub.php | 2 +- ext/imap/php_imap_arginfo.h | 32 +++++------ ext/ldap/ldap.stub.php | 2 +- ext/ldap/ldap_arginfo.h | 8 +-- ext/odbc/odbc.stub.php | 2 +- ext/odbc/odbc_arginfo.h | 36 ++++++------- ext/sockets/sockets.stub.php | 6 +-- ext/sockets/sockets_arginfo.h | 14 ++--- ext/standard/basic_functions.stub.php | 10 ++-- ext/standard/basic_functions_arginfo.h | 74 +++++++++++++------------- ext/standard/file.stub.php | 8 +-- ext/standard/file_arginfo.h | 10 ++-- 12 files changed, 102 insertions(+), 102 deletions(-) diff --git a/ext/imap/php_imap.stub.php b/ext/imap/php_imap.stub.php index 7ebe6bce936e7..4c94b72656ee7 100644 --- a/ext/imap/php_imap.stub.php +++ b/ext/imap/php_imap.stub.php @@ -551,7 +551,7 @@ function imap_thread(IMAP\Connection $imap, int $flags = SE_FREE): array|false { function imap_timeout(int $timeout_type, int $timeout = -1): int|bool {} - #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) + #if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) function imap_get_quota(IMAP\Connection $imap, string $quota_root): array|false {} function imap_get_quotaroot(IMAP\Connection $imap, string $mailbox): array|false {} diff --git a/ext/imap/php_imap_arginfo.h b/ext/imap/php_imap_arginfo.h index fe283484746e0..e6d1ed4c921ab 100644 --- a/ext/imap/php_imap_arginfo.h +++ b/ext/imap/php_imap_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: eebef4c1eaf464b0ff093516cf13f1c33d7d0911 */ + * Stub hash: c1f54f259bde2c49c5b49a595751acd2fb365efe */ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imap_open, 0, 3, IMAP\\Connection, MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) @@ -292,21 +292,21 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imap_timeout, 0, 1, MAY_BE_LONG| ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "-1") ZEND_END_ARG_INFO() -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imap_get_quota, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) ZEND_ARG_TYPE_INFO(0, quota_root, IS_STRING, 0) ZEND_END_ARG_INFO() #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imap_get_quotaroot, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) ZEND_END_ARG_INFO() #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_set_quota, 0, 3, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) ZEND_ARG_TYPE_INFO(0, quota_root, IS_STRING, 0) @@ -314,7 +314,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_set_quota, 0, 3, _IS_BOOL, ZEND_END_ARG_INFO() #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_setacl, 0, 4, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) @@ -323,7 +323,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_setacl, 0, 4, _IS_BOOL, 0) ZEND_END_ARG_INFO() #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) #define arginfo_imap_getacl arginfo_imap_get_quotaroot #endif @@ -403,19 +403,19 @@ ZEND_FUNCTION(imap_mutf7_to_utf8); ZEND_FUNCTION(imap_mime_header_decode); ZEND_FUNCTION(imap_thread); ZEND_FUNCTION(imap_timeout); -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FUNCTION(imap_get_quota); #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FUNCTION(imap_get_quotaroot); #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FUNCTION(imap_set_quota); #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FUNCTION(imap_setacl); #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FUNCTION(imap_getacl); #endif ZEND_FUNCTION(imap_mail); @@ -494,19 +494,19 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(imap_mime_header_decode, arginfo_imap_mime_header_decode) ZEND_FE(imap_thread, arginfo_imap_thread) ZEND_FE(imap_timeout, arginfo_imap_timeout) -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FE(imap_get_quota, arginfo_imap_get_quota) #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FE(imap_get_quotaroot, arginfo_imap_get_quotaroot) #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FE(imap_set_quota, arginfo_imap_set_quota) #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FE(imap_setacl, arginfo_imap_setacl) #endif -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +#if (defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)) ZEND_FE(imap_getacl, arginfo_imap_getacl) #endif ZEND_FE(imap_mail, arginfo_imap_mail) diff --git a/ext/ldap/ldap.stub.php b/ext/ldap/ldap.stub.php index 3b5aaae78a848..19deffccad9d7 100644 --- a/ext/ldap/ldap.stub.php +++ b/ext/ldap/ldap.stub.php @@ -751,7 +751,7 @@ function ldap_parse_result(LDAP\Connection $ldap, LDAP\Result $result, &$error_c #endif #endif - #if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) + #if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)) function ldap_set_rebind_proc(LDAP\Connection $ldap, ?callable $callback): bool {} #endif diff --git a/ext/ldap/ldap_arginfo.h b/ext/ldap/ldap_arginfo.h index 0fcc3446afaf3..e44f4f0417622 100644 --- a/ext/ldap/ldap_arginfo.h +++ b/ext/ldap/ldap_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 470fcd62773b033ac200d7817b7917eee5bb812e */ + * Stub hash: 893c86a23c81c32d2c8a4b2ca14a785cd8a99a37 */ #if defined(HAVE_ORALDAP) ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE) @@ -267,7 +267,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_result, 0, 3, _IS_BOO ZEND_END_ARG_INFO() #endif -#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) +#if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_set_rebind_proc, 0, 2, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0) ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 1) @@ -410,7 +410,7 @@ ZEND_FUNCTION(ldap_parse_reference); #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT) ZEND_FUNCTION(ldap_parse_result); #endif -#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) +#if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)) ZEND_FUNCTION(ldap_set_rebind_proc); #endif #if defined(HAVE_LDAP_START_TLS_S) @@ -513,7 +513,7 @@ static const zend_function_entry ext_functions[] = { #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT) ZEND_FE(ldap_parse_result, arginfo_ldap_parse_result) #endif -#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) +#if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC)) ZEND_FE(ldap_set_rebind_proc, arginfo_ldap_set_rebind_proc) #endif #if defined(HAVE_LDAP_START_TLS_S) diff --git a/ext/odbc/odbc.stub.php b/ext/odbc/odbc.stub.php index 20cfe6ceffde4..914a3aae283fd 100644 --- a/ext/odbc/odbc.stub.php +++ b/ext/odbc/odbc.stub.php @@ -215,7 +215,7 @@ */ const SQL_TIMESTAMP = UNKNOWN; -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) /** * @var int * @cvalue SQL_TYPE_DATE diff --git a/ext/odbc/odbc_arginfo.h b/ext/odbc/odbc_arginfo.h index df3c7248f045e..8d00ed2125ea7 100644 --- a/ext/odbc/odbc_arginfo.h +++ b/ext/odbc/odbc_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 06660ff7830809c9c11efc8edac13ebbb102b33c */ + * Stub hash: 64fbf9feef2929640a5e8615df6a085c504b7914 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close_all, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO() @@ -434,55 +434,55 @@ static void register_odbc_symbols(int module_number) REGISTER_LONG_CONSTANT("SQL_DATE", SQL_DATE, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SQL_TIME", SQL_TIME, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SQL_TIMESTAMP", SQL_TIMESTAMP, CONST_PERSISTENT); -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_BEST_ROWID", SQL_BEST_ROWID, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_ROWVER", SQL_ROWVER, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_SCOPE_CURROW", SQL_SCOPE_CURROW, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_SCOPE_TRANSACTION", SQL_SCOPE_TRANSACTION, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_SCOPE_SESSION", SQL_SCOPE_SESSION, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_NO_NULLS", SQL_NO_NULLS, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_NULLABLE", SQL_NULLABLE, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_INDEX_UNIQUE", SQL_INDEX_UNIQUE, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_INDEX_ALL", SQL_INDEX_ALL, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_ENSURE", SQL_ENSURE, CONST_PERSISTENT); #endif -#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#if (defined(ODBCVER) && (ODBCVER >= 0x0300)) REGISTER_LONG_CONSTANT("SQL_QUICK", SQL_QUICK, CONST_PERSISTENT); #endif diff --git a/ext/sockets/sockets.stub.php b/ext/sockets/sockets.stub.php index 86492c8c2ae11..997d3eb2f7ec7 100644 --- a/ext/sockets/sockets.stub.php +++ b/ext/sockets/sockets.stub.php @@ -1588,7 +1588,7 @@ const SOL_LOCAL = UNKNOWN; #endif -#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 +#if (defined(IPV6_RECVPKTINFO) && HAVE_IPV6) /** * IPv6 ancillary data * @var int @@ -1601,7 +1601,7 @@ */ const IPV6_PKTINFO = UNKNOWN; #endif -#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 +#if (defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6) /** * @var int * @cvalue IPV6_RECVHOPLIMIT @@ -1614,7 +1614,7 @@ const IPV6_HOPLIMIT = UNKNOWN; #endif -#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 +#if (defined(IPV6_RECVTCLASS) && HAVE_IPV6) /** * @var int * @cvalue IPV6_RECVTCLASS diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index 38da81269be80..ff76685e2ae88 100644 --- a/ext/sockets/sockets_arginfo.h +++ b/ext/sockets/sockets_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: f89c10cc9feb4c7c3d3fc5172412e9f0ffb476a4 */ + * Stub hash: c4fe33bd6d665f80be942c9cc9c0ce954d719c0d */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_select, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1) @@ -925,22 +925,22 @@ static void register_sockets_symbols(int module_number) #if defined(SOL_LOCAL) REGISTER_LONG_CONSTANT("SOL_LOCAL", SOL_LOCAL, CONST_PERSISTENT); #endif -#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 +#if (defined(IPV6_RECVPKTINFO) && HAVE_IPV6) REGISTER_LONG_CONSTANT("IPV6_RECVPKTINFO", IPV6_RECVPKTINFO, CONST_PERSISTENT); #endif -#if defined(IPV6_RECVPKTINFO) && HAVE_IPV6 +#if (defined(IPV6_RECVPKTINFO) && HAVE_IPV6) REGISTER_LONG_CONSTANT("IPV6_PKTINFO", IPV6_PKTINFO, CONST_PERSISTENT); #endif -#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 +#if (defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6) REGISTER_LONG_CONSTANT("IPV6_RECVHOPLIMIT", IPV6_RECVHOPLIMIT, CONST_PERSISTENT); #endif -#if defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6 +#if (defined(IPV6_RECVHOPLIMIT) && HAVE_IPV6) REGISTER_LONG_CONSTANT("IPV6_HOPLIMIT", IPV6_HOPLIMIT, CONST_PERSISTENT); #endif -#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 +#if (defined(IPV6_RECVTCLASS) && HAVE_IPV6) REGISTER_LONG_CONSTANT("IPV6_RECVTCLASS", IPV6_RECVTCLASS, CONST_PERSISTENT); #endif -#if defined(IPV6_RECVTCLASS) && HAVE_IPV6 +#if (defined(IPV6_RECVTCLASS) && HAVE_IPV6) REGISTER_LONG_CONSTANT("IPV6_TCLASS", IPV6_TCLASS, CONST_PERSISTENT); #endif #if defined(SCM_RIGHTS) diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 596f32b4e4b06..f55e4e5b9d291 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -1340,7 +1340,7 @@ function gethostbyname(string $hostname): string {} */ function gethostbynamel(string $hostname): array|false {} -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) function dns_check_record(string $hostname, string $type = "MX"): bool {} /** @alias dns_check_record */ @@ -1370,7 +1370,7 @@ function getmxrr(string $hostname, &$hosts, &$weights = null): bool {} /* net.c */ -#if defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__) +#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__)) function net_get_interfaces(): array|false {} #endif @@ -1769,7 +1769,7 @@ function closedir($dir_handle = null): void {} function chdir(string $directory): bool {} -#if defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC) +#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC)) function chroot(string $directory): bool {} #endif @@ -2186,7 +2186,7 @@ function levenshtein(string $string1, string $string2, int $insertion_cost = 1, /* link.c */ -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) /** @refcount 1 */ function readlink(string $path): string|false {} @@ -2590,7 +2590,7 @@ function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {} /** @param resource $stream */ function stream_set_chunk_size($stream, int $size): int {} -#if defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32) +#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) /** @param resource $stream */ function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {} diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 570dbe9a85c8c..51879da2059ca 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 1921468762d3df7f36d22f27db02f22caa36238a */ + * Stub hash: 9c86ed1487132d15715ddbfcb5abd6ac52d629eb */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -632,18 +632,18 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_gethostbynamel, 0, 1, MAY_BE_ARR ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0) ZEND_END_ARG_INFO() -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dns_check_record, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_STRING, 0, "\"MX\"") ZEND_END_ARG_INFO() #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) #define arginfo_checkdnsrr arginfo_dns_check_record #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_dns_get_record, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type, IS_LONG, 0, "DNS_ANY") @@ -653,7 +653,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_dns_get_record, 0, 1, MAY_BE_ARR ZEND_END_ARG_INFO() #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dns_get_mx, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0) ZEND_ARG_INFO(1, hosts) @@ -661,11 +661,11 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dns_get_mx, 0, 2, _IS_BOOL, 0) ZEND_END_ARG_INFO() #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) #define arginfo_getmxrr arginfo_dns_get_mx #endif -#if defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__) +#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_net_get_interfaces, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE) ZEND_END_ARG_INFO() #endif @@ -1119,7 +1119,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_chdir, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, directory, IS_STRING, 0) ZEND_END_ARG_INFO() -#if defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC) +#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_chroot, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, directory, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -1573,26 +1573,26 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_levenshtein, 0, 2, IS_LONG, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, deletion_cost, IS_LONG, 0, "1") ZEND_END_ARG_INFO() -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_readlink, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ZEND_END_ARG_INFO() #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_linkinfo, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ZEND_END_ARG_INFO() #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_symlink, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, link, IS_STRING, 0) ZEND_END_ARG_INFO() #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) #define arginfo_link arginfo_symlink #endif @@ -2001,7 +2001,7 @@ ZEND_END_ARG_INFO() #define arginfo_stream_set_chunk_size arginfo_stream_set_write_buffer -#if defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32) +#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_set_timeout, 0, 2, _IS_BOOL, 0) ZEND_ARG_INFO(0, stream) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -2009,7 +2009,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_set_timeout, 0, 2, _IS_BO ZEND_END_ARG_INFO() #endif -#if defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32) +#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) #define arginfo_socket_set_timeout arginfo_stream_set_timeout #endif @@ -2380,16 +2380,16 @@ ZEND_FUNCTION(gethostname); ZEND_FUNCTION(gethostbyaddr); ZEND_FUNCTION(gethostbyname); ZEND_FUNCTION(gethostbynamel); -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FUNCTION(dns_check_record); #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FUNCTION(dns_get_record); #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FUNCTION(dns_get_mx); #endif -#if defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__) +#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__)) ZEND_FUNCTION(net_get_interfaces); #endif #if defined(HAVE_FTOK) @@ -2509,7 +2509,7 @@ ZEND_FUNCTION(opendir); ZEND_FUNCTION(dir); ZEND_FUNCTION(closedir); ZEND_FUNCTION(chdir); -#if defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC) +#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC)) ZEND_FUNCTION(chroot); #endif ZEND_FUNCTION(getcwd); @@ -2626,16 +2626,16 @@ ZEND_FUNCTION(php_ini_loaded_file); ZEND_FUNCTION(iptcembed); ZEND_FUNCTION(iptcparse); ZEND_FUNCTION(levenshtein); -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FUNCTION(readlink); #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FUNCTION(linkinfo); #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FUNCTION(symlink); #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FUNCTION(link); #endif ZEND_FUNCTION(mail); @@ -2753,7 +2753,7 @@ ZEND_FUNCTION(stream_isatty); ZEND_FUNCTION(sapi_windows_vt100_support); #endif ZEND_FUNCTION(stream_set_chunk_size); -#if defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32) +#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) ZEND_FUNCTION(stream_set_timeout); #endif ZEND_FUNCTION(gettype); @@ -3006,22 +3006,22 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(gethostbyaddr, arginfo_gethostbyaddr) ZEND_FE(gethostbyname, arginfo_gethostbyname) ZEND_FE(gethostbynamel, arginfo_gethostbynamel) -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FE(dns_check_record, arginfo_dns_check_record) #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FALIAS(checkdnsrr, dns_check_record, arginfo_checkdnsrr) #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FE(dns_get_record, arginfo_dns_get_record) #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FE(dns_get_mx, arginfo_dns_get_mx) #endif -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) ZEND_FALIAS(getmxrr, dns_get_mx, arginfo_getmxrr) #endif -#if defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__) +#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__)) ZEND_FE(net_get_interfaces, arginfo_net_get_interfaces) #endif #if defined(HAVE_FTOK) @@ -3144,7 +3144,7 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(dir, arginfo_dir) ZEND_FE(closedir, arginfo_closedir) ZEND_FE(chdir, arginfo_chdir) -#if defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC) +#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC)) ZEND_FE(chroot, arginfo_chroot) #endif ZEND_FE(getcwd, arginfo_getcwd) @@ -3264,16 +3264,16 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(iptcembed, arginfo_iptcembed) ZEND_FE(iptcparse, arginfo_iptcparse) ZEND_FE(levenshtein, arginfo_levenshtein) -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FE(readlink, arginfo_readlink) #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FE(linkinfo, arginfo_linkinfo) #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FE(symlink, arginfo_symlink) #endif -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) ZEND_FE(link, arginfo_link) #endif ZEND_FE(mail, arginfo_mail) @@ -3394,10 +3394,10 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(sapi_windows_vt100_support, arginfo_sapi_windows_vt100_support) #endif ZEND_FE(stream_set_chunk_size, arginfo_stream_set_chunk_size) -#if defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32) +#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) ZEND_FE(stream_set_timeout, arginfo_stream_set_timeout) #endif -#if defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32) +#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) ZEND_FALIAS(socket_set_timeout, stream_set_timeout, arginfo_socket_set_timeout) #endif ZEND_FE(gettype, arginfo_gettype) diff --git a/ext/standard/file.stub.php b/ext/standard/file.stub.php index bd7295567fda4..72cf582b8f1f1 100644 --- a/ext/standard/file.stub.php +++ b/ext/standard/file.stub.php @@ -325,7 +325,7 @@ const STREAM_IPPROTO_IP = UNKNOWN; #endif -#if defined(IPPROTO_TCP) || defined(PHP_WIN32) +#if (defined(IPPROTO_TCP) || defined(PHP_WIN32)) /** * @var int * @cvalue IPPROTO_TCP @@ -333,7 +333,7 @@ const STREAM_IPPROTO_TCP = UNKNOWN; #endif -#if defined(IPPROTO_UDP) || defined(PHP_WIN32) +#if (defined(IPPROTO_UDP) || defined(PHP_WIN32)) /** * @var int * @cvalue IPPROTO_UDP @@ -341,7 +341,7 @@ const STREAM_IPPROTO_UDP = UNKNOWN; #endif -#if defined(IPPROTO_ICMP) || defined(PHP_WIN32) +#if (defined(IPPROTO_ICMP) || defined(PHP_WIN32)) /** * @var int * @cvalue IPPROTO_ICMP @@ -349,7 +349,7 @@ const STREAM_IPPROTO_ICMP = UNKNOWN; #endif -#if defined(IPPROTO_RAW) || defined(PHP_WIN32) +#if (defined(IPPROTO_RAW) || defined(PHP_WIN32)) /** * @var int * @cvalue IPPROTO_RAW diff --git a/ext/standard/file_arginfo.h b/ext/standard/file_arginfo.h index 783eb61bd27d9..ac619b7f00caa 100644 --- a/ext/standard/file_arginfo.h +++ b/ext/standard/file_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: d472a7623af41d460417e6399ed829302b60e3c3 */ + * Stub hash: 38c6088c48d8f582ede1363855a867dc4aade34b */ @@ -78,16 +78,16 @@ static void register_file_symbols(int module_number) #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_IP) REGISTER_LONG_CONSTANT("STREAM_IPPROTO_IP", IPPROTO_IP, CONST_PERSISTENT); #endif -#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_TCP) || defined(PHP_WIN32) +#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && (defined(IPPROTO_TCP) || defined(PHP_WIN32)) REGISTER_LONG_CONSTANT("STREAM_IPPROTO_TCP", IPPROTO_TCP, CONST_PERSISTENT); #endif -#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_UDP) || defined(PHP_WIN32) +#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && (defined(IPPROTO_UDP) || defined(PHP_WIN32)) REGISTER_LONG_CONSTANT("STREAM_IPPROTO_UDP", IPPROTO_UDP, CONST_PERSISTENT); #endif -#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_ICMP) || defined(PHP_WIN32) +#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && (defined(IPPROTO_ICMP) || defined(PHP_WIN32)) REGISTER_LONG_CONSTANT("STREAM_IPPROTO_ICMP", IPPROTO_ICMP, CONST_PERSISTENT); #endif -#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && defined(IPPROTO_RAW) || defined(PHP_WIN32) +#if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) && (defined(IPPROTO_RAW) || defined(PHP_WIN32)) REGISTER_LONG_CONSTANT("STREAM_IPPROTO_RAW", IPPROTO_RAW, CONST_PERSISTENT); #endif #if defined(PF_INET) && defined(HAVE_IPV6) && defined(PF_UNIX) From 52108727474c385b2423fee05404f8edba4acd7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 17:18:42 +0200 Subject: [PATCH 207/229] Regenerate optimizer func info after preprocessor condition changes --- Zend/Optimizer/zend_func_infos.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Zend/Optimizer/zend_func_infos.h b/Zend/Optimizer/zend_func_infos.h index 9f6940fcd8e98..10f8d950ee094 100644 --- a/Zend/Optimizer/zend_func_infos.h +++ b/Zend/Optimizer/zend_func_infos.h @@ -518,7 +518,7 @@ static const func_info_t func_infos[] = { F1("gethostbyaddr", MAY_BE_STRING|MAY_BE_FALSE), F1("gethostbyname", MAY_BE_STRING), F1("gethostbynamel", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_STRING|MAY_BE_FALSE), -#if defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC) +#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) F1("dns_get_record", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_FALSE), #endif F1("md5", MAY_BE_STRING), @@ -621,7 +621,7 @@ static const func_info_t func_infos[] = { F1("php_ini_loaded_file", MAY_BE_STRING|MAY_BE_FALSE), F1("iptcembed", MAY_BE_STRING|MAY_BE_BOOL), F1("iptcparse", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_FALSE), -#if defined(HAVE_SYMLINK) || defined(PHP_WIN32) +#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) F1("readlink", MAY_BE_STRING|MAY_BE_FALSE), #endif F1("decbin", MAY_BE_STRING), From fb242f41baa08087723939e8fdc68fa034edb8d9 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Sat, 3 Sep 2022 11:23:10 +0200 Subject: [PATCH 208/229] Fix high opcache.interned_strings_buffer causing shm corruption (#9260) --- ext/opcache/ZendAccelerator.c | 11 ++++++++--- ext/opcache/tests/gh9259_001.phpt | 18 ++++++++++++++++++ ext/opcache/tests/gh9259_002.phpt | 18 ++++++++++++++++++ ext/opcache/tests/gh9259_003.phpt | 15 +++++++++++++++ ext/opcache/zend_accelerator_module.c | 22 +++++++++++++++++++++- ext/opcache/zend_shared_alloc.c | 6 +++++- 6 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 ext/opcache/tests/gh9259_001.phpt create mode 100644 ext/opcache/tests/gh9259_002.phpt create mode 100644 ext/opcache/tests/gh9259_003.phpt diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index fd2792028b1d6..a74ad34ab8ea1 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -2840,18 +2840,23 @@ static inline int accel_find_sapi(void) static int zend_accel_init_shm(void) { int i; + size_t accel_shared_globals_size; zend_shared_alloc_lock(); if (ZCG(accel_directives).interned_strings_buffer) { - accel_shared_globals = zend_shared_alloc((ZCG(accel_directives).interned_strings_buffer * 1024 * 1024)); + accel_shared_globals_size = ZCG(accel_directives).interned_strings_buffer * 1024 * 1024; } else { /* Make sure there is always at least one interned string hash slot, * so the table can be queried unconditionally. */ - accel_shared_globals = zend_shared_alloc(sizeof(zend_accel_shared_globals) + sizeof(uint32_t)); + accel_shared_globals_size = sizeof(zend_accel_shared_globals) + sizeof(uint32_t); } + + accel_shared_globals = zend_shared_alloc(accel_shared_globals_size); if (!accel_shared_globals) { - zend_accel_error_noreturn(ACCEL_LOG_FATAL, "Insufficient shared memory!"); + zend_accel_error_noreturn(ACCEL_LOG_FATAL, + "Insufficient shared memory for interned strings buffer! (tried to allocate %zu bytes)", + accel_shared_globals_size); zend_shared_alloc_unlock(); return FAILURE; } diff --git a/ext/opcache/tests/gh9259_001.phpt b/ext/opcache/tests/gh9259_001.phpt new file mode 100644 index 0000000000000..bcc0f113c57f6 --- /dev/null +++ b/ext/opcache/tests/gh9259_001.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug GH-9259 001 (Setting opcache.interned_strings_buffer to a very high value leads to corruption of shm) +--EXTENSIONS-- +opcache +--INI-- +opcache.interned_strings_buffer=131072 +opcache.log_verbosity_level=2 +opcache.enable_cli=1 +--FILE-- + +--EXPECTF-- +%sWarning opcache.interned_strings_buffer must be less than or equal to 4095, 131072 given%s + +OK diff --git a/ext/opcache/tests/gh9259_002.phpt b/ext/opcache/tests/gh9259_002.phpt new file mode 100644 index 0000000000000..8b74949b49469 --- /dev/null +++ b/ext/opcache/tests/gh9259_002.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug GH-9259 002 (Setting opcache.interned_strings_buffer to a very high value leads to corruption of shm) +--EXTENSIONS-- +opcache +--INI-- +opcache.interned_strings_buffer=-1 +opcache.log_verbosity_level=2 +opcache.enable_cli=1 +--FILE-- + +--EXPECTF-- +%sWarning opcache.interned_strings_buffer must be greater than or equal to 0, -1 given%s + +OK diff --git a/ext/opcache/tests/gh9259_003.phpt b/ext/opcache/tests/gh9259_003.phpt new file mode 100644 index 0000000000000..91bfcad917b36 --- /dev/null +++ b/ext/opcache/tests/gh9259_003.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug GH-9259 003 (Setting opcache.interned_strings_buffer to a very high value leads to corruption of shm) +--EXTENSIONS-- +opcache +--INI-- +opcache.interned_strings_buffer=500 +opcache.enable_cli=1 +--FILE-- + +--EXPECTF-- +%sFatal Error Insufficient shared memory for interned strings buffer! (tried to allocate %d bytes) diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c index 6a5eb2b69b344..270ceda7c6293 100644 --- a/ext/opcache/zend_accelerator_module.c +++ b/ext/opcache/zend_accelerator_module.c @@ -40,6 +40,7 @@ #define STRING_NOT_NULL(s) (NULL == (s)?"":s) #define MIN_ACCEL_FILES 200 #define MAX_ACCEL_FILES 1000000 +#define MAX_INTERNED_STRINGS_BUFFER_SIZE ((zend_long)((UINT32_MAX-PLATFORM_ALIGNMENT)/(1024*1024))) #define TOKENTOSTR(X) #X static zif_handler orig_file_exists = NULL; @@ -78,6 +79,25 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) return SUCCESS; } +static ZEND_INI_MH(OnUpdateInternedStringsBuffer) +{ + zend_long *p = (zend_long *) ZEND_INI_GET_ADDR(); + zend_long size = zend_ini_parse_quantity_warn(new_value, entry->name); + + if (size < 0) { + zend_accel_error(ACCEL_LOG_WARNING, "opcache.interned_strings_buffer must be greater than or equal to 0, " ZEND_LONG_FMT " given.\n", size); + return FAILURE; + } + if (size > MAX_INTERNED_STRINGS_BUFFER_SIZE) { + zend_accel_error(ACCEL_LOG_WARNING, "opcache.interned_strings_buffer must be less than or equal to " ZEND_LONG_FMT ", " ZEND_LONG_FMT " given.\n", MAX_INTERNED_STRINGS_BUFFER_SIZE, size); + return FAILURE; + } + + *p = size; + + return SUCCESS; +} + static ZEND_INI_MH(OnUpdateMaxAcceleratedFiles) { zend_long *p = (zend_long *) ZEND_INI_GET_ADDR(); @@ -239,7 +259,7 @@ ZEND_INI_BEGIN() STD_PHP_INI_ENTRY("opcache.log_verbosity_level" , "1" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.log_verbosity_level, zend_accel_globals, accel_globals) STD_PHP_INI_ENTRY("opcache.memory_consumption" , "128" , PHP_INI_SYSTEM, OnUpdateMemoryConsumption, accel_directives.memory_consumption, zend_accel_globals, accel_globals) - STD_PHP_INI_ENTRY("opcache.interned_strings_buffer", "8" , PHP_INI_SYSTEM, OnUpdateLong, accel_directives.interned_strings_buffer, zend_accel_globals, accel_globals) + STD_PHP_INI_ENTRY("opcache.interned_strings_buffer", "8" , PHP_INI_SYSTEM, OnUpdateInternedStringsBuffer, accel_directives.interned_strings_buffer, zend_accel_globals, accel_globals) STD_PHP_INI_ENTRY("opcache.max_accelerated_files" , "10000", PHP_INI_SYSTEM, OnUpdateMaxAcceleratedFiles, accel_directives.max_accelerated_files, zend_accel_globals, accel_globals) STD_PHP_INI_ENTRY("opcache.max_wasted_percentage" , "5" , PHP_INI_SYSTEM, OnUpdateMaxWastedPercentage, accel_directives.max_wasted_percentage, zend_accel_globals, accel_globals) STD_PHP_INI_ENTRY("opcache.consistency_checks" , "0" , PHP_INI_ALL , OnUpdateLong, accel_directives.consistency_checks, zend_accel_globals, accel_globals) diff --git a/ext/opcache/zend_shared_alloc.c b/ext/opcache/zend_shared_alloc.c index 7f820fcdc27b0..3f18a4db6040e 100644 --- a/ext/opcache/zend_shared_alloc.c +++ b/ext/opcache/zend_shared_alloc.c @@ -328,7 +328,7 @@ static size_t zend_shared_alloc_get_largest_free_block(void) #define MIN_FREE_MEMORY 64*1024 #define SHARED_ALLOC_FAILED() do { \ - zend_accel_error(ACCEL_LOG_WARNING, "Not enough free shared space to allocate "ZEND_LONG_FMT" bytes ("ZEND_LONG_FMT" bytes free)", (zend_long)size, (zend_long)ZSMMG(shared_free)); \ + zend_accel_error(ACCEL_LOG_WARNING, "Not enough free shared space to allocate %zu bytes (%zu bytes free)", size, ZSMMG(shared_free)); \ if (zend_shared_alloc_get_largest_free_block() < MIN_FREE_MEMORY) { \ ZSMMG(memory_exhausted) = 1; \ } \ @@ -339,6 +339,10 @@ void *zend_shared_alloc(size_t size) int i; unsigned int block_size = ZEND_ALIGNED_SIZE(size); + if (UNEXPECTED(block_size < size)) { + zend_accel_error_noreturn(ACCEL_LOG_ERROR, "Possible integer overflow in shared memory allocation (%zu + %zu)", size, PLATFORM_ALIGNMENT); + } + #if 1 if (!ZCG(locked)) { zend_accel_error_noreturn(ACCEL_LOG_ERROR, "Shared memory lock not obtained"); From ea1287b015b713909096b5469ecc7fa569b13b45 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Sat, 3 Sep 2022 11:23:43 +0200 Subject: [PATCH 209/229] Log the cause of error when opcache cannot write to file cache (#9258) --- ext/opcache/tests/file_cache_error.phpt | 42 +++++++++++++++++++++ ext/opcache/zend_file_cache.c | 49 +++++++++++++++++++++---- 2 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 ext/opcache/tests/file_cache_error.phpt diff --git a/ext/opcache/tests/file_cache_error.phpt b/ext/opcache/tests/file_cache_error.phpt new file mode 100644 index 0000000000000..75b63cd21cce0 --- /dev/null +++ b/ext/opcache/tests/file_cache_error.phpt @@ -0,0 +1,42 @@ +--TEST-- +File cache error 001 +--EXTENSIONS-- +opcache +posix +pcntl +--INI-- +opcache.enable_cli=1 +opcache.file_cache={TMP} +opcache.log_verbosity_level=2 +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +bool(true) +%sWarning opcache cannot write to file %s: %s + +OK diff --git a/ext/opcache/zend_file_cache.c b/ext/opcache/zend_file_cache.c index badbac2185535..a15736b72e5fe 100644 --- a/ext/opcache/zend_file_cache.c +++ b/ext/opcache/zend_file_cache.c @@ -1004,10 +1004,13 @@ static char *zend_file_cache_get_bin_file_path(zend_string *script_path) /** * Helper function for zend_file_cache_script_store(). * - * @return true on success, false on error + * @return true on success, false on error and errno is set to indicate the cause of the error */ static bool zend_file_cache_script_write(int fd, const zend_persistent_script *script, const zend_file_cache_metainfo *info, const void *buf, const zend_string *s) { + ssize_t written; + const ssize_t total_size = (ssize_t)(sizeof(*info) + script->size + info->str_size); + #ifdef HAVE_SYS_UIO_H const struct iovec vec[] = { { .iov_base = (void *)info, .iov_len = sizeof(*info) }, @@ -1015,12 +1018,42 @@ static bool zend_file_cache_script_write(int fd, const zend_persistent_script *s { .iov_base = (void *)ZSTR_VAL(s), .iov_len = info->str_size }, }; - return writev(fd, vec, sizeof(vec) / sizeof(vec[0])) == (ssize_t)(sizeof(*info) + script->size + info->str_size); + written = writev(fd, vec, sizeof(vec) / sizeof(vec[0])); + if (EXPECTED(written == total_size)) { + return true; + } + + errno = written == -1 ? errno : EAGAIN; + return false; #else - return ZEND_LONG_MAX >= (zend_long)(sizeof(*info) + script->size + info->str_size) && - write(fd, info, sizeof(*info)) == sizeof(*info) && - write(fd, buf, script->size) == script->size && - write(fd, ZSTR_VAL(s), info->str_size) == info->str_size; + if (UNEXPECTED(ZEND_LONG_MAX < (zend_long)total_size)) { +# ifdef EFBIG + errno = EFBIG; +# else + errno = ERANGE; +# endif + return false; + } + + written = write(fd, info, sizeof(*info)); + if (UNEXPECTED(written != sizeof(*info))) { + errno = written == -1 ? errno : EAGAIN; + return false; + } + + written = write(fd, buf, script->size); + if (UNEXPECTED(written != script->size)) { + errno = written == -1 ? errno : EAGAIN; + return false; + } + + written = write(fd, ZSTR_VAL(s), info->str_size); + if (UNEXPECTED(written != info->str_size)) { + errno = written == -1 ? errno : EAGAIN; + return false; + } + + return true; #endif } @@ -1095,7 +1128,7 @@ int zend_file_cache_script_store(zend_persistent_script *script, bool in_shm) #endif if (!zend_file_cache_script_write(fd, script, &info, buf, s)) { - zend_accel_error(ACCEL_LOG_WARNING, "opcache cannot write to file '%s'\n", filename); + zend_accel_error(ACCEL_LOG_WARNING, "opcache cannot write to file '%s': %s\n", filename, strerror(errno)); zend_string_release_ex(s, 0); close(fd); efree(mem); @@ -1107,7 +1140,7 @@ int zend_file_cache_script_store(zend_persistent_script *script, bool in_shm) zend_string_release_ex(s, 0); efree(mem); if (zend_file_cache_flock(fd, LOCK_UN) != 0) { - zend_accel_error(ACCEL_LOG_WARNING, "opcache cannot unlock file '%s'\n", filename); + zend_accel_error(ACCEL_LOG_WARNING, "opcache cannot unlock file '%s': %s\n", filename, strerror(errno)); } close(fd); efree(filename); From 349fdc9042883e67b59950972fa1c5776515dde6 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Sat, 3 Sep 2022 11:28:18 +0200 Subject: [PATCH 210/229] [ci skip] NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index b10c23ee4869e..4cab719fb8f88 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.0RC2 +- Opcache: + . Fixed bug GH-9259 (opcache.interned_strings_buffer setting integer + overflow). (Arnaud) + - Standard: . Marked crypt()'s $string parameter as #[\SensitiveParameter]. (timwolla) From f098193d150bc26e3c13d0253f6d2fc3d6f45a96 Mon Sep 17 00:00:00 2001 From: David Bohman Date: Sat, 3 Sep 2022 13:58:10 -0700 Subject: [PATCH 211/229] GH-9464: Fix build on older macOs releases. A simple check for CommonCrypto/CommonRandom.h does not work on earlier macOS. Must also pull in sys/types.h for size_t, Availability.h for __OSX_AVAILABLE_STARTING, and CommonCrypto/CommonCryptoError.h for CCCryptorStatus. Closes GH-9479. --- NEWS | 4 ++++ ext/random/config.m4 | 7 ++++++- ext/standard/config.m4 | 7 ++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 4cab719fb8f88..98d6384fd49e5 100644 --- a/NEWS +++ b/NEWS @@ -6,8 +6,12 @@ PHP NEWS . Fixed bug GH-9259 (opcache.interned_strings_buffer setting integer overflow). (Arnaud) +- Random: + . Fixed bug GH-9464 (build on older macOs releases). (David Bohman) + - Standard: . Marked crypt()'s $string parameter as #[\SensitiveParameter]. (timwolla) + . Fixed bug GH-9464 (build on older macOs releases). (David Bohman) 01 Sep 2022, PHP 8.2.0RC1 diff --git a/ext/random/config.m4 b/ext/random/config.m4 index 7bd432c9110c2..a8e6d5a568991 100644 --- a/ext/random/config.m4 +++ b/ext/random/config.m4 @@ -7,7 +7,12 @@ dnl dnl Check for CCRandomGenerateBytes dnl header absent in previous macOs releases dnl -AC_CHECK_HEADERS([CommonCrypto/CommonRandom.h]) +AC_CHECK_HEADERS([CommonCrypto/CommonRandom.h], [], [], +[ + #include + #include + #include +]) dnl dnl Setup extension diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index fb9d8e5415871..8e77e75134c9e 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -407,7 +407,12 @@ dnl dnl Check for CCRandomGenerateBytes dnl header absent in previous macOs releases dnl -AC_CHECK_HEADERS([CommonCrypto/CommonRandom.h]) +AC_CHECK_HEADERS([CommonCrypto/CommonRandom.h], [], [], +[ + #include + #include + #include +]) dnl dnl Check for argon2 From 181ac4617b4940482e92c9097fb96a77e18447d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Sun, 4 Sep 2022 15:00:43 +0200 Subject: [PATCH 212/229] Remove obsolete checks for random-related functionality from ext/standard/config.m4 (#9482) The users of these checks have been moved to ext/random. ext/standard does not reference the resulting defines. --- ext/standard/config.m4 | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index 8e77e75134c9e..87f41b25eb9d5 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -398,22 +398,6 @@ if test "$ac_cv_strptime_decl_fails" = "yes"; then AC_DEFINE([HAVE_STRPTIME_DECL_FAILS], 1, [whether strptime() declaration fails]) fi -dnl -dnl Check for arc4random on BSD systems -dnl -AC_CHECK_DECLS([arc4random_buf]) - -dnl -dnl Check for CCRandomGenerateBytes -dnl header absent in previous macOs releases -dnl -AC_CHECK_HEADERS([CommonCrypto/CommonRandom.h], [], [], -[ - #include - #include - #include -]) - dnl dnl Check for argon2 dnl From a5a8b5ff7ec54bc5f589cca09f387d8e171e0e7b Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 4 Sep 2022 10:42:22 +0100 Subject: [PATCH 213/229] posix add sysconf call. providing handful of common and most used constants. Closes GH-9481. --- ext/posix/posix.c | 11 +++++++++++ ext/posix/posix.stub.php | 30 ++++++++++++++++++++++++++++++ ext/posix/posix_arginfo.h | 20 +++++++++++++++++++- ext/posix/tests/posix_sysconf.phpt | 14 ++++++++++++++ 4 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 ext/posix/tests/posix_sysconf.phpt diff --git a/ext/posix/posix.c b/ext/posix/posix.c index ed7a93c540996..b462cc8b7ad67 100644 --- a/ext/posix/posix.c +++ b/ext/posix/posix.c @@ -1145,3 +1145,14 @@ PHP_FUNCTION(posix_initgroups) } /* }}} */ #endif + +PHP_FUNCTION(posix_sysconf) +{ + zend_long conf_id; + + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(conf_id) + ZEND_PARSE_PARAMETERS_END(); + + RETURN_LONG(sysconf(conf_id)); +} diff --git a/ext/posix/posix.stub.php b/ext/posix/posix.stub.php index d3df0cd69d4a6..ecb462695ccf4 100644 --- a/ext/posix/posix.stub.php +++ b/ext/posix/posix.stub.php @@ -191,6 +191,34 @@ */ const POSIX_RLIMIT_INFINITY = UNKNOWN; #endif +#ifdef _SC_ARG_MAX +/** + * @var int + * @cvalue _SC_ARG_MAX + */ +const POSIX_SC_ARG_MAX = UNKNOWN; +#endif +#ifdef _SC_PAGESIZE +/** + * @var int + * @cvalue _SC_PAGESIZE + */ +const POSIX_SC_PAGESIZE = UNKNOWN; +#endif +#ifdef _SC_NPROCESSORS_CONF +/** + * @var int + * @cvalue _SC_NPROCESSORS_CONF + */ +const POSIX_SC_NPROCESSORS_CONF = UNKNOWN; +#endif +#ifdef _SC_NPROCESSORS_ONLN +/** + * @var int + * @cvalue _SC_NPROCESSORS_ONLN + */ +const POSIX_SC_NPROCESSORS_ONLN = UNKNOWN; +#endif function posix_kill(int $process_id, int $signal): bool {} @@ -327,3 +355,5 @@ function posix_strerror(int $error_code): string {} #ifdef HAVE_INITGROUPS function posix_initgroups(string $username, int $group_id): bool {} #endif + +function posix_sysconf(int $conf_id): int {} diff --git a/ext/posix/posix_arginfo.h b/ext/posix/posix_arginfo.h index e91a99504477c..f45e8644b29bc 100644 --- a/ext/posix/posix_arginfo.h +++ b/ext/posix/posix_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: e7f501e4ca2c30f6bf52ea5912037c1e59743949 */ + * Stub hash: 82454cec6f55336a530c23663efeb7ac71932bba */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_posix_kill, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, process_id, IS_LONG, 0) @@ -159,6 +159,10 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_posix_initgroups, 0, 2, _IS_BOOL ZEND_END_ARG_INFO() #endif +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_posix_sysconf, 0, 1, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, conf_id, IS_LONG, 0) +ZEND_END_ARG_INFO() + ZEND_FUNCTION(posix_kill); ZEND_FUNCTION(posix_getpid); @@ -222,6 +226,7 @@ ZEND_FUNCTION(posix_strerror); #if defined(HAVE_INITGROUPS) ZEND_FUNCTION(posix_initgroups); #endif +ZEND_FUNCTION(posix_sysconf); static const zend_function_entry ext_functions[] = { @@ -288,6 +293,7 @@ static const zend_function_entry ext_functions[] = { #if defined(HAVE_INITGROUPS) ZEND_FE(posix_initgroups, arginfo_posix_initgroups) #endif + ZEND_FE(posix_sysconf, arginfo_posix_sysconf) ZEND_FE_END }; @@ -369,4 +375,16 @@ static void register_posix_symbols(int module_number) #if defined(HAVE_SETRLIMIT) REGISTER_LONG_CONSTANT("POSIX_RLIMIT_INFINITY", RLIM_INFINITY, CONST_PERSISTENT); #endif +#if defined(_SC_ARG_MAX) + REGISTER_LONG_CONSTANT("POSIX_SC_ARG_MAX", _SC_ARG_MAX, CONST_PERSISTENT); +#endif +#if defined(_SC_PAGESIZE) + REGISTER_LONG_CONSTANT("POSIX_SC_PAGESIZE", _SC_PAGESIZE, CONST_PERSISTENT); +#endif +#if defined(_SC_NPROCESSORS_CONF) + REGISTER_LONG_CONSTANT("POSIX_SC_NPROCESSORS_CONF", _SC_NPROCESSORS_CONF, CONST_PERSISTENT); +#endif +#if defined(_SC_NPROCESSORS_ONLN) + REGISTER_LONG_CONSTANT("POSIX_SC_NPROCESSORS_ONLN", _SC_NPROCESSORS_ONLN, CONST_PERSISTENT); +#endif } diff --git a/ext/posix/tests/posix_sysconf.phpt b/ext/posix/tests/posix_sysconf.phpt new file mode 100644 index 0000000000000..6acebe1f0e0f3 --- /dev/null +++ b/ext/posix/tests/posix_sysconf.phpt @@ -0,0 +1,14 @@ +--TEST-- +Test posix_sysconf +--EXTENSIONS-- +posix +--FILE-- + +--EXPECTF-- +int(-1) +bool(false) +int(%d) From 6d5770c2506933520d322f8c132d6f9cec6bd3c3 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 4 Sep 2022 19:52:21 +0100 Subject: [PATCH 214/229] [ci skip] NEWS UPGRADING --- NEWS | 3 +++ UPGRADING | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index adddc7cc88e2e..fccdffb90fca2 100644 --- a/NEWS +++ b/NEWS @@ -2,5 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.3.0alpha1 +- Posix: + . Added posix_sysconf. (David Carlier) + <<< NOTE: Insert NEWS from last stable release here prior to actual release! >>> diff --git a/UPGRADING b/UPGRADING index f60d2f344ae1a..5aae032d7f1f4 100644 --- a/UPGRADING +++ b/UPGRADING @@ -37,7 +37,11 @@ PHP 8.3 UPGRADE NOTES ======================================== 6. New Functions -======================================== +=======================k================= + +- Posix: + . Added posix_sysconf call to get runtime + informations. (David Carlier) ======================================== 7. New Classes and Interfaces @@ -55,6 +59,12 @@ PHP 8.3 UPGRADE NOTES 10. New Global Constants ======================================== +- Posix: + . POSIX_SC_ARG_MAX. + . POSIX_SC_PAGESIZE. + . POSIX_SC_NPROCESSORS_CONF. + . POSIX_SC_NPROCESSORS_ONLN. + ======================================== 11. Changes to INI File Handling ======================================== From 25311214e7a845dc1013a0b6994991ecbec6cf07 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 4 Sep 2022 19:54:16 +0100 Subject: [PATCH 215/229] [ci skip] UPGRADING striping name. --- UPGRADING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UPGRADING b/UPGRADING index 5aae032d7f1f4..eef194af09ad8 100644 --- a/UPGRADING +++ b/UPGRADING @@ -41,7 +41,7 @@ PHP 8.3 UPGRADE NOTES - Posix: . Added posix_sysconf call to get runtime - informations. (David Carlier) + informations. ======================================== 7. New Classes and Interfaces From 14f22e92943d8f9495bb992acf115aec84317a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Sun, 4 Sep 2022 20:59:26 +0200 Subject: [PATCH 216/229] [ci skip] Fix formatting in UPGRADING - Remove `k` typo that was accidentally added in a headline separator. - Remove premature hard break after very short line length. - Remove dots at the end of constant lists (not used in 8.2). --- UPGRADING | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/UPGRADING b/UPGRADING index eef194af09ad8..e44936416e2c0 100644 --- a/UPGRADING +++ b/UPGRADING @@ -37,11 +37,10 @@ PHP 8.3 UPGRADE NOTES ======================================== 6. New Functions -=======================k================= +======================================== - Posix: - . Added posix_sysconf call to get runtime - informations. + . Added posix_sysconf call to get runtime informations. ======================================== 7. New Classes and Interfaces @@ -60,10 +59,10 @@ PHP 8.3 UPGRADE NOTES ======================================== - Posix: - . POSIX_SC_ARG_MAX. - . POSIX_SC_PAGESIZE. - . POSIX_SC_NPROCESSORS_CONF. - . POSIX_SC_NPROCESSORS_ONLN. + . POSIX_SC_ARG_MAX + . POSIX_SC_PAGESIZE + . POSIX_SC_NPROCESSORS_CONF + . POSIX_SC_NPROCESSORS_ONLN ======================================== 11. Changes to INI File Handling From 81cb005ef7787954b4adab3543e3c443f9dd293e Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 5 Sep 2022 12:55:50 +0300 Subject: [PATCH 217/229] Fix type inference Fixes oss-fuzz #50792 --- ext/opcache/Optimizer/zend_inference.c | 3 +++ .../tests/jit/fetch_dim_func_arg_002.phpt | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c index 1eed2b9c1217c..559997a3ea293 100644 --- a/ext/opcache/Optimizer/zend_inference.c +++ b/ext/opcache/Optimizer/zend_inference.c @@ -3319,6 +3319,9 @@ static zend_always_inline int _zend_update_type_info( opline->op1_type, opline->result_type == IS_VAR, opline->op2_type == IS_UNUSED); + if (opline->opcode == ZEND_FETCH_DIM_FUNC_ARG && (t1 & (MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_RESOURCE))) { + tmp |= MAY_BE_NULL; + } if (opline->opcode == ZEND_FETCH_DIM_IS && (t1 & MAY_BE_STRING)) { tmp |= MAY_BE_NULL; } diff --git a/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt b/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt new file mode 100644 index 0000000000000..a80fb0b2bc5c4 --- /dev/null +++ b/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt @@ -0,0 +1,18 @@ +--TEST-- +JIT FETCH_DIM_FUNC_ARG: 002 +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.file_update_protection=0 +opcache.jit_buffer_size=1M +--SKIPIF-- + +--FILE-- + +DONE +--EXPECTF-- +Warning: Trying to access array offset on value of type bool in %sfetch_dim_func_arg_002.php on line 2 +DONE From 59180b50b39c1222b63572f8dd7a5942126dbacf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Mon, 5 Sep 2022 12:37:53 +0200 Subject: [PATCH 218/229] Fix inexistent skipif.inc --- ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt b/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt index a80fb0b2bc5c4..3699eba2045f0 100644 --- a/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt +++ b/ext/opcache/tests/jit/fetch_dim_func_arg_002.phpt @@ -5,8 +5,8 @@ opcache.enable=1 opcache.enable_cli=1 opcache.file_update_protection=0 opcache.jit_buffer_size=1M ---SKIPIF-- - +--EXTENSIONS-- +opcache --FILE-- Date: Mon, 5 Sep 2022 14:21:15 +0200 Subject: [PATCH 219/229] Add support for validation of missing class synopses (#9472) --- build/gen_stub.php | 41 +++++++++++++++++++++----- ext/pdo_pgsql/pgsql_driver.stub.php | 5 +++- ext/pdo_pgsql/pgsql_driver_arginfo.h | 2 +- ext/pdo_sqlite/sqlite_driver.stub.php | 5 +++- ext/pdo_sqlite/sqlite_driver_arginfo.h | 2 +- ext/standard/basic_functions.stub.php | 1 + ext/standard/basic_functions_arginfo.h | 2 +- ext/zend_test/fiber.stub.php | 5 +++- ext/zend_test/fiber_arginfo.h | 2 +- ext/zend_test/test.stub.php | 1 + ext/zend_test/test_arginfo.h | 2 +- 11 files changed, 53 insertions(+), 15 deletions(-) diff --git a/build/gen_stub.php b/build/gen_stub.php index 6b1556d735196..bbaa251ed695a 100755 --- a/build/gen_stub.php +++ b/build/gen_stub.php @@ -2453,6 +2453,8 @@ class ClassInfo { public $cond; /** @var int|null */ public $phpVersionIdMinimumCompatibility; + /** @var bool */ + public $isUndocumentable; /** * @param AttributeInfo[] $attributes @@ -2480,7 +2482,8 @@ public function __construct( array $funcInfos, array $enumCaseInfos, ?string $cond, - ?int $minimumPhpVersionIdCompatibility + ?int $minimumPhpVersionIdCompatibility, + bool $isUndocumentable ) { $this->name = $name; $this->flags = $flags; @@ -2499,6 +2502,7 @@ public function __construct( $this->enumCaseInfos = $enumCaseInfos; $this->cond = $cond; $this->phpVersionIdMinimumCompatibility = $minimumPhpVersionIdCompatibility; + $this->isUndocumentable = $isUndocumentable; } /** @@ -3088,6 +3092,8 @@ class FileInfo { public $generateLegacyArginfoForPhpVersionId; /** @var bool */ public $generateClassEntries = false; + /** @var bool */ + public $isUndocumentable = false; /** * @return iterable @@ -3499,7 +3505,8 @@ function parseClass( array $methods, array $enumCases, ?string $cond, - ?int $minimumPhpVersionIdCompatibility + ?int $minimumPhpVersionIdCompatibility, + bool $isUndocumentable ): ClassInfo { $flags = $class instanceof Class_ ? $class->flags : 0; $comment = $class->getDocComment(); @@ -3521,6 +3528,8 @@ function parseClass( $isStrictProperties = true; } else if ($tag->name === 'not-serializable') { $isNotSerializable = true; + } else if ($tag->name === 'undocumentable') { + $isUndocumentable = true; } } } @@ -3579,7 +3588,8 @@ function parseClass( $methods, $enumCases, $cond, - $minimumPhpVersionIdCompatibility + $minimumPhpVersionIdCompatibility, + $isUndocumentable ); } @@ -3732,7 +3742,7 @@ function handleStatements(FileInfo $fileInfo, array $stmts, PrettyPrinterAbstrac } $fileInfo->classInfos[] = parseClass( - $className, $stmt, $constInfos, $propertyInfos, $methodInfos, $enumCaseInfos, $cond, $fileInfo->generateLegacyArginfoForPhpVersionId + $className, $stmt, $constInfos, $propertyInfos, $methodInfos, $enumCaseInfos, $cond, $fileInfo->generateLegacyArginfoForPhpVersionId, $fileInfo->isUndocumentable ); continue; } @@ -3783,6 +3793,8 @@ protected function pName_FullyQualified(Name\FullyQualified $node) { } else if ($tag->name === 'generate-class-entries') { $fileInfo->generateClassEntries = true; $fileInfo->declarationPrefix = $tag->value ? $tag->value . " " : ""; + } else if ($tag->name === 'undocumentable') { + $fileInfo->isUndocumentable = true; } } } @@ -4219,12 +4231,14 @@ function generateClassSynopses(array $classMap, iterable $allConstInfos): array } /** - * @param ClassInfo[] $classMap + * @param array $classMap * $param iterable $allConstInfos * @return array */ -function replaceClassSynopses(string $targetDirectory, array $classMap, iterable $allConstInfos): array +function replaceClassSynopses(string $targetDirectory, array $classMap, iterable $allConstInfos, bool $isVerify): array { + $existingClassSynopses = []; + $classSynopses = []; $it = new RecursiveIteratorIterator( @@ -4281,6 +4295,9 @@ function replaceClassSynopses(string $targetDirectory, array $classMap, iterable if (!isset($classMap[$className])) { continue; } + + $existingClassSynopses[$className] = $className; + $classInfo = $classMap[$className]; $newClassSynopsis = $classInfo->getClassSynopsisElement($doc, $classMap, $allConstInfos); @@ -4320,6 +4337,16 @@ function replaceClassSynopses(string $targetDirectory, array $classMap, iterable } } + if ($isVerify) { + $missingClassSynopses = array_diff_key($classMap, $existingClassSynopses); + foreach ($missingClassSynopses as $className => $info) { + /** @var ClassInfo $info */ + if (!$info->isUndocumentable) { + echo "Warning: Missing class synopsis page for $className\n"; + } + } + } + return $classSynopses; } @@ -4791,7 +4818,7 @@ function(?ArgInfo $aliasArg, ?ArgInfo $aliasedArg) use ($aliasFunc, $aliasedFunc } if ($replaceClassSynopses) { - $classSynopses = replaceClassSynopses($targetSynopses, $classMap, $context->allConstInfos); + $classSynopses = replaceClassSynopses($targetSynopses, $classMap, $context->allConstInfos, $verify); foreach ($classSynopses as $filename => $content) { if (file_put_contents($filename, $content)) { diff --git a/ext/pdo_pgsql/pgsql_driver.stub.php b/ext/pdo_pgsql/pgsql_driver.stub.php index 6daa55c7b873a..4206dbea636b9 100644 --- a/ext/pdo_pgsql/pgsql_driver.stub.php +++ b/ext/pdo_pgsql/pgsql_driver.stub.php @@ -2,7 +2,10 @@ /** @generate-function-entries */ -// These are extension methods for PDO. This is not a real class. +/** + * These are extension methods for PDO. This is not a real class. + * @undocumentable + */ class PDO_PGSql_Ext { /** @tentative-return-type */ public function pgsqlCopyFromArray(string $tableName, array $rows, string $separator = "\t", string $nullAs = "\\\\N", ?string $fields = null): bool {} diff --git a/ext/pdo_pgsql/pgsql_driver_arginfo.h b/ext/pdo_pgsql/pgsql_driver_arginfo.h index a3ec5196fad2c..3f84d4d8e5b9d 100644 --- a/ext/pdo_pgsql/pgsql_driver_arginfo.h +++ b/ext/pdo_pgsql/pgsql_driver_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 5dfd421cf9ba9eb043c4b4f3c9b9c09c81cc3ccb */ + * Stub hash: b30fa6327876dc1090ee5397253c935e4566a8fe */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromArray, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, tableName, IS_STRING, 0) diff --git a/ext/pdo_sqlite/sqlite_driver.stub.php b/ext/pdo_sqlite/sqlite_driver.stub.php index 58fb41c9b950e..add395f2b99a5 100644 --- a/ext/pdo_sqlite/sqlite_driver.stub.php +++ b/ext/pdo_sqlite/sqlite_driver.stub.php @@ -2,7 +2,10 @@ /** @generate-function-entries */ -// These are extension methods for PDO. This is not a real class. +/** + * These are extension methods for PDO. This is not a real class. + * @undocumentable + */ class PDO_SQLite_Ext { /** @tentative-return-type */ public function sqliteCreateFunction(string $name, callable $callback, int $numArgs = -1, int $flags = 0): bool {} diff --git a/ext/pdo_sqlite/sqlite_driver_arginfo.h b/ext/pdo_sqlite/sqlite_driver_arginfo.h index 2b9b1aea1e0ba..5ba745e55cf3e 100644 --- a/ext/pdo_sqlite/sqlite_driver_arginfo.h +++ b/ext/pdo_sqlite/sqlite_driver_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 8cc3c173f5a442ab80f240a568489b023aabd7ef */ + * Stub hash: dc901bd60d17c1a2cdb40a118e2c6cd6eb0396e3 */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_PDO_SQLite_Ext_sqliteCreateFunction, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index f55e4e5b9d291..7e6f9d8afbec3 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -740,6 +740,7 @@ const LOG_PERROR = UNKNOWN; #endif +/** @undocumentable */ #[AllowDynamicProperties] final class __PHP_Incomplete_Class { diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 51879da2059ca..e76e056f3e81e 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 9c86ed1487132d15715ddbfcb5abd6ac52d629eb */ + * Stub hash: 9e0016895111851aa2c635e1380a18cd7963e58e */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) diff --git a/ext/zend_test/fiber.stub.php b/ext/zend_test/fiber.stub.php index 4cfe97137d86e..0f6ccf898e29d 100644 --- a/ext/zend_test/fiber.stub.php +++ b/ext/zend_test/fiber.stub.php @@ -1,6 +1,9 @@ Date: Fri, 2 Sep 2022 18:30:01 +0200 Subject: [PATCH 220/229] Support sapi/cli/tests/017.phpt on Windows, too `escapeshellarg()` is pretty useless on Windows, and there is no way to support multiple lines (i.e. line breaks). Thus, we use `proc_open()` instead of `shell_exec()`. We also remove some apparently superfluous empty lines from the test expectation; that seems to match libedit behavior on Linux. Closes GH-9474. --- sapi/cli/tests/017.phpt | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/sapi/cli/tests/017.phpt b/sapi/cli/tests/017.phpt index 8338f26e5de25..d2d37b18589a0 100644 --- a/sapi/cli/tests/017.phpt +++ b/sapi/cli/tests/017.phpt @@ -8,13 +8,12 @@ include "skipif.inc"; if (readline_info('done') !== NULL) { die ("skip need readline support using libedit"); } -if(substr(PHP_OS, 0, 3) == 'WIN' ) { - die('skip not for Windows'); -} ?> --FILE-- $code) { echo "\n--------------\nSnippet no. $key:\n--------------\n"; - $code = escapeshellarg($code); - echo `echo $code | "$php" -a`, "\n"; + $proc = proc_open("$php $ini -a", $descriptorspec, $pipes); + fwrite($pipes[0], $code); + fclose($pipes[0]); + proc_close($proc); } echo "\nDone\n"; @@ -69,7 +70,6 @@ Interactive shell Hello world - -------------- Snippet no. 2: -------------- @@ -79,7 +79,6 @@ multine single quote - -------------- Snippet no. 3: -------------- @@ -90,7 +89,6 @@ comes the doc - -------------- Snippet no. 4: -------------- @@ -98,7 +96,6 @@ Interactive shell Done - -------------- Snippet no. 5: -------------- @@ -107,5 +104,4 @@ Interactive shell Parse error: Unmatched ')' in php shell code on line 1 - Done From 6ac3f7c84dcf2091decad5cd05cc608d248d86e5 Mon Sep 17 00:00:00 2001 From: Yurun Date: Mon, 5 Sep 2022 14:53:33 +0200 Subject: [PATCH 221/229] Fix GH-9411: PgSQL large object resource is incorrectly closed Co-authored-by: Christoph M. Becker Closes GH-9411. --- NEWS | 4 +++ ext/pdo_pgsql/pgsql_driver.c | 47 +++++++++++++++++++++++++++---- ext/pdo_pgsql/pgsql_statement.c | 6 ++++ ext/pdo_pgsql/php_pdo_pgsql_int.h | 2 ++ ext/pdo_pgsql/tests/gh9411.phpt | 41 +++++++++++++++++++++++++++ 5 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 ext/pdo_pgsql/tests/gh9411.phpt diff --git a/NEWS b/NEWS index 805dec249ad86..3e85f1483ec93 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,10 @@ PHP NEWS . Fixed bug #77780 ("Headers already sent..." when previous connection was aborted). (Jakub Zelenka) +- PDO_PGSQL: + . Fixed bug GH-9411 (PgSQL large object resource is incorrectly closed). + (Yurunsoft) + - Reflection: . Fixed bug GH-8932 (ReflectionFunction provides no way to get the called class of a Closure). (cmb, Nicolas Grekas) diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index b6449095ca0cb..c90ef468907eb 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -35,6 +35,8 @@ #include "zend_exceptions.h" #include "pgsql_driver_arginfo.h" +static int pgsql_handle_in_transaction(pdo_dbh_t *dbh); + static char * _pdo_pgsql_trim_message(const char *message, int persistent) { register int i = strlen(message)-1; @@ -141,10 +143,12 @@ static ssize_t pgsql_lob_read(php_stream *stream, char *buf, size_t count) static int pgsql_lob_close(php_stream *stream, int close_handle) { struct pdo_pgsql_lob_self *self = (struct pdo_pgsql_lob_self*)stream->abstract; + pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)(Z_PDO_DBH_P(&self->dbh))->driver_data; if (close_handle) { lo_close(self->conn, self->lfd); } + zend_hash_index_del(H->lob_streams, php_stream_get_resource_id(stream)); zval_ptr_dtor(&self->dbh); efree(self); return 0; @@ -195,6 +199,7 @@ php_stream *pdo_pgsql_create_lob_stream(zval *dbh, int lfd, Oid oid) if (stm) { Z_ADDREF_P(dbh); + zend_hash_index_add_ptr(H->lob_streams, php_stream_get_resource_id(stm), stm->res); return stm; } @@ -203,10 +208,29 @@ php_stream *pdo_pgsql_create_lob_stream(zval *dbh, int lfd, Oid oid) } /* }}} */ +void pdo_pgsql_close_lob_streams(pdo_dbh_t *dbh) +{ + zend_resource *res; + pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; + if (H->lob_streams) { + ZEND_HASH_REVERSE_FOREACH_PTR(H->lob_streams, res) { + if (res->type >= 0) { + zend_list_close(res); + } + } ZEND_HASH_FOREACH_END(); + } +} + static int pgsql_handle_closer(pdo_dbh_t *dbh) /* {{{ */ { pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; if (H) { + if (H->lob_streams) { + pdo_pgsql_close_lob_streams(dbh); + zend_hash_destroy(H->lob_streams); + pefree(H->lob_streams, dbh->is_persistent); + H->lob_streams = NULL; + } if (H->server) { PQfinish(H->server); H->server = NULL; @@ -298,6 +322,8 @@ static zend_long pgsql_handle_doer(pdo_dbh_t *dbh, const char *sql, size_t sql_l zend_long ret = 1; ExecStatusType qs; + bool in_trans = pgsql_handle_in_transaction(dbh); + if (!(res = PQexec(H->server, sql))) { /* fatal error */ pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL); @@ -316,6 +342,9 @@ static zend_long pgsql_handle_doer(pdo_dbh_t *dbh, const char *sql, size_t sql_l ret = Z_L(0); } PQclear(res); + if (in_trans && !pgsql_handle_in_transaction(dbh)) { + pdo_pgsql_close_lob_streams(dbh); + } return ret; } @@ -501,9 +530,7 @@ static int pdo_pgsql_check_liveness(pdo_dbh_t *dbh) static int pgsql_handle_in_transaction(pdo_dbh_t *dbh) { - pdo_pgsql_db_handle *H; - - H = (pdo_pgsql_db_handle *)dbh->driver_data; + pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; return PQtransactionStatus(H->server) > PQTRANS_IDLE; } @@ -536,7 +563,9 @@ static int pgsql_handle_commit(pdo_dbh_t *dbh) /* When deferred constraints are used the commit could fail, and a ROLLBACK implicitly ran. See bug #67462 */ - if (!ret) { + if (ret) { + pdo_pgsql_close_lob_streams(dbh); + } else { dbh->in_txn = pgsql_handle_in_transaction(dbh); } @@ -545,7 +574,13 @@ static int pgsql_handle_commit(pdo_dbh_t *dbh) static int pgsql_handle_rollback(pdo_dbh_t *dbh) { - return pdo_pgsql_transaction_cmd("ROLLBACK", dbh); + int ret = pdo_pgsql_transaction_cmd("ROLLBACK", dbh); + + if (ret) { + pdo_pgsql_close_lob_streams(dbh); + } + + return ret; } /* {{{ Returns true if the copy worked fine or false if error */ @@ -1233,6 +1268,8 @@ static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /* {{{ } H->server = PQconnectdb(conn_str); + H->lob_streams = (HashTable *) pemalloc(sizeof(HashTable), dbh->is_persistent); + zend_hash_init(H->lob_streams, 0, NULL, NULL, 1); if (tmp_user) { zend_string_release_ex(tmp_user, 0); diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 21f4c83807ea0..4c32ac80e8d07 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -134,6 +134,8 @@ static int pgsql_stmt_execute(pdo_stmt_t *stmt) pdo_pgsql_db_handle *H = S->H; ExecStatusType status; + bool in_trans = stmt->dbh->methods->in_transaction(stmt->dbh); + /* ensure that we free any previous unfetched results */ if(S->result) { PQclear(S->result); @@ -252,6 +254,10 @@ static int pgsql_stmt_execute(pdo_stmt_t *stmt) stmt->row_count = (zend_long)PQntuples(S->result); } + if (in_trans && !stmt->dbh->methods->in_transaction(stmt->dbh)) { + pdo_pgsql_close_lob_streams(stmt->dbh); + } + return 1; } diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h index bc31c9cdeee0f..eea1ad647eed1 100644 --- a/ext/pdo_pgsql/php_pdo_pgsql_int.h +++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h @@ -45,6 +45,7 @@ typedef struct { zend_bool emulate_prepares; zend_bool disable_native_prepares; /* deprecated since 5.6 */ zend_bool disable_prepares; + HashTable *lob_streams; } pdo_pgsql_db_handle; typedef struct { @@ -109,5 +110,6 @@ php_stream *pdo_pgsql_create_lob_stream(zval *pdh, int lfd, Oid oid); extern const php_stream_ops pdo_pgsql_lob_stream_ops; void pdo_libpq_version(char *buf, size_t len); +void pdo_pgsql_close_lob_streams(pdo_dbh_t *dbh); #endif /* PHP_PDO_PGSQL_INT_H */ diff --git a/ext/pdo_pgsql/tests/gh9411.phpt b/ext/pdo_pgsql/tests/gh9411.phpt new file mode 100644 index 0000000000000..c8a11e89df627 --- /dev/null +++ b/ext/pdo_pgsql/tests/gh9411.phpt @@ -0,0 +1,41 @@ +--TEST-- +Bug GH-9411 (PgSQL large object resource is incorrectly closed) +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); + +$db->beginTransaction(); +$oid = $db->pgsqlLOBCreate(); +var_dump($lob = $db->pgsqlLOBOpen($oid, 'wb')); +fwrite($lob, 'test'); +$db->rollback(); +var_dump($lob); + +$db->beginTransaction(); +$oid = $db->pgsqlLOBCreate(); +var_dump($lob = $db->pgsqlLOBOpen($oid, 'wb')); +fwrite($lob, 'test'); +$db->commit(); +var_dump($lob); + +$db->beginTransaction(); +var_dump($lob = $db->pgsqlLOBOpen($oid, 'wb')); +var_dump(fgets($lob)); +?> +--EXPECTF-- +resource(%d) of type (stream) +resource(%d) of type (Unknown) +resource(%d) of type (stream) +resource(%d) of type (Unknown) +resource(%d) of type (stream) +string(4) "test" From ddf7a5d4d90fdbbe7c6fac2b0eecbf33daa09cf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Mon, 5 Sep 2022 17:33:36 +0200 Subject: [PATCH 222/229] random: Validate that the arrays do not contain extra elements when unserializing (#9458) * Apply `var_dump()` in 02_engine/all_serialize_error.phpt This ensures that an undetected serialization error is clear identifiable in the output. * random: Validate that the arrays do not contain extra elements when unserializing --- ext/random/engine_mt19937.c | 11 +++++++ ext/random/engine_pcgoneseq128xslrr64.c | 5 +++ ext/random/engine_xoshiro256starstar.c | 5 +++ ext/random/randomizer.c | 6 ++++ .../tests/02_engine/all_serialize_error.phpt | 32 ++++++++++++++----- 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/ext/random/engine_mt19937.c b/ext/random/engine_mt19937.c index a2aed76a39d76..227c1ac02540d 100644 --- a/ext/random/engine_mt19937.c +++ b/ext/random/engine_mt19937.c @@ -203,6 +203,11 @@ static bool unserialize(php_random_status *status, HashTable *data) php_random_status_state_mt19937 *s = status->state; zval *t; + /* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */ + if (zend_hash_num_elements(data) != (MT_N + 2)) { + return false; + } + for (uint32_t i = 0; i < MT_N; i++) { t = zend_hash_index_find(data, i); if (!t || Z_TYPE_P(t) != IS_STRING || Z_STRLEN_P(t) != (2 * sizeof(uint32_t))) { @@ -358,6 +363,12 @@ PHP_METHOD(Random_Engine_Mt19937, __unserialize) Z_PARAM_ARRAY_HT(d); ZEND_PARSE_PARAMETERS_END(); + /* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */ + if (zend_hash_num_elements(d) != 2) { + zend_throw_exception_ex(NULL, 0, "Invalid serialization data for %s object", ZSTR_VAL(engine->std.ce->name)); + RETURN_THROWS(); + } + /* members */ t = zend_hash_index_find(d, 0); if (!t || Z_TYPE_P(t) != IS_ARRAY) { diff --git a/ext/random/engine_pcgoneseq128xslrr64.c b/ext/random/engine_pcgoneseq128xslrr64.c index 41bbdad98a422..243e296bbe890 100644 --- a/ext/random/engine_pcgoneseq128xslrr64.c +++ b/ext/random/engine_pcgoneseq128xslrr64.c @@ -83,6 +83,11 @@ static bool unserialize(php_random_status *status, HashTable *data) uint64_t u[2]; zval *t; + /* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */ + if (zend_hash_num_elements(data) != 2) { + return false; + } + for (uint32_t i = 0; i < 2; i++) { t = zend_hash_index_find(data, i); if (!t || Z_TYPE_P(t) != IS_STRING || Z_STRLEN_P(t) != (2 * sizeof(uint64_t))) { diff --git a/ext/random/engine_xoshiro256starstar.c b/ext/random/engine_xoshiro256starstar.c index fa5fcea80d6eb..52617adb10565 100644 --- a/ext/random/engine_xoshiro256starstar.c +++ b/ext/random/engine_xoshiro256starstar.c @@ -131,6 +131,11 @@ static bool unserialize(php_random_status *status, HashTable *data) php_random_status_state_xoshiro256starstar *s = status->state; zval *t; + /* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */ + if (zend_hash_num_elements(data) != 4) { + return false; + } + for (uint32_t i = 0; i < 4; i++) { t = zend_hash_index_find(data, i); if (!t || Z_TYPE_P(t) != IS_STRING || Z_STRLEN_P(t) != (2 * sizeof(uint64_t))) { diff --git a/ext/random/randomizer.c b/ext/random/randomizer.c index f26231b997722..b66a88169cbe2 100644 --- a/ext/random/randomizer.c +++ b/ext/random/randomizer.c @@ -272,6 +272,12 @@ PHP_METHOD(Random_Randomizer, __unserialize) Z_PARAM_ARRAY_HT(d); ZEND_PARSE_PARAMETERS_END(); + /* Verify the expected number of elements, this implicitly ensures that no additional elements are present. */ + if (zend_hash_num_elements(d) != 1) { + zend_throw_exception(NULL, "Invalid serialization data for Random\\Randomizer object", 0); + RETURN_THROWS(); + } + members_zv = zend_hash_index_find(d, 0); if (!members_zv || Z_TYPE_P(members_zv) != IS_ARRAY) { zend_throw_exception(NULL, "Invalid serialization data for Random\\Randomizer object", 0); diff --git a/ext/random/tests/02_engine/all_serialize_error.phpt b/ext/random/tests/02_engine/all_serialize_error.phpt index 152396ade2b98..0569415145665 100644 --- a/ext/random/tests/02_engine/all_serialize_error.phpt +++ b/ext/random/tests/02_engine/all_serialize_error.phpt @@ -6,28 +6,28 @@ Random: Engine: serialize error pattern echo \Random\Engine\Mt19937::class, PHP_EOL; // malformed hex try { - unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:7:"5aa6b98";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}'); + var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:7:"5aa6b98";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid hex try { - unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b98g";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}'); + var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b98g";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:0;}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid count try { - unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:1000;i:625;i:0;}}'); + var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:1000;i:625;i:0;}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid mode try { - unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:2;}}'); + var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8:"b05b7ff1";i:7;s:8:"faf33a3a";i:8;s:8:"ab7c0e61";i:9;s:8:"2d4c9c37";i:10;s:8:"daffe918";i:11;s:8:"644f25b9";i:12;s:8:"fdb352e5";i:13;s:8:"434dafa9";i:14;s:8:"a3c9826e";i:15;s:8:"923dfd8c";i:16;s:8:"f641a225";i:17;s:8:"d87134b3";i:18;s:8:"c3b7926e";i:19;s:8:"c880b60d";i:20;s:8:"975f362d";i:21;s:8:"48192b77";i:22;s:8:"6f7dd08b";i:23;s:8:"7d4ad4f8";i:24;s:8:"d805b910";i:25;s:8:"8c98b365";i:26;s:8:"89e54af9";i:27;s:8:"e5257a3c";i:28;s:8:"8f596624";i:29;s:8:"3f42f88a";i:30;s:8:"6a7e95cc";i:31;s:8:"e1349e4d";i:32;s:8:"4539bc92";i:33;s:8:"045a3148";i:34;s:8:"c27cf7b9";i:35;s:8:"c64e8009";i:36;s:8:"dc5ed02e";i:37;s:8:"5753c741";i:38;s:8:"50be0a82";i:39;s:8:"822da0ee";i:40;s:8:"42fdb3c6";i:41;s:8:"c668fc80";i:42;s:8:"262376c6";i:43;s:8:"17b998c6";i:44;s:8:"1f3aac02";i:45;s:8:"6f939c7e";i:46;s:8:"21c099f4";i:47;s:8:"0f4b5c76";i:48;s:8:"64799ac0";i:49;s:8:"45d3bb99";i:50;s:8:"8ff3eb79";i:51;s:8:"61996264";i:52;s:8:"2b9ab1f4";i:53;s:8:"a0d0c50f";i:54;s:8:"f08713ce";i:55;s:8:"6b1cf9d8";i:56;s:8:"52d92cc5";i:57;s:8:"34bcec6f";i:58;s:8:"83ffa063";i:59;s:8:"a002321d";i:60;s:8:"386c46d9";i:61;s:8:"45e2c63e";i:62;s:8:"f481bdf4";i:63;s:8:"df58facb";i:64;s:8:"1781e49b";i:65;s:8:"1d968a6b";i:66;s:8:"8aa7fdd2";i:67;s:8:"631ac8cd";i:68;s:8:"8090ff8e";i:69;s:8:"4ddd4a5d";i:70;s:8:"ff6d8193";i:71;s:8:"39e18244";i:72;s:8:"4efe15db";i:73;s:8:"3fe64cd5";i:74;s:8:"e693a97f";i:75;s:8:"807a34e9";i:76;s:8:"6dc16ae7";i:77;s:8:"a1e1ed1d";i:78;s:8:"605bdc86";i:79;s:8:"abb1830e";i:80;s:8:"2baabeda";i:81;s:8:"fc0f66ad";i:82;s:8:"9cf4fb96";i:83;s:8:"b50ff764";i:84;s:8:"67c37a3d";i:85;s:8:"15253035";i:86;s:8:"387fce47";i:87;s:8:"5c3299a5";i:88;s:8:"125602b9";i:89;s:8:"daeb445c";i:90;s:8:"289e5a8d";i:91;s:8:"b47cd48c";i:92;s:8:"8664db23";i:93;s:8:"b9352af8";i:94;s:8:"51684d88";i:95;s:8:"b204cbc9";i:96;s:8:"e1b6becc";i:97;s:8:"dbbe0ee6";i:98;s:8:"89e54027";i:99;s:8:"a6512564";i:100;s:8:"3aab8d17";i:101;s:8:"7cab5272";i:102;s:8:"1804e981";i:103;s:8:"0bfebe2c";i:104;s:8:"7c082a4c";i:105;s:8:"06bc80c3";i:106;s:8:"c63db839";i:107;s:8:"59edb59d";i:108;s:8:"b52d9655";i:109;s:8:"efce041b";i:110;s:8:"57c1f890";i:111;s:8:"15499697";i:112;s:8:"e0ad3e3a";i:113;s:8:"408d4c16";i:114;s:8:"e53cf468";i:115;s:8:"6ea3d84f";i:116;s:8:"0a2bc4f2";i:117;s:8:"27b59259";i:118;s:8:"d223514b";i:119;s:8:"434c4185";i:120;s:8:"999c71df";i:121;s:8:"46134706";i:122;s:8:"f7f048d0";i:123;s:8:"7f5cfe34";i:124;s:8:"9bdc475c";i:125;s:8:"c1cf42ea";i:126;s:8:"65be324b";i:127;s:8:"68c7a1dc";i:128;s:8:"a7c8c5a2";i:129;s:8:"ecc4cd8a";i:130;s:8:"a761615c";i:131;s:8:"718ec534";i:132;s:8:"c8b086fc";i:133;s:8:"ead759f9";i:134;s:8:"eb9df4a0";i:135;s:8:"ec5b25f9";i:136;s:8:"3a6ff94e";i:137;s:8:"4511a3de";i:138;s:8:"9034f1c6";i:139;s:8:"5c1c6d14";i:140;s:8:"a228ed46";i:141;s:8:"ffe19f2f";i:142;s:8:"f21f68cf";i:143;s:8:"6c2235a4";i:144;s:8:"e0aed51a";i:145;s:8:"2ade527b";i:146;s:8:"65f3c758";i:147;s:8:"f6e868b7";i:148;s:8:"49b770a5";i:149;s:8:"48ab9158";i:150;s:8:"ab07a671";i:151;s:8:"4ef74251";i:152;s:8:"f4cad644";i:153;s:8:"1576c59e";i:154;s:8:"3882bbd1";i:155;s:8:"e49f32c0";i:156;s:8:"c67b757c";i:157;s:8:"3528c5d8";i:158;s:8:"371c3e34";i:159;s:8:"7f1d614f";i:160;s:8:"b9e19e66";i:161;s:8:"80a1d97f";i:162;s:8:"7f93c9f3";i:163;s:8:"4e82ea48";i:164;s:8:"9675e170";i:165;s:8:"aa54caef";i:166;s:8:"3bb9838e";i:167;s:8:"9c0d0a2b";i:168;s:8:"2595d91f";i:169;s:8:"84cc7ff2";i:170;s:8:"9457c4ee";i:171;s:8:"405b6bc8";i:172;s:8:"5aa668a4";i:173;s:8:"e94dfca2";i:174;s:8:"89c0d739";i:175;s:8:"459f8eb3";i:176;s:8:"76b95b42";i:177;s:8:"0e5ceafb";i:178;s:8:"55d4eaee";i:179;s:8:"a55a4784";i:180;s:8:"8c23e133";i:181;s:8:"0994f794";i:182;s:8:"a8d4d1b7";i:183;s:8:"0a50b177";i:184;s:8:"65409f44";i:185;s:8:"acf34e81";i:186;s:8:"e32f278e";i:187;s:8:"7aa21660";i:188;s:8:"9da66881";i:189;s:8:"5c4df7c5";i:190;s:8:"b21f8a4e";i:191;s:8:"d2cc6756";i:192;s:8:"8716f97d";i:193;s:8:"aabd84c5";i:194;s:8:"2e0a965a";i:195;s:8:"b4acc29c";i:196;s:8:"ed3be992";i:197;s:8:"867d9400";i:198;s:8:"a696ba3e";i:199;s:8:"8e2af3d9";i:200;s:8:"8fd95ea9";i:201;s:8:"930903d8";i:202;s:8:"4508dbb1";i:203;s:8:"80598d21";i:204;s:8:"df87fb74";i:205;s:8:"9d019d24";i:206;s:8:"05d5ce2e";i:207;s:8:"ed69bcfe";i:208;s:8:"f83a8d70";i:209;s:8:"750b10bd";i:210;s:8:"c0df892c";i:211;s:8:"df41f215";i:212;s:8:"03df46e3";i:213;s:8:"4e6dce66";i:214;s:8:"ea45a428";i:215;s:8:"cbbf3ff6";i:216;s:8:"f931c7b2";i:217;s:8:"80d19eab";i:218;s:8:"0e2c13da";i:219;s:8:"4b99ee8b";i:220;s:8:"2311d69e";i:221;s:8:"ca9050a7";i:222;s:8:"a4d9eec1";i:223;s:8:"ee665c77";i:224;s:8:"0714f961";i:225;s:8:"81f5be46";i:226;s:8:"420ea4bf";i:227;s:8:"281c28f0";i:228;s:8:"9936ab3f";i:229;s:8:"e4ca8936";i:230;s:8:"224d247b";i:231;s:8:"a564dffe";i:232;s:8:"d15045d2";i:233;s:8:"97d01e8f";i:234;s:8:"71793232";i:235;s:8:"43fe461e";i:236;s:8:"3b50916b";i:237;s:8:"ff242439";i:238;s:8:"a748a0a9";i:239;s:8:"ff51a2a6";i:240;s:8:"dec0ad0d";i:241;s:8:"4bcf2a2e";i:242;s:8:"2be6a97f";i:243;s:8:"eb3e636a";i:244;s:8:"81e31d64";i:245;s:8:"6ca4db9d";i:246;s:8:"bc5bd290";i:247;s:8:"ed2d2ba4";i:248;s:8:"00c46d55";i:249;s:8:"27578407";i:250;s:8:"bedbbcd8";i:251;s:8:"18172abc";i:252;s:8:"eaa5b9cf";i:253;s:8:"9e87ab84";i:254;s:8:"a0e2741c";i:255;s:8:"3bb931ae";i:256;s:8:"3a7b75cd";i:257;s:8:"1052cbf5";i:258;s:8:"b7afd060";i:259;s:8:"1d143d51";i:260;s:8:"17fb7422";i:261;s:8:"523fd346";i:262;s:8:"50429afd";i:263;s:8:"308ece7b";i:264;s:8:"285aa5c1";i:265;s:8:"d8afd736";i:266;s:8:"2e30512e";i:267;s:8:"af78ce36";i:268;s:8:"5967e738";i:269;s:8:"e19795de";i:270;s:8:"6d416e39";i:271;s:8:"23570261";i:272;s:8:"23106924";i:273;s:8:"a4b9add9";i:274;s:8:"baa83e79";i:275;s:8:"97ca48d3";i:276;s:8:"f369a004";i:277;s:8:"fa521bf6";i:278;s:8:"312e9e5e";i:279;s:8:"3acdb850";i:280;s:8:"485cbad7";i:281;s:8:"ddc2d365";i:282;s:8:"d8b87c13";i:283;s:8:"51f6aa7a";i:284;s:8:"b1c231ce";i:285;s:8:"926b9e57";i:286;s:8:"32bd5241";i:287;s:8:"b72cf0a0";i:288;s:8:"0cd99f51";i:289;s:8:"80815c0e";i:290;s:8:"a3459115";i:291;s:8:"5bb05439";i:292;s:8:"ee67a282";i:293;s:8:"65e533c5";i:294;s:8:"62e57b7a";i:295;s:8:"0f4a42fe";i:296;s:8:"ff5b8045";i:297;s:8:"cb9d60cf";i:298;s:8:"ffc891cd";i:299;s:8:"514d6027";i:300;s:8:"5b92df3b";i:301;s:8:"1fb47b1a";i:302;s:8:"a2382db8";i:303;s:8:"6f8b23cd";i:304;s:8:"db72737a";i:305;s:8:"d2d5022b";i:306;s:8:"eef762a7";i:307;s:8:"771fc2ed";i:308;s:8:"6581afb1";i:309;s:8:"64d7ffbd";i:310;s:8:"93a15a65";i:311;s:8:"fdc8b81b";i:312;s:8:"6369357b";i:313;s:8:"a8a58d2e";i:314;s:8:"d9ab2ed6";i:315;s:8:"0465340d";i:316;s:8:"eed4e3f1";i:317;s:8:"7e15ef9d";i:318;s:8:"99444e57";i:319;s:8:"959a6881";i:320;s:8:"e7498e10";i:321;s:8:"d7d0699e";i:322;s:8:"12372566";i:323;s:8:"b9f97c89";i:324;s:8:"5e688172";i:325;s:8:"8105e3b8";i:326;s:8:"627e9227";i:327;s:8:"67edb47d";i:328;s:8:"74e69d5f";i:329;s:8:"b8c5df2c";i:330;s:8:"14f06e80";i:331;s:8:"1a0af27f";i:332;s:8:"fa6ad68b";i:333;s:8:"d5938b0d";i:334;s:8:"2df9b8cc";i:335;s:8:"d90bd16c";i:336;s:8:"18779d24";i:337;s:8:"e1b81866";i:338;s:8:"dc51e106";i:339;s:8:"5078c0ce";i:340;s:8:"8fde3be3";i:341;s:8:"85939b08";i:342;s:8:"50f5565d";i:343;s:8:"281ec5f0";i:344;s:8:"ee2c4dfb";i:345;s:8:"89df2863";i:346;s:8:"0444ef85";i:347;s:8:"d52671b6";i:348;s:8:"84695c5d";i:349;s:8:"ceb19fc9";i:350;s:8:"8cd19595";i:351;s:8:"9773504b";i:352;s:8:"72031351";i:353;s:8:"285de56c";i:354;s:8:"08d949a1";i:355;s:8:"d1d24d60";i:356;s:8:"41c57eff";i:357;s:8:"ded22dfc";i:358;s:8:"9f799eb2";i:359;s:8:"ac14c164";i:360;s:8:"23ab3dac";i:361;s:8:"76de10e0";i:362;s:8:"72c2ac0b";i:363;s:8:"cce93127";i:364;s:8:"32bbb7e5";i:365;s:8:"b8af671a";i:366;s:8:"24dfc65a";i:367;s:8:"d7c8431f";i:368;s:8:"5cf3dffd";i:369;s:8:"7a93645c";i:370;s:8:"36bb66f8";i:371;s:8:"dc055709";i:372;s:8:"93c58efc";i:373;s:8:"11b9a1e6";i:374;s:8:"e487f36b";i:375;s:8:"7c3bcb46";i:376;s:8:"e4d724a3";i:377;s:8:"b732d653";i:378;s:8:"afc9c219";i:379;s:8:"ea658830";i:380;s:8:"b9052af6";i:381;s:8:"aa46a473";i:382;s:8:"1b37a35e";i:383;s:8:"0ba14ee9";i:384;s:8:"c7e150ac";i:385;s:8:"055ffa96";i:386;s:8:"e2bf88fb";i:387;s:8:"88f1f936";i:388;s:8:"488c7bdb";i:389;s:8:"a9dacbd1";i:390;s:8:"aaeea26f";i:391;s:8:"237af1cb";i:392;s:8:"e3dbdb50";i:393;s:8:"c8e5949e";i:394;s:8:"e70a989a";i:395;s:8:"fa540d6d";i:396;s:8:"f055b2f2";i:397;s:8:"1fc8acd4";i:398;s:8:"accb1a9b";i:399;s:8:"bedfb89c";i:400;s:8:"3d243ec0";i:401;s:8:"d2f3f2d8";i:402;s:8:"d83e7c53";i:403;s:8:"4f12e12d";i:404;s:8:"f48f33d1";i:405;s:8:"9555d943";i:406;s:8:"db853a55";i:407;s:8:"506a95b4";i:408;s:8:"408155d1";i:409;s:8:"32a384a0";i:410;s:8:"21c34eb4";i:411;s:8:"93e2e1ae";i:412;s:8:"88582a10";i:413;s:8:"1f065648";i:414;s:8:"96c3c81b";i:415;s:8:"412bc358";i:416;s:8:"11a4e990";i:417;s:8:"805ead73";i:418;s:8:"ec8ca56e";i:419;s:8:"a2ed4bdc";i:420;s:8:"ac408a10";i:421;s:8:"4ca98f96";i:422;s:8:"0686b6df";i:423;s:8:"9e9f7ae4";i:424;s:8:"07d5f658";i:425;s:8:"1c121a0c";i:426;s:8:"c11c8e82";i:427;s:8:"13f2c6d7";i:428;s:8:"e9f6ad9c";i:429;s:8:"bc1dc285";i:430;s:8:"e271fe4b";i:431;s:8:"34114ee5";i:432;s:8:"92ad1c39";i:433;s:8:"5ab5504b";i:434;s:8:"4f7118a7";i:435;s:8:"d1ceec2f";i:436;s:8:"adfd7622";i:437;s:8:"f4f4a9c0";i:438;s:8:"2d4f21e3";i:439;s:8:"3b4bed9e";i:440;s:8:"42ac5810";i:441;s:8:"7eae8db5";i:442;s:8:"09dc329e";i:443;s:8:"3c723314";i:444;s:8:"7fb50c08";i:445;s:8:"71fd69dd";i:446;s:8:"013ce542";i:447;s:8:"0add0d73";i:448;s:8:"465d495a";i:449;s:8:"9f8ddb9d";i:450;s:8:"f293e79e";i:451;s:8:"d6f59d72";i:452;s:8:"ac22e38f";i:453;s:8:"e96d5751";i:454;s:8:"fba79717";i:455;s:8:"39fedf2f";i:456;s:8:"3fb25196";i:457;s:8:"fcdaa825";i:458;s:8:"9a960022";i:459;s:8:"5371af3d";i:460;s:8:"df7faf0a";i:461;s:8:"82c22c85";i:462;s:8:"dfbbae9f";i:463;s:8:"403a4b84";i:464;s:8:"bc938282";i:465;s:8:"d2355fbc";i:466;s:8:"8d72b179";i:467;s:8:"dced02b2";i:468;s:8:"227b82e3";i:469;s:8:"24c60db6";i:470;s:8:"45092b73";i:471;s:8:"767c0e1d";i:472;s:8:"7eb5c592";i:473;s:8:"d0b356d9";i:474;s:8:"dc95ee45";i:475;s:8:"39aa5820";i:476;s:8:"9e6e1868";i:477;s:8:"ffe72d78";i:478;s:8:"82ae0503";i:479;s:8:"2ea981ad";i:480;s:8:"6935faba";i:481;s:8:"69c2ba98";i:482;s:8:"69dd219f";i:483;s:8:"860e0d0d";i:484;s:8:"5f451aa3";i:485;s:8:"a9d5f07d";i:486;s:8:"ec623682";i:487;s:8:"04d8adba";i:488;s:8:"717e8c76";i:489;s:8:"f9c1fb75";i:490;s:8:"ab4c9e06";i:491;s:8:"3895ef4d";i:492;s:8:"37c09060";i:493;s:8:"f3b7c652";i:494;s:8:"74dc421e";i:495;s:8:"97d458be";i:496;s:8:"1a1ddea1";i:497;s:8:"001c68ad";i:498;s:8:"680f033f";i:499;s:8:"b2e9bd38";i:500;s:8:"54192958";i:501;s:8:"b6dd0693";i:502;s:8:"9d149906";i:503;s:8:"9ba5479a";i:504;s:8:"18ba25e8";i:505;s:8:"16fa3e51";i:506;s:8:"1e74b698";i:507;s:8:"c5932028";i:508;s:8:"5a6cf6cd";i:509;s:8:"6fa90e13";i:510;s:8:"bcabdecb";i:511;s:8:"ae23af9a";i:512;s:8:"76b297eb";i:513;s:8:"d1332632";i:514;s:8:"693a55c3";i:515;s:8:"7c4beb9b";i:516;s:8:"409a0a15";i:517;s:8:"60f68335";i:518;s:8:"febcb934";i:519;s:8:"f32c6f8c";i:520;s:8:"aacacf0d";i:521;s:8:"d1f56e99";i:522;s:8:"d65bcf00";i:523;s:8:"361c9633";i:524;s:8:"cd34d7f4";i:525;s:8:"37d38e62";i:526;s:8:"942dee9d";i:527;s:8:"f41c9445";i:528;s:8:"7e9a8b5d";i:529;s:8:"4b941ed7";i:530;s:8:"c6256dce";i:531;s:8:"6c285146";i:532;s:8:"5920147e";i:533;s:8:"934d59ed";i:534;s:8:"5f400a1d";i:535;s:8:"1a5de58c";i:536;s:8:"11e601de";i:537;s:8:"cf4da287";i:538;s:8:"756a54e4";i:539;s:8:"9f2b1015";i:540;s:8:"3a3df642";i:541;s:8:"5d024d64";i:542;s:8:"2d617393";i:543;s:8:"e1b4ec53";i:544;s:8:"24996b5e";i:545;s:8:"7a271bf1";i:546;s:8:"68d7da60";i:547;s:8:"06d3bc73";i:548;s:8:"f21095f7";i:549;s:8:"93e6bfd9";i:550;s:8:"e80b015b";i:551;s:8:"4ddd4ede";i:552;s:8:"cec3d813";i:553;s:8:"281f2a65";i:554;s:8:"ffa068fb";i:555;s:8:"60e712e7";i:556;s:8:"4abcecac";i:557;s:8:"eef01060";i:558;s:8:"8e79e897";i:559;s:8:"b0cd39fe";i:560;s:8:"28cc9604";i:561;s:8:"c7bd58e0";i:562;s:8:"c73b1765";i:563;s:8:"e87d5e07";i:564;s:8:"03b7710d";i:565;s:8:"5f64c5dc";i:566;s:8:"4ae7b6f1";i:567;s:8:"401b9876";i:568;s:8:"9a162522";i:569;s:8:"2a1d6390";i:570;s:8:"c115eeff";i:571;s:8:"e549f7df";i:572;s:8:"a159c579";i:573;s:8:"48a44ff6";i:574;s:8:"e65fd1fc";i:575;s:8:"bb74cd7b";i:576;s:8:"87cc0383";i:577;s:8:"052755ee";i:578;s:8:"eba29b21";i:579;s:8:"88e2efa9";i:580;s:8:"a1a521b9";i:581;s:8:"ffb6f27b";i:582;s:8:"4fea3248";i:583;s:8:"0f46ad03";i:584;s:8:"58902f76";i:585;s:8:"cfb3f87e";i:586;s:8:"efb3d85c";i:587;s:8:"1e0f4648";i:588;s:8:"f95eda47";i:589;s:8:"c5220b0b";i:590;s:8:"e6574ef8";i:591;s:8:"f34b162e";i:592;s:8:"09b08b14";i:593;s:8:"dae53353";i:594;s:8:"ccc600dd";i:595;s:8:"b3ae8f4f";i:596;s:8:"daed379c";i:597;s:8:"113f5973";i:598;s:8:"6a66bb0a";i:599;s:8:"697817f3";i:600;s:8:"00b78167";i:601;s:8:"1e7c2ed9";i:602;s:8:"65f8a3c5";i:603;s:8:"c50f5c14";i:604;s:8:"a1665ca7";i:605;s:8:"d31c5017";i:606;s:8:"2e421193";i:607;s:8:"cb8d29a9";i:608;s:8:"fa9723b5";i:609;s:8:"8a4d18e4";i:610;s:8:"88081a19";i:611;s:8:"242623e4";i:612;s:8:"86202155";i:613;s:8:"ab55982f";i:614;s:8:"f1a3c261";i:615;s:8:"c44eaa91";i:616;s:8:"06c4716f";i:617;s:8:"60a25216";i:618;s:8:"dcce86a3";i:619;s:8:"bfcec0cd";i:620;s:8:"fb4170ed";i:621;s:8:"9bf5e563";i:622;s:8:"04fa51af";i:623;s:8:"dd86eeb1";i:624;i:0;i:625;i:2;}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } @@ -36,14 +36,14 @@ echo PHP_EOL, PHP_EOL; echo \Random\Engine\PcgOneseq128XslRr64::class, PHP_EOL; // malformed hex try { - unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:15:"c6d571c37c41a8d";i:1;s:16:"345e7e82265d6e27";}}'); + var_dump(unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:15:"c6d571c37c41a8d";i:1;s:16:"345e7e82265d6e27";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid hex try { - unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:16:"c6d571c37c41a8d1";i:1;s:16:"345e7e82265d6e2g";}}'); + var_dump(unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:16:"c6d571c37c41a8d1";i:1;s:16:"345e7e82265d6e2g";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } @@ -52,14 +52,28 @@ echo PHP_EOL, PHP_EOL; echo \Random\Engine\Xoshiro256StarStar::class, PHP_EOL; // malformed hex try { - unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:15:"db1c182f1bf60cb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}}'); + var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:15:"db1c182f1bf60cb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid hex try { - unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624g";}}'); + var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624g";}}')); +} catch (\Exception $e) { + echo $e->getMessage(), PHP_EOL; +} + +// additional array values (1) +try { + var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":3:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}i:2;N;}')); +} catch (\Exception $e) { + echo $e->getMessage(), PHP_EOL; +} + +// additional array values (2) +try { + var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:5:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";i:4;N;}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } @@ -81,3 +95,5 @@ Invalid serialization data for Random\Engine\PcgOneseq128XslRr64 object Random\Engine\Xoshiro256StarStar Invalid serialization data for Random\Engine\Xoshiro256StarStar object Invalid serialization data for Random\Engine\Xoshiro256StarStar object +Invalid serialization data for Random\Engine\Xoshiro256StarStar object +Invalid serialization data for Random\Engine\Xoshiro256StarStar object From 9bea5f443b96d9822fda2065bfbbf754232ff21b Mon Sep 17 00:00:00 2001 From: Mikhail Galanin Date: Fri, 2 Sep 2022 17:29:56 +0100 Subject: [PATCH 223/229] Add "Start time", "Last restart time" and "Last force restart time" to phpinfo() for opcache. Closes GH-9475. --- NEWS | 4 ++++ ext/opcache/zend_accelerator_module.c | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/NEWS b/NEWS index fccdffb90fca2..011f3fe666e53 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.3.0alpha1 +- Opcache: + . Added start, restart and force restart time to opcache's + phpinfo section. (Mikhail Galanin) + - Posix: . Added posix_sysconf. (David Carlier) diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c index 270ceda7c6293..2eb0b38a7a38b 100644 --- a/ext/opcache/zend_accelerator_module.c +++ b/ext/opcache/zend_accelerator_module.c @@ -31,6 +31,7 @@ #include "zend_virtual_cwd.h" #include "ext/standard/info.h" #include "ext/standard/php_filestat.h" +#include "ext/date/php_date.h" #include "opcache_arginfo.h" #if HAVE_JIT @@ -481,6 +482,9 @@ void zend_accel_info(ZEND_MODULE_INFO_FUNC_ARGS) php_info_print_table_row(2, "Startup Failed", zps_api_failure_reason); } else { char buf[32]; + zend_string *start_time, *restart_time, *force_restart_time; + zval *date_ISO8601 = zend_get_constant_str("DATE_ISO8601", sizeof("DATE_ISO8601")-1); + php_info_print_table_row(2, "Startup", "OK"); php_info_print_table_row(2, "Shared memory model", zend_accel_get_shared_model()); snprintf(buf, sizeof(buf), ZEND_ULONG_FMT, ZCSG(hits)); @@ -511,6 +515,26 @@ void zend_accel_info(ZEND_MODULE_INFO_FUNC_ARGS) php_info_print_table_row(2, "Hash keys restarts", buf); snprintf(buf, sizeof(buf), ZEND_ULONG_FMT, ZCSG(manual_restarts)); php_info_print_table_row(2, "Manual restarts", buf); + + start_time = php_format_date(Z_STRVAL_P(date_ISO8601), Z_STRLEN_P(date_ISO8601), ZCSG(start_time), 1); + php_info_print_table_row(2, "Start time", ZSTR_VAL(start_time)); + zend_string_release(start_time); + + if (ZCSG(last_restart_time)) { + restart_time = php_format_date(Z_STRVAL_P(date_ISO8601), Z_STRLEN_P(date_ISO8601), ZCSG(last_restart_time), 1); + php_info_print_table_row(2, "Last restart time", ZSTR_VAL(restart_time)); + zend_string_release(restart_time); + } else { + php_info_print_table_row(2, "Last restart time", "none"); + } + + if (ZCSG(force_restart_time)) { + force_restart_time = php_format_date(Z_STRVAL_P(date_ISO8601), Z_STRLEN_P(date_ISO8601), ZCSG(force_restart_time), 1); + php_info_print_table_row(2, "Last force restart time", ZSTR_VAL(force_restart_time)); + zend_string_release(force_restart_time); + } else { + php_info_print_table_row(2, "Last force restart time", "none"); + } } } From 03fd405423a25710ea68bcfc32f3b76443569bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Tue, 6 Sep 2022 08:48:22 +0200 Subject: [PATCH 224/229] Use php_info_print_table_header for actual column headers only (#9485) Using php_info_print_table_header() for "Foo: bar" looks odd and out of place, because the whole line is colored. It is also questionable from a HTML semantics point of view, because it does not described the columns that follow. The use of this across extensions is inconsistent. It was part of the skeleton, but ext/date or ext/json already use a regular row. --- ext/com_dotnet/com_extension.c | 8 ++++---- ext/dl_test/dl_test.c | 2 +- ext/ffi/ffi.c | 2 +- ext/intl/php_intl.c | 2 +- ext/mysqli/mysqli.c | 2 +- ext/mysqlnd/php_mysqlnd.c | 2 +- ext/odbc/php_odbc.c | 2 +- ext/pcntl/pcntl.c | 2 +- ext/pdo/pdo.c | 2 +- ext/pdo_dblib/pdo_dblib.c | 2 +- ext/pdo_firebird/pdo_firebird.c | 2 +- ext/pdo_mysql/pdo_mysql.c | 2 +- ext/pdo_oci/pdo_oci.c | 2 +- ext/pdo_odbc/pdo_odbc.c | 2 +- ext/pdo_sqlite/pdo_sqlite.c | 2 +- ext/pgsql/pgsql.c | 2 +- ext/phar/phar.c | 2 +- ext/readline/readline_cli.c | 2 +- ext/skeleton/skeleton.c | 2 +- ext/sodium/libsodium.c | 2 +- ext/spl/php_spl.c | 2 +- ext/sqlite3/sqlite3.c | 2 +- ext/zend_test/test.c | 2 +- ext/zlib/zlib.c | 2 +- 24 files changed, 27 insertions(+), 27 deletions(-) diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index fcf9b3bd95ced..7d7dfd536d980 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -256,13 +256,13 @@ PHP_MINFO_FUNCTION(com_dotnet) { php_info_print_table_start(); - php_info_print_table_header(2, "COM support", "enabled"); - php_info_print_table_header(2, "DCOM support", COMG(allow_dcom) ? "enabled" : "disabled"); + php_info_print_table_row(2, "COM support", "enabled"); + php_info_print_table_row(2, "DCOM support", COMG(allow_dcom) ? "enabled" : "disabled"); #if HAVE_MSCOREE_H - php_info_print_table_header(2, ".Net support", "enabled"); + php_info_print_table_row(2, ".Net support", "enabled"); #else - php_info_print_table_header(2, ".Net support", "not present in this build"); + php_info_print_table_row(2, ".Net support", "not present in this build"); #endif php_info_print_table_end(); diff --git a/ext/dl_test/dl_test.c b/ext/dl_test/dl_test.c index 4b693fae43163..b5e523ac77246 100644 --- a/ext/dl_test/dl_test.c +++ b/ext/dl_test/dl_test.c @@ -123,7 +123,7 @@ PHP_RINIT_FUNCTION(dl_test) PHP_MINFO_FUNCTION(dl_test) { php_info_print_table_start(); - php_info_print_table_header(2, "dl_test support", "enabled"); + php_info_print_table_row(2, "dl_test support", "enabled"); php_info_print_table_end(); DISPLAY_INI_ENTRIES(); diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c index edad7465f8cfa..90d3adc35bc60 100644 --- a/ext/ffi/ffi.c +++ b/ext/ffi/ffi.c @@ -5465,7 +5465,7 @@ ZEND_RSHUTDOWN_FUNCTION(ffi) ZEND_MINFO_FUNCTION(ffi) { php_info_print_table_start(); - php_info_print_table_header(2, "FFI support", "enabled"); + php_info_print_table_row(2, "FFI support", "enabled"); php_info_print_table_end(); DISPLAY_INI_ENTRIES(); diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index b12583e35bbd6..5bee051441f26 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -257,7 +257,7 @@ PHP_MINFO_FUNCTION( intl ) #endif php_info_print_table_start(); - php_info_print_table_header( 2, "Internationalization support", "enabled" ); + php_info_print_table_row( 2, "Internationalization support", "enabled" ); php_info_print_table_row( 2, "ICU version", U_ICU_VERSION ); #ifdef U_ICU_DATA_VERSION php_info_print_table_row( 2, "ICU Data version", U_ICU_DATA_VERSION ); diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 8d2d2b8847b0e..34cbcad381a9f 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -588,7 +588,7 @@ PHP_MINFO_FUNCTION(mysqli) char buf[32]; php_info_print_table_start(); - php_info_print_table_header(2, "MysqlI Support", "enabled"); + php_info_print_table_row(2, "MysqlI Support", "enabled"); php_info_print_table_row(2, "Client API library version", mysql_get_client_info()); snprintf(buf, sizeof(buf), ZEND_LONG_FMT, MyG(num_active_persistent)); php_info_print_table_row(2, "Active Persistent Links", buf); diff --git a/ext/mysqlnd/php_mysqlnd.c b/ext/mysqlnd/php_mysqlnd.c index 368c253a64f9f..3520e2ee23bb7 100644 --- a/ext/mysqlnd/php_mysqlnd.c +++ b/ext/mysqlnd/php_mysqlnd.c @@ -79,7 +79,7 @@ PHP_MINFO_FUNCTION(mysqlnd) char buf[32]; php_info_print_table_start(); - php_info_print_table_header(2, "mysqlnd", "enabled"); + php_info_print_table_row(2, "mysqlnd", "enabled"); php_info_print_table_row(2, "Version", mysqlnd_get_client_info()); php_info_print_table_row(2, "Compression", #ifdef MYSQLND_COMPRESSION_ENABLED diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 5e0945e0a43de..3190b14d68151 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -438,7 +438,7 @@ PHP_MINFO_FUNCTION(odbc) char buf[32]; php_info_print_table_start(); - php_info_print_table_header(2, "ODBC Support", "enabled"); + php_info_print_table_row(2, "ODBC Support", "enabled"); snprintf(buf, sizeof(buf), ZEND_LONG_FMT, ODBCG(num_persistent)); php_info_print_table_row(2, "Active Persistent Links", buf); snprintf(buf, sizeof(buf), ZEND_LONG_FMT, ODBCG(num_links)); diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c index 6a455dbdb3a9b..e35de72d3af06 100644 --- a/ext/pcntl/pcntl.c +++ b/ext/pcntl/pcntl.c @@ -160,7 +160,7 @@ PHP_RSHUTDOWN_FUNCTION(pcntl) PHP_MINFO_FUNCTION(pcntl) { php_info_print_table_start(); - php_info_print_table_header(2, "pcntl support", "enabled"); + php_info_print_table_row(2, "pcntl support", "enabled"); php_info_print_table_end(); } diff --git a/ext/pdo/pdo.c b/ext/pdo/pdo.c index e8738db9f85ad..918036f54af8d 100644 --- a/ext/pdo/pdo.c +++ b/ext/pdo/pdo.c @@ -275,7 +275,7 @@ PHP_MINFO_FUNCTION(pdo) pdo_driver_t *pdriver; php_info_print_table_start(); - php_info_print_table_header(2, "PDO support", "enabled"); + php_info_print_table_row(2, "PDO support", "enabled"); ZEND_HASH_MAP_FOREACH_PTR(&pdo_driver_hash, pdriver) { spprintf(&drivers, 0, "%s, %s", ldrivers, pdriver->driver_name); diff --git a/ext/pdo_dblib/pdo_dblib.c b/ext/pdo_dblib/pdo_dblib.c index e0f204cb39be9..3230f9151bf4d 100644 --- a/ext/pdo_dblib/pdo_dblib.c +++ b/ext/pdo_dblib/pdo_dblib.c @@ -223,7 +223,7 @@ PHP_MSHUTDOWN_FUNCTION(pdo_dblib) PHP_MINFO_FUNCTION(pdo_dblib) { php_info_print_table_start(); - php_info_print_table_header(2, "PDO Driver for " + php_info_print_table_row(2, "PDO Driver for " #ifdef PDO_DBLIB_IS_MSSQL "MSSQL" #elif defined(PHP_WIN32) diff --git a/ext/pdo_firebird/pdo_firebird.c b/ext/pdo_firebird/pdo_firebird.c index 9b8ca1394bee1..efbebccb0e127 100644 --- a/ext/pdo_firebird/pdo_firebird.c +++ b/ext/pdo_firebird/pdo_firebird.c @@ -85,7 +85,7 @@ PHP_MINFO_FUNCTION(pdo_firebird) /* {{{ */ isc_get_client_version(version); php_info_print_table_start(); - php_info_print_table_header(2, "PDO Driver for Firebird", "enabled"); + php_info_print_table_row(2, "PDO Driver for Firebird", "enabled"); php_info_print_table_row(2, "Client Library Version", version); php_info_print_table_end(); } diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c index 2d94b71fef782..7aa39ca35a6bd 100644 --- a/ext/pdo_mysql/pdo_mysql.c +++ b/ext/pdo_mysql/pdo_mysql.c @@ -153,7 +153,7 @@ static PHP_MINFO_FUNCTION(pdo_mysql) { php_info_print_table_start(); - php_info_print_table_header(2, "PDO Driver for MySQL", "enabled"); + php_info_print_table_row(2, "PDO Driver for MySQL", "enabled"); php_info_print_table_row(2, "Client API version", mysql_get_client_info()); php_info_print_table_end(); diff --git a/ext/pdo_oci/pdo_oci.c b/ext/pdo_oci/pdo_oci.c index 125f4ce5704bb..deb73e05f296c 100644 --- a/ext/pdo_oci/pdo_oci.c +++ b/ext/pdo_oci/pdo_oci.c @@ -147,7 +147,7 @@ PHP_MSHUTDOWN_FUNCTION(pdo_oci) PHP_MINFO_FUNCTION(pdo_oci) { php_info_print_table_start(); - php_info_print_table_header(2, "PDO Driver for OCI 8 and later", "enabled"); + php_info_print_table_row(2, "PDO Driver for OCI 8 and later", "enabled"); php_info_print_table_end(); } /* }}} */ diff --git a/ext/pdo_odbc/pdo_odbc.c b/ext/pdo_odbc/pdo_odbc.c index 12874c8bd8747..98e684bc5a95b 100644 --- a/ext/pdo_odbc/pdo_odbc.c +++ b/ext/pdo_odbc/pdo_odbc.c @@ -118,7 +118,7 @@ PHP_MSHUTDOWN_FUNCTION(pdo_odbc) PHP_MINFO_FUNCTION(pdo_odbc) { php_info_print_table_start(); - php_info_print_table_header(2, "PDO Driver for ODBC (" PDO_ODBC_TYPE ")" , "enabled"); + php_info_print_table_row(2, "PDO Driver for ODBC (" PDO_ODBC_TYPE ")" , "enabled"); #ifdef SQL_ATTR_CONNECTION_POOLING php_info_print_table_row(2, "ODBC Connection Pooling", pdo_odbc_pool_on == SQL_CP_OFF ? "Disabled" : (pdo_odbc_pool_mode == SQL_CP_STRICT_MATCH ? "Enabled, strict matching" : "Enabled, relaxed matching")); diff --git a/ext/pdo_sqlite/pdo_sqlite.c b/ext/pdo_sqlite/pdo_sqlite.c index 81761b1370937..6da7708576368 100644 --- a/ext/pdo_sqlite/pdo_sqlite.c +++ b/ext/pdo_sqlite/pdo_sqlite.c @@ -84,7 +84,7 @@ PHP_MSHUTDOWN_FUNCTION(pdo_sqlite) PHP_MINFO_FUNCTION(pdo_sqlite) { php_info_print_table_start(); - php_info_print_table_header(2, "PDO Driver for SQLite 3.x", "enabled"); + php_info_print_table_row(2, "PDO Driver for SQLite 3.x", "enabled"); php_info_print_table_row(2, "SQLite Library", sqlite3_libversion()); php_info_print_table_end(); } diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 94b53df711f1c..aeaa5db70f1f5 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -512,7 +512,7 @@ PHP_MINFO_FUNCTION(pgsql) char buf[256]; php_info_print_table_start(); - php_info_print_table_header(2, "PostgreSQL Support", "enabled"); + php_info_print_table_row(2, "PostgreSQL Support", "enabled"); php_info_print_table_row(2, "PostgreSQL (libpq) Version", pgsql_libpq_version); #ifdef HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT php_info_print_table_row(2, "Multibyte character support", "enabled"); diff --git a/ext/phar/phar.c b/ext/phar/phar.c index 6d5790e3089c4..087eae4a6d89f 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -3565,7 +3565,7 @@ PHP_MINFO_FUNCTION(phar) /* {{{ */ { phar_request_initialize(); php_info_print_table_start(); - php_info_print_table_header(2, "Phar: PHP Archive support", "enabled"); + php_info_print_table_row(2, "Phar: PHP Archive support", "enabled"); php_info_print_table_row(2, "Phar API version", PHP_PHAR_API_VERSION); php_info_print_table_row(2, "Phar-based phar archives", "enabled"); php_info_print_table_row(2, "Tar-based phar archives", "enabled"); diff --git a/ext/readline/readline_cli.c b/ext/readline/readline_cli.c index 84b261db34283..4afe7be3f667c 100644 --- a/ext/readline/readline_cli.c +++ b/ext/readline/readline_cli.c @@ -800,7 +800,7 @@ PHP_MSHUTDOWN_FUNCTION(cli_readline) PHP_MINFO_FUNCTION(cli_readline) { php_info_print_table_start(); - php_info_print_table_header(2, "Readline Support", "enabled"); + php_info_print_table_row(2, "Readline Support", "enabled"); #ifdef PHP_WIN32 php_info_print_table_row(2, "Readline library", "WinEditLine"); #else diff --git a/ext/skeleton/skeleton.c b/ext/skeleton/skeleton.c index a11914cdf5013..b08c9f09c55f7 100644 --- a/ext/skeleton/skeleton.c +++ b/ext/skeleton/skeleton.c @@ -58,7 +58,7 @@ PHP_RINIT_FUNCTION(%EXTNAME%) PHP_MINFO_FUNCTION(%EXTNAME%) { php_info_print_table_start(); - php_info_print_table_header(2, "%EXTNAME% support", "enabled"); + php_info_print_table_row(2, "%EXTNAME% support", "enabled"); php_info_print_table_end(); } /* }}} */ diff --git a/ext/sodium/libsodium.c b/ext/sodium/libsodium.c index 944ef28fc3a43..6eb10f7571358 100644 --- a/ext/sodium/libsodium.c +++ b/ext/sodium/libsodium.c @@ -184,7 +184,7 @@ PHP_MSHUTDOWN_FUNCTION(sodium) PHP_MINFO_FUNCTION(sodium) { php_info_print_table_start(); - php_info_print_table_header(2, "sodium support", "enabled"); + php_info_print_table_row(2, "sodium support", "enabled"); php_info_print_table_row(2, "libsodium headers version", SODIUM_VERSION_STRING); php_info_print_table_row(2, "libsodium library version", sodium_version_string()); php_info_print_table_end(); diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index f0eb927cf10e6..3268273e28931 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -670,7 +670,7 @@ PHP_MINFO_FUNCTION(spl) char *strg; php_info_print_table_start(); - php_info_print_table_header(2, "SPL support", "enabled"); + php_info_print_table_row(2, "SPL support", "enabled"); array_init(&list); SPL_LIST_CLASSES(&list, 0, 1, ZEND_ACC_INTERFACE) diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 03dc225d22d39..1d00bc758ff0e 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -2406,7 +2406,7 @@ PHP_MSHUTDOWN_FUNCTION(sqlite3) PHP_MINFO_FUNCTION(sqlite3) { php_info_print_table_start(); - php_info_print_table_header(2, "SQLite3 support", "enabled"); + php_info_print_table_row(2, "SQLite3 support", "enabled"); php_info_print_table_row(2, "SQLite Library", sqlite3_libversion()); php_info_print_table_end(); diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c index a4a6ba07fc444..e081f7db46c67 100644 --- a/ext/zend_test/test.c +++ b/ext/zend_test/test.c @@ -804,7 +804,7 @@ static PHP_GSHUTDOWN_FUNCTION(zend_test) PHP_MINFO_FUNCTION(zend_test) { php_info_print_table_start(); - php_info_print_table_header(2, "zend_test extension", "enabled"); + php_info_print_table_row(2, "zend_test extension", "enabled"); php_info_print_table_end(); DISPLAY_INI_ENTRIES(); diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 134892a14f900..0cc566b544d00 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -1404,7 +1404,7 @@ static PHP_RSHUTDOWN_FUNCTION(zlib) static PHP_MINFO_FUNCTION(zlib) { php_info_print_table_start(); - php_info_print_table_header(2, "ZLib Support", "enabled"); + php_info_print_table_row(2, "ZLib Support", "enabled"); php_info_print_table_row(2, "Stream Wrapper", "compress.zlib://"); php_info_print_table_row(2, "Stream Filter", "zlib.inflate, zlib.deflate"); php_info_print_table_row(2, "Compiled Version", ZLIB_VERSION); From 1ad59b32c20386e11d23ade7abf16bebb0bf60e8 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 30 Aug 2022 15:51:21 +0100 Subject: [PATCH 225/229] Update INI validator and displayers depending on INI type Closes GH-9451 --- ext/dl_test/dl_test.c | 4 ++-- ext/ffi/ffi.c | 2 +- ext/gd/gd.c | 2 +- ext/mysqli/mysqli.c | 4 ++-- ext/odbc/php_odbc.c | 4 ++-- ext/pcre/php_pcre.c | 2 +- ext/session/session.c | 10 +++++----- ext/tidy/tidy.c | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ext/dl_test/dl_test.c b/ext/dl_test/dl_test.c index 4b693fae43163..5d4833c741acb 100644 --- a/ext/dl_test/dl_test.c +++ b/ext/dl_test/dl_test.c @@ -71,8 +71,8 @@ static const zend_function_entry php_dl_test_use_register_functions_directly_fun /* {{{ INI */ PHP_INI_BEGIN() - STD_PHP_INI_BOOLEAN("dl_test.long", "0", PHP_INI_ALL, OnUpdateLong, long_value, zend_dl_test_globals, dl_test_globals) - STD_PHP_INI_ENTRY("dl_test.string", "hello", PHP_INI_ALL, OnUpdateString, string_value, zend_dl_test_globals, dl_test_globals) + STD_PHP_INI_ENTRY("dl_test.long", "0", PHP_INI_ALL, OnUpdateLong, long_value, zend_dl_test_globals, dl_test_globals) + STD_PHP_INI_ENTRY("dl_test.string", "hello", PHP_INI_ALL, OnUpdateString, string_value, zend_dl_test_globals, dl_test_globals) PHP_INI_END() /* }}} */ diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c index edad7465f8cfa..35c4f6ec1af18 100644 --- a/ext/ffi/ffi.c +++ b/ext/ffi/ffi.c @@ -5179,7 +5179,7 @@ static ZEND_INI_DISP(zend_ffi_enable_displayer_cb) /* {{{ */ /* }}} */ ZEND_INI_BEGIN() - ZEND_INI_ENTRY3_EX("ffi.enable", "preload", ZEND_INI_SYSTEM, OnUpdateFFIEnable, NULL, NULL, NULL, zend_ffi_enable_displayer_cb) + ZEND_INI_ENTRY_EX("ffi.enable", "preload", ZEND_INI_SYSTEM, OnUpdateFFIEnable, zend_ffi_enable_displayer_cb) STD_ZEND_INI_ENTRY("ffi.preload", NULL, ZEND_INI_SYSTEM, OnUpdateString, preload, zend_ffi_globals, ffi_globals) ZEND_INI_END() diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 31e8fd9eb0872..97c8d360a2155 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -307,7 +307,7 @@ ZEND_GET_MODULE(gd) /* {{{ PHP_INI_BEGIN */ PHP_INI_BEGIN() - PHP_INI_ENTRY("gd.jpeg_ignore_warning", "1", PHP_INI_ALL, NULL) + PHP_INI_ENTRY_EX("gd.jpeg_ignore_warning", "1", PHP_INI_ALL, NULL, zend_ini_boolean_displayer_cb) PHP_INI_END() /* }}} */ diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 8d2d2b8847b0e..9fa46acbb7d29 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -430,7 +430,7 @@ static const MYSQLND_REVERSE_API mysqli_reverse_api = { PHP_INI_BEGIN() STD_PHP_INI_ENTRY_EX("mysqli.max_links", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_links, zend_mysqli_globals, mysqli_globals, display_link_numbers) STD_PHP_INI_ENTRY_EX("mysqli.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_persistent, zend_mysqli_globals, mysqli_globals, display_link_numbers) - STD_PHP_INI_BOOLEAN("mysqli.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_persistent, zend_mysqli_globals, mysqli_globals) + STD_PHP_INI_BOOLEAN("mysqli.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_persistent, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_BOOLEAN("mysqli.rollback_on_cached_plink", "0",PHP_INI_SYSTEM, OnUpdateBool, rollback_on_cached_plink, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_ENTRY("mysqli.default_host", NULL, PHP_INI_ALL, OnUpdateString, default_host, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_ENTRY("mysqli.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_mysqli_globals, mysqli_globals) @@ -441,7 +441,7 @@ PHP_INI_BEGIN() #else STD_PHP_INI_ENTRY("mysqli.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysqli_globals, mysqli_globals) #endif - STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "0", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysqli_globals, mysqli_globals) + STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "0", PHP_INI_SYSTEM, OnUpdateBool, allow_local_infile, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_ENTRY("mysqli.local_infile_directory", NULL, PHP_INI_SYSTEM, OnUpdateString, local_infile_directory, zend_mysqli_globals, mysqli_globals) PHP_INI_END() /* }}} */ diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 5e0945e0a43de..cf25ef7cdee4e 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -349,7 +349,7 @@ static PHP_INI_DISP(display_cursortype) /* {{{ PHP_INI_BEGIN */ PHP_INI_BEGIN() - STD_PHP_INI_BOOLEAN("odbc.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, + STD_PHP_INI_BOOLEAN("odbc.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_persistent, zend_odbc_globals, odbc_globals) STD_PHP_INI_ENTRY_EX("odbc.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_persistent, zend_odbc_globals, odbc_globals, display_link_nums) @@ -365,7 +365,7 @@ PHP_INI_BEGIN() defaultlrl, zend_odbc_globals, odbc_globals, display_lrl) STD_PHP_INI_ENTRY_EX("odbc.defaultbinmode", "1", PHP_INI_ALL, OnUpdateLong, defaultbinmode, zend_odbc_globals, odbc_globals, display_binmode) - STD_PHP_INI_BOOLEAN("odbc.check_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, + STD_PHP_INI_BOOLEAN("odbc.check_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, check_persistent, zend_odbc_globals, odbc_globals) STD_PHP_INI_ENTRY_EX("odbc.default_cursortype", "3", PHP_INI_ALL, OnUpdateLong, default_cursortype, zend_odbc_globals, odbc_globals, display_cursortype) diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index f1d821e050692..f4fd60e96ebef 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -369,7 +369,7 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY("pcre.backtrack_limit", "1000000", PHP_INI_ALL, OnUpdateBacktrackLimit, backtrack_limit, zend_pcre_globals, pcre_globals) STD_PHP_INI_ENTRY("pcre.recursion_limit", "100000", PHP_INI_ALL, OnUpdateRecursionLimit, recursion_limit, zend_pcre_globals, pcre_globals) #ifdef HAVE_PCRE_JIT_SUPPORT - STD_PHP_INI_ENTRY("pcre.jit", "1", PHP_INI_ALL, OnUpdateJit, jit, zend_pcre_globals, pcre_globals) + STD_PHP_INI_BOOLEAN("pcre.jit", "1", PHP_INI_ALL, OnUpdateJit, jit, zend_pcre_globals, pcre_globals) #endif PHP_INI_END() diff --git a/ext/session/session.c b/ext/session/session.c index 745532f1626f1..e56c15dcbe37d 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -782,12 +782,12 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY("session.cookie_lifetime", "0", PHP_INI_ALL, OnUpdateCookieLifetime,cookie_lifetime, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_path", "/", PHP_INI_ALL, OnUpdateSessionString, cookie_path, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_domain", "", PHP_INI_ALL, OnUpdateSessionString, cookie_domain, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.cookie_secure", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_secure, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.cookie_httponly", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_httponly, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.cookie_secure", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_secure, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.cookie_httponly", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_httponly, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_samesite", "", PHP_INI_ALL, OnUpdateSessionString, cookie_samesite, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.use_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_cookies, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.use_only_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_only_cookies, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.use_strict_mode", "0", PHP_INI_ALL, OnUpdateSessionBool, use_strict_mode, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.use_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_cookies, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.use_only_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_only_cookies, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.use_strict_mode", "0", PHP_INI_ALL, OnUpdateSessionBool, use_strict_mode, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.referer_check", "", PHP_INI_ALL, OnUpdateSessionString, extern_referer_chk, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cache_limiter", "nocache", PHP_INI_ALL, OnUpdateSessionString, cache_limiter, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cache_expire", "180", PHP_INI_ALL, OnUpdateSessionLong, cache_expire, php_ps_globals, ps_globals) diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index a4ed9c505efba..535ac785cacac 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -168,7 +168,7 @@ ZEND_DECLARE_MODULE_GLOBALS(tidy) PHP_INI_BEGIN() STD_PHP_INI_ENTRY("tidy.default_config", "", PHP_INI_SYSTEM, OnUpdateString, default_config, zend_tidy_globals, tidy_globals) -STD_PHP_INI_ENTRY("tidy.clean_output", "0", PHP_INI_USER, php_tidy_set_clean_output, clean_output, zend_tidy_globals, tidy_globals) +STD_PHP_INI_BOOLEAN("tidy.clean_output", "0", PHP_INI_USER, php_tidy_set_clean_output, clean_output, zend_tidy_globals, tidy_globals) PHP_INI_END() static zend_class_entry *tidy_ce_doc, *tidy_ce_node; From 5011a185b5018592a15fee926ea95153817d9191 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 30 Aug 2022 18:03:16 +0100 Subject: [PATCH 226/229] Update globals to use bool type --- ext/mysqli/php_mysqli_structs.h | 4 ++-- ext/odbc/php_odbc_includes.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/mysqli/php_mysqli_structs.h b/ext/mysqli/php_mysqli_structs.h index c57a26603c49c..7495cc8bda733 100644 --- a/ext/mysqli/php_mysqli_structs.h +++ b/ext/mysqli/php_mysqli_structs.h @@ -241,13 +241,13 @@ ZEND_BEGIN_MODULE_GLOBALS(mysqli) zend_long num_active_persistent; zend_long num_inactive_persistent; zend_long max_persistent; - zend_long allow_persistent; + bool allow_persistent; zend_ulong default_port; char *default_host; char *default_user; char *default_pw; char *default_socket; - zend_long allow_local_infile; + bool allow_local_infile; char *local_infile_directory; zend_long error_no; char *error_msg; diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h index 78dffeda438d7..21c74d317c68c 100644 --- a/ext/odbc/php_odbc_includes.h +++ b/ext/odbc/php_odbc_includes.h @@ -228,8 +228,8 @@ ZEND_BEGIN_MODULE_GLOBALS(odbc) char *defDB; char *defUser; char *defPW; - zend_long allow_persistent; - zend_long check_persistent; + bool allow_persistent; + bool check_persistent; zend_long max_persistent; zend_long max_links; zend_long num_persistent; From 3e362f51ac29c21423db2f946c3d103980cd1c7b Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sat, 13 Aug 2022 15:32:25 +0100 Subject: [PATCH 227/229] Add zend_string INI validators Currently we only have validators for char* which is rather annoying as INI settings are saved as zend_string* in the first place Closes GH-9328 --- Zend/zend_ini.c | 20 +++++++++++ Zend/zend_ini.h | 4 +++ ext/zend_test/php_test.h | 2 ++ ext/zend_test/test.c | 9 +++++ ext/zend_test/test.stub.php | 2 ++ ext/zend_test/test_arginfo.h | 6 +++- .../tests/zend_ini_str_validator_basic.phpt | 33 +++++++++++++++++++ ...nd_ini_str_validator_return_from_func.phpt | 10 ++++++ 8 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 ext/zend_test/tests/zend_ini_str_validator_basic.phpt create mode 100644 ext/zend_test/tests/zend_ini_str_validator_return_from_func.phpt diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c index ee42093c988b0..2086665e04fb3 100644 --- a/Zend/zend_ini.c +++ b/Zend/zend_ini.c @@ -876,3 +876,23 @@ ZEND_API ZEND_INI_MH(OnUpdateStringUnempty) /* {{{ */ return SUCCESS; } /* }}} */ + +ZEND_API ZEND_INI_MH(OnUpdateStr) /* {{{ */ +{ + zend_string **p = (zend_string **) ZEND_INI_GET_ADDR(); + *p = new_value; + return SUCCESS; +} +/* }}} */ + +ZEND_API ZEND_INI_MH(OnUpdateStrNotEmpty) /* {{{ */ +{ + if (new_value && ZSTR_LEN(new_value) == 0) { + return FAILURE; + } + + zend_string **p = (zend_string **) ZEND_INI_GET_ADDR(); + *p = new_value; + return SUCCESS; +} +/* }}} */ diff --git a/Zend/zend_ini.h b/Zend/zend_ini.h index a371b285764d6..56939fa9ea8cb 100644 --- a/Zend/zend_ini.h +++ b/Zend/zend_ini.h @@ -209,8 +209,12 @@ ZEND_API ZEND_INI_MH(OnUpdateBool); ZEND_API ZEND_INI_MH(OnUpdateLong); ZEND_API ZEND_INI_MH(OnUpdateLongGEZero); ZEND_API ZEND_INI_MH(OnUpdateReal); +/* char* versions */ ZEND_API ZEND_INI_MH(OnUpdateString); ZEND_API ZEND_INI_MH(OnUpdateStringUnempty); +/* zend_string* versions */ +ZEND_API ZEND_INI_MH(OnUpdateStr); +ZEND_API ZEND_INI_MH(OnUpdateStrNotEmpty); END_EXTERN_C() #define ZEND_INI_DISPLAY_ORIG 1 diff --git a/ext/zend_test/php_test.h b/ext/zend_test/php_test.h index 70ec15ec0dc8f..a5b11a6041dd6 100644 --- a/ext/zend_test/php_test.h +++ b/ext/zend_test/php_test.h @@ -55,6 +55,8 @@ ZEND_BEGIN_MODULE_GLOBALS(zend_test) bool print_stderr_mshutdown; zend_test_fiber *active_fiber; zend_long quantity_value; + zend_string *str_test; + zend_string *not_empty_str_test; ZEND_END_MODULE_GLOBALS(zend_test) extern ZEND_DECLARE_MODULE_GLOBALS(zend_test) diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c index a4a6ba07fc444..5b5ac04c45807 100644 --- a/ext/zend_test/test.c +++ b/ext/zend_test/test.c @@ -415,6 +415,13 @@ static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity) } } +static ZEND_FUNCTION(zend_test_zend_ini_str) +{ + ZEND_PARSE_PARAMETERS_NONE(); + + RETURN_STR(ZT_G(str_test)); +} + static ZEND_FUNCTION(ZendTestNS2_namespaced_func) { ZEND_PARSE_PARAMETERS_NONE(); @@ -632,6 +639,8 @@ PHP_INI_BEGIN() STD_PHP_INI_BOOLEAN("zend_test.register_passes", "0", PHP_INI_SYSTEM, OnUpdateBool, register_passes, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_BOOLEAN("zend_test.print_stderr_mshutdown", "0", PHP_INI_SYSTEM, OnUpdateBool, print_stderr_mshutdown, zend_zend_test_globals, zend_test_globals) STD_PHP_INI_ENTRY("zend_test.quantity_value", "0", PHP_INI_ALL, OnUpdateLong, quantity_value, zend_zend_test_globals, zend_test_globals) + STD_PHP_INI_ENTRY("zend_test.str_test", "", PHP_INI_ALL, OnUpdateStr, str_test, zend_zend_test_globals, zend_test_globals) + STD_PHP_INI_ENTRY("zend_test.not_empty_str_test", "val", PHP_INI_ALL, OnUpdateStrNotEmpty, not_empty_str_test, zend_zend_test_globals, zend_test_globals) PHP_INI_END() void (*old_zend_execute_ex)(zend_execute_data *execute_data); diff --git a/ext/zend_test/test.stub.php b/ext/zend_test/test.stub.php index 49efae473dd4a..47442dcaab48d 100644 --- a/ext/zend_test/test.stub.php +++ b/ext/zend_test/test.stub.php @@ -152,6 +152,8 @@ function zend_call_method(object|string $obj_or_class, string $method, mixed $ar function zend_test_zend_ini_parse_quantity(string $str): int {} function zend_test_zend_ini_parse_uquantity(string $str): int {} + + function zend_test_zend_ini_str(): string {} } namespace ZendTestNS { diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h index 0451daab66e3f..84b73abbc5516 100644 --- a/ext/zend_test/test_arginfo.h +++ b/ext/zend_test/test_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 05927aba1708d8718cb59dcadc7b4067323956d2 */ + * Stub hash: d8c0689141c897c3f31d00550128df7b8c00274f */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -95,6 +95,8 @@ ZEND_END_ARG_INFO() #define arginfo_zend_test_zend_ini_parse_uquantity arginfo_zend_test_zend_ini_parse_quantity +#define arginfo_zend_test_zend_ini_str arginfo_zend_get_current_func_name + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ZendTestNS2_namespaced_func, 0, 0, _IS_BOOL, 0) ZEND_END_ARG_INFO() @@ -180,6 +182,7 @@ static ZEND_FUNCTION(zend_get_current_func_name); static ZEND_FUNCTION(zend_call_method); static ZEND_FUNCTION(zend_test_zend_ini_parse_quantity); static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity); +static ZEND_FUNCTION(zend_test_zend_ini_str); static ZEND_FUNCTION(ZendTestNS2_namespaced_func); static ZEND_FUNCTION(ZendTestNS2_namespaced_deprecated_func); static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_func); @@ -228,6 +231,7 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(zend_call_method, arginfo_zend_call_method) ZEND_FE(zend_test_zend_ini_parse_quantity, arginfo_zend_test_zend_ini_parse_quantity) ZEND_FE(zend_test_zend_ini_parse_uquantity, arginfo_zend_test_zend_ini_parse_uquantity) + ZEND_FE(zend_test_zend_ini_str, arginfo_zend_test_zend_ini_str) ZEND_NS_FALIAS("ZendTestNS2", namespaced_func, ZendTestNS2_namespaced_func, arginfo_ZendTestNS2_namespaced_func) ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_func, ZendTestNS2_namespaced_deprecated_func, arginfo_ZendTestNS2_namespaced_deprecated_func) ZEND_NS_FALIAS("ZendTestNS2", namespaced_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_namespaced_aliased_func) diff --git a/ext/zend_test/tests/zend_ini_str_validator_basic.phpt b/ext/zend_test/tests/zend_ini_str_validator_basic.phpt new file mode 100644 index 0000000000000..ab1133dd6d2e8 --- /dev/null +++ b/ext/zend_test/tests/zend_ini_str_validator_basic.phpt @@ -0,0 +1,33 @@ +--TEST-- +Test OnUpdateStr and OnUpdateStrNotEmpty validators. +--EXTENSIONS-- +zend_test +--FILE-- + +--EXPECT-- +str_test INI +string(0) "" +string(0) "" +string(4) "Test" +string(4) "Test" +string(0) "" +not_empty_str_test INI +string(3) "val" +string(3) "val" +string(4) "Test" +bool(false) +string(4) "Test" diff --git a/ext/zend_test/tests/zend_ini_str_validator_return_from_func.phpt b/ext/zend_test/tests/zend_ini_str_validator_return_from_func.phpt new file mode 100644 index 0000000000000..a02748f6d8a5a --- /dev/null +++ b/ext/zend_test/tests/zend_ini_str_validator_return_from_func.phpt @@ -0,0 +1,10 @@ +--TEST-- +Test zend_test_zend_ini_str() to check for GC refcount on global returned +--EXTENSIONS-- +zend_test +--FILE-- + +--EXPECT-- +string(0) "" From d67df602a625965fcc78c50fe014413bde13154a Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Tue, 6 Sep 2022 13:07:07 +0100 Subject: [PATCH 228/229] intl: use uspoof_check2UTF8 call when available. (#9478) --- ext/intl/spoofchecker/spoofchecker_class.c | 7 +++++++ ext/intl/spoofchecker/spoofchecker_class.h | 5 ++++- ext/intl/spoofchecker/spoofchecker_create.c | 1 + ext/intl/spoofchecker/spoofchecker_main.c | 13 ++++++++++++- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ext/intl/spoofchecker/spoofchecker_class.c b/ext/intl/spoofchecker/spoofchecker_class.c index 176917ed4edec..5687c26900fc4 100644 --- a/ext/intl/spoofchecker/spoofchecker_class.c +++ b/ext/intl/spoofchecker/spoofchecker_class.c @@ -129,6 +129,13 @@ void spoofchecker_object_destroy(Spoofchecker_object* co) co->uspoof = NULL; } +#if U_ICU_VERSION_MAJOR_NUM >= 58 + if (co->uspoofres) { + uspoof_closeCheckResult(co->uspoofres); + co->uspoofres = NULL; + } +#endif + intl_error_reset(SPOOFCHECKER_ERROR_P(co)); } /* }}} */ diff --git a/ext/intl/spoofchecker/spoofchecker_class.h b/ext/intl/spoofchecker/spoofchecker_class.h index 79b7c5bf17a78..480eeeb476ffb 100644 --- a/ext/intl/spoofchecker/spoofchecker_class.h +++ b/ext/intl/spoofchecker/spoofchecker_class.h @@ -28,7 +28,10 @@ typedef struct { intl_error err; // ICU Spoofchecker - USpoofChecker* uspoof; + USpoofChecker* uspoof; +#if U_ICU_VERSION_MAJOR_NUM >= 58 + USpoofCheckResult* uspoofres; +#endif zend_object zo; } Spoofchecker_object; diff --git a/ext/intl/spoofchecker/spoofchecker_create.c b/ext/intl/spoofchecker/spoofchecker_create.c index 7e39863a19dd6..54470808c93c4 100644 --- a/ext/intl/spoofchecker/spoofchecker_create.c +++ b/ext/intl/spoofchecker/spoofchecker_create.c @@ -49,6 +49,7 @@ PHP_METHOD(Spoofchecker, __construct) uspoof_check2 APIs when it became stable, to use extended check result APIs. Subsequent changes in the unicode security algos are to be watched.*/ uspoof_setRestrictionLevel(co->uspoof, SPOOFCHECKER_DEFAULT_RESTRICTION_LEVEL); + co->uspoofres = uspoof_openCheckResult(SPOOFCHECKER_ERROR_CODE_P(co)); #else /* Single-script enforcement is on by default. This fails for languages like Japanese that legally use multiple scripts within a single word, diff --git a/ext/intl/spoofchecker/spoofchecker_main.c b/ext/intl/spoofchecker/spoofchecker_main.c index 35f7aef810223..a45d772a26f47 100644 --- a/ext/intl/spoofchecker/spoofchecker_main.c +++ b/ext/intl/spoofchecker/spoofchecker_main.c @@ -22,7 +22,7 @@ /* {{{ Checks if a given text contains any suspicious characters */ PHP_METHOD(Spoofchecker, isSuspicious) { - int ret; + int32_t ret, errmask; char *text; size_t text_len; zval *error_code = NULL; @@ -34,10 +34,21 @@ PHP_METHOD(Spoofchecker, isSuspicious) SPOOFCHECKER_METHOD_FETCH_OBJECT; +#if U_ICU_VERSION_MAJOR_NUM >= 58 + ret = uspoof_check2UTF8(co->uspoof, text, text_len, co->uspoofres, SPOOFCHECKER_ERROR_CODE_P(co)); +#else ret = uspoof_checkUTF8(co->uspoof, text, text_len, NULL, SPOOFCHECKER_ERROR_CODE_P(co)); +#endif if (U_FAILURE(SPOOFCHECKER_ERROR_CODE(co))) { php_error_docref(NULL, E_WARNING, "(%d) %s", SPOOFCHECKER_ERROR_CODE(co), u_errorName(SPOOFCHECKER_ERROR_CODE(co))); +#if U_ICU_VERSION_MAJOR_NUM >= 58 + errmask = uspoof_getCheckResultChecks(co->uspoofres, SPOOFCHECKER_ERROR_CODE_P(co)); + + if (errmask != ret) { + php_error_docref(NULL, E_WARNING, "unexpected error (%d), does not relate to the flags passed to setChecks (%d)", ret, errmask); + } +#endif RETURN_TRUE; } From 05aa3b3e0af2789e29e402652b95f51c4ce041ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 6 Sep 2022 14:09:47 +0200 Subject: [PATCH 229/229] Upgrade PHP parser to 4.15.1 It contains some useful fixes --- build/gen_stub.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/gen_stub.php b/build/gen_stub.php index bbaa251ed695a..9dff45649671e 100755 --- a/build/gen_stub.php +++ b/build/gen_stub.php @@ -4609,7 +4609,7 @@ function initPhpParser() { } $isInitialized = true; - $version = "4.14.0"; + $version = "4.15.1"; $phpParserDir = __DIR__ . "/PHP-Parser-$version"; if (!is_dir($phpParserDir)) { installPhpParser($version, $phpParserDir);