diff options
Diffstat (limited to 'src')
53 files changed, 3195 insertions, 1535 deletions
diff --git a/src/common/compat.c b/src/common/compat.c index 3b15f8ad2..d7ce89479 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -2059,30 +2059,6 @@ tor_lookup_hostname(const char *name, uint32_t *addr) return -1; } -/** Initialize the insecure libc RNG. */ -void -tor_init_weak_random(unsigned seed) -{ -#ifdef _WIN32 - srand(seed); -#else - srandom(seed); -#endif -} - -/** Return a randomly chosen value in the range 0..TOR_RAND_MAX. This - * entropy will not be cryptographically strong; do not rely on it - * for anything an adversary should not be able to predict. */ -long -tor_weak_random(void) -{ -#ifdef _WIN32 - return rand(); -#else - return random(); -#endif -} - /** Hold the result of our call to <b>uname</b>. */ static char uname_result[256]; /** True iff uname_result is set. */ diff --git a/src/common/compat.h b/src/common/compat.h index d2944e6f4..f9eb4ba0b 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -136,8 +136,7 @@ extern INLINE double U64_TO_DBL(uint64_t x) { #define DBL_TO_U64(x) ((uint64_t) (x)) #endif -#if defined(_MSC_VER) -/* XXXX024 we should instead have a more general check for "Is enum signed?"*/ +#ifdef ENUM_VALS_ARE_SIGNED #define ENUM_BF(t) unsigned #else /** Wrapper for having a bitfield of an enumerated type. Where possible, we @@ -582,11 +581,6 @@ typedef enum { SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED = 0x08, } socks5_reply_status_t; -/* ===== Insecure rng */ -void tor_init_weak_random(unsigned seed); -long tor_weak_random(void); -#define TOR_RAND_MAX (RAND_MAX) - /* ===== OS compatibility */ const char *get_uname(void); diff --git a/src/common/crypto.c b/src/common/crypto.c index 70bd45299..22d57c7c8 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -2337,12 +2337,12 @@ crypto_dh_free(crypto_dh_t *dh) (OPENSSL_VERSION_NUMBER >= OPENSSL_V(0,9,8,'c')) /** Set the seed of the weak RNG to a random value. */ -static void -seed_weak_rng(void) +void +crypto_seed_weak_rng(tor_weak_rng_t *rng) { unsigned seed; crypto_rand((void*)&seed, sizeof(seed)); - tor_init_weak_random(seed); + tor_init_weak_random(rng, seed); } /** Try to get <b>out_len</b> bytes of the strongest entropy we can generate, @@ -2426,7 +2426,7 @@ crypto_seed_rng(int startup) } memwipe(buf, 0, sizeof(buf)); - seed_weak_rng(); + if (rand_poll_ok || load_entropy_ok) return 0; else diff --git a/src/common/crypto.h b/src/common/crypto.h index 08efc801d..12fcfae27 100644 --- a/src/common/crypto.h +++ b/src/common/crypto.h @@ -256,6 +256,8 @@ int crypto_strongest_rand(uint8_t *out, size_t out_len); int crypto_rand_int(unsigned int max); uint64_t crypto_rand_uint64(uint64_t max); double crypto_rand_double(void); +struct tor_weak_rng_t; +void crypto_seed_weak_rng(struct tor_weak_rng_t *rng); char *crypto_random_hostname(int min_rand_len, int max_rand_len, const char *prefix, const char *suffix); diff --git a/src/common/crypto_curve25519.c b/src/common/crypto_curve25519.c index 62398f62e..3e4004db2 100644 --- a/src/common/crypto_curve25519.c +++ b/src/common/crypto_curve25519.c @@ -33,13 +33,20 @@ int curve25519_impl(uint8_t *output, const uint8_t *secret, const uint8_t *basepoint) { + uint8_t bp[CURVE25519_PUBKEY_LEN]; + int r; + memcpy(bp, basepoint, CURVE25519_PUBKEY_LEN); + /* Clear the high bit, in case our backend foolishly looks at it. */ + bp[31] &= 0x7f; #ifdef USE_CURVE25519_DONNA - return curve25519_donna(output, secret, basepoint); + r = curve25519_donna(output, secret, bp); #elif defined(USE_CURVE25519_NACL) - return crypto_scalarmult_curve25519(output, secret, basepoint); + r = crypto_scalarmult_curve25519(output, secret, bp); #else #error "No implementation of curve25519 is available." #endif + memwipe(bp, 0, sizeof(bp)); + return r; } /* ============================== @@ -182,34 +189,3 @@ curve25519_handshake(uint8_t *output, curve25519_impl(output, skey->secret_key, pkey->public_key); } -int -curve25519_public_to_base64(char *output, - const curve25519_public_key_t *pkey) -{ - char buf[128]; - base64_encode(buf, sizeof(buf), - (const char*)pkey->public_key, CURVE25519_PUBKEY_LEN); - buf[CURVE25519_BASE64_PADDED_LEN] = '\0'; - memcpy(output, buf, CURVE25519_BASE64_PADDED_LEN+1); - return 0; -} - -int -curve25519_public_from_base64(curve25519_public_key_t *pkey, - const char *input) -{ - size_t len = strlen(input); - if (len == CURVE25519_BASE64_PADDED_LEN - 1) { - /* not padded */ - return digest256_from_base64((char*)pkey->public_key, input); - } else if (len == CURVE25519_BASE64_PADDED_LEN) { - char buf[128]; - if (base64_decode(buf, sizeof(buf), input, len) != CURVE25519_PUBKEY_LEN) - return -1; - memcpy(pkey->public_key, buf, CURVE25519_PUBKEY_LEN); - return 0; - } else { - return -1; - } -} - diff --git a/src/common/crypto_curve25519.h b/src/common/crypto_curve25519.h index 552441549..652f1883c 100644 --- a/src/common/crypto_curve25519.h +++ b/src/common/crypto_curve25519.h @@ -51,6 +51,12 @@ int curve25519_keypair_read_from_file(curve25519_keypair_t *keypair_out, char **tag_out, const char *fname); +#ifdef CRYPTO_CURVE25519_PRIVATE +int curve25519_impl(uint8_t *output, const uint8_t *secret, + const uint8_t *basepoint); +#endif +#endif + #define CURVE25519_BASE64_PADDED_LEN 44 int curve25519_public_from_base64(curve25519_public_key_t *pkey, @@ -58,11 +64,5 @@ int curve25519_public_from_base64(curve25519_public_key_t *pkey, int curve25519_public_to_base64(char *output, const curve25519_public_key_t *pkey); -#ifdef CRYPTO_CURVE25519_PRIVATE -int curve25519_impl(uint8_t *output, const uint8_t *secret, - const uint8_t *basepoint); -#endif -#endif - #endif diff --git a/src/common/crypto_format.c b/src/common/crypto_format.c new file mode 100644 index 000000000..93932f839 --- /dev/null +++ b/src/common/crypto_format.c @@ -0,0 +1,46 @@ +/* Copyright (c) 2012-2013, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/* Formatting and parsing code for crypto-related data structures. */ + +#define CRYPTO_CURVE25519_PRIVATE +#include "orconfig.h" +#ifdef HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif +#include "crypto.h" +#include "crypto_curve25519.h" +#include "util.h" +#include "torlog.h" + +int +curve25519_public_to_base64(char *output, + const curve25519_public_key_t *pkey) +{ + char buf[128]; + base64_encode(buf, sizeof(buf), + (const char*)pkey->public_key, CURVE25519_PUBKEY_LEN); + buf[CURVE25519_BASE64_PADDED_LEN] = '\0'; + memcpy(output, buf, CURVE25519_BASE64_PADDED_LEN+1); + return 0; +} + +int +curve25519_public_from_base64(curve25519_public_key_t *pkey, + const char *input) +{ + size_t len = strlen(input); + if (len == CURVE25519_BASE64_PADDED_LEN - 1) { + /* not padded */ + return digest256_from_base64((char*)pkey->public_key, input); + } else if (len == CURVE25519_BASE64_PADDED_LEN) { + char buf[128]; + if (base64_decode(buf, sizeof(buf), input, len) != CURVE25519_PUBKEY_LEN) + return -1; + memcpy(pkey->public_key, buf, CURVE25519_PUBKEY_LEN); + return 0; + } else { + return -1; + } +} + diff --git a/src/common/include.am b/src/common/include.am index 808238dd1..b796ebfae 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -52,6 +52,7 @@ src_common_libor_a_SOURCES = \ src_common_libor_crypto_a_SOURCES = \ src/common/aes.c \ src/common/crypto.c \ + src/common/crypto_format.c \ src/common/torgzip.c \ src/common/tortls.c \ $(libcrypto_extra_source) diff --git a/src/common/log.c b/src/common/log.c index e56fb257f..e196a1128 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -140,11 +140,12 @@ static char *domain_to_string(log_domain_mask_t domain, char *buf, size_t buflen); static INLINE char *format_msg(char *buf, size_t buf_len, log_domain_mask_t domain, int severity, const char *funcname, + const char *suffix, const char *format, va_list ap, size_t *msg_len_out) - CHECK_PRINTF(6,0); + CHECK_PRINTF(7,0); static void logv(int severity, log_domain_mask_t domain, const char *funcname, - const char *format, va_list ap) - CHECK_PRINTF(4,0); + const char *suffix, const char *format, va_list ap) + CHECK_PRINTF(5,0); /** Name of the application: used to generate the message we write at the * start of each new log. */ @@ -251,6 +252,7 @@ log_tor_version(logfile_t *lf, int reset) static INLINE char * format_msg(char *buf, size_t buf_len, log_domain_mask_t domain, int severity, const char *funcname, + const char *suffix, const char *format, va_list ap, size_t *msg_len_out) { size_t n; @@ -312,6 +314,13 @@ format_msg(char *buf, size_t buf_len, n = buf_len; } else { n += r; + if (suffix) { + size_t suffix_len = strlen(suffix); + if (buf_len-n >= suffix_len) { + memcpy(buf+n, suffix, suffix_len); + n += suffix_len; + } + } } buf[n]='\n'; buf[n+1]='\0'; @@ -325,7 +334,7 @@ format_msg(char *buf, size_t buf_len, */ static void logv(int severity, log_domain_mask_t domain, const char *funcname, - const char *format, va_list ap) + const char *suffix, const char *format, va_list ap) { char buf[10024]; size_t msg_len = 0; @@ -361,8 +370,8 @@ logv(int severity, log_domain_mask_t domain, const char *funcname, if (!formatted) { end_of_prefix = - format_msg(buf, sizeof(buf), domain, severity, funcname, format, ap, - &msg_len); + format_msg(buf, sizeof(buf), domain, severity, funcname, suffix, + format, ap, &msg_len); formatted = 1; } @@ -426,7 +435,7 @@ tor_log(int severity, log_domain_mask_t domain, const char *format, ...) if (severity > log_global_min_severity_) return; va_start(ap,format); - logv(severity, domain, NULL, format, ap); + logv(severity, domain, NULL, NULL, format, ap); va_end(ap); } @@ -443,8 +452,24 @@ log_fn_(int severity, log_domain_mask_t domain, const char *fn, if (severity > log_global_min_severity_) return; va_start(ap,format); - logv(severity, domain, fn, format, ap); + logv(severity, domain, fn, NULL, format, ap); + va_end(ap); +} +void +log_fn_ratelim_(ratelim_t *ratelim, int severity, log_domain_mask_t domain, + const char *fn, const char *format, ...) +{ + va_list ap; + char *m; + if (severity > log_global_min_severity_) + return; + m = rate_limit_log(ratelim, approx_time()); + if (m == NULL) + return; + va_start(ap, format); + logv(severity, domain, fn, m, format, ap); va_end(ap); + tor_free(m); } #else /** @{ */ @@ -460,11 +485,27 @@ log_fn_(int severity, log_domain_mask_t domain, const char *format, ...) if (severity > log_global_min_severity_) return; va_start(ap,format); - logv(severity, domain, log_fn_function_name_, format, ap); + logv(severity, domain, log_fn_function_name_, NULL, format, ap); va_end(ap); log_fn_function_name_ = NULL; } void +log_fn_ratelim_(ratelim_t *ratelim, int severity, log_domain_mask_t domain, + const char *format, ...) +{ + va_list ap; + char *m; + if (severity > log_global_min_severity_) + return; + m = rate_limit_log(ratelim, approx_time()); + if (m == NULL) + return; + va_start(ap, format); + logv(severity, domain, log_fn_function_name_, m, format, ap); + va_end(ap); + tor_free(m); +} +void log_debug_(log_domain_mask_t domain, const char *format, ...) { va_list ap; @@ -472,7 +513,7 @@ log_debug_(log_domain_mask_t domain, const char *format, ...) if (PREDICT_LIKELY(LOG_DEBUG > log_global_min_severity_)) return; va_start(ap,format); - logv(LOG_DEBUG, domain, log_fn_function_name_, format, ap); + logv(LOG_DEBUG, domain, log_fn_function_name_, NULL, format, ap); va_end(ap); log_fn_function_name_ = NULL; } @@ -483,7 +524,7 @@ log_info_(log_domain_mask_t domain, const char *format, ...) if (LOG_INFO > log_global_min_severity_) return; va_start(ap,format); - logv(LOG_INFO, domain, log_fn_function_name_, format, ap); + logv(LOG_INFO, domain, log_fn_function_name_, NULL, format, ap); va_end(ap); log_fn_function_name_ = NULL; } @@ -494,7 +535,7 @@ log_notice_(log_domain_mask_t domain, const char *format, ...) if (LOG_NOTICE > log_global_min_severity_) return; va_start(ap,format); - logv(LOG_NOTICE, domain, log_fn_function_name_, format, ap); + logv(LOG_NOTICE, domain, log_fn_function_name_, NULL, format, ap); va_end(ap); log_fn_function_name_ = NULL; } @@ -505,7 +546,7 @@ log_warn_(log_domain_mask_t domain, const char *format, ...) if (LOG_WARN > log_global_min_severity_) return; va_start(ap,format); - logv(LOG_WARN, domain, log_fn_function_name_, format, ap); + logv(LOG_WARN, domain, log_fn_function_name_, NULL, format, ap); va_end(ap); log_fn_function_name_ = NULL; } @@ -516,7 +557,7 @@ log_err_(log_domain_mask_t domain, const char *format, ...) if (LOG_ERR > log_global_min_severity_) return; va_start(ap,format); - logv(LOG_ERR, domain, log_fn_function_name_, format, ap); + logv(LOG_ERR, domain, log_fn_function_name_, NULL, format, ap); va_end(ap); log_fn_function_name_ = NULL; } @@ -833,8 +874,10 @@ add_file_log(const log_severity_list_t *severity, const char *filename) fd = tor_open_cloexec(filename, O_WRONLY|O_CREAT|O_APPEND, 0644); if (fd<0) return -1; - if (tor_fd_seekend(fd)<0) + if (tor_fd_seekend(fd)<0) { + close(fd); return -1; + } LOCK_LOGS(); add_stream_log_impl(severity, filename, fd); diff --git a/src/common/torlog.h b/src/common/torlog.h index 23ee597a4..8675d7b6e 100644 --- a/src/common/torlog.h +++ b/src/common/torlog.h @@ -160,10 +160,20 @@ extern int log_global_min_severity_; void log_fn_(int severity, log_domain_mask_t domain, const char *funcname, const char *format, ...) CHECK_PRINTF(4,5); +struct ratelim_t; +void log_fn_ratelim_(struct ratelim_t *ratelim, int severity, + log_domain_mask_t domain, const char *funcname, + const char *format, ...) + CHECK_PRINTF(5,6); /** Log a message at level <b>severity</b>, using a pretty-printed version * of the current function name. */ #define log_fn(severity, domain, args...) \ log_fn_(severity, domain, __PRETTY_FUNCTION__, args) +/** As log_fn, but use <b>ratelim</b> (an instance of ratelim_t) to control + * the frequency at which messages can appear. + */ +#define log_fn_ratelim(ratelim, severity, domain, args...) \ + log_fn_ratelim_(ratelim, severity, domain, __PRETTY_FUNCTION__, args) #define log_debug(domain, args...) \ STMT_BEGIN \ if (PREDICT_UNLIKELY(log_global_min_severity_ == LOG_DEBUG)) \ @@ -181,6 +191,9 @@ void log_fn_(int severity, log_domain_mask_t domain, #else /* ! defined(__GNUC__) */ void log_fn_(int severity, log_domain_mask_t domain, const char *format, ...); +struct ratelim_t; +void log_fn_ratelim_(struct ratelim_t *ratelim, int severity, + log_domain_mask_t domain, const char *format, ...); void log_debug_(log_domain_mask_t domain, const char *format, ...); void log_info_(log_domain_mask_t domain, const char *format, ...); void log_notice_(log_domain_mask_t domain, const char *format, ...); @@ -190,6 +203,7 @@ void log_err_(log_domain_mask_t domain, const char *format, ...); #if defined(_MSC_VER) && _MSC_VER < 1300 /* MSVC 6 and earlier don't have __func__, or even __LINE__. */ #define log_fn log_fn_ +#define log_fn_ratelim log_fn_ratelim_ #define log_debug log_debug_ #define log_info log_info_ #define log_notice log_notice_ @@ -203,6 +217,7 @@ extern const char *log_fn_function_name_; * do {...} while (0) trick to wrap this macro, since the macro can't take * arguments. */ #define log_fn (log_fn_function_name_=__func__),log_fn_ +#define log_fn_ratelim (log_fn_function_name_=__func__),log_fn_ratelim_ #define log_debug (log_fn_function_name_=__func__),log_debug_ #define log_info (log_fn_function_name_=__func__),log_info_ #define log_notice (log_fn_function_name_=__func__),log_notice_ diff --git a/src/common/util.c b/src/common/util.c index 7d72a896f..49353a8ee 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -2374,8 +2374,10 @@ read_file_to_str(const char *filename, int flags, struct stat *stat_out) } #endif - if ((uint64_t)(statbuf.st_size)+1 >= SIZE_T_CEILING) + if ((uint64_t)(statbuf.st_size)+1 >= SIZE_T_CEILING) { + close(fd); return NULL; + } string = tor_malloc((size_t)(statbuf.st_size+1)); @@ -4994,3 +4996,45 @@ tor_check_port_forwarding(const char *filename, } } +/** Initialize the insecure RNG <b>rng</b> from a seed value <b>seed</b>. */ +void +tor_init_weak_random(tor_weak_rng_t *rng, unsigned seed) +{ + rng->state = (uint32_t)(seed & 0x7fffffff); +} + +/** Return a randomly chosen value in the range 0..TOR_WEAK_RANDOM_MAX based + * on the RNG state of <b>rng</b>. This entropy will not be cryptographically + * strong; do not rely on it for anything an adversary should not be able to + * predict. */ +int32_t +tor_weak_random(tor_weak_rng_t *rng) +{ + /* Here's a linear congruential generator. OpenBSD and glibc use these + * parameters; they aren't too bad, and should have maximal period over the + * range 0..INT32_MAX. We don't want to use the platform rand() or random(), + * since some platforms have bad weak RNGs that only return values in the + * range 0..INT16_MAX, which just isn't enough. */ + rng->state = (rng->state * 1103515245 + 12345) & 0x7fffffff; + return (int32_t) rng->state; +} + +/** Return a random number in the range [0 , <b>top</b>). {That is, the range + * of integers i such that 0 <= i < top.} Chooses uniformly. Requires that + * top is greater than 0. This randomness is not cryptographically strong; do + * not rely on it for anything an adversary should not be able to predict. */ +int32_t +tor_weak_random_range(tor_weak_rng_t *rng, int32_t top) +{ + /* We don't want to just do tor_weak_random() % top, since random() is often + * implemented with an LCG whose modulus is a power of 2, and those are + * cyclic in their low-order bits. */ + int divisor, result; + tor_assert(top > 0); + divisor = TOR_WEAK_RANDOM_MAX / top; + do { + result = (int32_t)(tor_weak_random(rng) / divisor); + } while (result >= top); + return result; +} + diff --git a/src/common/util.h b/src/common/util.h index 59c43a444..ac88f1ca1 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -284,6 +284,15 @@ void update_approx_time(time_t now); } } </pre> + + As a convenience wrapper for logging, you can replace the above with: + <pre> + if (possibly_very_frequent_event()) { + static ratelim_t warning_limit = RATELIM_INIT(300); + log_fn_ratelim(&warning_limit, LOG_WARN, LD_GENERAL, + "The event occurred!"); + } + </pre> */ typedef struct ratelim_t { int rate; @@ -485,6 +494,20 @@ int tor_terminate_process(process_handle_t *process_handle); void tor_process_handle_destroy(process_handle_t *process_handle, int also_terminate_process); +/* ===== Insecure rng */ +typedef struct tor_weak_rng_t { + uint32_t state; +} tor_weak_rng_t; + +#define TOR_WEAK_RNG_INIT {383745623} +#define TOR_WEAK_RANDOM_MAX (INT_MAX) +void tor_init_weak_random(tor_weak_rng_t *weak_rng, unsigned seed); +int32_t tor_weak_random(tor_weak_rng_t *weak_rng); +int32_t tor_weak_random_range(tor_weak_rng_t *rng, int32_t top); +/** Randomly return true according to <b>rng</b> with probability 1 in + * <b>n</b> */ +#define tor_weak_random_one_in_n(rng, n) (0==tor_weak_random_range((rng),(n))) + #ifdef UTIL_PRIVATE /* Prototypes for private functions only used by util.c (and unit tests) */ diff --git a/src/config/geoip b/src/config/geoip index df4503403..216f67b6b 100644 --- a/src/config/geoip +++ b/src/config/geoip @@ -1,6 +1,3 @@ -# Last updated based on January 2 2013 Maxmind GeoLite Country -# Visit the following URL for details on the conversion: -# https://gitweb.torproject.org/tor.git/blob/HEAD:/src/config/README.geoip 16777216,16777471,AU 16777472,16778239,CN 16778240,16779263,AU @@ -171,7 +168,9 @@ 71667634,71667634,DE 71667635,71667656,US 71667657,71667657,NL -71667658,72348895,US +71667658,71670208,US +71670209,71670209,NL +71670210,72348895,US 72348896,72348927,CA 72348928,83886079,US 83886080,83951615,SY @@ -685,7 +684,9 @@ 93749248,93753343,IT 93753344,93755391,IE 93755392,93765631,GB -93765632,93782015,SE +93765632,93774847,SE +93774848,93775871,NO +93775872,93782015,SE 93782016,93847551,GB 93847552,93880319,GE 93880320,93888511,IT @@ -969,8 +970,7 @@ 203625392,203625399,PR 203625400,203658287,US 203658288,203658303,VI -203658304,203658367,PR -203658368,203658415,US +203658304,203658415,US 203658416,203658423,VI 203658424,203658463,US 203658464,203658471,VI @@ -999,7 +999,9 @@ 204047456,204047463,US 204047464,204047471,VI 204047472,204047487,US -204047488,204047535,VI +204047488,204047511,VI +204047512,204047519,US +204047520,204047535,VI 204047536,204047543,PR 204047544,204047551,US 204047552,204047559,VI @@ -1009,12 +1011,7 @@ 204048000,204048031,US 204048032,204048047,PR 204048048,204048055,VI -204048056,204048063,US -204048064,204048071,VI -204048072,204048079,US -204048080,204048087,VI -204048088,204048111,US -204048112,204048127,VI +204048056,204048127,US 204048128,204048383,PR 204048384,204152831,US 204152832,204153855,PR @@ -1024,9 +1021,7 @@ 205953312,205953319,PR 205953320,205953327,US 205953328,205953351,PR -205953352,208651559,US -208651560,208651567,PR -208651568,208651639,US +205953352,208651639,US 208651640,208651647,PR 208651648,209783247,US 209783248,209783255,CA @@ -1159,7 +1154,8 @@ 214698016,214698023,US 214698024,214698031,PR 214698032,214698087,VI -214698088,214698103,PR +214698088,214698095,US +214698096,214698103,PR 214698104,214698111,US 214698112,214698135,VI 214698136,214698143,PR @@ -1178,8 +1174,8 @@ 214698368,214698383,US 214698384,214698639,PR 214698640,214698655,VI -214698656,214698919,PR -214698920,214698927,US +214698656,214698911,PR +214698912,214698927,US 214698928,214699231,PR 214699232,214699271,US 214699272,214699279,VI @@ -1194,20 +1190,17 @@ 214699488,214699519,US 214699520,214699647,PR 214699648,214699775,VI -214699776,214699783,PR -214699784,214699799,US +214699776,214699799,US 214699800,214699807,PR 214699808,214699839,US 214699840,214699847,PR -214699848,214699855,US -214699856,214699871,PR -214699872,214699879,US +214699848,214699879,US 214699880,214699895,PR 214699896,214699911,US 214699912,214699919,VI -214699920,214699927,PR -214699928,214699951,US -214699952,214699975,PR +214699920,214699951,US +214699952,214699959,PR +214699960,214699975,US 214699976,214699991,VI 214699992,214700015,US 214700016,214700023,PR @@ -1238,7 +1231,17 @@ 234883072,234884095,JP 234884096,234885119,CN 234885120,234889215,VN -234889216,234913791,KR +234889216,234893311,JP +234893312,234895359,KR +234895360,234895615,TW +234895616,234895935,MY +234895936,234896127,TH +234896128,234896383,MN +234896384,234896639,SA +234896640,234896895,AE +234896896,234897151,KR +234897152,234897407,TW +234897408,234913791,KR 234913792,234946559,HK 234946560,234947583,CN 234947584,234950655,JP @@ -1447,7 +1450,7 @@ 387804672,387804927,TW 387804928,387825663,US 387825664,387833855,CA -387833856,390594559,US +387833856,391118847,US 402653184,405012479,US 405012480,405143551,CA 405143552,405180415,US @@ -1636,7 +1639,9 @@ 436207616,452984831,US 452984832,452985855,JP 452985856,452986879,MY -452986880,452987903,SG +452986880,452987391,SG +452987392,452987647,BD +452987648,452987903,SG 452987904,452988927,VN 452988928,452993023,US 452993024,452997119,JP @@ -2971,7 +2976,9 @@ 624574464,624590847,NL 624590848,624658479,FR 624658480,624658483,DE -624658484,624661955,FR +624658484,624661787,FR +624661788,624661788,RO +624661789,624661955,FR 624661956,624661959,PL 624661960,624665587,FR 624665588,624665591,DE @@ -3924,7 +3931,8 @@ 693082112,693083135,NG 693083136,693086207,ZA 693086208,693087231,KE -693087232,693088255,ZA +693087232,693087999,ZA +693088000,693088255,NZ 693088256,693089279,NG 693089280,693090303,ZA 693090304,693091327,TZ @@ -4168,7 +4176,9 @@ 701464576,701472767,MU 701472768,701480959,TG 701480960,701489151,CI -701489152,701513727,ZA +701489152,701493247,ZA +701493248,701495295,TZ +701495296,701513727,ZA 701513728,701530111,LY 701530112,701546495,SN 701546496,701562879,ZA @@ -4334,7 +4344,7 @@ 702504960,702505983,MR 702505984,702507007,AO 702507008,702508031,CD -702508032,702509055,KE +702508032,702510079,KE 702510080,702511103,ZM 702511104,702512127,ZA 702512128,702513151,MZ @@ -5522,7 +5532,9 @@ 787054592,787070975,IT 787070976,787087359,RU 787087360,787095551,TR -787095552,787103743,EU +787095552,787099391,EU +787099392,787099647,CH +787099648,787103743,EU 787103744,787111935,HR 787111936,787120127,CZ 787120128,787128319,ES @@ -5922,12 +5934,16 @@ 838995968,838999039,US 838999040,838999295,CA 838999296,839000159,US -839000160,839000191,EG -839000192,839002399,US +839000160,839000223,EG +839000224,839002399,US 839002400,839002431,ID 839002432,839002463,EE 839002464,839002495,HK -839002496,839003775,US +839002496,839002527,US +839002528,839002559,EG +839002560,839002943,US +839002944,839002975,EG +839002976,839003775,US 839003776,839003839,EG 839003840,839005215,US 839005216,839005280,CA @@ -6115,7 +6131,9 @@ 889192448,897238054,DE 897238055,897238055,EU 897238056,905969663,DE -905969664,921174015,US +905969664,920911871,US +920911872,920977407,IE +920977408,921174015,US 921174016,921239551,BR 921239552,922091519,US 922091520,922189311,IE @@ -6124,7 +6142,8 @@ 922222592,922353663,JP 922353664,922419199,US 922419200,922484735,SG -922484736,956301311,US +922484736,922550271,AU +922550272,956301311,US 956301312,959447039,EU 959447040,959512575,US 959512576,960629507,EU @@ -6503,7 +6522,11 @@ 1024363776,1024364031,AU 1024364032,1024365055,JP 1024365056,1024365311,AP -1024365312,1024370687,JP +1024365312,1024365727,JP +1024365728,1024365759,SG +1024365760,1024367423,JP +1024367424,1024367487,PH +1024367488,1024370687,JP 1024370688,1024371199,PH 1024371200,1024375295,JP 1024375296,1024375807,AU @@ -6550,8 +6573,7 @@ 1026420736,1026422783,JP 1026422784,1026423295,AU 1026423296,1026423551,AP -1026423552,1026423807,BD -1026423808,1026424831,AU +1026423552,1026424831,AU 1026424832,1026490367,JP 1026490368,1026523135,TH 1026523136,1026539519,CN @@ -6571,7 +6593,9 @@ 1029570560,1029636095,ID 1029636096,1029668863,AU 1029668864,1029701631,IN -1029701632,1030750207,KR +1029701632,1030674431,KR +1030674432,1030676223,JP +1030676224,1030750207,KR 1030750208,1030946303,JP 1030946304,1030946559,AP 1030946560,1031415039,JP @@ -7302,7 +7326,9 @@ 1050332443,1050340607,DE 1050340608,1050340639,US 1050340640,1050470911,DE -1050470912,1050471167,GB +1050470912,1050471031,GB +1050471032,1050471039,DE +1050471040,1050471167,GB 1050471168,1050627327,DE 1050627328,1050627583,EU 1050627584,1050673151,DE @@ -7860,7 +7886,9 @@ 1066771304,1066771319,ME 1066771320,1066828279,US 1066828280,1066828287,IN -1066828288,1066830119,US +1066828288,1066830079,US +1066830080,1066830111,SG +1066830112,1066830119,US 1066830120,1066830127,SG 1066830128,1066830287,US 1066830288,1066830303,ML @@ -7872,7 +7900,9 @@ 1066830992,1066831007,JP 1066831008,1066831071,US 1066831072,1066831087,JP -1066831088,1067237887,US +1066831088,1066831199,US +1066831200,1066831231,JP +1066831232,1067237887,US 1067237888,1067238399,JP 1067238400,1067473471,US 1067473472,1067473535,CA @@ -8268,9 +8298,13 @@ 1071599393,1071599415,PH 1071599416,1071599477,US 1071599478,1071599490,PH -1071599491,1071954279,US +1071599491,1071954175,US +1071954176,1071954183,GB +1071954184,1071954279,US 1071954280,1071954287,FR -1071954288,1071954375,US +1071954288,1071954303,US +1071954304,1071954319,GB +1071954320,1071954375,US 1071954376,1071954383,NE 1071954384,1071985631,US 1071985632,1071985663,ML @@ -8282,7 +8316,9 @@ 1072383544,1072383551,ME 1072383552,1072512951,US 1072512952,1072512959,CA -1072512960,1072707327,US +1072512960,1072571831,US +1072571832,1072571839,CA +1072571840,1072707327,US 1072707328,1072707583,IN 1072707584,1072710327,US 1072710328,1072710335,DE @@ -8338,8 +8374,8 @@ 1072928128,1072928255,US 1072928256,1072928263,CA 1072928264,1072928287,US -1072928288,1072928383,CA -1072928384,1072928447,US +1072928288,1072928319,CA +1072928320,1072928447,US 1072928448,1072928767,CA 1072928768,1072929023,US 1072929024,1072929535,CA @@ -8353,11 +8389,12 @@ 1072931840,1072932607,CA 1072932608,1072932863,NG 1072932864,1072933119,US -1072933120,1072934399,CA +1072933120,1072933151,FR +1072933152,1072934399,CA 1072934400,1072934719,US 1072934720,1072934751,CA 1072934752,1072934775,US -1072934776,1072934783,CA +1072934776,1072934783,FR 1072934784,1072934847,AU 1072934848,1072934879,CA 1072934880,1072934911,TW @@ -8379,8 +8416,8 @@ 1072938496,1072938751,CA 1072938752,1072939007,US 1072939008,1072939263,CA -1072939264,1072939311,US -1072939312,1072939519,CA +1072939264,1072939327,US +1072939328,1072939519,CA 1072939520,1072940031,US 1072940032,1072942079,CA 1072942080,1072942111,US @@ -8516,7 +8553,8 @@ 1073425560,1073425567,CA 1073425568,1073426559,US 1073426560,1073426623,AU -1073426624,1073434799,US +1073426624,1073434783,US +1073434784,1073434799,CA 1073434800,1073434807,GB 1073434808,1073435583,US 1073435584,1073435647,CA @@ -8663,7 +8701,9 @@ 1075479608,1075479615,US 1075479616,1075482655,CA 1075482656,1075482671,US -1075482672,1075494911,CA +1075482672,1075482967,CA +1075482968,1075482975,US +1075482976,1075494911,CA 1075494912,1075513151,US 1075513152,1075513183,KW 1075513184,1075532663,US @@ -8814,7 +8854,9 @@ 1075997824,1075997919,US 1075997920,1075997935,CA 1075997936,1075997951,US -1075997952,1075998351,CA +1075997952,1075998103,CA +1075998104,1075998207,US +1075998208,1075998351,CA 1075998352,1075998431,US 1075998432,1075999231,CA 1075999232,1075999999,US @@ -8824,7 +8866,9 @@ 1076002048,1076002823,US 1076002824,1076002831,CA 1076002832,1076002879,US -1076002880,1076002975,CA +1076002880,1076002911,CA +1076002912,1076002943,US +1076002944,1076002975,CA 1076002976,1076003023,US 1076003024,1076003031,CA 1076003032,1076003039,US @@ -9058,14 +9102,10 @@ 1076186368,1076186751,US 1076186752,1076186783,CA 1076186784,1076186815,TW -1076186816,1076187391,US -1076187392,1076187647,CA -1076187648,1076187743,US +1076186816,1076187743,US 1076187744,1076187775,CA 1076187776,1076187807,AU -1076187808,1076187903,US -1076187904,1076188159,CA -1076188160,1076189183,US +1076187808,1076189183,US 1076189184,1076189215,VE 1076189216,1076189279,CA 1076189280,1076189311,US @@ -9076,8 +9116,7 @@ 1076190080,1076190143,IN 1076190144,1076190175,US 1076190176,1076190207,IN -1076190208,1076190463,CA -1076190464,1076190783,US +1076190208,1076190783,US 1076190784,1076190815,CA 1076190816,1076190847,IN 1076190848,1076190913,US @@ -9236,10 +9275,16 @@ 1076756480,1076772863,CA 1076772864,1076850687,US 1076850688,1076850943,CA -1076850944,1076880383,US +1076850944,1076851035,US +1076851036,1076851039,CA +1076851040,1076851169,US +1076851170,1076851175,CA +1076851176,1076851351,US +1076851352,1076851359,CA +1076851360,1076880383,US 1076880384,1076880639,CH -1076880640,1076880895,GB -1076880896,1076985855,US +1076880640,1076881023,GB +1076881024,1076985855,US 1076985856,1076991487,A2 1076991488,1076991743,US 1076991744,1077002239,A2 @@ -9501,9 +9546,7 @@ 1077937181,1077937184,SA 1077937185,1077937196,US 1077937197,1077937200,LK -1077937201,1077937204,US -1077937205,1077937208,AT -1077937209,1077937212,US +1077937201,1077937212,US 1077937213,1077937214,CA 1077937215,1077937222,US 1077937223,1077937226,CA @@ -9553,8 +9596,7 @@ 1077937515,1077937531,US 1077937532,1077937535,IN 1077937536,1077937539,ES -1077937540,1077937547,AT -1077937548,1077937571,US +1077937540,1077937571,US 1077937572,1077937575,CY 1077937576,1077937577,GB 1077937578,1077937597,US @@ -9917,7 +9959,8 @@ 1077965856,1077965863,CA 1077965864,1077965903,US 1077965904,1077965911,BB -1077965912,1077968831,US +1077965912,1077965919,CO +1077965920,1077968831,US 1077968832,1077968839,CA 1077968840,1077968847,DK 1077968848,1077977087,US @@ -10039,9 +10082,7 @@ 1078287072,1078287103,US 1078287104,1078287183,CA 1078287184,1078287231,US -1078287232,1078287239,CA -1078287240,1078287247,US -1078287248,1078287279,CA +1078287232,1078287279,CA 1078287280,1078287311,US 1078287312,1078287327,CA 1078287328,1078287343,US @@ -10461,8 +10502,8 @@ 1079404320,1079404351,CA 1079404352,1079404383,US 1079404384,1079404543,CA -1079404544,1079405055,US -1079405056,1079405407,CA +1079404544,1079405119,US +1079405120,1079405407,CA 1079405408,1079405439,BD 1079405440,1079405567,US 1079405568,1079407103,CA @@ -10748,7 +10789,9 @@ 1081369184,1081369215,CO 1081369216,1081369599,US 1081369600,1081370111,CO -1081370112,1081377119,US +1081370112,1081377071,US +1081377072,1081377079,VE +1081377080,1081377119,US 1081377120,1081377135,VE 1081377136,1081377183,US 1081377184,1081377191,VE @@ -10977,9 +11020,7 @@ 1081608576,1081608583,CA 1081608584,1081609823,US 1081609824,1081609831,LK -1081609832,1081609887,US -1081609888,1081609919,IN -1081609920,1081611415,US +1081609832,1081611415,US 1081611416,1081611423,IN 1081611424,1081611511,US 1081611512,1081611519,IN @@ -11008,9 +11049,7 @@ 1081618080,1081618095,ZA 1081618096,1081618951,US 1081618952,1081618959,GB -1081618960,1081619775,US -1081619776,1081619791,CA -1081619792,1081625671,US +1081618960,1081625671,US 1081625672,1081625679,CA 1081625680,1081625775,US 1081625776,1081625783,CA @@ -11102,19 +11141,33 @@ 1082350912,1082350943,RU 1082350944,1082351361,US 1082351362,1082351362,SA -1082351363,1082419455,US +1082351363,1082351487,US +1082351488,1082351615,AU +1082351616,1082419455,US 1082419456,1082419711,A2 1082419712,1082679807,US 1082683392,1082687487,CA 1082687488,1082786591,US 1082786592,1082786623,HK -1082786624,1082788447,US +1082786624,1082787923,US +1082787924,1082787927,AU +1082787928,1082788447,US 1082788448,1082788455,SG 1082788456,1082788767,US 1082788768,1082788799,SG -1082788800,1082790143,US +1082788800,1082788963,US +1082788964,1082788967,HK +1082788968,1082788991,US +1082788992,1082789119,HK +1082789120,1082790143,US 1082790144,1082790399,IN -1082790400,1082819839,US +1082790400,1082790951,US +1082790952,1082790959,AU +1082790960,1082791167,US +1082791168,1082791423,IN +1082791424,1082819711,US +1082819712,1082819715,IN +1082819716,1082819839,US 1082819840,1082820351,IN 1082820352,1082885855,US 1082885856,1082885887,CA @@ -11231,7 +11284,25 @@ 1085915136,1085923327,PR 1085923328,1085926765,US 1085926766,1085926766,US -1085926767,1085997055,US +1085926767,1085931647,US +1085931648,1085931775,SG +1085931776,1085931903,US +1085931904,1085932031,SG +1085932032,1085933439,US +1085933440,1085933567,SG +1085933568,1085933695,US +1085933696,1085933823,SG +1085933824,1085933951,US +1085933952,1085934079,SG +1085934080,1085934719,US +1085934720,1085934847,SG +1085934848,1085934975,US +1085934976,1085935103,SG +1085935104,1085935231,US +1085935232,1085935359,SG +1085935360,1085935743,US +1085935744,1085935871,SG +1085935872,1085997055,US 1085997056,1086013439,CA 1086013440,1086022079,US 1086022080,1086022111,CA @@ -11249,7 +11320,9 @@ 1086028664,1086028671,BR 1086028672,1086028751,US 1086028752,1086028759,BR -1086028760,1086309887,US +1086028760,1086042111,US +1086042112,1086046207,CA +1086046208,1086309887,US 1086309888,1086310143,AU 1086310144,1086317823,US 1086317824,1086318079,CA @@ -11451,9 +11524,7 @@ 1089153536,1089153791,US 1089153792,1089154847,US 1089154848,1089154855,VE -1089154856,1089154915,US -1089154916,1089154932,AU -1089154933,1089154968,US +1089154856,1089154968,US 1089154969,1089154977,IN 1089154978,1089155011,US 1089155012,1089155031,TR @@ -11527,8 +11598,7 @@ 1089282096,1089282099,CA 1089282100,1089282687,US 1089282688,1089282703,US -1089282704,1089282711,CA -1089282712,1089285439,US +1089282704,1089285439,US 1089285440,1089285455,US 1089285456,1089306623,US 1089306624,1089339391,PR @@ -12112,7 +12182,7 @@ 1097731448,1097731455,GB 1097731456,1097736191,CA 1097736192,1097768959,US -1097768960,1097777151,CA +1097768960,1097785343,CA 1097785344,1097830399,US 1097830400,1097834495,CA 1097834496,1097837197,US @@ -12143,7 +12213,9 @@ 1098398976,1098399231,A2 1098399232,1098399487,US 1098399488,1098399743,A2 -1098399744,1098891575,US +1098399744,1098812343,US +1098812344,1098812351,CA +1098812352,1098891575,US 1098891576,1098891607,AU 1098891608,1098891623,US 1098891624,1098891631,AU @@ -12327,9 +12399,7 @@ 1102016256,1102016287,AR 1102016288,1102016351,US 1102016352,1102016383,MY -1102016384,1102017087,US -1102017088,1102017119,DM -1102017120,1102018431,US +1102016384,1102018431,US 1102018432,1102018495,TZ 1102018496,1102019583,US 1102019584,1102019711,IN @@ -12510,9 +12580,19 @@ 1107808843,1107808846,PE 1107808847,1107808877,US 1107808878,1107808881,PE -1107808882,1107809850,US +1107808882,1107809392,US +1107809393,1107809393,QA +1107809394,1107809394,US +1107809395,1107809396,QA +1107809397,1107809418,US +1107809419,1107809419,QA +1107809420,1107809850,US 1107809851,1107809851,CA -1107809852,1107820543,US +1107809852,1107810392,US +1107810393,1107810396,IN +1107810397,1107812031,US +1107812032,1107812095,CA +1107812096,1107820543,US 1107820544,1107853311,ZA 1107853312,1107895039,US 1107895040,1107895807,GB @@ -12542,7 +12622,9 @@ 1108025344,1108029439,CA 1108029440,1108033535,US 1108033536,1108041727,CA -1108041728,1108054015,US +1108041728,1108047295,US +1108047296,1108047327,MX +1108047328,1108054015,US 1108054016,1108054303,CA 1108054304,1108054311,US 1108054312,1108054527,CA @@ -12551,7 +12633,9 @@ 1108054688,1108054695,US 1108054696,1108054751,CA 1108054752,1108054767,US -1108054768,1108055263,CA +1108054768,1108055071,CA +1108055072,1108055103,US +1108055104,1108055263,CA 1108055264,1108055279,US 1108055280,1108055399,CA 1108055400,1108055407,US @@ -12584,7 +12668,9 @@ 1108056736,1108056783,CA 1108056784,1108056791,CR 1108056792,1108056799,GB -1108056800,1108057071,CA +1108056800,1108056935,CA +1108056936,1108056943,GB +1108056944,1108057071,CA 1108057072,1108057079,NL 1108057080,1108057087,US 1108057088,1108057135,CA @@ -12866,7 +12952,9 @@ 1110683432,1110683647,CA 1110683648,1110700031,US 1110700032,1110704127,CA -1110704128,1110855679,US +1110704128,1110852863,US +1110852864,1110853119,A2 +1110853120,1110855679,US 1110855680,1110856703,CN 1110856704,1110857727,IN 1110857728,1110858751,SG @@ -13047,8 +13135,8 @@ 1114681344,1114685439,CA 1114685440,1114730495,US 1114730496,1114734591,CA -1114734592,1114875391,US -1114875392,1114876159,CA +1114734592,1114875647,US +1114875648,1114876159,CA 1114876160,1114876447,US 1114876448,1114876463,CA 1114876464,1114876479,AD @@ -13057,7 +13145,7 @@ 1114876544,1114876575,GB 1114876576,1114876911,US 1114876912,1114876927,AD -1114876928,1114877183,CA +1114876928,1114877183,US 1114877184,1114877439,CY 1114877440,1114877695,US 1114877696,1114877759,SK @@ -13085,9 +13173,7 @@ 1114929072,1114929087,RU 1114929088,1114930175,US 1114930176,1114930303,GB -1114930304,1114966815,US -1114966816,1114966831,GB -1114966832,1114967311,US +1114930304,1114967311,US 1114967312,1114967327,GB 1114967328,1115104511,US 1115104512,1115104639,CA @@ -13434,9 +13520,7 @@ 1118793824,1118793839,CA 1118793840,1118793871,US 1118793872,1118793887,DO -1118793888,1118793935,US -1118793936,1118793951,ES -1118793952,1118793967,US +1118793888,1118793967,US 1118793968,1118793983,HT 1118793984,1118794127,US 1118794128,1118794143,NO @@ -13478,7 +13562,9 @@ 1118965992,1118966007,NG 1118966008,1118966015,A2 1118966016,1118966271,BR -1118966272,1118966351,SV +1118966272,1118966327,SV +1118966328,1118966335,SR +1118966336,1118966351,SV 1118966352,1118966367,A2 1118966368,1118966399,SV 1118966400,1118966407,A2 @@ -13693,7 +13779,9 @@ 1118978528,1118979071,A2 1118979072,1118979087,SA 1118979088,1118979199,A2 -1118979200,1118979295,SA +1118979200,1118979239,SA +1118979240,1118979263,A2 +1118979264,1118979295,SA 1118979296,1118979327,LB 1118979328,1118979343,SA 1118979344,1118979455,A2 @@ -14189,10 +14277,11 @@ 1120489344,1120489471,US 1120489472,1120489727,CA 1120489728,1120489983,US -1120489984,1120490751,CA +1120489984,1120490239,CA +1120490240,1120490751,US 1120490752,1120490783,GB -1120490784,1120491007,US -1120491008,1120491775,CA +1120490784,1120491263,US +1120491264,1120491775,CA 1120491776,1120492415,US 1120492416,1120492543,FR 1120492544,1120493055,CA @@ -14271,8 +14360,7 @@ 1120846432,1120846463,CA 1120846464,1120854015,US 1120854016,1120862207,CA -1120862208,1120870399,US -1120874496,1120875007,US +1120862208,1120875007,US 1120875008,1120875263,AS 1120875264,1120876287,US 1120876288,1120876543,A2 @@ -14500,7 +14588,9 @@ 1121714999,1121714999,KW 1121715000,1121715935,US 1121715936,1121715943,US -1121715944,1121878015,US +1121715944,1121716095,US +1121716096,1121716223,AI +1121716224,1121878015,US 1121878016,1121910783,CA 1121910784,1122074623,US 1122074624,1122087935,CA @@ -14604,7 +14694,52 @@ 1123589632,1123589887,DE 1123589888,1123590143,US 1123590144,1123598335,VI -1123598336,1123651583,US +1123598336,1123598495,CA +1123598496,1123598559,US +1123598560,1123598943,CA +1123598944,1123598975,US +1123598976,1123599551,CA +1123599552,1123599631,US +1123599632,1123599743,CA +1123599744,1123599775,US +1123599776,1123599983,CA +1123599984,1123599999,US +1123600000,1123600431,CA +1123600432,1123600447,US +1123600448,1123600479,CA +1123600480,1123600495,US +1123600496,1123601023,CA +1123601024,1123601087,US +1123601088,1123601343,CA +1123601344,1123601375,US +1123601376,1123602047,CA +1123602048,1123602079,US +1123602080,1123602303,CA +1123602304,1123602367,US +1123602368,1123602527,CA +1123602528,1123602559,US +1123602560,1123602751,CA +1123602752,1123602815,US +1123602816,1123603279,CA +1123603280,1123603295,US +1123603296,1123603375,CA +1123603376,1123603391,US +1123603392,1123603679,CA +1123603680,1123603711,US +1123603712,1123603967,CA +1123603968,1123604031,US +1123604032,1123604191,CA +1123604192,1123604223,US +1123604224,1123604639,CA +1123604640,1123604671,US +1123604672,1123604703,CA +1123604704,1123604799,US +1123604800,1123604863,CA +1123604864,1123604895,US +1123604896,1123605727,CA +1123605728,1123605759,US +1123605760,1123606527,CA +1123606528,1123651583,US 1123651584,1123651839,JM 1123651840,1123652095,BB 1123652096,1123652351,AI @@ -14883,9 +15018,7 @@ 1125474304,1125478399,CA 1125478400,1125481215,US 1125481216,1125481727,CA -1125481728,1125493127,US -1125493128,1125493135,CA -1125493136,1125498879,US +1125481728,1125498879,US 1125498880,1125508095,CA 1125508096,1125508351,PA 1125508352,1125514239,CA @@ -14944,9 +15077,13 @@ 1125542448,1125542463,US 1125542464,1125542503,CA 1125542504,1125542543,US -1125542544,1125543199,CA +1125542544,1125542607,CA +1125542608,1125542615,US +1125542616,1125543199,CA 1125543200,1125543215,US -1125543216,1125543687,CA +1125543216,1125543231,CA +1125543232,1125543247,US +1125543248,1125543687,CA 1125543688,1125543695,US 1125543696,1125543887,CA 1125543888,1125543903,US @@ -15134,12 +15271,14 @@ 1137278976,1137283071,CA 1137283072,1137287167,US 1137287168,1137295359,CA -1137295360,1137329663,US -1137329664,1137329919,CA -1137329920,1137341063,US +1137295360,1137340927,US +1137340928,1137340959,PL +1137340960,1137341063,US 1137341064,1137341064,GB 1137341065,1137369087,US -1137369088,1137369183,CA +1137369088,1137369167,CA +1137369168,1137369175,US +1137369176,1137369183,CA 1137369184,1137369223,US 1137369224,1137369359,CA 1137369360,1137369375,US @@ -15151,9 +15290,7 @@ 1137376336,1137376351,US 1137376352,1137376367,CA 1137376368,1137376383,US -1137376384,1137376463,CA -1137376464,1137376479,US -1137376480,1137376543,CA +1137376384,1137376543,CA 1137376544,1137376575,US 1137376576,1137376591,CA 1137376592,1137376623,US @@ -15347,15 +15484,15 @@ 1137724848,1137724863,CA 1137724864,1137724911,US 1137724912,1137724927,CA -1137724928,1137758207,US +1137724928,1137726015,US +1137726016,1137726023,CL +1137726024,1137758207,US 1137758208,1137758463,GB 1137758464,1137758495,US 1137758496,1137758527,AU 1137758528,1137758671,US 1137758672,1137758687,CH -1137758688,1137785855,US -1137785856,1137786111,HU -1137786112,1137795071,US +1137758688,1137795071,US 1137795072,1137799167,A2 1137799168,1137840127,US 1137840128,1137840383,CA @@ -15363,7 +15500,9 @@ 1137842432,1137842559,IN 1137842560,1137843711,US 1137843712,1137843775,NO -1137843776,1137868799,US +1137843776,1137843991,US +1137843992,1137843999,IN +1137844000,1137868799,US 1137868800,1137872895,CA 1137872896,1137876991,US 1137876992,1137881087,CA @@ -15372,7 +15511,9 @@ 1137893376,1137917951,US 1137917952,1137922047,CA 1137922048,1137926143,US -1137926144,1137927519,CA +1137926144,1137926655,CA +1137926656,1137926911,AW +1137926912,1137927519,CA 1137927520,1137927527,AG 1137927528,1137927679,CA 1137927680,1137927807,CR @@ -15410,7 +15551,11 @@ 1138049024,1138053631,CA 1138053632,1138053887,US 1138053888,1138061311,CA -1138061312,1138163711,US +1138061312,1138069503,US +1138069504,1138069567,JM +1138069568,1138070015,US +1138070016,1138073599,JM +1138073600,1138163711,US 1138163712,1138163967,CA 1138163968,1138163975,MA 1138163976,1138163991,CA @@ -15429,9 +15574,7 @@ 1138164256,1138164263,LB 1138164264,1138164271,FR 1138164272,1138164279,PH -1138164280,1138164327,CA -1138164328,1138164335,PA -1138164336,1138164367,CA +1138164280,1138164367,CA 1138164368,1138164375,PH 1138164376,1138164399,FR 1138164400,1138164511,CA @@ -15440,9 +15583,7 @@ 1138164584,1138164591,NZ 1138164592,1138164655,CA 1138164656,1138164663,MA -1138164664,1138164815,CA -1138164816,1138164823,US -1138164824,1138164831,CA +1138164664,1138164831,CA 1138164832,1138164839,PH 1138164840,1138164863,CA 1138164864,1138164991,US @@ -15450,9 +15591,7 @@ 1138165312,1138165319,US 1138165320,1138165431,CA 1138165432,1138165439,LB -1138165440,1138165487,CA -1138165488,1138165503,SK -1138165504,1138165807,CA +1138165440,1138165807,CA 1138165808,1138165815,FR 1138165816,1138165823,CH 1138165824,1138165895,CA @@ -15567,7 +15706,8 @@ 1138655590,1138655601,US 1138655602,1138655609,EG 1138655610,1138655617,MX -1138655618,1138655629,US +1138655618,1138655621,US +1138655622,1138655629,MX 1138655630,1138655637,EG 1138655638,1138655695,US 1138655696,1138655703,MX @@ -15602,7 +15742,9 @@ 1138656866,1138656873,LK 1138656874,1138656909,US 1138656910,1138656917,IN -1138656918,1138656997,US +1138656918,1138656981,US +1138656982,1138656989,EG +1138656990,1138656997,US 1138656998,1138657005,EG 1138657006,1138657051,US 1138657052,1138657059,EG @@ -15634,15 +15776,15 @@ 1138657606,1138657613,LK 1138657614,1138657662,US 1138657663,1138657670,EG -1138657671,1138657732,US -1138657733,1138657740,VE -1138657741,1138657748,US +1138657671,1138657748,US 1138657749,1138657780,GB 1138657781,1138658131,US 1138658132,1138658163,EG 1138658164,1138658171,US 1138658172,1138658179,EG -1138658180,1138658431,US +1138658180,1138658270,US +1138658271,1138658278,IN +1138658279,1138658431,US 1138658432,1138658496,PK 1138658497,1138659081,US 1138659082,1138659207,ES @@ -15664,7 +15806,7 @@ 1138659634,1138659642,US 1138659643,1138659650,ID 1138659651,1138659697,US -1138659698,1138659705,ID +1138659698,1138659705,LK 1138659706,1138659723,US 1138659724,1138659731,ID 1138659732,1138659753,US @@ -15689,9 +15831,7 @@ 1138660178,1138660185,ID 1138660186,1138660193,US 1138660194,1138660201,EG -1138660202,1138660217,US -1138660218,1138660225,IN -1138660226,1138660277,US +1138660202,1138660277,US 1138660278,1138660285,EG 1138660286,1138660311,US 1138660312,1138660333,GB @@ -15720,7 +15860,13 @@ 1138661056,1138661063,EG 1138661064,1138661129,US 1138661130,1138661137,AE -1138661138,1138661457,US +1138661138,1138661189,US +1138661190,1138661193,LK +1138661194,1138661195,US +1138661196,1138661197,LK +1138661198,1138661385,US +1138661386,1138661393,EG +1138661394,1138661457,US 1138661458,1138661465,LK 1138661466,1138661473,US 1138661474,1138661481,AE @@ -15736,7 +15882,9 @@ 1138661730,1138661737,ID 1138661738,1138661769,US 1138661770,1138661777,MA -1138661778,1138661821,US +1138661778,1138661785,US +1138661786,1138661801,EG +1138661802,1138661821,US 1138661822,1138661829,MA 1138661830,1138661969,US 1138661970,1138661977,EG @@ -15745,12 +15893,11 @@ 1138662018,1138662273,US 1138662274,1138662309,EG 1138662310,1138662333,US -1138662334,1138662353,GB -1138662354,1138662369,US +1138662334,1138662349,EG +1138662350,1138662369,US 1138662370,1138662395,GB 1138662396,1138662481,US -1138662482,1138662489,EG -1138662490,1138662497,US +1138662482,1138662497,EG 1138662498,1138662505,LK 1138662506,1138662537,US 1138662538,1138662545,EG @@ -15760,7 +15907,9 @@ 1138662624,1138662639,GB 1138662640,1138662640,US 1138662641,1138662648,EG -1138662649,1138663021,US +1138662649,1138662942,US +1138662943,1138663006,CN +1138663007,1138663021,US 1138663022,1138663166,GB 1138663167,1138712575,US 1138712576,1138714071,CA @@ -15810,7 +15959,9 @@ 1139265536,1139269631,CA 1139269632,1139274495,US 1139274496,1139274751,US -1139274752,1145089791,US +1139274752,1145054991,US +1145054992,1145055007,FI +1145055008,1145089791,US 1145089792,1145090047,JP 1145090048,1145188351,US 1145188352,1145192447,CA @@ -15853,9 +16004,7 @@ 1145334176,1145334223,CN 1145334224,1145334231,US 1145334232,1145334239,CN -1145334240,1145334527,US -1145334528,1145335039,US -1145335040,1145335103,US +1145334240,1145335103,US 1145335104,1145335135,NL 1145335136,1145335167,US 1145335168,1145335183,CN @@ -15906,11 +16055,13 @@ 1151890016,1151890079,CA 1151890080,1151890087,GB 1151890088,1151890095,CA -1151890096,1151890127,GB -1151890128,1151897599,CA -1151897600,1151914495,US -1151914496,1151914751,NL -1151914752,1151943680,US +1151890096,1151890111,GB +1151890112,1151890119,CA +1151890120,1151890127,GB +1151890128,1151890143,CA +1151890144,1151890151,SC +1151890152,1151897599,CA +1151897600,1151943680,US 1151943681,1151943808,GB 1151943809,1151943871,NL 1151943872,1151943935,CA @@ -16041,16 +16192,10 @@ 1158294720,1158294751,GB 1158294752,1158295807,US 1158295808,1158296063,GB -1158296064,1158297343,US -1158297344,1158297599,NL -1158297600,1158316031,US +1158296064,1158316031,US 1158316032,1158318847,CA 1158318848,1158319103,CA -1158319104,1158322671,CA -1158322672,1158322687,SY -1158322688,1158323535,CA -1158323536,1158323551,SY -1158323552,1158323695,CA +1158319104,1158323695,CA 1158323696,1158323711,SY 1158323712,1158324223,CA 1158324224,1158340607,US @@ -16167,7 +16312,9 @@ 1158736250,1158774783,US 1158774784,1158776947,CA 1158776948,1158776951,US -1158776952,1158784703,CA +1158776952,1158784367,CA +1158784368,1158784375,US +1158784376,1158784703,CA 1158784704,1158784767,US 1158784768,1158791167,CA 1158791168,1158794239,BM @@ -16358,9 +16505,7 @@ 1159694592,1159694847,CA 1159694848,1159700479,US 1159700480,1159725055,CA -1159725056,1159988735,US -1159988736,1159988991,MX -1159988992,1159995647,US +1159725056,1159995647,US 1159995648,1159995655,AU 1159995656,1159996063,US 1159996064,1159996079,GB @@ -16656,11 +16801,17 @@ 1160938880,1160938887,NL 1160938888,1160941463,US 1160941464,1160941471,RU -1160941472,1160941535,US +1160941472,1160941503,US +1160941504,1160941511,CA +1160941512,1160941535,US 1160941536,1160941567,CA 1160941568,1160945663,US 1160945664,1160953855,CA -1160953856,1161019391,US +1160953856,1160956431,US +1160956432,1160956440,BY +1160956441,1160957738,US +1160957739,1160957752,CA +1160957753,1161019391,US 1161019392,1161035775,CA 1161035776,1161052671,US 1161052672,1161052927,GB @@ -16743,8 +16894,8 @@ 1161430104,1161430111,MY 1161430112,1161430127,CA 1161430128,1161430135,US -1161430136,1161430143,CA -1161430144,1161430215,US +1161430136,1161430207,CA +1161430208,1161430215,US 1161430216,1161430231,CA 1161430232,1161430239,TR 1161430240,1161430255,CA @@ -16807,8 +16958,7 @@ 1161586688,1161586943,PA 1161586944,1161617407,US 1161617408,1161625599,CA -1161625600,1161627663,US -1161627664,1161627671,PL +1161625600,1161627671,US 1161627672,1161627679,BR 1161627680,1161627687,US 1161627688,1161627695,HR @@ -16825,8 +16975,9 @@ 1161627840,1161627847,AR 1161627848,1161627855,US 1161627856,1161627863,AR -1161627864,1161627871,CA -1161627872,1161628455,US +1161627864,1161627871,US +1161627872,1161627879,BG +1161627880,1161628455,US 1161628456,1161628463,GB 1161628464,1161628527,US 1161628528,1161628535,BR @@ -16846,8 +16997,7 @@ 1161629376,1161629383,CA 1161629384,1161629391,AR 1161629392,1161629399,GB -1161629400,1161629407,IL -1161629408,1161629431,US +1161629400,1161629431,US 1161629432,1161629439,MY 1161629440,1161629503,US 1161629504,1161629511,PL @@ -16878,7 +17028,7 @@ 1161629856,1161629863,AR 1161629864,1161629887,US 1161629888,1161629903,CY -1161629904,1161629911,PL +1161629904,1161629911,AR 1161629912,1161629919,US 1161629920,1161629935,GB 1161629936,1161629943,ES @@ -16974,12 +17124,9 @@ 1161633584,1161633591,HR 1161633592,1161633615,US 1161633616,1161633623,IL -1161633624,1161633631,US -1161633632,1161633639,CA -1161633640,1161634079,US +1161633624,1161634079,US 1161634080,1161634087,AF -1161634088,1161634127,US -1161634128,1161634135,AR +1161634088,1161634135,US 1161634136,1161634143,PH 1161634144,1161634175,AR 1161634176,1161634191,PL @@ -16998,16 +17145,13 @@ 1161634504,1161634519,US 1161634520,1161634527,BG 1161634528,1161634543,GB -1161634544,1161634551,PL -1161634552,1161634559,US +1161634544,1161634559,US 1161634560,1161634815,IN 1161634816,1161634911,US 1161634912,1161634927,GB 1161634928,1161635007,US 1161635008,1161635071,KW -1161635072,1161635847,US -1161635848,1161635855,PL -1161635856,1161635871,US +1161635072,1161635871,US 1161635872,1161635887,PL 1161635888,1161635903,AU 1161635904,1161635967,US @@ -17019,19 +17163,16 @@ 1161636224,1161636255,GB 1161636256,1161636287,US 1161636288,1161636311,PL -1161636312,1161636319,US -1161636320,1161636343,PL -1161636344,1161636351,US -1161636352,1161636359,PL -1161636360,1161636367,US -1161636368,1161636383,PL -1161636384,1161636415,US +1161636312,1161636335,US +1161636336,1161636343,PL +1161636344,1161636415,US 1161636416,1161636447,GB -1161636448,1161636479,US +1161636448,1161636455,US +1161636456,1161636463,PL +1161636464,1161636479,US 1161636480,1161636495,GB 1161636496,1161636503,CA -1161636504,1161636543,US -1161636544,1161636575,AU +1161636504,1161636575,US 1161636576,1161636583,PL 1161636584,1161636591,IN 1161636592,1161636607,US @@ -17042,7 +17183,8 @@ 1161637144,1161637159,US 1161637160,1161637167,NZ 1161637168,1161637175,GB -1161637176,1161637199,US +1161637176,1161637183,PL +1161637184,1161637199,US 1161637200,1161637207,GB 1161637208,1161637215,US 1161637216,1161637223,PL @@ -17204,7 +17346,8 @@ 1161658136,1161658143,AR 1161658144,1161658151,SI 1161658152,1161658159,AR -1161658160,1161658239,US +1161658160,1161658175,GB +1161658176,1161658239,US 1161658240,1161658271,AF 1161658272,1161764863,US 1161764864,1161773055,CA @@ -17249,9 +17392,13 @@ 1161830450,1161830450,HR 1161830451,1161830465,US 1161830466,1161830466,BR -1161830467,1161830479,US +1161830467,1161830471,US +1161830472,1161830472,GB +1161830473,1161830479,US 1161830480,1161830480,BY -1161830481,1161830497,US +1161830481,1161830493,US +1161830494,1161830494,PK +1161830495,1161830497,US 1161830498,1161830498,VN 1161830499,1161830554,US 1161830555,1161830555,BR @@ -17262,7 +17409,7 @@ 1161830615,1161830620,US 1161830621,1161830621,CA 1161830622,1161830639,US -1161830640,1161830640,UA +1161830640,1161830640,BR 1161830641,1161830662,US 1161830663,1161830664,BR 1161830665,1161830683,US @@ -17309,7 +17456,9 @@ 1161830853,1161830853,CO 1161830854,1161830866,US 1161830867,1161830867,VN -1161830868,1161830893,US +1161830868,1161830881,US +1161830882,1161830882,CA +1161830883,1161830893,US 1161830894,1161830894,BE 1161830895,1161830895,BR 1161830896,1161830928,US @@ -17326,7 +17475,9 @@ 1161831053,1161831053,MX 1161831054,1161831059,US 1161831060,1161831060,BR -1161831061,1161831128,US +1161831061,1161831123,US +1161831124,1161831124,BR +1161831125,1161831128,US 1161831129,1161831129,CN 1161831130,1161831136,US 1161831137,1161831139,PK @@ -17338,15 +17489,14 @@ 1161831188,1161831189,CA 1161831190,1161831190,US 1161831191,1161831191,CA -1161831192,1161831201,US -1161831202,1161831202,IR -1161831203,1161831204,US +1161831192,1161831204,US 1161831205,1161831205,BR 1161831206,1161831236,US 1161831237,1161831237,MX 1161831238,1161831241,US 1161831242,1161831247,CO -1161831248,1161831261,US +1161831248,1161831259,US +1161831260,1161831261,GE 1161831262,1161831262,MX 1161831263,1161831263,US 1161831264,1161831264,TH @@ -17361,12 +17511,16 @@ 1161831277,1161831277,IN 1161831278,1161831278,RU 1161831279,1161831281,DE -1161831282,1161831282,FR +1161831282,1161831282,GE 1161831283,1161831283,BR -1161831284,1161831286,US +1161831284,1161831285,US +1161831286,1161831286,DE 1161831287,1161831287,BR -1161831288,1161831300,US -1161831301,1161831302,CA +1161831288,1161831288,US +1161831289,1161831289,UY +1161831290,1161831290,BR +1161831291,1161831299,US +1161831300,1161831302,CA 1161831303,1161831303,US 1161831304,1161831304,CA 1161831305,1161831306,US @@ -17379,40 +17533,60 @@ 1161831327,1161831327,PK 1161831328,1161831328,DE 1161831329,1161831329,US -1161831330,1161831330,TR +1161831330,1161831330,CA 1161831331,1161831331,EC 1161831332,1161831334,US -1161831335,1161831335,IR +1161831335,1161831335,CA 1161831336,1161831338,US 1161831339,1161831340,MX 1161831341,1161831341,US 1161831342,1161831342,MX 1161831343,1161831343,BR -1161831344,1161831369,US -1161831370,1161831371,BR -1161831372,1161831384,US +1161831344,1161831346,US +1161831347,1161831347,CA +1161831348,1161831365,US +1161831366,1161831366,PK +1161831367,1161831368,US +1161831369,1161831369,PK +1161831370,1161831370,BR +1161831371,1161831371,HU +1161831372,1161831375,US +1161831376,1161831377,BR +1161831378,1161831378,BD +1161831379,1161831380,PK +1161831381,1161831382,US +1161831383,1161831384,CO 1161831385,1161831385,UA -1161831386,1161831392,US +1161831386,1161831389,US +1161831390,1161831390,CA +1161831391,1161831391,US +1161831392,1161831392,CA 1161831393,1161831395,CO 1161831396,1161831397,US 1161831398,1161831399,SG -1161831400,1161831402,ID +1161831400,1161831400,BR +1161831401,1161831401,ID +1161831402,1161831402,AE 1161831403,1161831404,US -1161831405,1161831406,DE +1161831405,1161831406,AE 1161831407,1161831410,US -1161831411,1161831411,IN +1161831411,1161831411,SI 1161831412,1161831412,US 1161831413,1161831413,CO 1161831414,1161831415,US 1161831416,1161831416,JP -1161831417,1161831464,US +1161831417,1161831458,US +1161831459,1161831459,CO +1161831460,1161831464,US 1161831465,1161831465,BR 1161831466,1161831478,US 1161831479,1161831480,BR 1161831481,1161831481,JP 1161831482,1161831486,US 1161831487,1161831487,DO -1161831488,1161831507,US +1161831488,1161831503,US +1161831504,1161831504,RU +1161831505,1161831507,US 1161831508,1161831508,BR 1161831509,1161831511,US 1161831512,1161831512,BR @@ -17420,7 +17594,13 @@ 1161831517,1161831517,CO 1161831518,1161831541,US 1161831542,1161831542,LV -1161831543,1161831632,US +1161831543,1161831545,US +1161831546,1161831546,BR +1161831547,1161831588,US +1161831589,1161831589,CA +1161831590,1161831595,US +1161831596,1161831596,UA +1161831597,1161831632,US 1161831633,1161831633,TH 1161831634,1161831634,CA 1161831635,1161831701,US @@ -17506,9 +17686,7 @@ 1161832509,1161832509,MX 1161832510,1161832510,MD 1161832511,1161832516,US -1161832517,1161832518,BR -1161832519,1161832524,CA -1161832525,1161832530,BR +1161832517,1161832530,BR 1161832531,1161832531,US 1161832532,1161832536,BR 1161832537,1161832537,US @@ -17525,7 +17703,7 @@ 1161832555,1161832555,US 1161832556,1161832556,BR 1161832557,1161832558,IN -1161832559,1161832559,CA +1161832559,1161832559,BR 1161832560,1161832562,US 1161832563,1161832563,BR 1161832564,1161832565,US @@ -17551,11 +17729,17 @@ 1161832623,1161832623,CA 1161832624,1161832625,US 1161832626,1161832632,CA -1161832633,1161832770,US +1161832633,1161832735,US +1161832736,1161832738,AR +1161832739,1161832739,US +1161832740,1161832767,AR +1161832768,1161832770,US 1161832771,1161832782,BR 1161832783,1161832799,US 1161832800,1161832831,BR -1161832832,1161832927,US +1161832832,1161832895,US +1161832896,1161832901,AR +1161832902,1161832927,IN 1161832928,1161832959,LT 1161832960,1161832969,US 1161832970,1161832970,TR @@ -17612,12 +17796,16 @@ 1161833965,1161833965,IL 1161833966,1161833967,US 1161833968,1161833975,DE -1161833976,1161835930,US +1161833976,1161835878,US +1161835879,1161835879,BR +1161835880,1161835930,US 1161835931,1161835931,BR 1161835932,1161835941,US 1161835942,1161835947,PK 1161835948,1161835952,US -1161835953,1161835956,PK +1161835953,1161835954,PK +1161835955,1161835955,US +1161835956,1161835956,PK 1161835957,1161835957,US 1161835958,1161835962,PK 1161835963,1161835969,US @@ -17658,15 +17846,11 @@ 1161837827,1161837854,US 1161837855,1161837856,BR 1161837857,1161837858,US -1161837859,1161837860,BR -1161837861,1161837876,CA -1161837877,1161837879,BR -1161837880,1161837889,CA +1161837859,1161837889,BR 1161837890,1161837890,US -1161837891,1161837894,CA +1161837891,1161837894,BR 1161837895,1161837895,US -1161837896,1161837898,CA -1161837899,1161837900,BR +1161837896,1161837900,BR 1161837901,1161837901,US 1161837902,1161837906,BR 1161837907,1161837907,US @@ -17687,8 +17871,8 @@ 1161837972,1161837974,US 1161837975,1161837975,CA 1161837976,1161837976,BR -1161837977,1161837994,US -1161837995,1161838000,BR +1161837977,1161837993,US +1161837994,1161838000,BR 1161838001,1161838001,NL 1161838002,1161838031,BR 1161838032,1161838038,US @@ -17705,7 +17889,7 @@ 1161838359,1161838359,AR 1161838360,1161838435,US 1161838436,1161838436,SG -1161838437,1161838437,IR +1161838437,1161838437,BR 1161838438,1161838441,US 1161838442,1161838442,BR 1161838443,1161838452,US @@ -17721,7 +17905,9 @@ 1161838477,1161838477,BR 1161838478,1161838480,US 1161838481,1161838481,CA -1161838482,1161838505,US +1161838482,1161838484,US +1161838485,1161838485,IN +1161838486,1161838505,US 1161838506,1161838506,CA 1161838507,1161838511,US 1161838512,1161838514,AU @@ -17806,7 +17992,9 @@ 1162204971,1162204972,US 1162204973,1162215423,US 1162215424,1162280959,CA -1162280960,1162296407,US +1162280960,1162295343,US +1162295344,1162295351,GB +1162295352,1162296407,US 1162296408,1162296415,CA 1162296416,1162297343,US 1162297344,1162305535,CA @@ -18067,8 +18255,8 @@ 1163540608,1163540735,US 1163540736,1163541503,CA 1163541504,1163542015,US -1163542016,1163542791,CA -1163542792,1163542855,US +1163542016,1163542799,CA +1163542800,1163542855,US 1163542856,1163542919,CA 1163542920,1163542927,US 1163542928,1163543687,CA @@ -18294,9 +18482,7 @@ 1167322696,1167322703,IN 1167322704,1167323543,US 1167323544,1167323551,CA -1167323552,1167323823,US -1167323824,1167323831,IN -1167323832,1167324287,US +1167323552,1167324287,US 1167324288,1167324295,GB 1167324296,1167324311,US 1167324312,1167324319,CA @@ -18306,23 +18492,11 @@ 1167325936,1167325951,CA 1167325952,1167326231,US 1167326232,1167326239,CA -1167326240,1167326271,IN -1167326272,1167326303,US -1167326304,1167326335,IN +1167326240,1167326335,US 1167326336,1167326367,SI -1167326368,1167326399,US -1167326400,1167326431,IN -1167326432,1167326439,US -1167326440,1167326447,IN -1167326448,1167326983,US -1167326984,1167326991,IN -1167326992,1167327031,US +1167326368,1167327031,US 1167327032,1167327039,GB -1167327040,1167327111,US -1167327112,1167327119,IN -1167327120,1167327207,US -1167327208,1167327215,IN -1167327216,1167693199,US +1167327040,1167693199,US 1167693200,1167693215,UA 1167693216,1167851519,US 1167851520,1168113663,CA @@ -18337,7 +18511,9 @@ 1168318976,1168321535,US 1168321536,1168321791,CA 1168321792,1168393215,US -1168393216,1168394495,CA +1168393216,1168393591,CA +1168393592,1168393599,US +1168393600,1168394495,CA 1168394496,1168394511,US 1168394512,1168394751,CA 1168394752,1168420863,US @@ -18790,7 +18966,9 @@ 1208122048,1208122063,CA 1208122064,1208301455,US 1208301456,1208301471,CA -1208301472,1208333567,US +1208301472,1208324991,US +1208324992,1208325119,CA +1208325120,1208333567,US 1208333568,1208333823,GB 1208333824,1208337919,US 1208337920,1208338175,A2 @@ -18827,7 +19005,9 @@ 1208587088,1208587095,LK 1208587096,1208587169,US 1208587170,1208587177,MX -1208587178,1208587321,US +1208587178,1208587221,US +1208587222,1208587229,LK +1208587230,1208587321,US 1208587322,1208587329,GB 1208587330,1208587333,US 1208587334,1208587341,CA @@ -18841,8 +19021,7 @@ 1208587435,1208587450,US 1208587451,1208587458,LK 1208587459,1208587479,US -1208587480,1208587487,LK -1208587488,1208587488,US +1208587480,1208587488,LK 1208587489,1208587504,GB 1208587505,1208587629,US 1208587630,1208587637,MA @@ -18853,7 +19032,7 @@ 1208587714,1208587728,US 1208587729,1208587736,CA 1208587737,1208587765,US -1208587766,1208587773,VE +1208587766,1208587773,LK 1208587774,1208588071,US 1208588072,1208588079,RU 1208588080,1208588185,US @@ -18883,7 +19062,7 @@ 1208589082,1208589111,US 1208589112,1208589119,VE 1208589120,1208589279,US -1208589280,1208589287,EG +1208589280,1208589287,LK 1208589288,1208589299,US 1208589300,1208589307,LK 1208589308,1208589341,US @@ -18907,7 +19086,9 @@ 1208589926,1208589959,US 1208589960,1208589967,IR 1208589968,1208589975,VE -1208589976,1208590031,US +1208589976,1208590007,US +1208590008,1208590015,EG +1208590016,1208590031,US 1208590032,1208590047,EG 1208590048,1208590091,US 1208590092,1208590108,GB @@ -18939,8 +19120,7 @@ 1208657416,1208657423,CH 1208657424,1208657519,CA 1208657520,1208657527,MA -1208657528,1208657531,PA -1208657532,1208657535,CA +1208657528,1208657535,CA 1208657536,1208657543,SE 1208657544,1208657551,CA 1208657552,1208657559,PH @@ -18949,7 +19129,8 @@ 1208657784,1208657855,CA 1208657856,1208657871,PA 1208657872,1208657919,CA -1208657920,1208657975,MA +1208657920,1208657927,HK +1208657928,1208657975,MA 1208657976,1208657983,CA 1208657984,1208657991,CN 1208657992,1208658015,MA @@ -19083,7 +19264,8 @@ 1209441280,1209442303,BB 1209442304,1209647103,US 1209647104,1209663487,CA -1209663488,1209719807,US +1209663488,1209718783,US +1209718784,1209719807,NL 1209719808,1209720831,SG 1209720832,1209729023,US 1209729024,1209786367,JM @@ -19093,13 +19275,17 @@ 1209819904,1209819967,CA 1209819968,1209820159,US 1209820160,1209820223,CA -1209820224,1209821463,US +1209820224,1209820399,US +1209820400,1209820403,NG +1209820404,1209821463,US 1209821464,1209821471,GB 1209821472,1209821703,US 1209821704,1209821711,CN 1209821712,1209821759,US 1209821760,1209821791,CN -1209821792,1209822799,US +1209821792,1209821983,US +1209821984,1209821999,MX +1209822000,1209822799,US 1209822800,1209822815,DE 1209822816,1209824287,US 1209824288,1209824319,IN @@ -19410,7 +19596,9 @@ 1224318208,1224318463,CA 1224318464,1224321279,US 1224321280,1224321535,CA -1224321536,1224474623,US +1224321536,1224470527,US +1224470528,1224473599,NL +1224473600,1224474623,US 1224474624,1224475647,GT 1224475648,1224475903,PR 1224475904,1224476671,US @@ -19523,12 +19711,14 @@ 1247482240,1247482255,GB 1247482256,1247482263,CN 1247482264,1247482271,US -1247482272,1247482319,CN -1247482320,1247482335,US -1247482336,1247482351,CN +1247482272,1247482303,CN +1247482304,1247482343,US +1247482344,1247482351,CN 1247482352,1247482367,US 1247482368,1247482383,GB -1247482384,1247482431,CN +1247482384,1247482391,CN +1247482392,1247482399,US +1247482400,1247482431,CN 1247482432,1247482495,US 1247482496,1247482511,CN 1247482512,1247482519,US @@ -19555,8 +19745,12 @@ 1247483120,1247483647,US 1247483648,1247483671,CN 1247483672,1247483679,US -1247483680,1247483903,CN -1247483904,1247485183,US +1247483680,1247483711,CN +1247483712,1247483743,US +1247483744,1247483823,CN +1247483824,1247483831,US +1247483832,1247483871,CN +1247483872,1247485183,US 1247485184,1247485191,CN 1247485192,1247485231,US 1247485232,1247485263,CN @@ -19573,7 +19767,9 @@ 1247485640,1247485647,US 1247485648,1247485671,CN 1247485672,1247485679,US -1247485680,1247485743,CN +1247485680,1247485727,CN +1247485728,1247485735,US +1247485736,1247485743,CN 1247485744,1247485751,US 1247485752,1247485951,CN 1247485952,1247490047,US @@ -19800,20 +19996,15 @@ 1249544192,1249550351,US 1249550352,1249550367,GB 1249550368,1249550375,HK -1249550376,1249550383,US -1249550384,1249550391,AU +1249550376,1249550391,US 1249550392,1249550399,TW 1249550400,1249550863,US 1249550864,1249550879,GB 1249550880,1249550903,US 1249550904,1249550911,GB -1249550912,1249550919,US -1249550920,1249550927,ID -1249550928,1249550935,US +1249550912,1249550935,US 1249550936,1249550943,BY -1249550944,1249550967,US -1249550968,1249550975,ID -1249550976,1249562623,US +1249550944,1249562623,US 1249562624,1249564671,CA 1249564672,1249567558,US 1249567559,1249567562,RU @@ -19833,9 +20024,7 @@ 1249598464,1249599487,CA 1249599488,1249637887,US 1249637888,1249638143,CA -1249638144,1249690677,US -1249690678,1249690686,GB -1249690687,1249690783,US +1249638144,1249690783,US 1249690784,1249690815,AU 1249690816,1249710143,US 1249710144,1249710207,CN @@ -20100,11 +20289,19 @@ 1258767360,1258767615,US 1258767616,1258958095,US 1258958096,1258958103,CA -1258958104,1263266815,US +1258958104,1263265535,US +1263265536,1263265599,CA +1263265600,1263266303,US +1263266304,1263266367,CA +1263266368,1263266495,US +1263266496,1263266559,CA +1263266560,1263266815,US 1263266816,1263266823,CN 1263266824,1263266855,US 1263266856,1263266863,CN -1263266864,1263268275,US +1263266864,1263267455,US +1263267456,1263267519,CA +1263267520,1263268275,US 1263268276,1263268340,CA 1263268341,1263268343,US 1263268344,1263268351,CA @@ -20711,7 +20908,15 @@ 1279969312,1279969343,CA 1279969344,1279969407,US 1279969408,1279969423,CA -1279969424,1279971583,US +1279969424,1279969471,US +1279969472,1279969535,CA +1279969536,1279969551,US +1279969552,1279969567,CA +1279969568,1279969919,US +1279969920,1279969935,CA +1279969936,1279970047,US +1279970048,1279970303,CA +1279970304,1279971583,US 1279971584,1279972095,CA 1279972096,1279973951,US 1279973952,1279973967,CA @@ -20961,7 +21166,9 @@ 1296105472,1296171007,PL 1296171008,1296203775,DK 1296203776,1296236543,RU -1296236544,1296244991,IE +1296236544,1296237439,IE +1296237440,1296237567,IT +1296237568,1296244991,IE 1296244992,1296245247,CH 1296245248,1296245759,IE 1296245760,1296246783,ES @@ -22927,9 +23134,7 @@ 1347862528,1347866623,CH 1347866624,1347870719,NO 1347870720,1347874815,AM -1347874816,1347874938,RU -1347874939,1347875450,SE -1347875451,1347878399,RU +1347874816,1347878399,RU 1347878400,1347878911,SK 1347878912,1347887103,GB 1347887104,1347891199,PL @@ -23076,7 +23281,8 @@ 1348861952,1348993023,ES 1348993024,1349124095,IT 1349124096,1349255167,GR -1349255168,1349517311,AT +1349255168,1349451775,AT +1349451776,1349517311,IE 1349517312,1349584543,NL 1349584544,1349584551,GB 1349584552,1349763071,NL @@ -23205,7 +23411,9 @@ 1357323520,1357323775,GB 1357323776,1357342975,EU 1357342976,1357343231,GB -1357343232,1357360127,EU +1357343232,1357343487,EU +1357343488,1357343503,GB +1357343504,1357360127,EU 1357360128,1357360271,GB 1357360272,1357360279,FR 1357360280,1357360383,GB @@ -23901,7 +24109,9 @@ 1365042048,1365042055,GB 1365042056,1365044900,LU 1365044901,1365044901,FR -1365044902,1365045247,LU +1365044902,1365044927,LU +1365044928,1365044935,GR +1365044936,1365045247,LU 1365045248,1365047295,AT 1365047296,1365047551,SK 1365047552,1365048319,AT @@ -25594,8 +25804,7 @@ 1425971968,1425972223,A2 1425972224,1425980415,IT 1425980416,1425980671,IQ -1425980672,1425981183,IT -1425981184,1425981439,US +1425980672,1425981439,A2 1425981440,1425997823,RU 1425997824,1426014207,MT 1426014208,1426030591,DK @@ -25604,7 +25813,7 @@ 1426063360,1426587647,CH 1426587648,1426604031,SE 1426604032,1426620415,DE -1426620416,1426653183,GB +1426636800,1426653183,GB 1426653184,1426669567,RO 1426669568,1426685951,IR 1426685952,1426702335,TJ @@ -26161,7 +26370,6 @@ 1442783232,1442787327,NO 1442787328,1442791423,LT 1442791424,1442795519,LV -1442795520,1442799615,DE 1442799616,1442803711,LT 1442803712,1442807807,RO 1442807808,1442811903,BG @@ -26228,7 +26436,9 @@ 1449590784,1449656319,DE 1449656320,1449841663,RO 1449841664,1449843711,MD -1449843712,1449850879,RO +1449843712,1449845503,RO +1449845504,1449845759,MD +1449845760,1449850879,RO 1449850880,1449852927,MD 1449852928,1449918463,RO 1449918464,1449951231,JO @@ -26848,7 +27058,9 @@ 1490452480,1490468863,PT 1490468864,1490478591,GB 1490478592,1490478847,RU -1490478848,1490501631,GB +1490478848,1490480127,GB +1490480128,1490480639,RU +1490480640,1490501631,GB 1490501632,1490518015,DE 1490518016,1490534399,RU 1490534400,1490550783,DE @@ -28131,7 +28343,6 @@ 1536065536,1536065791,DE 1536065792,1536066303,LU 1536066304,1536066815,NL -1536066816,1536067071,RU 1536067072,1536067327,GB 1536067328,1536067583,RU 1536067584,1536067839,DK @@ -28213,7 +28424,8 @@ 1537212416,1538260991,FR 1538260992,1538785279,BE 1538785280,1538793471,NL -1538793472,1538801663,DE +1538793472,1538797567,DE +1538797568,1538801663,NL 1538801664,1538809855,IR 1538809856,1538818047,GE 1538818048,1538826239,NO @@ -28397,7 +28609,6 @@ 1539402240,1539402751,FR 1539402752,1539403263,GB 1539403264,1539403775,RU -1539403776,1539404799,GR 1539404800,1539405823,EE 1539405824,1539406847,PL 1539406848,1539408895,UA @@ -29768,7 +29979,6 @@ 1540349952,1540350463,UA 1540350464,1540350975,NO 1540350976,1540351487,DK -1540351488,1540351999,RO 1540352000,1540352511,NL 1540352512,1540353023,RU 1540353024,1540353535,GR @@ -29911,7 +30121,7 @@ 1540392192,1540392447,PL 1540392448,1540392703,RU 1540392704,1540392959,PL -1540392960,1540393471,GB +1540392960,1540393215,GB 1540393472,1540393727,UA 1540393728,1540394239,IL 1540394240,1540394495,GB @@ -30549,7 +30759,6 @@ 1540677376,1540677631,PL 1540677632,1540677887,DK 1540677888,1540678143,GE -1540678144,1540678399,RU 1540678400,1540678655,RO 1540678656,1540678911,SE 1540678912,1540679167,GB @@ -30949,7 +31158,6 @@ 1540891648,1540891903,CH 1540891904,1540892159,GB 1540892160,1540892415,IT -1540892416,1540892671,UA 1540892672,1540892927,GB 1540892928,1540893183,BE 1540893184,1540893439,GB @@ -31447,7 +31655,6 @@ 1541150720,1541151231,GB 1541151232,1541151487,RO 1541151488,1541151743,FR -1541151744,1541151999,NL 1541152000,1541152255,HU 1541152256,1541152511,NL 1541152512,1541152767,RU @@ -31900,7 +32107,6 @@ 1541358336,1541358591,GB 1541358592,1541358847,PL 1541358848,1541359103,SK -1541359104,1541359359,LV 1541359360,1541359615,FR 1541359616,1541359871,PL 1541359872,1541360127,FR @@ -32577,7 +32783,6 @@ 1541743616,1541744639,SK 1541744640,1541745663,PL 1541745664,1541746175,TR -1541746176,1541746687,UA 1541746688,1541746943,RU 1541746944,1541747199,NL 1541747200,1541747711,RU @@ -32596,7 +32801,6 @@ 1541753856,1541754879,UA 1541754880,1541755391,IT 1541755392,1541757439,PL -1541757440,1541757951,RU 1541757952,1541758207,GB 1541758208,1541758463,HU 1541758464,1541758719,RU @@ -32788,8 +32992,6 @@ 1541857280,1541857535,RU 1541857536,1541857791,KW 1541857792,1541858303,RU -1541858304,1541858559,LV -1541858560,1541858815,RU 1541858816,1541859327,BG 1541859328,1541859583,RO 1541859584,1541859839,PL @@ -34382,7 +34584,9 @@ 1551021568,1551023103,MD 1551023104,1551024127,RO 1551024128,1551030271,MD -1551030272,1551034623,RO +1551030272,1551032063,RO +1551032064,1551032319,MD +1551032320,1551034623,RO 1551034624,1551034879,MD 1551034880,1551039999,RO 1551040000,1551040255,MD @@ -34768,7 +34972,9 @@ 1567890432,1567890687,MD 1567890688,1567891455,RO 1567891456,1567895551,MD -1567895552,1567913983,RO +1567895552,1567907839,RO +1567907840,1567911935,MD +1567911936,1567913983,RO 1567913984,1567916031,MD 1567916032,1567932415,RO 1567932416,1567940607,MD @@ -34896,10 +35102,12 @@ 1571442688,1571443199,UA 1571443200,1571443455,CZ 1571443456,1571443711,UA -1571443712,1571531263,CZ +1571443712,1571454975,CZ +1571454976,1571455999,RU +1571456000,1571531263,CZ 1571531264,1571531775,UA -1571531776,1571534335,CZ -1571534336,1571534847,RU +1571531776,1571534079,CZ +1571534080,1571534847,RU 1571534848,1571535103,LV 1571535104,1571551231,CZ 1571551232,1571552255,UA @@ -34936,7 +35144,12 @@ 1571741696,1571743743,RU 1571743744,1571745791,GB 1571745792,1571747839,RU -1571747840,1571749887,GB +1571747840,1571748095,GB +1571748096,1571748351,US +1571748352,1571748607,SG +1571748608,1571748863,GB +1571748864,1571749119,US +1571749120,1571749887,GB 1571749888,1571758079,RU 1571758080,1571766271,IL 1571766272,1571786751,PL @@ -35105,7 +35318,10 @@ 1572628480,1572630527,DE 1572630528,1572632575,IT 1572632576,1572634623,RU -1572634624,1572636671,US +1572634624,1572634879,GB +1572634880,1572635391,NL +1572635392,1572636415,US +1572636416,1572636671,NL 1572636672,1572638719,ES 1572638720,1572640767,FR 1572640768,1572642815,RU @@ -35818,7 +36034,6 @@ 1592317952,1592319999,PL 1592320000,1592322047,LT 1592322048,1592324095,RU -1592324096,1592326143,KZ 1592326144,1592328191,UA 1592328192,1592393727,RU 1592393728,1592459263,SE @@ -36479,12 +36694,9 @@ 1611166784,1611167647,US 1611167648,1611167679,CA 1611167680,1611167727,SE -1611167728,1611168511,US -1611168512,1611169535,IE -1611169536,1611169599,US +1611167728,1611169599,US 1611169600,1611169663,IE -1611169664,1611169791,GB -1611169792,1611227135,US +1611169664,1611227135,US 1611227136,1611235327,CA 1611235328,1611923455,US 1611923456,1612185599,CA @@ -37458,8 +37670,8 @@ 1728737280,1728738303,JP 1728738304,1728739327,IN 1728739328,1728740351,ID -1728740352,1728740863,HK -1728740864,1728741119,AU +1728740352,1728740607,SG +1728740608,1728741119,AU 1728741120,1728741375,IN 1728741376,1728742399,ID 1728742400,1728743423,IN @@ -37537,11 +37749,10 @@ 1728810496,1728810751,AU 1728810752,1728811007,SG 1728811008,1728812031,AU -1728812032,1728812543,ID 1728812544,1728813055,SG 1728813056,1728814079,IN 1728814080,1728815103,JP -1728815104,1728818175,AU +1728815104,1728817151,AU 1728818176,1728819199,VN 1728819200,1728819711,ID 1728819712,1728819967,NZ @@ -37858,6 +38069,30 @@ 1729099776,1729100543,IN 1729100544,1729100799,ID 1729100800,1729101823,PH +1729101824,1729102847,VN +1729102848,1729103871,IN +1729103872,1729104895,JP +1729104896,1729105663,IN +1729105664,1729105919,VU +1729105920,1729106943,SG +1729106944,1729107967,NZ +1729107968,1729108479,IN +1729108480,1729108991,HK +1729108992,1729111039,IN +1729111040,1729112063,JP +1729112064,1729113087,MY +1729113088,1729114111,IN +1729114112,1729114623,ID +1729114624,1729114879,IN +1729114880,1729115135,AU +1729115136,1729116159,CN +1729116160,1729117183,IN +1729117184,1729118207,KH +1729118208,1729119231,AU +1729119232,1729120255,IN +1729120256,1729121279,BD +1729121280,1729121535,IN +1729122304,1729126399,CN 1729363968,1729364991,PK 1729364992,1729367039,JP 1729367040,1729368063,CN @@ -38080,7 +38315,6 @@ 1729601536,1729603583,CN 1729603584,1729604607,BD 1729604608,1729605119,AU -1729605120,1729605375,PH 1729605376,1729605631,ID 1729605632,1729606655,CN 1729606656,1729607679,ID @@ -38259,7 +38493,6 @@ 1730044928,1730046975,HK 1730046976,1730047999,KR 1730048000,1730049023,ID -1730049024,1730050047,JP 1730050048,1730050303,AU 1730050304,1730050559,SG 1730050560,1730051071,ID @@ -38367,6 +38600,7 @@ 1744055296,1744056319,HK 1744056320,1744056575,IN 1744056576,1744056831,MY +1744056832,1744057087,NZ 1744057088,1744057343,ID 1744057344,1744058367,HK 1744058368,1744067583,CN @@ -38410,9 +38644,68 @@ 1744107008,1744107519,SG 1744107520,1744108543,KH 1744108544,1744109567,CN -1744109568,1744109823,IN +1744109568,1744110591,IN 1744110592,1744111615,JP 1744111616,1744113663,IN +1744113664,1744114687,JP +1744114688,1744115455,IN +1744115456,1744115711,CN +1744115712,1744116735,MY +1744116736,1744117759,HK +1744117760,1744118783,IN +1744118784,1744119807,SG +1744119808,1744120831,JP +1744120832,1744122879,IN +1744122880,1744123903,CN +1744123904,1744124927,JP +1744124928,1744125951,CN +1744125952,1744127999,IN +1744128000,1744128511,ID +1744128512,1744128767,IN +1744128768,1744129023,AU +1744129024,1744130047,KH +1744130048,1744131071,CN +1744131072,1744132095,AU +1744132096,1744133119,MY +1744133120,1744134143,SG +1744134144,1744135167,BD +1744135168,1744137215,IN +1744137216,1744138239,BD +1744138240,1744140287,IN +1744140288,1744140799,MY +1744140800,1744141311,ID +1744141312,1744143359,CN +1744143360,1744144383,PK +1744144384,1744145407,ID +1744145408,1744146431,BD +1744146432,1744146687,IN +1744146688,1744147199,AU +1744147200,1744147455,IN +1744147456,1744148479,VN +1744148480,1744149503,AU +1744149504,1744150527,IN +1744150528,1744151551,TO +1744151552,1744152575,LA +1744152576,1744153599,JP +1744153600,1744154623,NZ +1744154624,1744154879,IN +1744154880,1744155135,ID +1744155136,1744155647,BD +1744155648,1744156671,ID +1744156672,1744158207,IN +1744158208,1744158719,HK +1744158720,1744159743,PK +1744159744,1744161791,IN +1744161792,1744162815,BD +1744162816,1744163839,HK +1744163840,1744166655,AU +1744166656,1744166911,SG +1744166912,1744167167,JP +1744167168,1744167679,ID +1744167680,1744167935,AU +1744167936,1744171007,JP +1744171008,1744172031,BT +1744172032,1744175103,VN 1744175104,1744176127,ID 1744176128,1744177151,AU 1744177152,1744179199,CN @@ -38647,9 +38940,7 @@ 1795557216,1795557247,US 1795557248,1795557375,CA 1795557376,1795557631,IN -1795557632,1795558655,US -1795558656,1795558911,US -1795558912,1795559423,US +1795557632,1795559423,US 1795559424,1795559679,AR 1795559680,1795559743,US 1795559744,1795559807,AE @@ -38946,8 +39237,7 @@ 1823588352,1823588479,IN 1823588480,1823735807,US 1823735808,1823866879,CA -1823866880,1823997951,US -1824260096,1826955551,US +1823866880,1826955551,US 1826955552,1826955559,AD 1826955560,1828716543,US 1828716544,1830813695,FR @@ -39135,7 +39425,9 @@ 1833529344,1833533439,GB 1833533440,1833537535,RU 1833537536,1833541631,AT -1833541632,1833545727,GB +1833541632,1833545215,GB +1833545216,1833545471,NL +1833545472,1833545727,GB 1833545728,1833549823,IT 1833549824,1833553919,RU 1833553920,1833558015,CZ @@ -39813,7 +40105,8 @@ 1847735296,1847736319,AU 1847736320,1847738367,HK 1847738368,1847754751,KR -1847754752,1847787519,TH +1847754752,1847783423,TH +1847783424,1847787519,US 1847787520,1847803903,KR 1847803904,1847807999,VN 1847808000,1847810047,ID @@ -40942,7 +41235,9 @@ 1969793024,1969795071,CN 1969795072,1969797119,NZ 1969797120,1969798143,SG -1969798144,1969799167,HK +1969798144,1969798655,HK +1969798656,1969798911,KR +1969798912,1969799167,HK 1969799168,1969807359,ID 1969807360,1969809407,AF 1969809408,1969811455,IN @@ -41085,7 +41380,9 @@ 1991868416,1991901183,SG 1991901184,1992097791,CN 1992097792,1992163327,HK -1992163328,1993342975,CN +1992163328,1992818687,CN +1992818688,1992884223,SG +1992884224,1993342975,CN 1993342976,1993605119,AU 1993605120,1993736191,CN 1993736192,1993867263,SG @@ -41172,7 +41469,12 @@ 1998569472,1998577663,CN 1998577664,1998579711,AU 1998579712,1998581759,SG -1998581760,1998585855,KR +1998581760,1998583807,KR +1998583808,1998584063,AU +1998584064,1998585087,KR +1998585088,1998585343,SG +1998585344,1998585599,JP +1998585600,1998585855,IN 1998585856,1999130623,CN 1999130624,1999134719,BD 1999134720,1999136767,MN @@ -41620,7 +41922,9 @@ 2053534720,2053537791,IN 2053537792,2053636095,JP 2053636096,2054160383,AU -2054160384,2054422527,CN +2054160384,2054373375,CN +2054373376,2054377471,HK +2054377472,2054422527,CN 2054422528,2054619135,TW 2054619136,2054684671,CN 2054684672,2055208959,TW @@ -41989,7 +42293,9 @@ 2087462912,2087464959,CN 2087464960,2087467007,KH 2087467008,2087469055,JP -2087469056,2087485439,HK +2087469056,2087477247,HK +2087477248,2087478271,AU +2087478272,2087485439,HK 2087485440,2087501823,TW 2087501824,2087518207,JP 2087518208,2087519231,TH @@ -43116,7 +43422,9 @@ 2258601984,2258602431,AU 2258602432,2258602447,HK 2258602448,2258602879,AU -2258602880,2258603263,HK +2258602880,2258603089,HK +2258603090,2258603090,PG +2258603091,2258603263,HK 2258603264,2258604799,AU 2258604800,2258605055,AP 2258605056,2258606079,AU @@ -43821,7 +44129,11 @@ 2372501504,2372505599,UA 2372505600,2372507647,NL 2372507648,2372509695,IT -2372509696,2372511743,AE +2372509696,2372510719,AE +2372510720,2372510975,A2 +2372510976,2372511231,AE +2372511232,2372511487,A2 +2372511488,2372511743,AE 2372511744,2372513791,SI 2372513792,2372534271,GB 2372534272,2372665343,US @@ -43967,20 +44279,18 @@ 2382348288,2382364671,SI 2382364672,2382368767,US 2382368768,2382372863,CA -2382372864,2382397439,US +2382372864,2382382847,US +2382382848,2382383103,LU +2382383104,2382397439,US 2382397440,2382397791,CN 2382397792,2382397823,US 2382397824,2382397863,CN 2382397864,2382397871,US -2382397872,2382397951,CN -2382397952,2382397967,US -2382397968,2382398015,CN +2382397872,2382398015,CN 2382398016,2382398047,US 2382398048,2382398207,CN 2382398208,2382398215,US -2382398216,2382398231,CN -2382398232,2382398239,US -2382398240,2382398399,CN +2382398216,2382398399,CN 2382398400,2382398463,US 2382398464,2382398479,CN 2382398480,2382398487,US @@ -44035,73 +44345,84 @@ 2382652032,2382652095,US 2382652096,2382652223,CN 2382652224,2382652287,US -2382652288,2382652335,CN -2382652336,2382652351,US +2382652288,2382652343,CN +2382652344,2382652351,US 2382652352,2382652383,CN 2382652384,2382652415,US -2382652416,2382652575,CN -2382652576,2382652591,US +2382652416,2382652583,CN +2382652584,2382652591,US 2382652592,2382652743,CN 2382652744,2382652751,US 2382652752,2382652767,CN 2382652768,2382652783,US -2382652784,2382652807,CN -2382652808,2382652815,CA -2382652816,2382652847,CN -2382652848,2382652863,US -2382652864,2382653007,CN +2382652784,2382652847,CN +2382652848,2382652855,US +2382652856,2382653007,CN 2382653008,2382653023,US 2382653024,2382653031,CN 2382653032,2382653039,US 2382653040,2382653143,CN 2382653144,2382653151,US 2382653152,2382653631,CN -2382653632,2382653695,US -2382653696,2382653711,CN +2382653632,2382653663,US +2382653664,2382653711,CN 2382653712,2382653727,US 2382653728,2382653759,CN 2382653760,2382653823,CA -2382653824,2382653951,US -2382653952,2382653983,CN -2382653984,2382654175,US -2382654176,2382654207,CN -2382654208,2382654463,US -2382654464,2382654607,CN +2382653824,2382654007,CN +2382654008,2382654015,CA +2382654016,2382654031,US +2382654032,2382654039,CN +2382654040,2382654143,US +2382654144,2382654607,CN 2382654608,2382654615,US -2382654616,2382654719,CN -2382654720,2382654727,US -2382654728,2382654735,CN +2382654616,2382654735,CN 2382654736,2382654751,US 2382654752,2382654815,CN 2382654816,2382654823,US 2382654824,2382654847,CN -2382654848,2382654863,US +2382654848,2382654855,US +2382654856,2382654863,CA 2382654864,2382654983,CN 2382654984,2382654991,US 2382654992,2382655359,CN 2382655360,2382655423,CA 2382655424,2382655455,US -2382655456,2382655711,CN -2382655712,2382655743,US -2382655744,2382655807,CN -2382655808,2382655823,US -2382655824,2382655967,CN -2382655968,2382655999,US -2382656000,2382656031,CN +2382655456,2382655807,CN +2382655808,2382655815,US +2382655816,2382656031,CN 2382656032,2382656063,CA 2382656064,2382656167,CN 2382656168,2382656175,US -2382656176,2382656183,CN -2382656184,2382656255,US -2382656256,2382656447,CN -2382656448,2382656511,US -2382656512,2382656535,CN -2382656536,2382656543,US -2382656544,2382656559,CN -2382656560,2382656767,US -2382656768,2382656795,CN -2382656796,2382678527,US -2382678528,2382684159,CA +2382656176,2382656455,CN +2382656456,2382656463,US +2382656464,2382656487,CN +2382656488,2382656511,US +2382656512,2382656567,CN +2382656568,2382656575,US +2382656576,2382656687,CN +2382656688,2382656695,US +2382656696,2382656795,CN +2382656796,2382656799,US +2382656800,2382656831,CN +2382656832,2382656847,US +2382656848,2382656991,CN +2382656992,2382657023,US +2382657024,2382657535,CN +2382657536,2382657663,US +2382657664,2382658559,CN +2382658560,2382658815,CA +2382658816,2382659199,CN +2382659200,2382659247,US +2382659248,2382659295,CN +2382659296,2382659327,US +2382659328,2382659375,CN +2382659376,2382659455,US +2382659456,2382659583,CN +2382659584,2382678783,US +2382678784,2382679039,CA +2382679040,2382680063,US +2382680064,2382684159,CA 2382684160,2382692351,US 2382692352,2383085567,CA 2383085568,2383151103,US @@ -44156,7 +44477,7 @@ 2395340800,2397700095,CA 2397700096,2397765631,US 2397765632,2398748671,CA -2398748672,2398879743,US +2398748672,2398945279,US 2398945280,2399010815,CA 2399010816,2399109119,US 2399109120,2399141887,PR @@ -45280,8 +45601,7 @@ 2546039040,2547187711,US 2547187712,2547318783,GB 2547318784,2547515391,US -2547523584,2547531775,IT -2547580928,2547646463,DE +2547531776,2547548159,BE 2548039680,2548563967,GB 2548563968,2548826111,IR 2548826112,2548834303,AT @@ -45318,7 +45638,10 @@ 2549645312,2549678079,RO 2549678080,2549698559,GB 2549698560,2549700607,PL -2549700608,2549702655,EU +2549700608,2549701119,DE +2549701120,2549701375,EU +2549701376,2549701631,SE +2549701632,2549702655,EU 2549702656,2549704703,UA 2549704704,2549706751,CZ 2549706752,2549710847,NO @@ -46125,7 +46448,8 @@ 2678893568,2678893823,CL 2678893824,2678901759,US 2678901760,2678902015,NZ -2678902016,2678911231,US +2678902016,2678902271,SG +2678902272,2678911231,US 2678911232,2678911487,NL 2678911488,2678911743,AU 2678911744,2678915071,US @@ -46185,7 +46509,9 @@ 2683568128,2683633663,GB 2683633664,2683645951,EU 2683645952,2683646207,AP -2683646208,2683699199,EU +2683646208,2683650047,EU +2683650048,2683651071,US +2683651072,2683699199,EU 2683699200,2683830271,US 2683830272,2683895807,AU 2683895808,2684157951,US @@ -46490,7 +46816,8 @@ 2717450240,2717646847,US 2717646848,2717712383,KW 2717712384,2717843455,US -2717908992,2718629887,US +2717908992,2717974527,CA +2717974528,2718629887,US 2718629888,2718695423,GB 2718695424,2718760959,US 2718760960,2718826495,GB @@ -46943,7 +47270,9 @@ 2782789632,2782855167,CH 2782855168,2783020735,US 2783020736,2783020751,IN -2783020752,2783182847,US +2783020752,2783020863,US +2783020864,2783020879,GB +2783020880,2783182847,US 2783182848,2783248383,AU 2783248384,2783313919,KR 2783313920,2783379455,US @@ -47393,8 +47722,8 @@ 2853830656,2854617087,US 2854617088,2854682623,MY 2854748160,2855469055,US -2855469056,2855483391,PY -2855483392,2855485439,AR +2855469056,2855484415,PY +2855484416,2855485439,AR 2855485440,2855501823,UY 2855501824,2855534591,AR 2855534592,2855706623,US @@ -47656,11 +47985,15 @@ 2905376456,2905376463,PK 2905376464,2905376607,US 2905376608,2905376615,CA -2905376616,2905377503,US +2905376616,2905376855,US +2905376856,2905376863,CA +2905376864,2905377503,US 2905377504,2905377511,ID 2905377512,2905377519,MY 2905377520,2905378559,US -2905378560,2905378815,CA +2905378560,2905378607,CA +2905378608,2905378687,US +2905378688,2905378815,CA 2905378816,2905379071,US 2905379072,2905379327,CA 2905379328,2905380607,US @@ -47684,11 +48017,15 @@ 2905390904,2905390911,PK 2905390912,2905391327,US 2905391328,2905391335,CR -2905391336,2905391599,US +2905391336,2905391359,US +2905391360,2905391391,EG +2905391392,2905391599,US 2905391600,2905391615,GB 2905391616,2905394175,US 2905394176,2905394687,CA -2905394688,2905404703,US +2905394688,2905404503,US +2905404504,2905404511,MY +2905404512,2905404703,US 2905404704,2905404759,IN 2905404760,2905404767,MY 2905404768,2905404799,IN @@ -47700,9 +48037,11 @@ 2905405056,2905405063,CN 2905405064,2905405071,US 2905405072,2905405079,HK -2905405080,2905405167,US -2905405168,2905405199,MY -2905405200,2905405439,US +2905405080,2905405095,US +2905405096,2905405103,CN +2905405104,2905405167,US +2905405168,2905405231,MY +2905405232,2905405439,US 2905405440,2905405447,MY 2905405448,2905405679,US 2905405680,2905405687,CN @@ -47714,9 +48053,7 @@ 2905415680,2905415935,GB 2905415936,2905446655,US 2905446656,2905446911,DE -2905446912,2905449983,US -2905449984,2905450495,CA -2905450496,2905451487,US +2905446912,2905451487,US 2905451488,2905451503,CW 2905451504,2905451519,US 2905451520,2905451647,PA @@ -47785,11 +48122,7 @@ 2916368384,2916401151,CA 2916401152,2916434623,US 2916434624,2916434655,CA -2916434656,2916435167,US -2916435168,2916435199,EG -2916435200,2916435295,US -2916435296,2916435327,EG -2916435328,2916436487,US +2916434656,2916436487,US 2916436488,2916436495,CA 2916436496,2916436543,US 2916436544,2916436607,CA @@ -47834,32 +48167,31 @@ 2916594944,2916614143,PR 2916614144,2917167299,US 2917167300,2917167302,CA -2917167303,2917167311,US -2917167312,2917167312,CA -2917167313,2917167313,US -2917167314,2917167316,CA +2917167303,2917167303,AR +2917167304,2917167311,US +2917167312,2917167316,BR 2917167317,2917167317,US -2917167318,2917167322,CA +2917167318,2917167318,CA +2917167319,2917167322,BR 2917167323,2917167325,US -2917167326,2917167326,CA -2917167327,2917167327,BR -2917167328,2917167328,CA +2917167326,2917167328,BR 2917167329,2917167329,AT 2917167330,2917167332,US -2917167333,2917167335,CA +2917167333,2917167335,BR 2917167336,2917167339,US 2917167340,2917167340,BR 2917167341,2917167342,US -2917167343,2917167347,CA -2917167348,2917167350,BR -2917167351,2917167351,CA +2917167343,2917167351,BR 2917167352,2917167354,US -2917167355,2917167358,CA +2917167355,2917167358,BR 2917167359,2917167679,US 2917167680,2917167711,BR 2917167712,2917167714,US -2917167715,2917167743,BR -2917167744,2917167773,US +2917167715,2917167717,CA +2917167718,2917167718,BR +2917167719,2917167722,CA +2917167723,2917167744,BR +2917167745,2917167773,US 2917167774,2917167775,BR 2917167776,2917167807,LT 2917167808,2917167839,US @@ -47869,7 +48201,9 @@ 2917167936,2917167967,US 2917167968,2917167968,IN 2917167969,2917167999,US -2917168000,2917168031,UA +2917168000,2917168000,UA +2917168001,2917168006,US +2917168007,2917168031,UA 2917168032,2917168095,US 2917168096,2917168127,GB 2917168128,2917168223,US @@ -47879,16 +48213,13 @@ 2917168256,2917168319,US 2917168320,2917168351,AR 2917168352,2917168352,US -2917168353,2917168377,BR -2917168378,2917168383,CA -2917168384,2917168415,BR +2917168353,2917168415,BR 2917168416,2917168447,US 2917168448,2917168479,BR 2917168480,2917168607,US 2917168608,2917168608,AU -2917168609,2917168615,US -2917168616,2917168618,BR -2917168619,2917168632,US +2917168609,2917168627,BR +2917168628,2917168632,US 2917168633,2917168633,BR 2917168634,2917168959,US 2917168960,2917169023,DE @@ -47918,33 +48249,17 @@ 2917170048,2917170079,BR 2917170080,2917170111,US 2917170112,2917170143,TR -2917170144,2917170246,US -2917170247,2917170248,BR -2917170249,2917170255,US -2917170256,2917170256,BR -2917170257,2917170257,US -2917170258,2917170258,BR -2917170259,2917170264,US -2917170265,2917170265,BR -2917170266,2917170266,US -2917170267,2917170268,BR -2917170269,2917170272,US -2917170273,2917170276,BR -2917170277,2917170281,US -2917170282,2917170285,BR -2917170286,2917170286,US -2917170287,2917170287,BR -2917170288,2917170758,US -2917170759,2917170761,BR -2917170762,2917170764,CA +2917170144,2917170239,US +2917170240,2917170303,BR +2917170304,2917170758,US +2917170759,2917170764,BR 2917170765,2917170771,US -2917170772,2917170772,CA +2917170772,2917170772,BR 2917170773,2917170774,US -2917170775,2917170776,CA -2917170777,2917170777,BR -2917170778,2917170785,US -2917170786,2917170786,CA -2917170787,2917170800,BR +2917170775,2917170777,BR +2917170778,2917170783,US +2917170784,2917170785,AR +2917170786,2917170800,BR 2917170801,2917170801,US 2917170802,2917170806,BR 2917170807,2917170809,US @@ -47953,24 +48268,29 @@ 2917170820,2917170820,BR 2917170821,2917170821,US 2917170822,2917170822,BD -2917170823,2917170824,US +2917170823,2917170823,US +2917170824,2917170824,PH 2917170825,2917170825,BR -2917170826,2917170843,US -2917170844,2917170844,PH -2917170845,2917170845,US -2917170846,2917170846,PH +2917170826,2917170830,US +2917170831,2917170831,PH +2917170832,2917170839,US +2917170840,2917170840,BD +2917170841,2917170841,PH +2917170842,2917170843,US +2917170844,2917170844,EC +2917170845,2917170846,US 2917170847,2917170847,PK 2917170848,2917170848,PH 2917170849,2917170850,US 2917170851,2917170851,BR 2917170852,2917170852,US 2917170853,2917170853,BR -2917170854,2917170854,PH -2917170855,2917170860,US -2917170861,2917170861,PH +2917170854,2917170856,PH +2917170857,2917170859,US +2917170860,2917170861,PH 2917170862,2917170862,CA 2917170863,2917170863,US -2917170864,2917170864,MX +2917170864,2917170864,PH 2917170865,2917170869,US 2917170870,2917170870,BD 2917170871,2917170871,AU @@ -48016,7 +48336,9 @@ 2917171200,2917195775,US 2917195776,2917196031,A2 2917196032,2917196415,CA -2917196416,2917198847,A2 +2917196416,2917196543,A2 +2917196544,2917196799,CA +2917196800,2917198847,A2 2917198848,2917199103,CA 2917199104,2917199359,A2 2917199360,2917203967,CA @@ -48120,9 +48442,13 @@ 2917664416,2917664447,EG 2917664448,2917664815,US 2917664816,2917664831,CN -2917664832,2917667391,US +2917664832,2917665663,US +2917665664,2917665695,EG +2917665696,2917667391,US 2917667392,2917667423,EG -2917667424,2917672191,US +2917667424,2917667519,US +2917667520,2917667583,CA +2917667584,2917672191,US 2917672192,2917672223,CA 2917672224,2917672319,US 2917672320,2917672351,EG @@ -48147,7 +48473,9 @@ 2917700352,2917700959,US 2917700960,2917700967,CN 2917700968,2917700975,GB -2917700976,2917704191,US +2917700976,2917700991,US +2917700992,2917700999,MY +2917701000,2917704191,US 2917704192,2917704447,CA 2917704448,2917706239,US 2917706240,2917707007,CA @@ -48241,11 +48569,13 @@ 2917842176,2917842431,CA 2917842432,2917847063,US 2917847064,2917847071,CA -2917847072,2917851207,US +2917847072,2917847935,US +2917847936,2917847943,CN +2917847944,2917851207,US 2917851208,2917851215,CA 2917851216,2917853471,US -2917853472,2917853495,CA -2917853496,2917853519,US +2917853472,2917853487,CA +2917853488,2917853519,US 2917853520,2917853535,CA 2917853536,2917853567,US 2917853568,2917853575,CA @@ -48258,8 +48588,13 @@ 2917856640,2918014975,US 2918014976,2918023167,CA 2918023168,2918043647,US -2918043648,2918043815,CA -2918043816,2918043823,TH +2918043648,2918043711,CA +2918043712,2918043719,US +2918043720,2918043775,CA +2918043776,2918043783,US +2918043784,2918043799,CA +2918043800,2918043807,US +2918043808,2918043823,TH 2918043824,2918043831,US 2918043832,2918043839,PH 2918043840,2918043847,ID @@ -48286,7 +48621,9 @@ 2918051840,2918121471,CA 2918121472,2918154239,US 2918154240,2918170623,CA -2918170624,2918199679,US +2918170624,2918187775,US +2918187776,2918187839,CA +2918187840,2918199679,US 2918199680,2918199743,CA 2918199744,2918201551,US 2918201552,2918201567,CA @@ -48386,7 +48723,9 @@ 2918536184,2918536187,US 2918536188,2918536447,US 2918536448,2918536703,US -2918536704,2918580223,US +2918536704,2918570239,US +2918570240,2918570495,JP +2918570496,2918580223,US 2918580224,2918588415,CA 2918588416,2918596607,US 2918596608,2918604287,CA @@ -48755,7 +49094,9 @@ 2919071184,2919071199,CA 2919071200,2919071207,DK 2919071208,2919071215,MX -2919071216,2919159873,US +2919071216,2919153695,US +2919153696,2919153703,DE +2919153704,2919159873,US 2919159874,2919159877,US 2919159878,2919170351,US 2919170352,2919170359,PE @@ -48764,8 +49105,7 @@ 2919170408,2919170415,ES 2919170416,2919170431,US 2919170432,2919170439,JP -2919170440,2919170447,IN -2919170448,2919170487,US +2919170440,2919170487,US 2919170488,2919170495,NL 2919170496,2919170551,US 2919170552,2919170559,FR @@ -48835,15 +49175,9 @@ 2919218688,2919218943,US 2919218944,2919235583,US 2919235584,2919759871,CA -2919759872,2921496895,US -2921496896,2921496903,IN -2921496904,2921496967,US +2919759872,2921496967,US 2921496968,2921496975,LK -2921496976,2921497415,US -2921497416,2921497423,IN -2921497424,2921497471,US -2921497472,2921497599,IN -2921497600,2921497855,US +2921496976,2921497855,US 2921497856,2921497863,CA 2921497864,2921498031,US 2921498032,2921498039,CA @@ -48857,13 +49191,9 @@ 2921501168,2921501175,CA 2921501176,2921504431,US 2921504432,2921504439,GB -2921504440,2921505951,US -2921505952,2921505983,IN -2921505984,2921506343,US +2921504440,2921506343,US 2921506344,2921506351,CA -2921506352,2921506431,US -2921506432,2921506463,IN -2921506464,2921506879,US +2921506352,2921506879,US 2921506880,2921506887,CA 2921506888,2921506895,US 2921506896,2921506911,GB @@ -48880,7 +49210,26 @@ 2921511384,2921511391,CA 2921511392,2921512703,US 2921512704,2921512959,CA -2921512960,2921562111,US +2921512960,2921530367,US +2921530368,2921531391,DE +2921531392,2921541119,US +2921541120,2921541375,DE +2921541376,2921545727,US +2921545728,2921545983,NL +2921545984,2921546495,US +2921546496,2921546751,NL +2921546752,2921547519,US +2921547520,2921547775,DE +2921547776,2921548031,GB +2921548032,2921548799,US +2921548800,2921549055,FR +2921549056,2921550335,US +2921550336,2921550591,IT +2921550592,2921552895,US +2921552896,2921553151,CL +2921553152,2921553407,BR +2921553408,2921553663,CO +2921553664,2921562111,US 2921562112,2921589759,CA 2921589760,2921590015,US 2921590016,2921594879,CA @@ -48908,7 +49257,9 @@ 2928173224,2928173231,JP 2928173232,2928173343,US 2928173344,2928173351,NL -2928173352,2928173551,US +2928173352,2928173431,US +2928173432,2928173439,GB +2928173440,2928173551,US 2928173552,2928173559,CA 2928173560,2928173711,US 2928173712,2928173727,JP @@ -48952,7 +49303,9 @@ 2928176448,2928176455,GB 2928176456,2928176519,US 2928176520,2928176527,NL -2928176528,2928177151,US +2928176528,2928176935,US +2928176936,2928176943,AU +2928176944,2928177151,US 2928177152,2928181247,CA 2928181248,2928186591,US 2928186592,2928186623,CA @@ -49156,11 +49509,15 @@ 2928318720,2928318975,DO 2928318976,2928320519,US 2928320520,2928320527,BR -2928320528,2928320607,US +2928320528,2928320583,US +2928320584,2928320591,QA +2928320592,2928320607,US 2928320608,2928320615,PE 2928320616,2928320967,US 2928320968,2928320975,MV -2928320976,2928321063,US +2928320976,2928320999,US +2928321000,2928321007,QA +2928321008,2928321063,US 2928321064,2928321071,AU 2928321072,2928321311,US 2928321312,2928321327,GB @@ -49209,7 +49566,18 @@ 2937978880,2938109951,CN 2938109952,2938634239,AU 2938634240,2938699775,IN -2938699776,2938703871,KR +2938699776,2938700031,PH +2938700032,2938700287,ID +2938700288,2938700543,KR +2938700544,2938701055,SG +2938701056,2938701311,IQ +2938701312,2938701567,AU +2938701568,2938701823,KR +2938701824,2938702079,IN +2938702080,2938703103,HK +2938703104,2938703359,IL +2938703360,2938703615,ZA +2938703616,2938703871,KR 2938703872,2938707967,HK 2938707968,2938710015,JP 2938710016,2938712063,AU @@ -49294,7 +49662,9 @@ 2947598336,2947602431,AU 2947602432,2947603455,NZ 2947603456,2947604479,TH -2947604480,2947609855,HK +2947604480,2947609167,HK +2947609168,2947609175,AF +2947609176,2947609855,HK 2947609856,2947610111,US 2947610112,2947610367,HK 2947610368,2947610623,PH @@ -49904,7 +50274,7 @@ 2960835072,2960835583,CH 2960835584,2960836351,IT 2960836352,2960836607,PL -2960836608,2960839167,RU +2960836608,2960838655,RU 2960839168,2960839679,IR 2960839680,2960846847,PL 2960846848,2960847871,UA @@ -50297,7 +50667,9 @@ 2988556208,2988556211,DE 2988556212,2988558203,FR 2988558204,2988558207,DE -2988558208,2988572671,FR +2988558208,2988562847,FR +2988562848,2988562863,GB +2988562864,2988572671,FR 2988572672,2988703743,RU 2988703744,2988834815,PL 2988834816,2988965887,CH @@ -50923,7 +51295,9 @@ 3003115520,3003117567,RU 3003117568,3003119615,IT 3003119616,3003121663,RU -3017801728,3019898879,BR +3003252736,3003449343,CL +3003580416,3003645951,PE +3011510272,3019898879,BR 3019898880,3024093183,JP 3024093184,3024617471,KR 3024617472,3024879615,MY @@ -51190,8 +51564,7 @@ 3036610560,3036676095,SG 3036676096,3037790207,AR 3037790208,3037986815,VE -3037986816,3038248959,AR -3038511104,3038773247,AR +3037986816,3038773247,AR 3039035392,3039166463,DO 3039297536,3039363071,PY 3039363072,3039395839,BZ @@ -51207,10 +51580,10 @@ 3044163584,3044171775,BO 3044188160,3044196351,BO 3044196352,3044206591,AR +3044206592,3044208639,CL 3044208640,3044212735,BZ 3044212736,3044245503,HN -3044278272,3044343807,AR -3044409344,3044505599,AR +3044278272,3044505599,AR 3044505600,3044507647,US 3044507648,3044540415,AR 3044802560,3045064703,PY @@ -51219,6 +51592,10 @@ 3047424000,3047686143,AR 3047948288,3048079359,CL 3048210432,3048275967,PE +3048275968,3048292351,AR +3048292352,3048308735,BZ +3048329216,3048331263,AR +3048333312,3048341503,PE 3048341504,3048472575,PA 3048472576,3048996863,VE 3048996864,3049029631,TT @@ -51237,17 +51614,23 @@ 3050307584,3050340351,VE 3050373120,3050405887,AR 3050438656,3050504191,HN -3051356160,3051372543,CR +3051356160,3051380735,CR 3051380736,3051388927,AR 3051388928,3051397119,PA 3051405312,3051407359,CR 3051407360,3051408383,PE +3051408384,3051409407,DO 3051409408,3051411455,AR +3051411456,3051413503,CR 3051413504,3051421695,PE +3051429888,3051438079,VE +3051446272,3051450367,CO +3051450368,3051454463,CL 3051487232,3051552767,CL +3051552768,3051618303,BO 3051618304,3051749375,AR 3051880448,3051913215,CO -3051945984,3051962367,CR +3051945984,3051978751,CR 3051995136,3052011519,PE 3052142592,3052273663,CO 3052273664,3052404735,AR @@ -51518,7 +51901,9 @@ 3093242720,3093242751,CN 3093242752,3093243223,US 3093243224,3093243231,AU -3093243232,3093245575,US +3093243232,3093244831,US +3093244832,3093244847,BG +3093244848,3093245575,US 3093245576,3093245583,BR 3093245584,3093245719,US 3093245720,3093245727,AU @@ -51553,7 +51938,9 @@ 3093855488,3093908991,US 3093908992,3093909247,PR 3093909248,3094020095,US -3094020096,3094085631,CA +3094020096,3094032759,CA +3094032760,3094032767,GI +3094032768,3094085631,CA 3094085632,3096444927,US 3096444928,3096969215,CA 3096969216,3097130139,US @@ -51668,7 +52055,11 @@ 3098322696,3098322703,BD 3098322704,3098323679,US 3098323680,3098323711,EG -3098323712,3098326511,US +3098323712,3098323951,US +3098323952,3098323959,TR +3098323960,3098324735,US +3098324736,3098324743,IN +3098324744,3098326511,US 3098326512,3098326519,CN 3098326520,3098331151,US 3098331152,3098331159,HK @@ -51720,7 +52111,9 @@ 3098380528,3098380535,IN 3098380536,3098381455,US 3098381456,3098381471,LT -3098381472,3098385727,US +3098381472,3098382071,US +3098382072,3098382079,IN +3098382080,3098385727,US 3098385728,3098385791,SE 3098385792,3098387607,US 3098387608,3098387615,RO @@ -51736,7 +52129,9 @@ 3098395408,3098395415,BR 3098395416,3098400503,US 3098400504,3098400511,CA -3098400512,3098402799,US +3098400512,3098402559,US +3098402560,3098402575,AR +3098402576,3098402799,US 3098402800,3098402807,ES 3098402808,3098403151,US 3098403152,3098403159,PK @@ -51774,6 +52169,7 @@ 3103850752,3103851007,PS 3103851520,3103852543,PL 3103852544,3103852799,AE +3103852800,3103853055,PL 3103916032,3103917055,CH 3103917056,3103918079,IT 3103918080,3103919103,DE @@ -52041,6 +52437,7 @@ 3104200704,3104201727,IT 3104201728,3104202751,FR 3104202752,3104203775,DE +3104203776,3104204799,HU 3104204800,3104205823,BH 3104205824,3104206847,NL 3104206848,3104207871,PL @@ -52252,6 +52649,7 @@ 3104440320,3104441343,RU 3104441344,3104442367,IL 3104442368,3104443391,DK +3104443392,3104444415,GB 3104444416,3104445439,FR 3104445440,3104446463,MD 3104446464,3104447487,PL @@ -52523,12 +52921,222 @@ 3104733184,3104734207,FR 3104734208,3104735231,BA 3104735232,3104736255,FR +3104736256,3104737279,JO 3104737280,3104738303,GB 3104738304,3104739327,KW 3104739328,3104740351,GB 3104740352,3104741375,PL 3104741376,3104742399,GB 3104742400,3104743423,CH +3104743424,3104744447,IR +3104744448,3104745471,GB +3104745472,3104746495,NL +3104746496,3104747519,TR +3104747520,3104749567,FR +3104749568,3104750591,NL +3104750592,3104751615,CZ +3104751616,3104752639,UA +3104752640,3104753663,SA +3104753664,3104754687,GR +3104754688,3104755711,MK +3104755712,3104757759,GB +3104757760,3104758783,EE +3104758784,3104759807,GB +3104759808,3104760831,CZ +3104760832,3104761855,FR +3104761856,3104762879,CZ +3104762880,3104763903,IT +3104763904,3104764927,SE +3104764928,3104765951,FR +3104765952,3104766975,IQ +3104766976,3104767999,CZ +3104768000,3104769023,PL +3104769024,3104770047,UA +3104770048,3104771071,DE +3104771072,3104772095,NL +3104772096,3104773119,FR +3104773120,3104774143,PT +3104774144,3104775167,NL +3104775168,3104776191,HR +3104776192,3104777215,FR +3104777216,3104778239,DE +3104778240,3104779263,TR +3104779264,3104780287,PL +3104780288,3104782335,FR +3104782336,3104783359,EU +3104783360,3104784383,RU +3104784384,3104785407,BA +3104785408,3104786431,FR +3104786432,3104787455,DK +3104787456,3104788479,ES +3104788480,3104789503,PL +3104789504,3104791551,RU +3104791552,3104792575,DE +3104792576,3104793599,RU +3104793600,3104794623,ES +3104794624,3104795647,GB +3104795648,3104796671,CZ +3104796672,3104797695,GE +3104797696,3104798719,RU +3104798720,3104799743,SE +3104799744,3104800767,DK +3104800768,3104801791,FR +3104801792,3104802815,PL +3104802816,3104803839,AE +3104803840,3104804863,FR +3104804864,3104805887,CZ +3104805888,3104806911,ES +3104806912,3104807935,NO +3104807936,3104808959,BE +3104808960,3104809983,IT +3104809984,3104811007,NL +3104811008,3104812031,IT +3104812032,3104813055,RU +3104813056,3104814079,IT +3104814080,3104816127,DE +3104816128,3104817151,RU +3104817152,3104818175,DE +3104818176,3104819199,TR +3104819200,3104820223,CH +3104820224,3104821247,GB +3104821248,3104822271,RU +3104822272,3104823295,FI +3104823296,3104824319,NO +3104824320,3104825343,NL +3104825344,3104826367,GB +3104826368,3104827391,CH +3104827392,3104828415,PL +3104828416,3104829439,AT +3104829440,3104830463,DK +3104830464,3104831487,DE +3104831488,3104832511,NL +3104832512,3104833535,CZ +3104833536,3104834559,IM +3104834560,3104835583,KW +3104835584,3104836607,RU +3104836608,3104837631,BA +3104837632,3104838655,DK +3104838656,3104839679,NL +3104839680,3104840703,IQ +3104840704,3104841727,UA +3104841728,3104843775,PL +3104843776,3104844799,GB +3104844800,3104846847,FR +3104846848,3104847871,AT +3104847872,3104848895,RU +3104848896,3104849919,DE +3104849920,3104850943,RU +3104850944,3104851967,EU +3104851968,3104852991,DE +3104852992,3104854015,AT +3104854016,3104855039,GI +3104855040,3104856063,SE +3104856064,3104857087,IL +3104857088,3104858111,SE +3104858112,3104859135,FI +3104859136,3104861183,RU +3104861184,3104862207,DE +3104862208,3104863231,AT +3104863232,3104864255,RU +3104864256,3104865279,ES +3104865280,3104866303,UA +3104866304,3104867327,PL +3104867328,3104868351,IT +3104868352,3104869375,RU +3104869376,3104870399,DK +3104870400,3104871423,PL +3104871424,3104872447,CY +3104872448,3104873471,GB +3104873472,3104874495,DK +3104874496,3104875519,GB +3104875520,3104876543,GR +3104876544,3104877567,FI +3104877568,3104878591,CH +3104878592,3104879615,RU +3104879616,3104880639,CZ +3104880640,3104881663,DE +3104881664,3104882687,AT +3104882688,3104883711,MT +3104883712,3104884735,DE +3104884736,3104885759,SE +3104885760,3104886783,GB +3104886784,3104887807,ES +3104887808,3104888831,RU +3104888832,3104889855,EU +3104889856,3104890879,FR +3104890880,3104891903,GB +3104891904,3104892927,UA +3104892928,3104893951,IR +3104893952,3104894975,TR +3104894976,3104895999,BE +3104896000,3104897023,RU +3104897024,3104898047,ES +3104898048,3104899071,FR +3104899072,3104900095,RU +3104900096,3104901119,DE +3104901120,3104902143,RU +3104902144,3104903167,AT +3104903168,3104904191,RU +3104904192,3104905215,IT +3104905216,3104906239,GB +3104906240,3104907263,RU +3104907264,3104908287,DE +3104908288,3104909311,RU +3104909312,3104910335,PL +3104910336,3104911359,DK +3104911360,3104912383,IT +3104912384,3104913407,DK +3104913408,3104914431,FR +3104914432,3104915455,NL +3104915456,3104916479,CZ +3104916480,3104917503,CH +3104917504,3104918527,NL +3104918528,3104919551,RU +3104919552,3104920575,NL +3104920576,3104922623,RU +3104922624,3104923647,NO +3104923648,3104924671,NL +3104924672,3104925695,CZ +3104925696,3104926719,IT +3104926720,3104927743,FR +3104927744,3104928767,TR +3104928768,3104929791,CZ +3104929792,3104930815,RU +3104930816,3104931839,UA +3104931840,3104933887,RU +3104933888,3104934911,TR +3104934912,3104935935,RU +3104935936,3104936959,DE +3104936960,3104937983,GB +3104937984,3104939007,RU +3104939008,3104940031,IT +3104940032,3104941055,PL +3104941056,3104942079,GB +3104942080,3104943103,RU +3104943104,3104944127,GB +3104944128,3104945151,CH +3104945152,3104946175,GB +3104946176,3104947199,NL +3104947200,3104948223,RS +3104948224,3104949247,DK +3104949248,3104950271,GB +3104950272,3104951295,RU +3104952320,3104953343,CH +3104953344,3104954367,CZ +3104954368,3104955391,DK +3104955392,3104956415,VA +3104956416,3104957439,MD +3104957440,3104958463,PT +3104958464,3104959487,PS +3104959488,3104961535,FR +3104961536,3104962559,DE +3104962560,3104963583,FR +3104963584,3104964607,GB +3104964608,3104965631,DK +3104965632,3104966655,RU +3104966656,3104967679,BE +3104967680,3104968703,RS +3104968704,3104969727,ES 3120562176,3120594943,CO 3120594944,3120599039,AR 3120599040,3120601087,EC @@ -52559,7 +53167,7 @@ 3120840704,3120857087,AR 3120857088,3120922623,EC 3120922624,3120930815,PA -3120939008,3120949247,AR +3120934912,3120949247,AR 3120949248,3120951295,CL 3120951296,3120955391,AR 3120955392,3121086463,DO @@ -52587,11 +53195,17 @@ 3122716672,3122722815,HN 3122722816,3122724863,SV 3122724864,3122726911,US -3122726912,3122732031,AR +3122726912,3122728447,AR +3122728448,3122728959,US +3122728960,3122731007,AR +3122731008,3122731519,US +3122731520,3122732031,AR 3122732032,3122733055,US 3122733056,3122734079,AR 3122734080,3122734591,US -3122734592,3122737407,AR +3122734592,3122735103,AR +3122735104,3122735615,US +3122735616,3122737407,AR 3122737408,3122737663,US 3122737664,3122737919,AR 3122737920,3122738175,US @@ -52670,7 +53284,7 @@ 3130785792,3130851327,CL 3130851328,3130982399,AR 3130982400,3131006975,CO -3131006976,3131011071,CW +3131006976,3131011071,BQ 3131011072,3131012095,CO 3131012096,3131013119,PA 3131013120,3131015167,AR @@ -53301,7 +53915,9 @@ 3187732480,3187734527,CO 3187734528,3187736575,BO 3187736576,3187752959,AR -3187752960,3187761151,VE +3187752960,3187755007,VE +3187755008,3187755519,CO +3187755520,3187761151,VE 3187761152,3187769343,AR 3187769344,3187802111,CO 3187802112,3187818495,AR @@ -53330,8 +53946,10 @@ 3187946112,3187946239,HN 3187946240,3187947983,GT 3187947984,3187947987,HN -3187947988,3187949567,GT -3187949568,3187953663,CW +3187947988,3187948799,GT +3187948800,3187948927,HN +3187948928,3187949567,GT +3187949568,3187953663,BQ 3187953664,3187955711,CL 3187955712,3187957759,CR 3187957760,3187961855,CL @@ -53446,7 +54064,9 @@ 3191128064,3191132159,EC 3191132160,3191136255,AR 3191136256,3191144447,DO -3191144448,3191156735,SV +3191144448,3191152639,SV +3191152640,3191154687,NI +3191154688,3191156735,SV 3191156736,3191169023,HN 3191169024,3191193599,SV 3191193600,3191209983,HN @@ -53467,19 +54087,24 @@ 3191650560,3191650815,US 3191650816,3191651071,CO 3191651072,3191651327,US -3191651328,3191676927,CO +3191651328,3191670015,CO +3191670016,3191670271,AR +3191670272,3191676927,CO 3191676928,3191679487,AR 3191679488,3191679743,US -3191679744,3191684351,AR +3191679744,3191683327,AR +3191683328,3191683583,US +3191683584,3191684351,AR 3191684352,3191684607,US -3191684608,3191685119,AR -3191685120,3191685631,CO +3191684608,3191685631,AR 3191685632,3191685887,US -3191685888,3191688959,CO -3191688960,3191693311,US +3191685888,3191688703,AR +3191688704,3191693311,US 3191693312,3191697407,CO 3191697408,3191701503,US -3191701504,3191705599,CO +3191701504,3191704063,CO +3191704064,3191704575,US +3191704576,3191705599,CO 3191705600,3191705855,US 3191705856,3191721983,CO 3191721984,3191722495,AR @@ -53508,8 +54133,8 @@ 3193583104,3193606143,CO 3193606144,3193606399,EC 3193606400,3193622527,CO -3193622528,3193623039,EC -3193623040,3193634815,CO +3193622528,3193623295,EC +3193623296,3193634815,CO 3193634816,3193700351,CL 3193700352,3193724927,HN 3193724928,3193729023,AR @@ -53521,8 +54146,8 @@ 3193736448,3193737471,AR 3193737472,3193737727,US 3193737728,3193737983,AR -3193737984,3193738239,US -3193738240,3193738751,AR +3193737984,3193738495,US +3193738496,3193738751,AR 3193738752,3193739007,US 3193739008,3193739263,AR 3193739264,3193739519,US @@ -53542,9 +54167,11 @@ 3193749504,3193749759,US 3193749760,3193750015,AR 3193750016,3193750271,US -3193750272,3193751807,AR -3193751808,3193752063,US -3193752064,3193753215,AR +3193750272,3193750527,AR +3193750528,3193750783,US +3193750784,3193751807,AR +3193751808,3193752319,US +3193752320,3193753215,AR 3193753216,3193753343,US 3193753344,3193754623,AR 3193754624,3193754751,US @@ -53592,7 +54219,8 @@ 3194130432,3194134527,BR 3194134528,3194135551,AR 3194135552,3194136575,GT -3194136576,3194140671,AR +3194136576,3194137087,BR +3194137088,3194140671,AR 3194140672,3194142719,CR 3194142720,3194159103,CL 3194159104,3194165247,HN @@ -53664,7 +54292,9 @@ 3194659840,3194660095,US 3194660096,3194663167,AR 3194663168,3194663423,US -3194663424,3194665471,AR +3194663424,3194663679,AR +3194663680,3194663935,US +3194663936,3194665471,AR 3194665472,3194665727,US 3194665728,3194665983,AR 3194665984,3194666239,US @@ -53722,7 +54352,9 @@ 3194974208,3194976255,AR 3194976256,3194977279,VE 3194977280,3194978303,AR -3194978304,3194982911,PA +3194978304,3194978559,PA +3194978560,3194978687,CW +3194978688,3194982911,PA 3194982912,3194983039,US 3194983040,3194984191,PA 3194984192,3194984319,US @@ -53759,9 +54391,13 @@ 3195207680,3195211775,GT 3195215872,3195224063,AR 3195224064,3195232511,PA -3195232512,3195234559,CR +3195232512,3195232767,CR +3195232768,3195233023,PA +3195233024,3195234559,CR 3195234560,3195234815,PA -3195234816,3195236351,CR +3195234816,3195235327,CR +3195235328,3195235583,PA +3195235584,3195236351,CR 3195236352,3195240447,AR 3195240448,3195256831,HT 3195256832,3195265023,AR @@ -53785,6 +54421,7 @@ 3195641856,3195645951,PY 3195645952,3195650047,AR 3195650048,3195654143,GT +3195654144,3195658239,CW 3195658240,3195662335,VE 3195662336,3195666431,CW 3195666432,3195686911,AR @@ -53797,8 +54434,8 @@ 3195737088,3195738111,CW 3195738112,3195740159,HN 3195740160,3195741439,PA -3195741440,3195741695,US -3195741696,3195744255,PA +3195741440,3195741951,US +3195741952,3195744255,PA 3195744256,3195748351,EC 3195748352,3195752447,CL 3195756544,3195763711,AR @@ -53914,16 +54551,12 @@ 3201826816,3201859583,AR 3201859584,3201863679,CO 3201863680,3201865727,CL -3201865728,3201868287,AR -3201868288,3201868543,PE -3201868544,3201871871,AR +3201865728,3201867775,AR +3201867776,3201869823,PE +3201869824,3201871871,AR 3201871872,3201875967,PE 3201875968,3201880063,CO -3201880064,3201880071,AR -3201880072,3201880079,EC -3201880080,3201880831,AR -3201880832,3201881087,EC -3201881088,3201884159,AR +3201880064,3201884159,EC 3201884160,3201892351,VE 3201892352,3201925119,AR 3201925120,3201957887,CL @@ -54144,7 +54777,9 @@ 3223227904,3223228159,CA 3223229184,3223229695,US 3223229696,3223229951,CA -3223230464,3223243007,US +3223230464,3223236607,US +3223236608,3223237631,GB +3223237632,3223243007,US 3223243264,3223243519,CA 3223244288,3223248895,US 3223249408,3223249663,CA @@ -54629,8 +55264,11 @@ 3225091584,3225091839,US 3225092096,3225314303,US 3225314304,3225314559,GB -3225314560,3225421823,US -3225421824,3225423871,CA +3225314560,3225419775,US +3225420032,3225420287,US +3225420800,3225422079,CA +3225422080,3225422095,AE +3225422096,3225423871,CA 3225423872,3225426943,US 3225426944,3225427199,AT 3225427968,3225428991,US @@ -54644,16 +55282,16 @@ 3225446400,3225450495,US 3225450496,3225451519,AG 3225451776,3225452031,SE +3225452544,3225456639,CA 3225456640,3225459711,US 3225459968,3225460479,US 3225460480,3225462783,CA -3225462784,3225464831,US +3225462784,3225468927,US 3225468928,3225469951,CA 3225470464,3225470719,US 3225471488,3225471743,DE 3225471744,3225472511,US -3225477120,3225481215,US -3225485312,3225498111,US +3225473024,3225498111,US 3225498368,3225503487,NL 3225503488,3225506047,US 3225506304,3225508863,AU @@ -54798,20 +55436,20 @@ 3225747456,3225757695,US 3225757696,3225758719,CA 3225759232,3225759487,US +3225759744,3225763839,US 3225763840,3225764095,BE 3225764864,3225765887,CA 3225766400,3225766655,CA -3225766912,3225769983,US -3225772032,3225773055,US +3225766912,3225773055,US 3225773312,3225773567,CA -3225776128,3225776383,US +3225774080,3225776383,US 3225777152,3225777407,AU 3225777408,3225777663,US -3225780224,3225780479,US +3225778176,3225780479,US 3225781248,3225782271,CA 3225782272,3225785343,US 3225785344,3225788415,CA -3225794560,3225806847,US +3225788416,3225806847,US 3225807360,3225807615,DE 3225807872,3225812991,US 3225812992,3225843711,FR @@ -54870,14 +55508,76 @@ 3226067456,3226067711,BE 3226067712,3226068223,US 3226068224,3226068479,GB -3226068480,3226068991,US -3226075136,3226107903,US +3226068480,3226109951,US 3226110208,3226110719,US 3226110720,3226128639,AU -3226128640,3226140671,US +3226128640,3226132527,US +3226132528,3226132543,CN +3226132544,3226132575,US +3226132576,3226132607,CN +3226132608,3226132623,US +3226132624,3226132711,CN +3226132712,3226132735,US +3226132736,3226133183,CN +3226133184,3226133247,US +3226133248,3226133599,CN +3226133600,3226133759,US +3226133760,3226134271,CN +3226134272,3226134527,US +3226134528,3226134719,CN +3226134720,3226134783,US +3226134784,3226135231,CN +3226135232,3226135239,CA +3226135240,3226135263,CN +3226135264,3226135271,US +3226135272,3226135279,CN +3226135280,3226135295,US +3226135296,3226135367,CN +3226135368,3226135375,US +3226135376,3226135423,CN +3226135424,3226135551,US +3226135552,3226135615,CN +3226135616,3226135631,US +3226135632,3226135871,CN +3226135872,3226135935,US +3226135936,3226136207,CN +3226136208,3226136215,US +3226136216,3226136263,CN +3226136264,3226136271,US +3226136272,3226136287,CN +3226136288,3226136295,US +3226136296,3226136303,CN +3226136304,3226136319,US +3226136320,3226136479,CN +3226136480,3226136487,US +3226136488,3226136575,CN +3226136576,3226136607,US +3226136608,3226136807,CN +3226136808,3226136815,US +3226136816,3226136991,CN +3226136992,3226137023,US +3226137024,3226137215,CN +3226137216,3226137223,US +3226137224,3226137247,CN +3226137248,3226137343,US +3226137344,3226137599,CN +3226137600,3226138623,US +3226138624,3226138911,CN +3226138912,3226139007,US +3226139008,3226139167,CN +3226139168,3226139183,US +3226139184,3226139263,CN +3226139264,3226139647,US +3226139648,3226139663,CN +3226139664,3226139903,US +3226139904,3226140287,CN +3226140288,3226140415,US +3226140416,3226140671,CN 3226140672,3226157567,CA 3226157568,3226157823,US -3226157824,3226189823,CA +3226157824,3226177535,CA +3226177536,3226178559,US +3226178560,3226189823,CA 3226189824,3226191871,US 3226191872,3226201087,CA 3226201344,3226201855,CA @@ -54926,8 +55626,7 @@ 3226393600,3226393855,DE 3226393856,3226397695,US 3226397696,3226400255,DE -3226400256,3226468351,US -3226470400,3226473471,US +3226400256,3226473471,US 3226473472,3226473983,PT 3226473984,3226474495,US 3226474496,3226474751,CL @@ -54939,34 +55638,35 @@ 3226480384,3226481407,US 3226481408,3226481663,DE 3226481664,3226492927,US -3226501120,3226517503,US -3226519552,3226521855,US +3226501120,3226521855,US 3226521856,3226522111,BR -3226522112,3226533887,US -3226535936,3226536191,US -3226536960,3226537983,CA -3226546176,3226546431,US +3226522112,3226536191,US +3226536960,3226542079,CA +3226542080,3226546431,US 3226547200,3226548223,CA 3226548992,3226549247,BE 3226549248,3226550271,GB 3226550272,3226555391,US 3226555648,3226555903,CA -3226556416,3226560511,US +3226556416,3226561535,US 3226561792,3226562047,NO -3226563072,3226563327,US +3226562560,3226564607,US 3226564864,3226565119,DE 3226565376,3226565631,FI -3226569984,3226570239,US +3226565632,3226574847,US 3226574848,3226575103,FI 3226576384,3226576639,US +3226576896,3226578943,CA +3226578944,3226579967,US 3226580480,3226581247,EU 3226582528,3226582783,US 3226583040,3226583295,US 3226583552,3226583807,SE +3226584064,3226591231,US +3226591232,3226592255,CA 3226592768,3226593023,DE 3226593792,3226594047,GB -3226598400,3226598911,US -3226599424,3226626047,US +3226594304,3226626047,US 3226626048,3226626303,CA 3226626304,3226629375,US 3226629376,3226629631,CA @@ -54998,6 +55698,7 @@ 3226656512,3226661119,US 3226661120,3226661375,DE 3226661888,3226662143,US +3226662912,3226664959,US 3226664960,3226690815,FI 3226690816,3226691071,CA 3226691072,3226691327,GB @@ -55007,7 +55708,7 @@ 3226695680,3226695935,US 3226695936,3226696191,CA 3226696448,3226696703,AU -3226705408,3226705919,US +3226696704,3226705919,US 3226705920,3226706175,FR 3226706176,3226706943,US 3226707200,3226707455,PL @@ -55017,9 +55718,7 @@ 3226715904,3226716159,US 3226716160,3226716415,GB 3226716672,3226716927,GB -3226716928,3226717439,US -3226717696,3226717951,US -3226717952,3226720511,GB +3226716928,3226718207,US 3226720768,3226721279,JP 3226721280,3226721791,US 3226722048,3226722303,CH @@ -55046,8 +55745,7 @@ 3226738176,3226738431,NL 3226738432,3226738687,US 3226738688,3226739199,NO -3226740736,3226742783,US -3226744576,3226746367,US +3226739712,3226746367,US 3226746368,3226746623,PT 3226746624,3226748927,US 3226749440,3226749695,US @@ -55162,8 +55860,7 @@ 3227027456,3227035135,US 3227035136,3227035391,EU 3227035392,3227035647,AP -3227035648,3227038207,US -3227039744,3227040255,US +3227035648,3227040255,US 3227040512,3227040767,AU 3227040768,3227041279,US 3227041280,3227041535,NZ @@ -55237,12 +55934,11 @@ 3227290880,3227291135,AT 3227291136,3227294207,PT 3227294464,3227294975,GR -3227295232,3227305983,US -3227309824,3227310079,US +3227295232,3227310079,US 3227310080,3227310335,NO 3227310336,3227312127,US 3227312128,3227312383,DK -3227312384,3227315199,US +3227312384,3227320319,US 3227320320,3227362047,FR 3227362048,3227362303,US 3227362304,3227363071,GB @@ -55303,15 +55999,24 @@ 3227448064,3227448575,AU 3227448576,3227448831,US 3227448832,3227449087,ZA -3227449088,3227450367,US -3227451392,3227451423,US -3227451424,3227455487,CA +3227449088,3227451455,US +3227451456,3227455487,CA 3227455488,3227456255,US -3227456256,3227467775,CA -3227468032,3227468287,US +3227456256,3227457023,CA +3227457024,3227457279,US +3227457280,3227464447,CA +3227464448,3227464575,US +3227464576,3227467775,CA +3227467776,3227475967,US 3227484160,3227516927,CA -3227516928,3227568127,ZA -3227570176,3227574271,US +3227516928,3227533311,ZA +3227533312,3227534335,US +3227534336,3227557887,ZA +3227557888,3227558911,US +3227558912,3227559935,ZA +3227559936,3227561983,US +3227561984,3227568127,ZA +3227568128,3227574271,US 3227574272,3227582463,ZA 3227582464,3227638271,US 3227638272,3227638527,CA @@ -55491,8 +56196,7 @@ 3228061184,3228061695,US 3228061952,3228062207,US 3228062208,3228062463,GB -3228062464,3228073983,US -3228076032,3228077055,US +3228062464,3228077055,US 3228077056,3228077311,NL 3228077312,3228077567,US 3228077568,3228077823,NL @@ -55555,7 +56259,7 @@ 3228271360,3228271615,CA 3228271616,3228271871,DE 3228272128,3228272383,US -3228274688,3228280831,US +3228272640,3228280831,US 3228280832,3228281087,GB 3228281088,3228281599,US 3228281600,3228282111,NZ @@ -55609,8 +56313,8 @@ 3228406016,3228406271,US 3228406272,3228407039,FR 3228407040,3228413183,DE -3228413184,3228413439,SG -3228413440,3228430847,DE +3228413184,3228413695,SG +3228413696,3228430847,DE 3228430848,3228431103,ZA 3228431104,3228434431,DE 3228434432,3228456191,US @@ -55621,7 +56325,9 @@ 3228461568,3228461823,CA 3228461824,3228464127,US 3228464128,3228464383,CA -3228464384,3228496127,US +3228464384,3228477695,US +3228478464,3228479487,CA +3228479488,3228496127,US 3228496128,3228496383,GB 3228496384,3228508159,US 3228508160,3228508415,AU @@ -55634,8 +56340,7 @@ 3228512000,3228512255,DE 3228512256,3228512511,CH 3228512512,3228513791,US -3228516352,3228520447,US -3228521984,3228522495,US +3228514304,3228522495,US 3228522496,3228522751,GB 3228522752,3228525823,US 3228525824,3228526079,PT @@ -55685,9 +56390,28 @@ 3228696576,3228826371,IL 3228826372,3228826372,US 3228826373,3229024255,IL -3229024256,3229057023,US -3229058816,3229059071,US -3229061120,3229065215,CA +3229024256,3229059071,US +3229061120,3229061343,CA +3229061344,3229061359,US +3229061360,3229061375,CA +3229061376,3229061631,US +3229061632,3229062031,CA +3229062032,3229062047,US +3229062048,3229062143,CA +3229062144,3229062175,US +3229062176,3229062433,CA +3229062434,3229062450,US +3229062451,3229062527,CA +3229062528,3229062591,US +3229062592,3229062655,CA +3229062656,3229063295,US +3229063296,3229063423,CA +3229063424,3229063679,US +3229063680,3229063935,CA +3229063936,3229064191,US +3229064192,3229064951,CA +3229064952,3229064955,US +3229064956,3229065215,CA 3229073408,3229092095,US 3229092096,3229093887,AU 3229093888,3229104895,US @@ -55761,7 +56485,7 @@ 3229701888,3229702143,TR 3229702144,3229704703,US 3229704704,3229704959,DE -3229705216,3229712383,US +3229705216,3229745151,US 3229745152,3229810687,FI 3229810688,3229814015,US 3229814016,3229814271,AU @@ -55852,8 +56576,7 @@ 3229958144,3229958399,NO 3229958400,3229958655,US 3229958912,3229959167,SG -3229959168,3229961215,US -3229962240,3229968895,US +3229959168,3229968895,US 3229969408,3229969663,PT 3229969664,3229969919,AT 3229969920,3229970431,FI @@ -55878,6 +56601,7 @@ 3230085376,3230085631,US 3230085888,3230086143,DE 3230086144,3230086655,GB +3230087168,3230088191,US 3230088960,3230089215,AT 3230089216,3230089727,US 3230089728,3230089983,GB @@ -55907,7 +56631,7 @@ 3230117888,3230120191,US 3230120448,3230120703,US 3230120704,3230120959,PT -3230120960,3230124031,US +3230120960,3230125055,US 3230125312,3230125567,US 3230125824,3230126335,AU 3230126336,3230126591,US @@ -56023,7 +56747,8 @@ 3230266112,3230267135,US 3230267136,3230267903,CA 3230267904,3230269439,US -3230269440,3230273535,GB +3230269440,3230271743,GB +3230272512,3230273535,US 3230275584,3230291455,US 3230291456,3230291711,PT 3230291712,3230295039,US @@ -56160,7 +56885,8 @@ 3230948608,3230951167,US 3230951168,3230951423,PT 3230951424,3230953471,US -3230953472,3230967295,AU +3230953472,3230954495,CA +3230954496,3230967295,AU 3230967296,3230967551,RU 3230967552,3230967807,ES 3230967808,3230969087,US @@ -56212,7 +56938,7 @@ 3231004928,3231005183,GB 3231005440,3231005695,FR 3231005696,3231005951,GB -3231005952,3231007743,US +3231005952,3231008767,US 3231009280,3231009791,US 3231010048,3231010303,FR 3231010304,3231010815,NO @@ -56318,7 +57044,11 @@ 3231120896,3231121151,NO 3231121408,3231149311,US 3231149312,3231149567,CA -3231149568,3231162367,US +3231149568,3231154431,US +3231155200,3231156223,CA +3231158272,3231162367,US +3231170560,3231186687,US +3231186688,3231186943,CN 3231186944,3231188479,US 3231188480,3231188735,NO 3231188736,3231190527,US @@ -56441,13 +57171,14 @@ 3231309824,3231316735,US 3231316736,3231316991,NZ 3231316992,3231322111,US -3231322112,3231326207,SG -3231326208,3231351807,US +3231322112,3231324671,SG +3231325184,3231326207,CA +3231326208,3231352831,US 3231354880,3231358975,CA +3231367168,3231383551,US 3231383552,3231385599,NO 3231385600,3231408127,US -3231416320,3231424511,US -3231449088,3231475199,US +3231416320,3231475199,US 3231475200,3231475455,PL 3231475456,3231482879,US 3231482880,3231483135,BE @@ -56486,7 +57217,7 @@ 3231514624,3231515647,NO 3231515648,3231516159,US 3231516672,3231519231,SE -3231522560,3231524863,US +3231519744,3231524863,US 3231526912,3231531007,CA 3231531008,3231539199,US 3231547392,3231547647,US @@ -56519,7 +57250,7 @@ 3231562752,3231563007,US 3231563008,3231563263,CH 3231563264,3231563519,ZA -3231580160,3231583231,US +3231563776,3231583231,US 3231583232,3231584255,CA 3231584256,3231588863,US 3231588864,3231589119,GB @@ -56529,7 +57260,7 @@ 3231594240,3231594495,GB 3231594496,3231649791,US 3231649792,3231653887,SG -3231653888,3231662079,US +3231653888,3231663103,US 3231663616,3231663871,FI 3231663872,3231664127,CA 3231664128,3231664383,US @@ -56557,7 +57288,8 @@ 3231675904,3231676159,IE 3231676672,3231676927,FR 3231676928,3231677183,FI -3231678464,3231686655,US +3231677440,3231686655,US +3231694848,3231711231,CA 3231711232,3231713023,US 3231713024,3231713279,CA 3231713280,3231713791,US @@ -56639,9 +57371,11 @@ 3231776000,3231776511,US 3231776768,3231793151,US 3231793152,3231793663,BE +3231794176,3231795199,US 3231797248,3231800319,US 3231800320,3231801343,CN 3231809536,3231810047,NZ +3231810560,3231811583,US 3231813632,3231817727,US 3231842304,3231843327,RU 3231843328,3231844351,NO @@ -56742,13 +57476,15 @@ 3232169728,3232169983,PL 3232169984,3232235519,IT 3232301056,3232309247,US -3232309248,3232313343,SG -3232313344,3232325631,US -3232366592,3232432127,US +3232309248,3232311807,SG +3232312320,3232325631,US +3232333824,3232401407,US +3232403456,3232407039,US +3232407040,3232407551,SG 3232432128,3232433151,EU 3232433152,3232433407,FR 3232433408,3232433663,EU -3232433920,3232436735,US +3232433920,3232438271,US 3232448512,3232464895,US 3232464896,3232483327,GB 3232485376,3232489471,US @@ -56765,7 +57501,8 @@ 3232562688,3232562943,CA 3232563200,3232565247,GB 3232565248,3232567295,US -3232567296,3232571391,NZ +3232567296,3232569599,NZ +3232570368,3232571391,CA 3232571392,3232579583,US 3232595968,3232598015,GB 3232600064,3232604159,US @@ -56848,14 +57585,16 @@ 3232704000,3232704511,CH 3232704512,3232705535,GB 3232705536,3232706559,FI -3232706560,3232706815,US +3232706560,3232708607,US 3232710656,3232718847,US 3232727040,3232759807,US 3232759808,3232825343,SE 3232890880,3233286143,US 3233288192,3233292287,CA +3233316864,3233349631,US 3233480704,3233484799,US -3233484800,3233488895,ES +3233484800,3233487359,ES +3233487872,3233488895,CA 3233488896,3233505279,US 3233513472,3233548287,US 3233548800,3233549055,PT @@ -56935,6 +57674,7 @@ 3233619456,3233620479,US 3233620480,3233620735,NZ 3233620736,3233620991,US +3233620992,3233622015,CA 3233622272,3233622527,GB 3233622528,3233624831,US 3233624832,3233625087,AT @@ -56999,6 +57739,7 @@ 3233695232,3233696511,US 3233696512,3233696767,CA 3233696768,3233697791,US +3233699840,3233700863,US 3233701632,3233701887,NO 3233701888,3233704959,US 3233704960,3233705215,NZ @@ -57148,7 +57889,8 @@ 3234065408,3234065663,GB 3234065664,3234065919,BR 3234065920,3234070527,US -3234070528,3234136063,FR +3234070528,3234110463,FR +3234110464,3234111487,US 3234136064,3234172927,CA 3234172928,3234173951,US 3234173952,3234175999,CA @@ -57158,7 +57900,7 @@ 3234187520,3234192383,CA 3234192384,3234193663,US 3234193664,3234201599,CA -3234202624,3234203647,US +3234201600,3234203647,US 3234203648,3234205695,BR 3234205696,3234226175,US 3234234368,3234239231,US @@ -57170,7 +57912,8 @@ 3234240512,3234240607,US 3234240608,3234240611,IL 3234240612,3234250751,US -3234267136,3234271231,US +3234267136,3234269695,US +3234270208,3234271231,CA 3234271232,3234275327,PT 3234275328,3234279423,AU 3234279424,3234283519,CA @@ -57306,8 +58049,32 @@ 3234922496,3234988031,US 3234988032,3234992127,CA 3234992128,3235004415,US -3235004416,3235020799,CA -3235020800,3235184639,US +3235004416,3235021823,CA +3235021824,3235022079,US +3235022080,3235022143,AU +3235022144,3235022367,US +3235022368,3235022383,CA +3235022384,3235022399,US +3235022400,3235022423,CA +3235022424,3235024383,US +3235024384,3235024447,BG +3235024448,3235024511,US +3235024512,3235024639,BG +3235024640,3235025055,US +3235025056,3235025071,BD +3235025072,3235025079,CA +3235025080,3235025135,US +3235025136,3235025151,BD +3235025152,3235026943,US +3235026944,3235028991,CA +3235028992,3235045375,US +3235045376,3235046143,CA +3235046144,3235046271,US +3235046272,3235046335,GB +3235046336,3235046351,BD +3235046352,3235047839,US +3235047840,3235047871,GB +3235047872,3235184639,US 3235184640,3235184895,CA 3235184896,3235275007,US 3235278848,3235282943,BB @@ -57396,8 +58163,9 @@ 3235970816,3236044799,US 3236044800,3236052991,CA 3236052992,3236069375,US +3236069376,3236102143,CA 3236102144,3236106239,PH -3236106240,3236134911,US +3236106240,3236167679,US 3236167680,3236172543,CA 3236172544,3236172799,US 3236172800,3236175871,CA @@ -57518,19 +58286,17 @@ 3236958208,3236962303,AU 3236962304,3236978687,US 3236986880,3236995071,US -3237019648,3237022271,US -3237022272,3237022287,CA -3237022288,3237022291,US +3237019648,3237022291,US 3237022292,3237022335,CA 3237022336,3237022367,US 3237022368,3237022399,CA -3237022400,3237022431,US -3237022432,3237022719,CA +3237022400,3237022447,US +3237022448,3237022719,CA 3237022720,3237023231,US 3237023232,3237023263,CA 3237023264,3237023279,US -3237023280,3237023743,CA -3237023744,3237036031,US +3237023280,3237023487,CA +3237023488,3237036031,US 3237085184,3237154815,US 3237154816,3237155839,ES 3237155840,3237156863,AU @@ -57895,7 +58661,7 @@ 3239129088,3239130111,DE 3239130112,3239130367,RU 3239130368,3239130623,JO -3239130624,3239131135,PL +3239130624,3239130879,PL 3239131136,3239133183,DE 3239133184,3239133439,CH 3239133440,3239133695,GB @@ -57903,7 +58669,6 @@ 3239133952,3239134207,SE 3239134208,3239134463,IL 3239134464,3239134719,UA -3239134720,3239134975,RO 3239134976,3239135231,PL 3239135232,3239135487,SE 3239135488,3239135743,FR @@ -57961,7 +58726,6 @@ 3239173376,3239173631,DE 3239173632,3239173887,AT 3239173888,3239174143,PL -3239174144,3239174399,DE 3239174400,3239174655,RO 3239174656,3239174911,GB 3239174912,3239175167,SI @@ -58010,7 +58774,6 @@ 3239284736,3239285247,IR 3239285248,3239285503,SE 3239285504,3239285759,BG -3239285760,3239286783,KW 3239286784,3239287807,UA 3239287808,3239288831,GB 3239288832,3239289855,DE @@ -58324,7 +59087,6 @@ 3239782912,3239783167,GB 3239783168,3239783423,CH 3239783424,3239783679,DK -3239783680,3239783935,CH 3239783936,3239784191,DE 3239784192,3239784447,ES 3239784448,3239788543,DE @@ -58333,7 +59095,7 @@ 3239789568,3239790079,FR 3239790080,3239790591,RO 3239790592,3239791103,LV -3239791104,3239792127,CH +3239791104,3239791615,CH 3239792128,3239792639,FR 3239792640,3239793151,UA 3239793152,3239793663,PL @@ -58383,7 +59145,6 @@ 3239841024,3239841279,NL 3239841280,3239848447,DE 3239848448,3239848703,CH -3239848704,3239848959,SE 3239848960,3239849215,RU 3239849216,3239849471,GB 3239849472,3239849727,RU @@ -58466,7 +59227,6 @@ 3239902208,3239902463,PL 3239902464,3239902719,RU 3239902720,3239902975,EE -3239902976,3239903231,GB 3239903232,3239907327,DE 3239907328,3239907583,UA 3239907584,3239908095,DE @@ -58505,14 +59265,13 @@ 3239960576,3239968511,DE 3239968512,3239968767,PL 3239968768,3239969023,NO -3239969024,3239974911,DE +3239969280,3239974911,DE 3239974912,3239975935,GB 3239975936,3239976191,RO 3239976192,3239976447,DE 3239976448,3239976959,NL 3239976960,3239978751,DE 3239978752,3239979007,RU -3239979008,3239979263,UA 3239979264,3239979519,GB 3239979520,3239979775,DE 3239979776,3239980031,SI @@ -59013,7 +59772,6 @@ 3240736256,3240736767,BG 3240736768,3240737791,UA 3240737792,3240738815,BG -3240738816,3240739071,UA 3240739072,3240739327,CH 3240739328,3240739583,FR 3240739584,3240739839,LV @@ -59313,7 +60071,6 @@ 3241500672,3241501439,BE 3241501440,3241501951,EU 3241501952,3241502975,BE -3241502976,3241503231,GR 3241503232,3241503487,RS 3241503488,3241508095,BE 3241508096,3241508351,NL @@ -59361,7 +60118,6 @@ 3241866240,3241866751,DE 3241866752,3241867007,UA 3241867008,3241867263,FR -3241867264,3241867519,UA 3241867520,3241867775,PL 3241867776,3241868031,NO 3241868032,3241868287,RU @@ -59445,7 +60201,6 @@ 3243529984,3243530239,GB 3243530240,3243530495,RU 3243530496,3243530751,FR -3243530752,3243531007,UA 3243531008,3243531263,DE 3243531264,3243531775,CZ 3243531776,3243532031,AT @@ -59618,7 +60373,6 @@ 3244834816,3244835071,RU 3244835072,3244835327,AT 3244835328,3244835583,DE -3244835584,3244835839,UA 3244835840,3244836095,RS 3244836096,3244836607,RU 3244836608,3244836863,PL @@ -59930,7 +60684,6 @@ 3244921856,3244922111,BG 3244922112,3244922367,DK 3244922368,3244922623,GB -3244922624,3244922879,BG 3244922880,3244923135,UA 3244923136,3244923391,AT 3244923392,3244923647,EU @@ -59939,7 +60692,6 @@ 3244924160,3244924927,CZ 3244924928,3244925183,FI 3244925184,3244925439,CH -3244925440,3244925695,GB 3244925696,3244925951,RS 3244925952,3244926207,UA 3244926208,3244926463,NL @@ -60326,7 +61078,7 @@ 3245201408,3245201663,UA 3245201664,3245201919,NO 3245201920,3245202175,SA -3245202176,3245202687,GB +3245202432,3245202687,GB 3245202688,3245203455,DE 3245203456,3245203711,FR 3245203712,3245204223,PL @@ -60348,7 +61100,6 @@ 3245210112,3245210623,FR 3245210624,3245211135,HU 3245211136,3245211647,GB -3245211648,3245212159,RU 3245212160,3245212671,NG 3245212672,3245213183,GB 3245213184,3245213695,DE @@ -60952,8 +61703,7 @@ 3248576512,3248603135,NO 3248603136,3248603391,BG 3248603392,3248603647,RU -3248603648,3248619263,NO -3248619264,3248619519,UA +3248603648,3248619519,NO 3248619520,3248719871,DK 3248719872,3248720127,EU 3248720128,3248748543,DK @@ -61063,8 +61813,7 @@ 3249094656,3249095679,FR 3249095680,3249096191,NL 3249096192,3249096703,IL -3249096704,3249096959,DE -3249096960,3249097215,EU +3249096704,3249097215,DE 3249097216,3249097727,DK 3249097728,3249098239,DE 3249098240,3249098751,PL @@ -61158,7 +61907,7 @@ 3249551360,3249552639,GB 3249552640,3249574143,NL 3249574144,3249574399,RU -3249574400,3249574655,SE +3249574400,3249574655,GB 3249574656,3249574911,UA 3249574912,3249590527,NL 3249590528,3249590783,FR @@ -61518,7 +62267,7 @@ 3251112704,3251112959,SE 3251112960,3251113215,BG 3251113216,3251113471,VG -3251113472,3251114495,BG +3251113472,3251113983,BG 3251114496,3251114751,RU 3251114752,3251115007,RO 3251115008,3251115263,PL @@ -61706,7 +62455,7 @@ 3251184128,3251184383,PL 3251184384,3251184639,DK 3251184640,3251184895,PL -3251184896,3251185407,DE +3251184896,3251185151,DE 3251185408,3251185663,DK 3251185664,3251185919,IT 3251185920,3251186175,AT @@ -61772,7 +62521,6 @@ 3251213504,3251213567,NL 3251213568,3251213631,FR 3251213632,3251213695,PL -3251213696,3251213759,LV 3251213760,3251213823,CY 3251213824,3251213887,GB 3251213888,3251214015,CY @@ -61861,7 +62609,8 @@ 3251269120,3251269215,DK 3251269216,3251269270,NL 3251269271,3251269271,DK -3251269272,3251269887,NL +3251269272,3251269727,NL +3251269728,3251269887,DE 3251269888,3251270143,GB 3251270144,3251270399,PL 3251270400,3251270655,NO @@ -62498,7 +63247,6 @@ 3253972992,3253974783,GB 3253974784,3253974847,NO 3253974848,3253974911,SE -3253974912,3253974975,IL 3253974976,3253975039,SE 3253975040,3253977087,DE 3253977088,3253985279,TR @@ -62920,7 +63668,6 @@ 3255324160,3255324671,CH 3255324672,3255325695,RO 3255325696,3255326207,RU -3255326208,3255326719,DE 3255326720,3255327231,IL 3255327232,3255327743,DE 3255327744,3255328255,GB @@ -63010,7 +63757,6 @@ 3255422976,3255423999,RO 3255424000,3255425023,LV 3255426048,3255426559,IT -3255426560,3255426815,FR 3255426816,3255427071,PL 3255427072,3255431167,RU 3255431168,3255434464,GB @@ -63129,9 +63875,7 @@ 3256489472,3256489983,GR 3256489984,3256490239,BE 3256490240,3256490495,DE -3256490496,3256513023,NL -3256513024,3256513279,GB -3256513280,3256513791,NL +3256490496,3256513791,NL 3256513792,3256514047,GB 3256514048,3256524287,NL 3256524288,3256524799,DE @@ -63398,7 +64142,6 @@ 3257455360,3257455615,SI 3257455616,3257466879,CH 3257466880,3257467135,DE -3257467136,3257467391,GB 3257467392,3257467903,SE 3257467904,3257468927,IT 3257468928,3257469183,EU @@ -63548,7 +64291,6 @@ 3258067456,3258067967,GR 3258067968,3258068223,RO 3258068224,3258068479,CH -3258068480,3258068735,GB 3258068736,3258068991,DE 3258068992,3258069247,NL 3258069248,3258069503,PL @@ -63842,7 +64584,6 @@ 3259353856,3259354111,GB 3259354112,3259354367,NL 3259354368,3259354623,DE -3259354624,3259354879,TR 3259354880,3259355135,PL 3259355136,3259359231,NO 3259359232,3259367423,ES @@ -64120,7 +64861,6 @@ 3262006528,3262006783,FR 3262006784,3262007039,SE 3262007040,3262007295,IT -3262007296,3262007551,SA 3262007552,3262007807,GR 3262007808,3262008063,RO 3262008064,3262008319,GB @@ -64196,7 +64936,6 @@ 3262053120,3262053375,RU 3262053376,3262053631,UA 3262053632,3262053887,RU -3262053888,3262054143,UA 3262054144,3262054399,RU 3262054400,3262121727,FI 3262121728,3262121983,AX @@ -64533,7 +65272,6 @@ 3264016128,3264016383,UA 3264016384,3264016639,SE 3264016640,3264016895,PL -3264016896,3264017151,GB 3264017152,3264017663,SE 3264017664,3264017919,RO 3264017920,3264018175,NL @@ -64822,7 +65560,6 @@ 3264754944,3264755199,PL 3264755200,3264755711,DE 3264755712,3264756223,PL -3264756224,3264756735,FI 3264756736,3264757247,PL 3264757248,3264757759,RU 3264757760,3264765951,GB @@ -64961,7 +65698,7 @@ 3265601024,3265601535,RU 3265601536,3265601791,SE 3265601792,3265602047,CH -3265602048,3265602559,NL +3265602048,3265602303,NL 3265602560,3265602815,IT 3265602816,3265603071,IE 3265603072,3265603327,DK @@ -65279,14 +66016,12 @@ 3268742656,3268742911,BE 3268742912,3268743167,NL 3268743168,3268743423,RO -3268743424,3268743679,PL 3268743680,3268743935,GB 3268743936,3268744191,ES 3268744192,3268744447,DE 3268744448,3268744703,RU 3268744704,3268744959,PL 3268744960,3268745215,UA -3268745216,3268745471,KZ 3268745472,3268745727,RU 3268745728,3268745983,PL 3268745984,3268746239,DE @@ -65412,7 +66147,6 @@ 3270926592,3270926847,CH 3270926848,3270927103,PL 3270927104,3270927359,UA -3270927360,3270927615,CH 3270927616,3270927871,FR 3270927872,3270928127,HU 3270928128,3270928383,RO @@ -65596,7 +66330,6 @@ 3271929088,3271929343,LB 3271929344,3271929599,NO 3271929600,3271929855,GB -3271929856,3271930111,PL 3271930112,3271930367,HU 3271930368,3271930623,RU 3271930624,3271930879,GE @@ -66599,7 +67332,6 @@ 3275511296,3275511551,GB 3275511552,3275511679,NL 3275511680,3275511807,CY -3275511808,3275511935,CH 3275511936,3275512063,FR 3275512064,3275512191,CZ 3275512192,3275512319,IT @@ -66628,7 +67360,6 @@ 3275532288,3275532799,UA 3275532800,3275533823,GB 3275533824,3275534335,UA -3275534336,3275534847,IL 3275534848,3275535359,RO 3275535360,3275535871,DE 3275535872,3275536383,SE @@ -67425,7 +68156,6 @@ 3277691392,3277691903,UA 3277691904,3277692415,GB 3277692416,3277692927,DE -3277692928,3277693439,UA 3277693440,3277693951,PL 3277693952,3277694463,RU 3277694464,3277694975,DE @@ -67827,7 +68557,6 @@ 3280463872,3280466943,RU 3280466944,3280467967,UA 3280467968,3280468991,ES -3280468992,3280470015,CY 3280470016,3280535551,PL 3280535552,3280568319,GB 3280568320,3280576511,IT @@ -68415,7 +69144,7 @@ 3283632640,3283633151,GB 3283633152,3283633663,SE 3283633664,3283634175,UA -3283634176,3283635199,RU +3283634688,3283635199,RU 3283635200,3283635711,GB 3283635712,3283636223,RU 3283636224,3283636735,UA @@ -69014,7 +69743,11 @@ 3285934848,3285935103,GB 3285935104,3285935871,EU 3285935872,3285936127,GB -3285936128,3285939743,EU +3285936128,3285939135,EU +3285939136,3285939175,GB +3285939176,3285939183,EU +3285939184,3285939191,GB +3285939192,3285939743,EU 3285939744,3285939759,GB 3285939760,3285943551,EU 3285943552,3285943647,GB @@ -69245,7 +69978,6 @@ 3286913024,3286913535,DE 3286914048,3286915071,BG 3286915072,3286916095,FR -3286916096,3286917119,DE 3286917120,3286918143,RU 3286918144,3286919167,AT 3286919168,3286920191,DE @@ -69266,7 +69998,6 @@ 3286927616,3286927871,SI 3286927872,3286928127,BG 3286928128,3286928383,DE -3286928384,3286928639,ES 3286928640,3286928895,PL 3286928896,3286929151,FI 3286929152,3286929407,DE @@ -69485,7 +70216,6 @@ 3287474176,3287476223,DE 3287476224,3287477247,PL 3287477248,3287478271,GB -3287478272,3287479295,BG 3287479296,3287480319,RO 3287480320,3287481343,AT 3287481344,3287482367,PL @@ -69840,7 +70570,7 @@ 3288514560,3288522751,EG 3288530944,3288532991,JM 3288532992,3288534527,PR -3288534528,3288535039,MG +3288534528,3288535039,EG 3288535040,3288539135,CW 3288539136,3288543487,US 3288543488,3288543743,AP @@ -69891,7 +70621,9 @@ 3288661760,3288662015,LS 3288662016,3288727551,ZA 3288727552,3288727807,MU -3288727808,3289063423,ZA +3288727808,3288753919,ZA +3288753920,3288754175,NG +3288758272,3289063423,ZA 3289069568,3289070335,ZA 3289070336,3289070591,ZW 3289070592,3289070847,NA @@ -70179,14 +70911,13 @@ 3291435008,3291439103,A2 3291447296,3291463679,CI 3291480064,3291545599,SC -3291742208,3292266495,ZA +3291742208,3292004351,ZA +3292004352,3292266495,SC 3300917248,3300921343,MU 3300925440,3300929535,MG 3300933632,3300950015,MU 3300982784,3301179391,ZA -3301179392,3301244927,SC -3301244928,3301375999,ZA -3301376000,3301441535,SC +3301179392,3301441535,SC 3301441536,3301441567,ZA 3301441568,3301441575,NG 3301441576,3301441655,ZA @@ -70292,6 +71023,7 @@ 3301912576,3301916671,MU 3301949440,3301965823,SN 3301965824,3302490111,ZA +3302490112,3302490367,KE 3302490368,3302490623,US 3302490624,3302491135,MU 3302491136,3302492159,NG @@ -70388,7 +71120,10 @@ 3302956032,3302956287,CD 3302956544,3302957055,ZA 3302957056,3302957311,CG -3304062976,3305111551,ZA +3304062976,3304456191,SC +3304456192,3304521727,ZA +3304521728,3304587263,SC +3304587264,3305111551,ZA 3305111552,3307208703,TN 3307208704,3309305855,EG 3309305856,3312451583,ZA @@ -70486,13 +71221,16 @@ 3317694464,3318218751,EG 3318218752,3318743039,DZ 3318743040,3318874111,SD +3318939648,3318947839,KE 3318947840,3318956031,NG +3318972416,3318988799,ZA 3318988800,3319005183,ZW 3319005184,3319136255,ZM 3319136256,3319152639,NE 3319152640,3319156735,GQ 3319160832,3319164927,NG 3319164928,3319166975,ZA +3319169024,3319201791,CG 3319201792,3319234559,SL 3319267328,3319398399,AO 3319398400,3319529471,MZ @@ -70512,14 +71250,24 @@ 3319652352,3319660543,ZW 3319660544,3319791615,EG 3319791616,3320053759,MU +3320283136,3320285183,GM +3320285184,3320287231,GA +3320287232,3320289279,ZA +3320295424,3320297471,KE +3320297472,3320299519,MU +3320299520,3320300543,BW +3320300544,3320301567,ZA +3320301568,3320302591,SO 3320381440,3320446975,NA 3320479744,3320500223,ZA 3320500224,3320502271,BW +3320502272,3320504319,BJ 3320504320,3320505343,TZ 3320505344,3320506367,NG 3320506368,3320507391,ZA 3320507392,3320508415,KE 3320508416,3320509439,SC +3320509440,3320510463,RW 3320512512,3320578047,MZ 3320578048,3320643583,ZA 3320643584,3320709119,KE @@ -70563,7 +71311,10 @@ 3321790464,3321806847,LS 3321806848,3321823231,SD 3321823232,3321839615,NG -3321839616,3321855999,GH +3321839616,3321843711,GH +3321843712,3321853695,MU +3321853696,3321853951,GH +3321853952,3321855999,MU 3321856000,3321860095,CV 3321860096,3321864191,ZA 3321864192,3321868287,NG @@ -70592,19 +71343,35 @@ 3322254720,3322254783,CA 3322254784,3322339583,US 3322339584,3322339839,GB -3322339840,3322609663,US +3322339840,3322361856,US +3322361857,3322361864,AT +3322361865,3322361870,US +3322361871,3322361882,CY +3322361883,3322362047,US +3322362048,3322362063,CN +3322362064,3322362079,US +3322362080,3322362111,VG +3322362112,3322362367,US +3322362368,3322362431,DE +3322362432,3322363039,US +3322363040,3322363071,BR +3322363072,3322609663,US 3322609664,3322610687,SA 3322610688,3322642431,US 3322675200,3322683391,US 3322683392,3322691583,BR -3322691584,3322691791,US +3322691584,3322691647,US +3322691648,3322691655,KW +3322691656,3322691791,US 3322691792,3322691807,CA 3322691808,3322691823,GB 3322691824,3322691839,US 3322691840,3322692095,SE 3322692096,3322692223,US 3322692224,3322692351,CA -3322692352,3322692943,US +3322692352,3322692927,US +3322692928,3322692935,KW +3322692936,3322692943,US 3322692944,3322692959,CA 3322692960,3322692991,US 3322692992,3322693119,CA @@ -70620,7 +71387,9 @@ 3322695904,3322695919,GB 3322695920,3322706271,US 3322706272,3322706303,CA -3322706304,3322707151,US +3322706304,3322706959,US +3322706960,3322706975,CA +3322706976,3322707151,US 3322707152,3322707167,CA 3322707168,3322707327,US 3322707328,3322707343,GB @@ -70642,7 +71411,15 @@ 3322889600,3322889607,PE 3322889608,3322889839,US 3322889840,3322889855,PE -3322889856,3322892631,US +3322889856,3322890223,US +3322890224,3322890239,BG +3322890240,3322890423,US +3322890424,3322890431,QA +3322890432,3322890439,US +3322890440,3322890447,QA +3322890448,3322890719,US +3322890720,3322890727,QA +3322890728,3322892631,US 3322892632,3322892639,IN 3322892640,3322893063,US 3322893064,3322893071,BR @@ -70654,14 +71431,28 @@ 3322894336,3322894399,CN 3322894400,3322894703,US 3322894704,3322894719,IN -3322894720,3322898839,US +3322894720,3322897063,US +3322897064,3322897071,QA +3322897072,3322898839,US 3322898840,3322898847,BR 3322898848,3322899135,US 3322899136,3322899143,IN -3322899144,3322904575,US +3322899144,3322902831,US +3322902832,3322902847,IN +3322902848,3322903375,US +3322903376,3322903383,GB +3322903384,3322903423,US +3322903424,3322903455,GB +3322903456,3322903487,US +3322903488,3322903495,GB +3322903496,3322903519,US +3322903520,3322903535,GB +3322903536,3322904575,US 3322937344,3322940671,US 3322940672,3322940927,AP -3322940928,3322970111,US +3322940928,3322945535,US +3322945536,3322951679,CN +3322951680,3322970111,US 3323003136,3323003391,JP 3323003392,3323003647,US 3323003904,3323013631,US @@ -70723,15 +71514,70 @@ 3323432144,3323432151,GB 3323432152,3323432255,US 3323432256,3323432319,AU -3323432320,3323434239,US -3323434240,3323434303,BG -3323434304,3323462655,US +3323432320,3323432415,US +3323432416,3323432447,IL +3323432448,3323432703,US +3323432704,3323432959,SE +3323432960,3323432991,US +3323432992,3323433023,MA +3323433024,3323434239,US +3323434240,3323434367,BG +3323434368,3323434399,US +3323434400,3323434431,BG +3323434432,3323434463,US +3323434464,3323434485,BG +3323434486,3323434486,US +3323434487,3323434495,BG +3323434496,3323436031,US +3323436032,3323436047,ES +3323436048,3323436223,US +3323436224,3323436255,IL +3323436256,3323436559,US +3323436560,3323436575,KW +3323436576,3323436927,US +3323436928,3323436935,ID +3323436936,3323436991,US +3323436992,3323437055,ID +3323437056,3323437567,US +3323437568,3323438079,CA +3323438080,3323438111,AU +3323438112,3323460223,US +3323460224,3323460287,BG +3323460288,3323461375,US +3323461376,3323461503,CA +3323461504,3323462655,US 3323462656,3323463167,BR -3323463168,3323659263,US +3323463168,3323494895,US +3323494896,3323494911,GB +3323494912,3323495015,US +3323495016,3323495023,QA +3323495024,3323497519,US +3323497520,3323497527,QA +3323497528,3323659263,US 3323659264,3323660543,NZ 3323662336,3323674623,US -3323674624,3323681279,CA -3323681280,3323741439,US +3323674624,3323678015,CA +3323678016,3323678031,US +3323678032,3323678047,CA +3323678048,3323678111,US +3323678112,3323678127,CA +3323678128,3323678135,US +3323678136,3323678143,CA +3323678144,3323678147,US +3323678148,3323678151,CA +3323678152,3323678159,US +3323678160,3323678167,CA +3323678168,3323678171,US +3323678172,3323678207,CA +3323678208,3323678511,US +3323678512,3323678519,CA +3323678520,3323678527,US +3323678528,3323678607,CA +3323678608,3323678639,US +3323678640,3323678687,CA +3323678688,3323678695,US +3323678696,3323680255,CA +3323680256,3323741439,US 3323741440,3323741695,GB 3323741696,3323747327,US 3323747328,3323747583,GB @@ -70745,7 +71591,15 @@ 3324040192,3324040447,AU 3324040448,3324051455,US 3324051456,3324182527,CA -3324182528,3324255231,US +3324182528,3324195167,US +3324195168,3324195199,GB +3324195200,3324195775,US +3324195776,3324195807,CA +3324195808,3324196319,US +3324196320,3324196335,GB +3324196336,3324196639,US +3324196640,3324196671,DO +3324196672,3324255231,US 3324255232,3324256255,VI 3324256256,3324260095,SA 3324260096,3324266495,US @@ -70758,7 +71612,39 @@ 3324379136,3324380159,CA 3324380160,3324470271,US 3324470272,3324474367,GB -3324474368,3324579839,US +3324474368,3324522495,US +3324522496,3324522751,CN +3324522752,3324523007,US +3324523008,3324523431,CN +3324523432,3324523455,US +3324523456,3324523559,CN +3324523560,3324523567,US +3324523568,3324523575,CN +3324523576,3324523583,US +3324523584,3324524047,CN +3324524048,3324524055,US +3324524056,3324524255,CN +3324524256,3324524287,US +3324524288,3324524439,CN +3324524440,3324524447,US +3324524448,3324524543,CN +3324524544,3324524551,US +3324524552,3324524783,CN +3324524784,3324524791,US +3324524792,3324524991,CN +3324524992,3324525055,US +3324525056,3324525095,CN +3324525096,3324525103,US +3324525104,3324525111,CN +3324525112,3324525119,US +3324525120,3324525583,CN +3324525584,3324525631,US +3324525632,3324525695,CN +3324525696,3324525791,US +3324525792,3324526015,CN +3324526016,3324526335,US +3324526336,3324526591,CN +3324526592,3324579839,US 3324582912,3324583935,CA 3324583936,3324588031,CL 3324588032,3324642303,US @@ -70913,8 +71799,7 @@ 3325509632,3325591551,US 3325624320,3325640703,US 3325640704,3325644799,CA -3325644800,3325648895,US -3325657088,3325689855,US +3325644800,3325689855,US 3325689856,3325690367,JM 3325690368,3325691903,US 3325691904,3325693951,BR @@ -71040,8 +71925,7 @@ 3328475136,3328477183,CA 3328477184,3328479231,US 3328479232,3328481279,CA -3328481280,3328483327,US -3328491520,3328617983,US +3328481280,3328617983,US 3328617984,3328618239,CA 3328618240,3328629503,US 3328629504,3328629759,EU @@ -71056,6 +71940,7 @@ 3328788480,3328789503,FR 3328789504,3328790015,AP 3328790016,3328794623,US +3328794624,3328802815,CA 3328802816,3329230335,US 3329230336,3329230591,JP 3329230592,3329497343,US @@ -71257,7 +72142,7 @@ 3332461568,3332473855,CA 3332473856,3332477951,US 3332477952,3332483071,CA -3332483072,3332484095,US +3332483072,3332484095,A2 3332484096,3332503039,CA 3332503040,3332503551,US 3332503552,3332528127,CA @@ -71319,7 +72204,17 @@ 3333428224,3333429759,US 3333431296,3333480191,US 3333480192,3333481471,DE -3333481472,3333603327,US +3333481472,3333502975,US +3333502976,3333503135,CN +3333503136,3333503167,US +3333503168,3333503359,CN +3333503360,3333503391,US +3333503392,3333503783,CN +3333503784,3333503791,US +3333503792,3333504431,CN +3333504432,3333504447,US +3333504448,3333505023,CN +3333505024,3333603327,US 3333603328,3333603328,GB 3333603329,3333603329,EU 3333603330,3333603583,GB @@ -71370,14 +72265,17 @@ 3334187776,3334188031,BM 3334188032,3334932223,US 3334932224,3334932479,CA -3334932480,3334946815,US +3334932480,3334934015,US +3334934016,3334934527,CA +3334934528,3334946815,US 3334963200,3334995967,US 3334995968,3334998527,PH -3334999040,3335004159,US -3335028736,3335057407,US +3334998528,3335004159,US +3335028736,3335057919,US 3335057920,3335058175,CA -3335058176,3335251967,US -3335252224,3335252735,US +3335058176,3335160319,US +3335160320,3335160575,CA +3335160576,3335252735,US 3335252736,3335252991,CA 3335252992,3335276287,US 3335276288,3335276799,PR @@ -71456,9 +72354,24 @@ 3337653760,3337654783,CH 3337654784,3337655039,AU 3337655040,3337682943,CH -3337682944,3337892607,US +3337682944,3337891839,US +3337891840,3337892127,IN +3337892128,3337892159,US +3337892160,3337892255,IN +3337892256,3337892607,US 3337892608,3337892671,HK -3337892672,3337895935,US +3337892672,3337893119,US +3337893120,3337893631,CN +3337893632,3337894655,US +3337894656,3337894719,CN +3337894720,3337894783,US +3337894784,3337894911,CN +3337894912,3337895167,US +3337895168,3337895295,CN +3337895296,3337895423,US +3337895424,3337895615,CN +3337895616,3337895679,US +3337895680,3337895935,CN 3337912320,3337948671,US 3337948672,3337949183,CA 3337949184,3337957375,US @@ -71566,7 +72479,11 @@ 3338272256,3338350591,US 3338350592,3338354687,CA 3338371072,3338403839,CA -3338403840,3338551295,US +3338403840,3338420223,US +3338436608,3338455039,US +3338455040,3338455295,GB +3338455296,3338455551,US +3338456064,3338551295,US 3338567680,3338600447,CA 3338665984,3338686463,US 3338686464,3338688511,AW @@ -71624,9 +72541,9 @@ 3339179008,3339180031,US 3339180032,3339181055,CA 3339181056,3339184127,US -3339184128,3339184639,CA -3339184640,3339184895,US -3339184896,3339186175,CA +3339184128,3339185839,CA +3339185840,3339185843,US +3339185844,3339186175,CA 3339186176,3339327999,US 3339328512,3339329535,CA 3339329536,3339337727,US @@ -71658,16 +72575,20 @@ 3339753472,3339754495,CA 3339754496,3339760639,US 3339760640,3339761663,CA -3339761664,3339766047,US +3339761664,3339766023,US +3339766024,3339766031,UA +3339766032,3339766047,US 3339766048,3339766055,RO 3339766056,3339766079,US 3339766080,3339766087,AF -3339766088,3339766143,US -3339766144,3339766151,KR -3339766152,3339766183,US -3339766184,3339766191,HU +3339766088,3339766095,US +3339766096,3339766103,GB +3339766104,3339766151,US +3339766152,3339766159,RU +3339766160,3339766183,US +3339766184,3339766191,RO 3339766192,3339766231,US -3339766232,3339766239,GB +3339766232,3339766239,RO 3339766240,3339766247,OM 3339766248,3339766271,US 3339766272,3339766287,CA @@ -71703,20 +72624,42 @@ 3339766880,3339766887,IL 3339766888,3339766903,US 3339766904,3339766911,NZ -3339766912,3339766975,US +3339766912,3339766943,US +3339766944,3339766951,RU +3339766952,3339766975,US 3339766976,3339766983,DE 3339766984,3339767071,US 3339767072,3339767079,CA -3339767080,3339767135,US +3339767080,3339767103,US +3339767104,3339767111,CA +3339767112,3339767119,GB +3339767120,3339767127,RU +3339767128,3339767135,RO 3339767136,3339767143,GB -3339767144,3339767423,US +3339767144,3339767167,US +3339767168,3339767175,RU +3339767176,3339767199,US +3339767200,3339767207,IT +3339767208,3339767215,GB +3339767216,3339767231,US +3339767232,3339767239,RU +3339767240,3339767247,BR +3339767248,3339767255,DE +3339767256,3339767263,US +3339767264,3339767271,AR +3339767272,3339767423,US 3339767424,3339767431,GB -3339767432,3339767519,US +3339767432,3339767439,CN +3339767440,3339767455,US +3339767456,3339767463,IL +3339767464,3339767519,US 3339767520,3339767527,OM 3339767528,3339767535,US 3339767536,3339767543,GB -3339767544,3339767551,RO -3339767552,3339923455,US +3339767544,3339767551,DE +3339767552,3339767679,US +3339767680,3339767711,BR +3339767712,3339923455,US 3339923456,3339927551,CA 3339927552,3339934719,US 3339934720,3339935743,CA @@ -71804,9 +72747,7 @@ 3340857344,3340858015,CA 3340858016,3340858047,US 3340858048,3340858367,CA -3340858368,3340925063,US -3340925064,3340925071,BR -3340925072,3340925095,US +3340858368,3340925095,US 3340925096,3340925103,CA 3340925104,3340925159,US 3340925160,3340925167,FR @@ -71841,7 +72782,9 @@ 3340925736,3340925743,UA 3340925744,3340925759,US 3340925760,3340925767,FR -3340925768,3340925807,US +3340925768,3340925783,US +3340925784,3340925791,BR +3340925792,3340925807,US 3340925808,3340925815,RU 3340925816,3340925823,AU 3340925824,3340925887,GB @@ -71859,10 +72802,8 @@ 3340926016,3340926023,RU 3340926024,3340926063,US 3340926064,3340926071,CA -3340926072,3340926095,US -3340926096,3340926103,AU -3340926104,3340926143,US -3340926144,3340926151,BR +3340926072,3340926143,US +3340926144,3340926151,FR 3340926152,3340926159,CN 3340926160,3340926175,AR 3340926176,3340926191,US @@ -71895,14 +72836,13 @@ 3340926544,3340926559,GB 3340926560,3340926599,US 3340926600,3340926607,BR -3340926608,3340926615,US -3340926616,3340926623,NO -3340926624,3340926655,US +3340926608,3340926655,US 3340926656,3340926663,CA 3340926664,3340926671,BR 3340926672,3340926679,US 3340926680,3340926687,RO -3340926688,3340926815,US +3340926688,3340926807,US +3340926808,3340926815,IN 3340926816,3340926823,CA 3340926824,3340926887,US 3340926888,3340926895,BR @@ -71998,7 +72938,8 @@ 3341479936,3341480447,DE 3341480448,3341484287,US 3341484288,3341485055,CA -3341485056,3341488895,US +3341485056,3341488639,US +3341488640,3341488895,JP 3341488896,3341489151,AP 3341489152,3341511679,US 3341511680,3341517823,CA @@ -72047,9 +72988,15 @@ 3341778944,3341796863,US 3341796864,3341797375,JP 3341797376,3341807615,US -3341807616,3341807706,CA +3341807616,3341807652,CA +3341807653,3341807653,US +3341807654,3341807706,CA 3341807707,3341807815,US -3341807816,3341808192,CA +3341807816,3341807822,CA +3341807823,3341807844,US +3341807845,3341807855,CA +3341807856,3341807865,US +3341807866,3341808192,CA 3341808193,3341808206,ID 3341808207,3341808607,CA 3341808608,3341808638,US @@ -72078,20 +73025,25 @@ 3342488873,3342488882,BG 3342488883,3342488896,US 3342488897,3342488908,GB -3342488909,3342488959,US +3342488909,3342488909,US +3342488910,3342488925,GB +3342488926,3342488959,US 3342488960,3342489215,SC 3342489216,3342489279,GB 3342489280,3342489301,US 3342489302,3342489311,AR -3342489312,3342489450,US +3342489312,3342489376,US +3342489377,3342489391,HK +3342489392,3342489450,US 3342489451,3342489463,IL 3342489464,3342489474,US 3342489475,3342489482,GB -3342489483,3342489503,US +3342489483,3342489490,US +3342489491,3342489501,IL +3342489502,3342489503,US 3342489504,3342489567,GB -3342489568,3342489568,US -3342489569,3342489584,AR -3342489585,3342493759,US +3342489568,3342489599,AR +3342489600,3342493759,US 3342493760,3342493791,CA 3342493792,3342496767,US 3342496768,3342497791,CA @@ -72120,7 +73072,9 @@ 3342565376,3342567423,CA 3342567424,3342579711,US 3342579712,3342581759,CA -3342581760,3342595071,US +3342581760,3342585599,US +3342585600,3342585855,MU +3342585856,3342595071,US 3342595072,3342595583,CA 3342595584,3342596095,FR 3342596096,3342598143,US @@ -72340,9 +73294,7 @@ 3345310352,3345310367,BR 3345310368,3345310383,ID 3345310384,3345310399,BR -3345310400,3345310431,US -3345310432,3345310463,IN -3345310464,3345310559,US +3345310400,3345310559,US 3345310560,3345310575,IN 3345310576,3345310591,US 3345310592,3345310599,HK @@ -72359,7 +73311,9 @@ 3345311104,3345311119,BR 3345311120,3345311135,GB 3345311136,3345311167,RO -3345311168,3345311199,US +3345311168,3345311175,US +3345311176,3345311183,BR +3345311184,3345311199,US 3345311200,3345311207,BR 3345311208,3345311215,SK 3345311216,3345311223,BR @@ -72380,8 +73334,7 @@ 3345332328,3345332335,ID 3345332336,3345332375,US 3345332376,3345332383,MX -3345332384,3345332415,US -3345332416,3345332423,IN +3345332384,3345332423,US 3345332424,3345332431,MY 3345332432,3345333247,US 3345333248,3345334271,MF @@ -72562,27 +73515,66 @@ 3346201600,3346202623,CA 3346202624,3346219007,US 3346219008,3346221055,CA -3346221056,3346225151,US +3346221056,3346221583,US +3346221584,3346221591,IT +3346221592,3346221623,US +3346221624,3346221631,RU +3346221632,3346221655,US +3346221656,3346221663,IT +3346221664,3346221671,BE +3346221672,3346221679,US +3346221680,3346221687,NL +3346221688,3346221719,US +3346221720,3346221727,CA +3346221728,3346221871,US +3346221872,3346221887,SG +3346221888,3346221903,US +3346221904,3346221911,IT +3346221912,3346221999,US +3346222000,3346222007,BR +3346222008,3346222039,US +3346222040,3346222047,PL +3346222048,3346222095,US +3346222096,3346222103,IT +3346222104,3346222111,US +3346222112,3346222119,RU +3346222120,3346222335,US +3346222336,3346222351,IT +3346222352,3346222431,US +3346222432,3346222447,RU +3346222448,3346222463,UA +3346222464,3346222527,US +3346222528,3346222543,IN +3346222544,3346225151,US 3346225152,3346227199,CA 3346227200,3346231615,US 3346231616,3346231647,GB 3346231648,3346231743,US 3346231744,3346231807,SC -3346231808,3346231819,US -3346231820,3346231827,AR +3346231808,3346231810,US +3346231811,3346231827,AR 3346231828,3346231846,US 3346231847,3346231854,GB -3346231855,3346232383,US +3346231855,3346231916,US +3346231917,3346231924,GB +3346231925,3346232383,US 3346232384,3346232447,VG -3346232448,3346232703,US +3346232448,3346232608,US +3346232609,3346232617,AR +3346232618,3346232703,US 3346232704,3346232767,GB 3346232768,3346232831,US 3346232832,3346232895,GB -3346232896,3346232959,US +3346232896,3346232911,UA +3346232912,3346232959,US 3346232960,3346232991,GB 3346232992,3346233023,US 3346233024,3346233087,GB -3346233088,3346234367,US +3346233088,3346233256,US +3346233257,3346233268,AR +3346233269,3346233279,US +3346233280,3346233311,GB +3346233312,3346234367,US 3346234368,3346235391,CA 3346235392,3346241535,US 3346241536,3346243327,CA @@ -72761,7 +73753,9 @@ 3350488112,3350488127,CN 3350488128,3350488215,US 3350488216,3350488223,CN -3350488224,3350488359,US +3350488224,3350488271,US +3350488272,3350488279,CN +3350488280,3350488359,US 3350488360,3350488367,CN 3350488368,3350488455,US 3350488456,3350488463,CN @@ -72769,7 +73763,9 @@ 3350488472,3350488479,CN 3350488480,3350488495,US 3350488496,3350488511,CN -3350488512,3350488743,US +3350488512,3350488575,US +3350488576,3350488607,CN +3350488608,3350488743,US 3350488744,3350488751,CN 3350488752,3350488847,US 3350488848,3350488855,CN @@ -72815,7 +73811,9 @@ 3350643712,3350645759,US 3350645760,3350646783,CA 3350646784,3350648831,US -3350648832,3350650879,CA +3350648832,3350650623,CA +3350650624,3350650631,US +3350650632,3350650879,CA 3350650880,3350790399,US 3350790400,3350814975,CA 3350814976,3350815231,US @@ -72859,16 +73857,17 @@ 3351012592,3351012607,CA 3351012608,3351012735,US 3351012736,3351012767,GB -3351012768,3351013343,US +3351012768,3351013151,US +3351013152,3351013167,KW +3351013168,3351013183,ID +3351013184,3351013343,US 3351013344,3351013375,CA 3351013376,3351013383,US 3351013384,3351013391,CN 3351013392,3351013407,US 3351013408,3351013439,CN 3351013440,3351013447,US -3351013448,3351013455,CN -3351013456,3351013463,US -3351013464,3351013567,CN +3351013448,3351013567,CN 3351013568,3351013631,CA 3351013632,3351013679,CN 3351013680,3351013695,US @@ -72889,7 +73888,9 @@ 3351014784,3351014799,CN 3351014800,3351014807,CA 3351014808,3351014847,CN -3351014848,3351015039,US +3351014848,3351014911,US +3351014912,3351014943,CN +3351014944,3351015039,US 3351015040,3351015151,CN 3351015152,3351015159,US 3351015160,3351015167,CN @@ -72927,8 +73928,7 @@ 3351074690,3351074690,DE 3351074691,3351074692,US 3351074693,3351074693,UY -3351074694,3351074694,US -3351074695,3351074696,BE +3351074694,3351074696,US 3351074697,3351074697,BR 3351074698,3351074698,US 3351074699,3351074701,GB @@ -72954,10 +73954,14 @@ 3351074732,3351074732,BR 3351074733,3351074733,EG 3351074734,3351074735,US -3351074736,3351074738,PE -3351074739,3351074742,US +3351074736,3351074736,PE +3351074737,3351074738,CA +3351074739,3351074740,US +3351074741,3351074741,CA +3351074742,3351074742,US 3351074743,3351074746,AU -3351074747,3351074751,US +3351074747,3351074750,US +3351074751,3351074751,BR 3351074752,3351074783,DE 3351074784,3351074815,BR 3351074816,3351076863,CA @@ -72981,9 +73985,7 @@ 3351112704,3351113727,CA 3351113728,3351197735,US 3351197736,3351197739,CA -3351197740,3351197759,US -3351197760,3351197767,IN -3351197768,3351197811,US +3351197740,3351197811,US 3351197812,3351197815,GB 3351197816,3351197827,US 3351197828,3351197831,TR @@ -72999,9 +74001,7 @@ 3351198048,3351198063,GB 3351198064,3351198095,US 3351198096,3351198103,CA -3351198104,3351198111,US -3351198112,3351198119,IN -3351198120,3351198139,US +3351198104,3351198139,US 3351198140,3351198143,PK 3351198144,3351198147,CA 3351198148,3351198183,US @@ -73012,8 +74012,8 @@ 3351198304,3351198335,ID 3351198336,3351198351,US 3351198352,3351198359,CA -3351198360,3351198375,US -3351198376,3351198383,CA +3351198360,3351198371,US +3351198372,3351198383,CA 3351198384,3351198391,US 3351198392,3351198395,TH 3351198396,3351198399,BR @@ -73165,10 +74165,12 @@ 3351484416,3351485439,US 3351485440,3351485567,CA 3351485568,3351485575,US -3351485576,3351486335,CA -3351486336,3351486463,US +3351485576,3351485695,CA +3351485696,3351486463,US 3351486464,3351488511,CA -3351488512,3351497727,US +3351488512,3351494655,US +3351494656,3351496703,SG +3351496704,3351497727,US 3351497728,3351498751,CA 3351498752,3351501823,US 3351501824,3351502847,JM @@ -73293,15 +74295,78 @@ 3352916545,3352916552,BR 3352916553,3352916553,US 3352916554,3352916558,BR -3352916559,3352916668,US -3352916669,3352916718,BR +3352916559,3352916565,US +3352916566,3352916567,AT +3352916568,3352916568,BR +3352916569,3352916648,US +3352916649,3352916649,BR +3352916650,3352916657,US +3352916658,3352916668,BR +3352916669,3352916669,US +3352916670,3352916718,BR 3352916719,3352916728,US 3352916729,3352916735,BR 3352916736,3352918015,US 3352918016,3352919039,CA -3352919040,3353335349,US +3352919040,3353335303,US +3353335304,3353335309,NL +3353335310,3353335311,US +3353335312,3353335313,NL +3353335314,3353335315,US +3353335316,3353335323,NL +3353335324,3353335325,US +3353335326,3353335333,NL +3353335334,3353335335,US +3353335336,3353335339,NL +3353335340,3353335341,US +3353335342,3353335349,NL 3353335350,3353335353,IN -3353335354,3353652735,US +3353335354,3353335359,NL +3353335360,3353335361,US +3353335362,3353335363,NL +3353335364,3353335366,US +3353335367,3353335376,NL +3353335377,3353335378,US +3353335379,3353335380,NL +3353335381,3353335382,US +3353335383,3353335390,NL +3353335391,3353335392,US +3353335393,3353335406,NL +3353335407,3353335407,US +3353335408,3353335411,NL +3353335412,3353335412,US +3353335413,3353335420,NL +3353335421,3353335422,US +3353335423,3353335435,NL +3353335436,3353335437,US +3353335438,3353335457,NL +3353335458,3353335458,US +3353335459,3353335460,NL +3353335461,3353335462,US +3353335463,3353335468,NL +3353335469,3353335559,US +3353335560,3353335594,NL +3353335595,3353335596,US +3353335597,3353335598,NL +3353335599,3353335600,US +3353335601,3353335606,NL +3353335607,3353335608,US +3353335609,3353335616,NL +3353335617,3353335619,US +3353335620,3353335655,NL +3353335656,3353335658,US +3353335659,3353335664,NL +3353335665,3353335666,US +3353335667,3353335668,NL +3353335669,3353335690,US +3353335691,3353335706,NL +3353335707,3353335708,US +3353335709,3353335743,NL +3353335744,3353335767,US +3353335768,3353335791,NL +3353335792,3353335792,US +3353335793,3353335794,NL +3353335795,3353652735,US 3353652736,3353652863,DE 3353652864,3353653503,US 3353653504,3353653759,GB @@ -73313,14 +74378,14 @@ 3353730048,3353731071,CA 3353731072,3353731487,US 3353731488,3353731503,AU -3353731504,3353752581,US +3353731504,3353731775,US +3353731776,3353731823,IL +3353731824,3353752581,US 3353752582,3353752585,FR 3353752586,3353752589,BE 3353752590,3353752677,US 3353752678,3353752681,ES -3353752682,3353752716,US -3353752717,3353752720,IT -3353752721,3353752829,US +3353752682,3353752829,US 3353752830,3353752830,GB 3353752831,3353752916,US 3353752917,3353752917,GB @@ -73360,7 +74425,21 @@ 3353821728,3353821887,CN 3353821888,3353821983,US 3353821984,3353822111,CN -3353822112,3353828703,US +3353822112,3353822207,US +3353822208,3353822215,CN +3353822216,3353822223,US +3353822224,3353822231,CN +3353822232,3353822239,US +3353822240,3353822375,CN +3353822376,3353822383,US +3353822384,3353822687,CN +3353822688,3353822719,US +3353822720,3353822967,CN +3353822968,3353822975,US +3353822976,3353822983,CN +3353822984,3353822991,US +3353822992,3353823231,CN +3353823232,3353828703,US 3353828704,3353828735,RU 3353828736,3353836543,US 3353836544,3353837567,CA @@ -73381,11 +74460,15 @@ 3353995648,3353995711,GB 3353995712,3353995775,US 3353995776,3353995783,BR -3353995784,3354066943,US +3353995784,3353995815,US +3353995816,3353995823,BR +3353995824,3354066943,US 3354066944,3354132479,CA 3354132480,3354484911,US 3354484912,3354484927,GB -3354484928,3354492927,US +3354484928,3354485375,US +3354485376,3354485439,GB +3354485440,3354492927,US 3354492928,3354494975,CA 3354494976,3354501119,US 3354501120,3354503167,CA @@ -73405,9 +74488,7 @@ 3354507600,3354507607,BR 3354507608,3354507687,US 3354507688,3354507691,CA -3354507692,3354507711,US -3354507712,3354507719,IN -3354507720,3354507759,US +3354507692,3354507759,US 3354507760,3354507775,AU 3354507776,3354507803,US 3354507804,3354507807,CH @@ -73441,28 +74522,30 @@ 3354508240,3354508243,VN 3354508244,3354508295,US 3354508296,3354508303,CY -3354508304,3354508319,US -3354508320,3354508327,IN -3354508328,3354508367,US +3354508304,3354508367,US 3354508368,3354508375,GB 3354508376,3354508383,MY 3354508384,3354508391,CA 3354508392,3354508655,US 3354508656,3354508671,CY -3354508672,3354508735,US -3354508736,3354508767,IN -3354508768,3354508799,US -3354508800,3354508831,CN -3354508832,3354509119,US +3354508672,3354509119,US 3354509120,3354509183,TR 3354509184,3354509215,GB -3354509216,3354591231,US +3354509216,3354515711,US +3354515712,3354515775,CA +3354515776,3354515967,US +3354515968,3354516031,CA +3354516032,3354516223,US +3354516224,3354516287,CA +3354516288,3354591231,US 3354591232,3354656767,CA 3354656768,3354676223,US 3354676224,3354677247,CA 3354677248,3354687487,US 3354687488,3354688511,CA -3354688512,3354731007,US +3354688512,3354708207,US +3354708208,3354708223,CA +3354708224,3354731007,US 3354731008,3354731018,BE 3354731019,3354731019,EU 3354731020,3354731263,BE @@ -73470,12 +74553,11 @@ 3354731520,3354731775,AP 3354731776,3354737663,US 3354737664,3354737919,HK -3354737920,3354770687,US +3354737920,3354738175,CN +3354738176,3354770687,US 3354770688,3354770943,CA 3354770944,3354788095,US -3354788096,3354806399,CA -3354806400,3354806463,US -3354806464,3354806639,CA +3354788096,3354806639,CA 3354806640,3354806655,SE 3354806656,3354807551,CA 3354807552,3354810367,US @@ -73699,7 +74781,7 @@ 3355860992,3355869183,CL 3355869184,3355870719,BR 3355870720,3355871231,CR -3355873280,3355875327,CW +3355873280,3355875327,BQ 3355875328,3355877375,VE 3355877376,3355885567,CO 3355885568,3355901951,GT @@ -73955,8 +75037,8 @@ 3356337152,3356337663,HN 3356337664,3356337919,SV 3356337920,3356338175,HN -3356338176,3356340223,SV -3356340224,3356341247,HN +3356338176,3356339967,SV +3356339968,3356341247,HN 3356341248,3356341759,SV 3356341760,3356342015,HN 3356342016,3356343039,SV @@ -74116,7 +75198,8 @@ 3357455104,3357455359,SV 3357455360,3357458431,GT 3357458432,3357474815,CL -3357474816,3357475887,AR +3357474816,3357475071,US +3357475072,3357475887,AR 3357475888,3357475903,VE 3357475904,3357475999,AR 3357476000,3357476015,VE @@ -74184,17 +75267,15 @@ 3358131456,3358131839,AR 3358131840,3358131967,CO 3358131968,3358131983,AR -3358131984,3358131999,CO -3358132000,3358132087,AR +3358131984,3358132031,CO +3358132032,3358132087,AR 3358132088,3358132095,CO 3358132096,3358132607,AR 3358132608,3358132735,CO 3358132736,3358132991,AR 3358132992,3358133119,EC -3358133120,3358133439,AR -3358133440,3358133471,VE -3358133472,3358133631,AR -3358133632,3358133759,VE +3358133120,3358133247,AR +3358133248,3358133759,VE 3358133760,3358142975,AR 3358142976,3358143231,CO 3358143232,3358143487,AR @@ -74223,7 +75304,8 @@ 3358152560,3358152575,PE 3358152576,3358152703,AR 3358152704,3358152959,US -3358152960,3358153279,AR +3358152960,3358153087,EC +3358153088,3358153279,AR 3358153280,3358153311,US 3358153312,3358153471,AR 3358153472,3358153535,US @@ -74498,7 +75580,9 @@ 3360423936,3360686079,MX 3360686080,3360705791,AR 3360705792,3360706047,US -3360706048,3360708223,AR +3360706048,3360707071,AR +3360707072,3360707327,US +3360707328,3360708223,AR 3360708224,3360708351,US 3360708352,3360708991,AR 3360708992,3360709119,US @@ -74592,7 +75676,8 @@ 3362448384,3362448895,HN 3362448896,3362449151,SV 3362449152,3362449407,HN -3362449408,3362451455,SV +3362449408,3362451199,SV +3362451200,3362451455,HN 3362451456,3362452479,AR 3362452480,3362452991,BO 3362452992,3362453247,HN @@ -74651,7 +75736,9 @@ 3362836480,3362838527,CO 3362838528,3362840575,EC 3362840576,3362897919,CL -3362897920,3362914303,HT +3362897920,3362903807,HT +3362903808,3362904063,MX +3362904064,3362914303,HT 3362914304,3362930687,CO 3362934784,3362936831,AR 3362936832,3362938879,CL @@ -74691,9 +75778,7 @@ 3363504128,3363512319,PE 3363512320,3363554047,AR 3363554048,3363554175,US -3363554176,3363555327,AR -3363555328,3363555583,US -3363555584,3363556095,AR +3363554176,3363556095,AR 3363556096,3363556223,US 3363556224,3363557375,AR 3363557376,3363559423,BZ @@ -74721,10 +75806,13 @@ 3363682304,3363684351,VE 3363684352,3363708927,EC 3363708928,3363713023,CL +3363713024,3363713279,EC 3363717120,3363733503,CL 3363733504,3363831807,AR 3363831808,3378511871,BR -3378511872,3383754751,MX +3378511872,3380506879,MX +3380506880,3380507135,BR +3380507136,3383754751,MX 3383754752,3384147967,AR 3384147968,3384156159,US 3384156160,3384160255,PA @@ -74771,13 +75859,17 @@ 3386613760,3386621951,AR 3386621952,3386630143,CO 3386630144,3386632191,UY -3386638336,3386642175,CW +3386638336,3386640895,CW +3386640896,3386641151,US +3386641152,3386642175,CW 3386642176,3386642431,CA -3386642432,3386644479,AR +3386642432,3386646527,AR 3386646528,3386647551,CO 3386647552,3386647679,VE 3386647680,3386647743,CO -3386647744,3386650111,VE +3386647744,3386649599,VE +3386649600,3386649855,CO +3386649856,3386650111,VE 3386650112,3386650623,CO 3386650624,3386654719,VE 3386654720,3386662911,CO @@ -74812,14 +75904,8 @@ 3387293696,3387359231,PE 3387359232,3387424767,AR 3387424768,3387555839,CO -3387555840,3387568895,AR -3387568896,3387569023,PE -3387569024,3387569351,AR -3387569352,3387569355,PE -3387569356,3387569567,AR -3387569568,3387569583,PE -3387569584,3387572095,AR -3387572096,3387572223,PE +3387555840,3387568127,AR +3387568128,3387572223,PE 3387572224,3387573375,AR 3387573376,3387573631,CO 3387573632,3387574015,AR @@ -74838,11 +75924,8 @@ 3387608576,3387608831,EC 3387608832,3387609087,AR 3387609088,3387613183,EC -3387613184,3387614079,AR -3387614080,3387614207,VE -3387614208,3387614591,AR -3387614592,3387614719,VE -3387614720,3387617439,AR +3387613184,3387617279,VE +3387617280,3387617439,AR 3387617440,3387617447,CO 3387617448,3387618175,AR 3387618176,3387618303,CO @@ -75168,7 +76251,7 @@ 3389620224,3389640703,IN 3389640704,3389644799,JP 3389644800,3389661183,AU -3389661184,3389669375,IN +3389661184,3389669375,ID 3389669376,3389673471,CN 3389673472,3389677567,AU 3389677568,3389681663,JP @@ -75295,9 +76378,7 @@ 3389970432,3389971199,NZ 3389971200,3389971711,CN 3389971712,3389971967,AU -3389971968,3389972479,CN -3389972480,3389972735,IN -3389972736,3389973503,CN +3389971968,3389973503,CN 3389973504,3389973759,NZ 3389973760,3389974271,AU 3389974272,3389974527,CN @@ -75912,9 +76993,7 @@ 3393146880,3393147135,PK 3393147136,3393150975,CN 3393150976,3393159167,IN -3393159168,3393163007,HK -3393163008,3393164287,SG -3393164288,3393167359,HK +3393159168,3393167359,SG 3393167360,3393175551,CN 3393175552,3393183743,PK 3393183744,3393183999,ID @@ -76871,9 +77950,8 @@ 3399548928,3399557119,AU 3399557120,3399565311,SG 3399565312,3399581695,AU -3399581696,3399583743,HK -3399583744,3399583999,US -3399584000,3399589631,HK +3399581696,3399581951,HK +3399581952,3399589631,US 3399589632,3399589887,NP 3399589888,3399593983,HK 3399593984,3399598079,BD @@ -78313,7 +79391,7 @@ 3407748608,3407750655,AU 3407750656,3407751167,SG 3407751168,3407753215,AU -3407753216,3407753727,SG +3407753216,3407753727,HK 3407753728,3407757823,AU 3407757824,3407758079,CN 3407758080,3407761663,AU @@ -79318,7 +80396,8 @@ 3415179264,3415187455,SG 3415187456,3415191551,AU 3415191552,3415195647,IN -3415195648,3415220223,AU +3415195648,3415199743,NZ +3415199744,3415220223,AU 3415220224,3415224319,NZ 3415224320,3415228415,US 3415228416,3415236607,KH @@ -79590,7 +80669,9 @@ 3417374720,3417440255,PH 3417440256,3417664511,JP 3417664512,3417665279,US -3417665280,3417833471,JP +3417665280,3417706095,JP +3417706096,3417706099,HK +3417706100,3417833471,JP 3417833472,3417849855,NZ 3417849856,3417853951,AU 3417853952,3417858047,CN @@ -79656,8 +80737,7 @@ 3418236416,3418236927,HK 3418236928,3418241023,ID 3418241024,3418243071,JP -3418243072,3418247167,HK -3418247168,3418251263,PH +3418243072,3418251263,PH 3418251264,3418255359,CN 3418255360,3418257407,ID 3418257408,3418259199,HK @@ -79750,7 +80830,17 @@ 3418643456,3418644479,AU 3418644480,3418644735,JP 3418644736,3418644991,AU -3418644992,3418649343,JP +3418644992,3418645247,TW +3418645248,3418645503,SG +3418645504,3418645759,JP +3418645760,3418646271,NZ +3418646272,3418646527,HK +3418646528,3418646783,JP +3418646784,3418647039,TW +3418647040,3418648063,JP +3418648064,3418648575,SG +3418648576,3418648591,AU +3418648592,3418649343,JP 3418649344,3418649599,AP 3418649600,3418652671,JP 3418652672,3418750975,IN @@ -80373,7 +81463,9 @@ 3423584424,3423584431,US 3423584432,3423584447,CA 3423584448,3423584455,US -3423584456,3423584719,CA +3423584456,3423584527,CA +3423584528,3423584543,US +3423584544,3423584719,CA 3423584720,3423584735,US 3423584736,3423586303,CA 3423586304,3423589151,US @@ -80930,13 +82022,13 @@ 3428646080,3428646143,US 3428646144,3428646911,CA 3428646912,3428660735,US -3428660736,3428660991,CA -3428660992,3428661247,US -3428661248,3428661503,CA +3428660736,3428661503,CA 3428661504,3428671487,US 3428679680,3428689646,US 3428689647,3428689647,US -3428689648,3428743167,US +3428689648,3428701439,US +3428701440,3428701567,CA +3428701568,3428743167,US 3428743168,3428744191,CA 3428744192,3428752383,US 3428752384,3428753407,GH @@ -81504,7 +82596,9 @@ 3448380928,3448380959,SG 3448380960,3448380975,US 3448380976,3448380991,AU -3448380992,3448381183,US +3448380992,3448381023,US +3448381024,3448381055,SG +3448381056,3448381183,US 3448381184,3448381439,SG 3448381440,3448381695,GB 3448381696,3448382343,US @@ -81590,7 +82684,9 @@ 3448569056,3448569087,MX 3448569088,3448569735,US 3448569736,3448569743,GB -3448569744,3448838143,US +3448569744,3448717311,US +3448717312,3448717567,AU +3448717568,3448838143,US 3448838144,3448838399,CA 3448838400,3448983807,US 3448983808,3448983871,GB @@ -81803,11 +82899,7 @@ 3449994240,3449994495,MX 3449994496,3450078463,US 3450078464,3450079487,US -3450079488,3450085375,US -3450085376,3450085631,US -3450085632,3450085887,US -3450085888,3450086143,US -3450086144,3450213887,US +3450079488,3450213887,US 3450213888,3450214143,CA 3450214144,3450217215,US 3450217216,3450217471,LC @@ -82231,11 +83323,19 @@ 3453556928,3453556991,GB 3453556992,3453557255,US 3453557256,3453557263,GB -3453557264,3453583615,US -3453583616,3453583695,SG +3453557264,3453577855,US +3453577856,3453577983,IL +3453577984,3453583615,US +3453583616,3453583647,SG +3453583648,3453583655,CA +3453583656,3453583695,SG 3453583696,3453583743,US 3453583744,3453583775,SG -3453583776,3453584327,US +3453583776,3453583791,US +3453583792,3453583799,CA +3453583800,3453583807,US +3453583808,3453583839,CA +3453583840,3453584327,US 3453584328,3453584335,HK 3453584336,3453595527,US 3453595528,3453595551,CA @@ -82416,7 +83516,9 @@ 3455330816,3455331327,ES 3455331328,3455333887,US 3455333888,3455334399,NL -3455334400,3455359231,US +3455334400,3455357951,US +3455357952,3455358975,BB +3455358976,3455359231,US 3455359232,3455359487,ES 3455359488,3455418367,US 3455418368,3455418879,KY @@ -83307,7 +84409,8 @@ 3461286600,3461286623,GB 3461286624,3461286815,US 3461286816,3461286847,CA -3461286848,3461330943,US +3461286848,3461286879,GB +3461286880,3461330943,US 3461330944,3461331199,SG 3461331200,3461331247,US 3461331248,3461331263,SG @@ -83477,8 +84580,8 @@ 3463249664,3463502335,US 3463502336,3463502399,GB 3463502400,3463503423,US -3463503424,3463503487,GB -3463503488,3463518207,US +3463503424,3463503519,GB +3463503520,3463518207,US 3463518208,3463520255,NL 3463520256,3463536895,US 3463536896,3463537151,NG @@ -83508,7 +84611,9 @@ 3464173824,3464174591,CA 3464175104,3464175359,US 3464175360,3464180735,CA -3464180736,3464191911,US +3464180736,3464191791,US +3464191792,3464191799,ES +3464191800,3464191911,US 3464191912,3464191919,ES 3464191920,3464195943,US 3464195944,3464195951,AU @@ -83552,7 +84657,9 @@ 3464343160,3464343167,MQ 3464343168,3464343271,US 3464343272,3464343279,CA -3464343280,3464343423,US +3464343280,3464343391,US +3464343392,3464343399,GB +3464343400,3464343423,US 3464343424,3464343431,SG 3464343432,3464382463,US 3464384512,3464388607,CA @@ -83695,13 +84802,15 @@ 3465954960,3465954975,CA 3465954976,3465955007,US 3465955008,3465955199,CA -3465955200,3465956351,US +3465955200,3465955375,US +3465955376,3465955391,CA +3465955392,3465956351,US 3465956352,3465956367,CA 3465956368,3465961607,US 3465961608,3465961615,CA 3465961616,3465961631,US -3465961632,3465961663,CA -3465961664,3465961783,US +3465961632,3465961671,CA +3465961672,3465961783,US 3465961784,3465961791,CA 3465961792,3465961983,US 3465961984,3465962015,CA @@ -83733,7 +84842,13 @@ 3466068416,3466068423,CA 3466068424,3466068991,US 3466068992,3466069055,CA -3466069056,3466158079,US +3466069056,3466069071,US +3466069072,3466069119,CA +3466069120,3466069279,US +3466069280,3466069295,CA +3466069296,3466071039,US +3466071040,3466071103,CA +3466071104,3466158079,US 3466158080,3466166271,PA 3466166272,3466282111,US 3466282112,3466282119,GB @@ -83860,14 +84975,20 @@ 3466784784,3466846207,US 3466846208,3466854399,CA 3466854400,3466860799,US -3466860800,3466861055,FR -3466861056,3466901503,US +3466860800,3466861311,FR +3466861312,3466901503,US 3466901504,3466903551,DE 3466903552,3466907647,US 3466907648,3466909695,DE -3466909696,3466929407,US +3466909696,3466914303,US +3466914304,3466914559,FR +3466914560,3466929407,US 3466929408,3466929663,IT -3466929664,3466938444,US +3466929664,3466937667,US +3466937668,3466937669,DE +3466937670,3466937670,EU +3466937671,3466937731,DE +3466937732,3466938444,US 3466938445,3466938448,HK 3466938449,3466958079,US 3466958080,3466958335,CA @@ -84275,15 +85396,19 @@ 3470137344,3470139391,VG 3470139392,3470148095,US 3470148096,3470148351,CA -3470148352,3470148447,US -3470148448,3470148479,EG -3470148480,3470148607,US +3470148352,3470148543,US +3470148544,3470148575,EG +3470148576,3470148607,US 3470148608,3470148863,CA -3470148864,3470148927,US -3470148928,3470148959,EG -3470148960,3470149567,US -3470149568,3470149599,EG -3470149600,3470150079,US +3470148864,3470149055,US +3470149056,3470149087,EG +3470149088,3470149375,US +3470149376,3470149407,EG +3470149408,3470149887,US +3470149888,3470149919,BR +3470149920,3470150015,US +3470150016,3470150047,EG +3470150048,3470150079,US 3470150080,3470150111,EE 3470150112,3470150303,US 3470150304,3470150335,EG @@ -84292,7 +85417,13 @@ 3470151360,3470151679,US 3470151680,3470151935,CA 3470151936,3470152191,EG -3470152192,3470155743,US +3470152192,3470153087,US +3470153088,3470153119,EG +3470153120,3470154079,US +3470154080,3470154111,EG +3470154112,3470154687,US +3470154688,3470154719,HK +3470154720,3470155743,US 3470155744,3470155775,EE 3470155776,3470184476,US 3470184477,3470184480,CN @@ -84772,8 +85903,8 @@ 3470362160,3470362167,AF 3470362168,3470362263,US 3470362264,3470362271,NZ -3470362272,3470362543,US -3470362544,3470362591,SE +3470362272,3470362559,US +3470362560,3470362591,SE 3470362592,3470362623,US 3470362624,3470362687,SE 3470362688,3470362731,US @@ -84797,7 +85928,9 @@ 3470363904,3470363919,CA 3470363920,3470363967,US 3470363968,3470363983,CA -3470363984,3470364415,US +3470363984,3470364095,US +3470364096,3470364103,EG +3470364104,3470364415,US 3470364416,3470364479,SE 3470364480,3470364559,US 3470364560,3470364575,HN @@ -84828,8 +85961,7 @@ 3470645656,3470645663,RU 3470645664,3470645687,US 3470645688,3470645695,ES -3470645696,3470645703,NL -3470645704,3470645731,US +3470645696,3470645731,US 3470645732,3470645735,AU 3470645736,3470645739,CN 3470645740,3470645743,US @@ -84916,8 +86048,7 @@ 3470659184,3470659191,BE 3470659192,3470659471,US 3470659472,3470659487,ES -3470659488,3470659519,IL -3470659520,3470659567,US +3470659488,3470659567,US 3470659568,3470659575,BR 3470659576,3470659735,US 3470659736,3470659743,AU @@ -84929,12 +86060,12 @@ 3470660088,3470660103,US 3470660104,3470660111,HK 3470660112,3470660223,US -3470660224,3470660255,PH +3470660224,3470660239,PH +3470660240,3470660247,US +3470660248,3470660255,PH 3470660256,3470660647,US 3470660648,3470660655,IE -3470660656,3470661167,US -3470661168,3470661175,IE -3470661176,3470661191,US +3470660656,3470661191,US 3470661192,3470661199,CA 3470661200,3470661215,US 3470661216,3470661223,IN @@ -84942,9 +86073,7 @@ 3470661232,3470661239,ES 3470661240,3470661319,US 3470661320,3470661327,BD -3470661328,3470661727,US -3470661728,3470661735,AU -3470661736,3470662167,US +3470661328,3470662167,US 3470662168,3470662175,IL 3470662176,3470662183,CN 3470662184,3470662663,US @@ -85087,9 +86216,13 @@ 3475296462,3475296462,AE 3475296463,3475310847,US 3475310848,3475311103,DE -3475311104,3475384679,US +3475311104,3475384615,US +3475384616,3475384623,SV +3475384624,3475384679,US 3475384680,3475384687,CA -3475384688,3475589887,US +3475384688,3475405743,US +3475405744,3475405751,SV +3475405752,3475589887,US 3475589888,3475590143,EC 3475590144,3475670015,US 3475670016,3475670047,AG @@ -85153,8 +86286,8 @@ 3476265856,3476265919,EG 3476265920,3476348927,US 3476348928,3476349183,CA -3476349184,3476421631,US -3476421632,3476422655,AZ +3476349184,3476422143,US +3476422144,3476422655,AZ 3476422656,3476447231,US 3476447232,3476455423,CA 3476455424,3476718616,US @@ -85761,7 +86894,9 @@ 3485887748,3485887777,AU 3485887778,3485891519,US 3485891520,3485891583,DE -3485891584,3486023679,US +3485891584,3485959423,US +3485959424,3485960191,CA +3485960192,3486023679,US 3486023680,3486031871,CA 3486031872,3486269439,US 3486269440,3486285823,JM @@ -86569,9 +87704,7 @@ 3493981184,3493982207,US 3493982208,3493984255,CA 3493984256,3493986303,US -3493986304,3493986623,CA -3493986624,3493986687,US -3493986688,3493987327,CA +3493986304,3493987327,CA 3493987328,3493990399,US 3493990400,3493991423,CA 3493991424,3493998591,US @@ -86601,7 +87734,7 @@ 3494101386,3494101407,US 3494101408,3494101415,CO 3494101416,3494101429,US -3494101430,3494101437,GB +3494101430,3494101437,JM 3494101438,3494102481,US 3494102482,3494102489,CA 3494102490,3494102631,US @@ -86966,8 +88099,7 @@ 3495006208,3495007231,CA 3495007232,3495010303,US 3495010304,3495011327,KN -3495011328,3495012095,US -3495012096,3495012351,HK +3495011328,3495012351,US 3495012352,3495014399,PR 3495014400,3495023615,US 3495023616,3495024639,CA @@ -87171,9 +88303,7 @@ 3495781376,3495815167,US 3495815168,3495815407,CA 3495815408,3495815411,US -3495815412,3495815615,CA -3495815616,3495815619,US -3495815620,3495817215,CA +3495815412,3495817215,CA 3495817216,3495828479,US 3495828480,3495829503,CA 3495829504,3495837695,US @@ -87255,7 +88385,9 @@ 3496202304,3496205839,US 3496205840,3496205855,ID 3496205856,3496205871,CA -3496205872,3496221014,US +3496205872,3496217983,US +3496217984,3496218111,PL +3496218112,3496221014,US 3496221015,3496221016,GB 3496221017,3496296447,US 3496296448,3496312831,CA @@ -87518,7 +88650,9 @@ 3497273920,3497273927,CA 3497273928,3497274175,US 3497274176,3497274207,CA -3497274208,3497410559,US +3497274208,3497340671,US +3497340672,3497340799,PL +3497340800,3497410559,US 3497410560,3497431039,CA 3497431040,3497447423,US 3497447424,3497451519,CA @@ -87526,7 +88660,9 @@ 3497453120,3497453135,GB 3497453136,3497453695,US 3497453696,3497453711,GB -3497453712,3497713415,US +3497453712,3497664255,US +3497664256,3497664511,NL +3497664512,3497713415,US 3497713416,3497713423,EC 3497713424,3497717759,US 3497717760,3497719807,A2 @@ -87692,9 +88828,7 @@ 3501789696,3501789703,GB 3501789704,3501791751,US 3501791752,3501791759,TW -3501791760,3501809151,US -3501809152,3501809407,CA -3501809408,3501817983,US +3501791760,3501817983,US 3501817984,3501818015,HK 3501818016,3502439167,US 3502439168,3502439423,PK @@ -89599,7 +90733,11 @@ 3514040320,3514367999,US 3514368000,3514433535,CA 3514433536,3514580991,US -3514580992,3514583455,GB +3514580992,3514582271,GB +3514582272,3514582527,US +3514582528,3514582783,GB +3514582784,3514583295,US +3514583296,3514583455,GB 3514583456,3514583463,ZA 3514583464,3514583471,GB 3514583472,3514583479,ZA @@ -89672,7 +90810,9 @@ 3515456704,3515456767,JP 3515456768,3515596799,US 3515596800,3515613183,CA -3515613184,3515711487,US +3515613184,3515617495,US +3515617496,3515617503,IN +3515617504,3515711487,US 3515711488,3515731967,CA 3515731968,3515860351,US 3515860352,3515860431,IN @@ -89682,9 +90822,7 @@ 3515867392,3515867519,AU 3515867520,3515868463,US 3515868464,3515868479,IT -3515868480,3515882319,US -3515882320,3515882327,MX -3515882328,3515882375,US +3515868480,3515882375,US 3515882376,3515882383,AU 3515882384,3515913631,US 3515913632,3515913663,CA @@ -90157,13 +91295,23 @@ 3518911744,3518911999,GB 3518912000,3518912511,US 3518912512,3518912767,IN -3518912768,3518919423,US +3518912768,3518918143,US +3518918144,3518918399,IN +3518918400,3518919423,US 3518919424,3518919679,IN 3518919680,3518929535,US 3518929536,3518929599,CA 3518929600,3518995695,US 3518995696,3518995703,GB -3518995704,3519234047,US +3518995704,3519217671,US +3519217672,3519217679,BB +3519217680,3519220095,US +3519220096,3519220111,GA +3519220112,3519220119,US +3519220120,3519220127,GA +3519220128,3519220575,US +3519220576,3519220591,GA +3519220592,3519234047,US 3519234048,3519250431,CA 3519250432,3519320975,US 3519320976,3519320983,GR @@ -90243,7 +91391,9 @@ 3519417152,3519417183,CA 3519417184,3519423999,US 3519424000,3519424511,CA -3519424512,3519466895,US +3519424512,3519427839,US +3519427840,3519428095,CA +3519428096,3519466895,US 3519466896,3519466911,SZ 3519466912,3519467519,US 3519469568,3519475711,US @@ -90526,7 +91676,9 @@ 3520078928,3520078943,EC 3520078944,3520082151,US 3520082152,3520082167,CA -3520082168,3520086271,US +3520082168,3520083967,US +3520083968,3520084031,AE +3520084032,3520086271,US 3520086272,3520086527,CA 3520086528,3520086959,US 3520086960,3520086975,CA @@ -90583,7 +91735,9 @@ 3520691592,3520691807,CA 3520691808,3520691839,US 3520691840,3520692223,CA -3520692224,3520749871,US +3520692224,3520717015,US +3520717016,3520717023,IN +3520717024,3520749871,US 3520749872,3520749879,CA 3520749880,3520937983,US 3520937984,3520954367,CA @@ -90707,7 +91861,9 @@ 3521934510,3521934517,IN 3521934518,3521934735,US 3521934736,3521934743,EG -3521934744,3521935310,US +3521934744,3521935245,US +3521935246,3521935253,LK +3521935254,3521935310,US 3521935311,3521935318,EG 3521935319,3521965055,US 3521965056,3521966079,DE @@ -90748,7 +91904,9 @@ 3522130231,3522130231,TH 3522130232,3522130236,US 3522130237,3522130237,BR -3522130238,3522130252,US +3522130238,3522130238,US +3522130239,3522130240,BR +3522130241,3522130252,US 3522130253,3522130253,BR 3522130254,3522130254,UA 3522130255,3522130259,US @@ -90760,7 +91918,7 @@ 3522130271,3522130280,US 3522130281,3522130281,BR 3522130282,3522130282,DE -3522130283,3522130283,CA +3522130283,3522130283,BR 3522130284,3522130284,US 3522130285,3522130285,BR 3522130286,3522130289,US @@ -90774,7 +91932,8 @@ 3522130299,3522130299,CA 3522130300,3522130302,US 3522130303,3522130303,BR -3522130304,3522130307,US +3522130304,3522130306,US +3522130307,3522130307,NP 3522130308,3522130309,BR 3522130310,3522130312,CA 3522130313,3522130313,US @@ -90783,14 +91942,14 @@ 3522130326,3522130326,EE 3522130327,3522130330,US 3522130331,3522130331,BR -3522130332,3522130333,US +3522130332,3522130332,US +3522130333,3522130333,DE 3522130334,3522130336,IR 3522130337,3522130339,US 3522130340,3522130341,DO 3522130342,3522130342,PK 3522130343,3522130343,BR -3522130344,3522130344,TH -3522130345,3522130346,US +3522130344,3522130346,US 3522130347,3522130348,CA 3522130349,3522130349,US 3522130350,3522130350,GT @@ -90937,7 +92096,10 @@ 3522132164,3522132166,US 3522132167,3522132167,IN 3522132168,3522132175,BR -3522132176,3522132182,PK +3522132176,3522132176,IN +3522132177,3522132180,PK +3522132181,3522132181,IN +3522132182,3522132182,PK 3522132183,3522132184,BR 3522132185,3522132185,VN 3522132186,3522132188,NL @@ -90954,10 +92116,12 @@ 3522132203,3522132203,BR 3522132204,3522132204,AR 3522132205,3522132205,US -3522132206,3522132208,BR -3522132209,3522132210,US +3522132206,3522132206,BR +3522132207,3522132210,US 3522132211,3522132211,GB -3522132212,3522132219,US +3522132212,3522132212,US +3522132213,3522132213,BR +3522132214,3522132219,US 3522132220,3522132220,IN 3522132221,3522132221,JP 3522132222,3522132222,BD @@ -91004,7 +92168,8 @@ 3522132461,3522132461,BR 3522132462,3522132462,BD 3522132463,3522132463,IN -3522132464,3522132466,US +3522132464,3522132464,US +3522132465,3522132466,IN 3522132467,3522132468,ZA 3522132469,3522132472,US 3522132473,3522132473,BR @@ -91016,32 +92181,69 @@ 3522132640,3522132671,US 3522132672,3522132703,BR 3522132704,3522132735,LK -3522132736,3522132831,US +3522132736,3522132746,IN +3522132747,3522132747,BR +3522132748,3522132748,IN +3522132749,3522132749,BR +3522132750,3522132750,IN +3522132751,3522132752,BR +3522132753,3522132753,IN +3522132754,3522132767,BR +3522132768,3522132831,US 3522132832,3522132863,BR 3522132864,3522132895,US 3522132896,3522132927,CA 3522132928,3522132994,US 3522132995,3522132996,GB -3522132997,3522133005,US +3522132997,3522133002,US +3522133003,3522133003,MX +3522133004,3522133005,PK 3522133006,3522133006,BR 3522133007,3522133007,TR -3522133008,3522133013,US +3522133008,3522133008,PK +3522133009,3522133010,US +3522133011,3522133011,SK +3522133012,3522133013,US 3522133014,3522133014,CZ 3522133015,3522133016,IN 3522133017,3522133017,UA -3522133018,3522133018,HR +3522133018,3522133018,DE 3522133019,3522133023,US 3522133024,3522133055,BR 3522133056,3522133124,US 3522133125,3522133125,BR 3522133126,3522133134,US 3522133135,3522133135,GT -3522133136,3522133136,BR +3522133136,3522133136,UA 3522133137,3522133137,US 3522133138,3522133138,BD 3522133139,3522133139,US 3522133140,3522133142,BR -3522133143,3522133311,US +3522133143,3522133146,US +3522133147,3522133147,AR +3522133148,3522133148,US +3522133149,3522133149,BG +3522133150,3522133154,US +3522133155,3522133155,BR +3522133156,3522133158,VN +3522133159,3522133159,US +3522133160,3522133160,BR +3522133161,3522133161,US +3522133162,3522133162,PK +3522133163,3522133163,BR +3522133164,3522133164,US +3522133165,3522133165,PE +3522133166,3522133168,US +3522133169,3522133169,DE +3522133170,3522133171,US +3522133172,3522133172,PE +3522133173,3522133173,VN +3522133174,3522133175,US +3522133176,3522133176,AR +3522133177,3522133178,US +3522133179,3522133179,TR +3522133180,3522133180,BR +3522133181,3522133311,US 3522133312,3522133375,CH 3522133376,3522133535,US 3522133536,3522133567,TR @@ -91291,7 +92493,9 @@ 3541303296,3541565439,TW 3541565440,3541696511,MY 3541696512,3542089727,AU -3542089728,3544186879,KR +3542089728,3542847487,KR +3542847488,3542851583,US +3542851584,3544186879,KR 3544186880,3544711167,CN 3544711168,3545235455,TW 3545235456,3546808319,CN @@ -91709,8 +92913,7 @@ 3559882752,3559890943,AZ 3559890944,3559899135,CH 3559899136,3559902975,DE -3559902976,3559903231,EE -3559903232,3559907327,DE +3559902976,3559907327,EE 3559907328,3559915519,FR 3559915520,3559923711,IT 3559923712,3559931903,RU @@ -91841,8 +93044,8 @@ 3561095168,3561103359,DE 3561103360,3561111551,UA 3561111552,3561113855,LU -3561113856,3561114111,EU -3561114112,3561119743,LU +3561113856,3561113856,EU +3561113857,3561119743,LU 3561119744,3561127935,IT 3561127936,3561136127,DE 3561136128,3561144319,ES @@ -92259,7 +93462,9 @@ 3564544000,3564560383,DE 3564560384,3564560531,GB 3564560532,3564560532,EU -3564560533,3564576767,GB +3564560533,3564572427,GB +3564572428,3564572431,ES +3564572432,3564576767,GB 3564576768,3564584959,RU 3564584960,3564593151,SA 3564593152,3564601343,RU @@ -92969,7 +94174,7 @@ 3580719104,3580723199,NL 3580723200,3580727295,UA 3580727296,3580731391,RU -3580731392,3580739583,RO +3580735488,3580739583,RO 3580739584,3580743679,RU 3580743680,3580751871,UA 3580751872,3580755967,IR @@ -94045,9 +95250,7 @@ 3624380936,3624380943,SA 3624380944,3624381567,US 3624381568,3624381583,MY -3624381584,3624381631,US -3624381632,3624381647,GB -3624381648,3624381807,US +3624381584,3624381807,US 3624381808,3624381823,IN 3624381824,3624381903,US 3624381904,3624381919,CA @@ -94125,7 +95328,9 @@ 3624550144,3624587263,US 3624587264,3624591359,JM 3624591360,3624714239,US -3624714240,3624716223,SG +3624714240,3624714703,SG +3624714704,3624714711,MV +3624714712,3624716223,SG 3624716224,3624716255,AU 3624716256,3624717311,SG 3624717312,3624718335,US @@ -94169,9 +95374,9 @@ 3624898560,3624898831,US 3624898832,3624898847,TH 3624898848,3624899071,US -3624899072,3624899327,CA -3624899328,3624899583,US -3624899584,3624899839,AU +3624899072,3624899207,CA +3624899208,3624899583,US +3624899584,3624899839,CR 3624899840,3624900607,US 3624900608,3624900639,AU 3624900640,3624900671,BE @@ -94209,8 +95414,8 @@ 3624903584,3624903679,US 3624903680,3624903807,CA 3624903808,3624903935,US -3624903936,3624904463,CA -3624904464,3624904703,US +3624903936,3624904447,CA +3624904448,3624904703,US 3624904704,3624904767,IN 3624904768,3624904831,US 3624904832,3624904895,CA @@ -94288,7 +95493,11 @@ 3624911200,3624911231,BE 3624911232,3624911263,CA 3624911264,3624911327,US -3624911328,3624911615,CA +3624911328,3624911359,CA +3624911360,3624911391,US +3624911392,3624911399,TR +3624911400,3624911607,US +3624911608,3624911615,UA 3624911616,3624911647,US 3624911648,3624911651,RU 3624911652,3624911999,US @@ -94584,7 +95793,9 @@ 3626108896,3626108927,AU 3626108928,3626130415,US 3626130416,3626130431,CA -3626130432,3626140479,US +3626130432,3626132127,US +3626132128,3626132159,CA +3626132160,3626140479,US 3626140480,3626140671,AU 3626140672,3626142623,US 3626142624,3626142639,AU @@ -95247,9 +96458,7 @@ 3627759072,3627759103,GB 3627759104,3627759359,US 3627759360,3627759615,NL -3627759616,3627759871,US -3627759872,3627760127,NL -3627760128,3627760639,US +3627759616,3627760639,US 3627760640,3627760895,EU 3627760896,3627802623,US 3627802624,3627810815,CA @@ -95424,13 +96633,15 @@ 3628963040,3629187071,US 3629187072,3629195263,CA 3629195264,3629199359,US -3629199360,3629201463,CA +3629199360,3629201439,CA +3629201440,3629201447,US +3629201448,3629201463,CA 3629201464,3629201467,US -3629201468,3629201487,CA -3629201488,3629201515,US +3629201468,3629201471,CA +3629201472,3629201515,US 3629201516,3629201539,CA -3629201540,3629201543,US -3629201544,3629201551,CA +3629201540,3629201547,US +3629201548,3629201551,CA 3629201552,3629201559,US 3629201560,3629201563,CA 3629201564,3629201599,US @@ -95887,11 +97098,15 @@ 3630168192,3630169087,CA 3630169088,3630169343,US 3630169344,3630170111,CA -3630170112,3630301695,US -3630301696,3630301711,RU -3630301712,3630309375,US +3630170112,3630309375,US 3630309376,3630317567,CA -3630317568,3630375423,US +3630317568,3630328063,US +3630328064,3630328087,JP +3630328088,3630328191,US +3630328192,3630328319,JP +3630328320,3630328703,US +3630328704,3630328831,JP +3630328832,3630375423,US 3630375424,3630383103,CA 3630383104,3630391295,US 3630391296,3630395391,CA @@ -95907,7 +97122,18 @@ 3630780416,3630784511,CA 3630784512,3630850047,US 3630850048,3630854143,CA -3630854144,3630956543,US +3630854144,3630897407,US +3630897408,3630897919,CA +3630897920,3630923776,US +3630923777,3630923926,IN +3630923927,3630924027,DE +3630924028,3630924438,US +3630924439,3630924539,TH +3630924540,3630925824,US +3630925825,3630925974,DE +3630925975,3630927104,US +3630927105,3630927254,IN +3630927255,3630956543,US 3630956544,3631005695,CA 3631005696,3631014915,US 3631014916,3631015011,HU @@ -95965,11 +97191,7 @@ 3631153152,3631284223,US 3631284224,3631316991,CA 3631316992,3631333375,US -3631333376,3631333679,CA -3631333680,3631333695,US -3631333696,3631334847,CA -3631334848,3631334863,US -3631334864,3631341567,CA +3631333376,3631341567,CA 3631341568,3631435007,US 3631435008,3631435263,GB 3631435264,3631644671,US @@ -96052,7 +97274,9 @@ 3632222817,3632223074,US 3632223075,3632232447,US 3632232448,3632232703,A2 -3632232704,3632244223,US +3632232704,3632242943,US +3632242944,3632243007,GB +3632243008,3632244223,US 3632244224,3632244479,CA 3632244480,3632278527,US 3632278528,3632279551,SA @@ -96097,11 +97321,7 @@ 3632898336,3632898351,US 3632898352,3632902143,CA 3632902144,3632971775,US -3632971776,3632972031,CA -3632972032,3632972063,US -3632972064,3632973087,CA -3632973088,3632973119,US -3632973120,3632988159,CA +3632971776,3632988159,CA 3632988160,3632994047,US 3632994048,3632994303,US 3632994304,3633029119,US @@ -96244,9 +97464,7 @@ 3633757440,3633757695,IN 3633757696,3633776399,US 3633776400,3633776415,CN -3633776416,3633776463,US -3633776464,3633776479,CN -3633776480,3633782527,US +3633776416,3633782527,US 3633782528,3633782783,US 3633782784,3633815551,US 3633815552,3633815807,CA @@ -96355,17 +97573,13 @@ 3633822208,3633822335,US 3633822336,3633823487,US 3633823488,3633823743,US -3633823744,3633827839,US -3633827840,3633828095,GB -3633828096,3633828970,US +3633823744,3633828970,US 3633828971,3633828977,IN 3633828978,3633831306,US 3633831307,3633831338,IN 3633831339,3633831383,US 3633831384,3633831395,AU -3633831396,3633874431,US -3633874432,3633874687,GB -3633874688,3633881087,US +3633831396,3633881087,US 3633881088,3633885183,CW 3633885184,3633889279,US 3633889280,3633893375,CA @@ -96377,7 +97591,10 @@ 3633971200,3633974527,CA 3633974528,3633975039,US 3633975040,3634020351,CA -3634020352,3634053119,US +3634020352,3634037247,US +3634037248,3634037759,CA +3634037760,3634052863,US +3634052864,3634053119,CA 3634053120,3634061311,CL 3634061312,3634065311,US 3634065312,3634065343,SV @@ -96392,9 +97609,7 @@ 3634136104,3634136111,CA 3634136112,3634138127,US 3634138128,3634138143,CA -3634138144,3634189055,US -3634189056,3634189311,GB -3634189312,3634204255,US +3634138144,3634204255,US 3634204256,3634204263,AT 3634204264,3634204591,US 3634204592,3634204607,GB @@ -96442,13 +97657,7 @@ 3635159040,3635163135,CA 3635163136,3635171071,US 3635171072,3635171327,CA -3635171328,3635185407,US -3635185408,3635185663,US -3635185664,3635186175,US -3635186176,3635186431,US -3635186432,3635187199,US -3635187200,3635187455,US -3635187456,3635314687,US +3635171328,3635314687,US 3635314688,3635322879,CA 3635322880,3635425279,US 3635425280,3635429375,CA @@ -96471,7 +97680,8 @@ 3635647488,3635647743,US 3635647744,3635647999,CA 3635648000,3635648255,TW -3635648256,3635648767,US +3635648256,3635648511,ML +3635648512,3635648767,US 3635648768,3635649023,JP 3635649024,3635650559,US 3635650560,3635652607,HK @@ -96505,10 +97715,9 @@ 3635904512,3635912703,CA 3635912704,3635961855,US 3635961856,3635963903,SV -3635963904,3635964159,US -3635964160,3635964415,BO +3635963904,3635964415,US 3635964416,3635965951,SV -3635965952,3635966975,BO +3635965952,3635966975,US 3635966976,3635967999,PY 3635968000,3635970047,SV 3635970048,3636019199,US @@ -96668,19 +97877,21 @@ 3636206080,3636206335,AU 3636206336,3636266879,US 3636266880,3636266911,HK -3636266912,3636267263,US -3636267264,3636267519,CA -3636267520,3636267775,US -3636267776,3636268031,CA -3636268032,3636287487,US +3636266912,3636273663,US +3636273664,3636273919,CA +3636273920,3636274175,US +3636274176,3636274431,CA +3636274432,3636287487,US 3636287488,3636287743,CA 3636287744,3636291839,US 3636291840,3636292095,CA -3636292096,3636396031,US +3636292096,3636292863,US +3636292864,3636293119,CA +3636293120,3636294399,US +3636294400,3636294655,CA +3636294656,3636396031,US 3636396032,3636461567,CA -3636461568,3636577647,US -3636577648,3636577663,CA -3636577664,3636609023,US +3636461568,3636609023,US 3636609024,3636610559,CA 3636610560,3636610815,US 3636610816,3636621311,CA @@ -96800,7 +98011,8 @@ 3636908032,3636908543,US 3636908544,3636908799,IN 3636908800,3636908863,US -3636908864,3636908991,CA +3636908864,3636908927,CN +3636908928,3636908991,CA 3636908992,3636909055,US 3636909056,3636909311,CA 3636909312,3636909663,US @@ -96868,8 +98080,8 @@ 3636917368,3636917447,US 3636917448,3636917455,HK 3636917456,3636917503,US -3636917504,3636917775,CA -3636917776,3636918015,US +3636917504,3636917759,CA +3636917760,3636918015,US 3636918016,3636919039,CA 3636919040,3636919071,IN 3636919072,3636919103,US @@ -96918,15 +98130,11 @@ 3637073168,3637073183,AD 3637073184,3637073215,US 3637073216,3637073231,CY -3637073232,3637073727,US -3637073728,3637073791,CY -3637073792,3637073935,US +3637073232,3637073935,US 3637073936,3637073959,AD 3637073960,3637074239,US 3637074240,3637074303,PA -3637074304,3637074687,US -3637074688,3637074703,CA -3637074704,3637074943,US +3637074304,3637074943,US 3637074944,3637074959,CA 3637074960,3637075967,US 3637075968,3637080063,CA @@ -96954,9 +98162,7 @@ 3638198952,3638198959,BM 3638198960,3638198983,US 3638198984,3638198991,ES -3638198992,3638199711,US -3638199712,3638199743,DE -3638199744,3638200007,US +3638198992,3638200007,US 3638200008,3638200015,JP 3638200016,3638206407,US 3638206408,3638206415,LU @@ -96966,8 +98172,7 @@ 3638214168,3638214175,GB 3638214176,3638214399,US 3638214400,3638214655,GR -3638214656,3638214783,IT -3638214784,3638214871,US +3638214656,3638214871,US 3638214872,3638214879,CK 3638214880,3638215663,US 3638215664,3638215679,GB @@ -96977,30 +98182,18 @@ 3638215856,3638215863,AU 3638215864,3638216735,US 3638216736,3638216743,LU -3638216744,3638219087,US -3638219088,3638219103,IT -3638219104,3638219455,US +3638216744,3638219455,US 3638219456,3638219519,AU -3638219520,3638219775,US -3638219776,3638220031,IT -3638220032,3638220167,US +3638219520,3638220167,US 3638220168,3638220175,JP -3638220176,3638220191,US -3638220192,3638220223,QA -3638220224,3638220511,US +3638220176,3638220511,US 3638220512,3638220519,CN 3638220520,3638222087,US 3638222088,3638222095,DE -3638222096,3638222143,US -3638222144,3638222207,DE -3638222208,3638222463,US +3638222096,3638222463,US 3638222464,3638222591,AU -3638222592,3638222623,CA -3638222624,3638223559,US -3638223560,3638223567,PA -3638223568,3638224255,US -3638224256,3638224271,IT -3638224272,3638224639,US +3638222592,3638222655,CA +3638222656,3638224639,US 3638224640,3638224895,GR 3638224896,3638225983,US 3638225984,3638226015,IN @@ -97008,9 +98201,7 @@ 3638226688,3638226943,NL 3638226944,3638228023,US 3638228024,3638228031,GB -3638228032,3638229279,US -3638229280,3638229311,IT -3638229312,3638230815,US +3638228032,3638230815,US 3638230816,3638230847,ES 3638230848,3638230927,US 3638230928,3638230935,CA @@ -97020,12 +98211,12 @@ 3638247440,3638247455,GB 3638247456,3638247487,US 3638247488,3638247551,GB -3638247552,3638247615,DE +3638247552,3638247615,US 3638247616,3638247679,GB 3638247680,3638247855,US 3638247856,3638247871,DE -3638247872,3638247903,US -3638247904,3638248703,GB +3638247872,3638247919,US +3638247920,3638248703,GB 3638248704,3638249215,FR 3638249216,3638249471,GB 3638249472,3638249751,US @@ -97041,7 +98232,9 @@ 3638250624,3638250687,US 3638250688,3638250703,GB 3638250704,3638250719,US -3638250720,3638250815,GB +3638250720,3638250735,GB +3638250736,3638250743,US +3638250744,3638250815,GB 3638250816,3638250831,US 3638250832,3638250847,GB 3638250848,3638250863,US @@ -97335,9 +98528,7 @@ 3640028336,3640028343,CA 3640028344,3640028447,US 3640028448,3640028455,GB -3640028456,3640028495,US -3640028496,3640028503,MY -3640028504,3640028591,US +3640028456,3640028591,US 3640028592,3640028599,CA 3640028600,3640057855,US 3640057856,3640066047,CA @@ -99103,4 +100294,4 @@ 3758094336,3758095359,AU 3758095360,3758095871,CN 3758095872,3758096127,SG -3758096128,3758096383,AU +3758096128,3758096383,AU
\ No newline at end of file diff --git a/src/config/geoip-manual b/src/config/geoip-manual index 3811c75bf..99c897ff4 100644 --- a/src/config/geoip-manual +++ b/src/config/geoip-manual @@ -5,7 +5,9 @@ # Remove MaxMind entry 0.116.0.0-0.119.255.255 which MaxMind says is AT, # but which is part of reserved range 0.0.0.0/8. -KL 2012-06-13 -"0.116.0.0","0.119.255.255","7602176","7864319","","" +# Disabled, because MaxMind apparently removed this range from their +# database. -KL 2013-02-08 +#"0.116.0.0","0.119.255.255","7602176","7864319","","" # NL, because previous MaxMind entry 31.171.128.0-31.171.133.255 is NL, # and RIR delegation files say 31.171.128.0-31.171.135.255 is NL. diff --git a/src/ext/curve25519_donna/curve25519-donna-c64.c b/src/ext/curve25519_donna/curve25519-donna-c64.c index 9ebd8a12d..b68ff3695 100644 --- a/src/ext/curve25519_donna/curve25519-donna-c64.c +++ b/src/ext/curve25519_donna/curve25519-donna-c64.c @@ -22,8 +22,10 @@ * from the sample implementation. */ +#include "orconfig.h" + #include <string.h> -#include <stdint.h> +#include "torint.h" typedef uint8_t u8; typedef uint64_t limb; diff --git a/src/ext/curve25519_donna/curve25519-donna.c b/src/ext/curve25519_donna/curve25519-donna.c index 80e4594ee..5c6821ccd 100644 --- a/src/ext/curve25519_donna/curve25519-donna.c +++ b/src/ext/curve25519_donna/curve25519-donna.c @@ -46,8 +46,10 @@ * from the sample implementation. */ +#include "orconfig.h" + #include <string.h> -#include <stdint.h> +#include "torint.h" typedef uint8_t u8; typedef int32_t s32; diff --git a/src/ext/eventdns.c b/src/ext/eventdns.c index 5316338dc..3ee9f7245 100644 --- a/src/ext/eventdns.c +++ b/src/ext/eventdns.c @@ -427,9 +427,9 @@ evdns_set_log_fn(evdns_debug_log_fn_type fn) #define EVDNS_LOG_CHECK #endif -static void _evdns_log(int warn, const char *fmt, ...) EVDNS_LOG_CHECK; +static void evdns_log(int warn, const char *fmt, ...) EVDNS_LOG_CHECK; static void -_evdns_log(int warn, const char *fmt, ...) +evdns_log(int warn, const char *fmt, ...) { va_list args; static char buf[512]; @@ -446,8 +446,6 @@ _evdns_log(int warn, const char *fmt, ...) va_end(args); } -#define log _evdns_log - static int sockaddr_eq(const struct sockaddr *sa1, const struct sockaddr *sa2, int include_port) @@ -534,7 +532,7 @@ nameserver_probe_failed(struct nameserver *const ns) { ns->failed_times++; if (add_timeout_event(ns, (struct timeval *) timeout) < 0) { - tor_log(EVDNS_LOG_WARN, + evdns_log(EVDNS_LOG_WARN, "Error from libevent when adding timer event for %s", debug_ntop((struct sockaddr *)&ns->address)); /* ???? Do more? */ @@ -550,19 +548,19 @@ nameserver_failed(struct nameserver *const ns, const char *msg) { /* then don't do anything */ if (!ns->state) return; - tor_log(EVDNS_LOG_WARN, "Nameserver %s has failed: %s", + evdns_log(EVDNS_LOG_WARN, "Nameserver %s has failed: %s", debug_ntop((struct sockaddr *)&ns->address), msg); global_good_nameservers--; assert(global_good_nameservers >= 0); if (global_good_nameservers == 0) { - tor_log(EVDNS_LOG_WARN, "All nameservers have failed"); + evdns_log(EVDNS_LOG_WARN, "All nameservers have failed"); } ns->state = 0; ns->failed_times = 1; if (add_timeout_event(ns, (struct timeval *) &global_nameserver_timeouts[0]) < 0) { - tor_log(EVDNS_LOG_WARN, + evdns_log(EVDNS_LOG_WARN, "Error from libevent when adding timer event for %s", debug_ntop((struct sockaddr *)&ns->address)); /* ???? Do more? */ @@ -593,7 +591,7 @@ nameserver_failed(struct nameserver *const ns, const char *msg) { static void nameserver_up(struct nameserver *const ns) { if (ns->state) return; - tor_log(EVDNS_LOG_WARN, "Nameserver %s is back up", + evdns_log(EVDNS_LOG_WARN, "Nameserver %s is back up", debug_ntop((struct sockaddr *)&ns->address)); del_timeout_event(ns); ns->state = 1; @@ -624,7 +622,7 @@ request_finished(struct evdns_request *const req, struct evdns_request **head) { } } - tor_log(EVDNS_LOG_DEBUG, "Removing timeout for request %lx", + evdns_log(EVDNS_LOG_DEBUG, "Removing timeout for request %lx", (unsigned long) req); del_timeout_event(req); @@ -776,7 +774,7 @@ reply_handle(struct evdns_request *const req, u16 flags, u32 ttl, struct reply * * confusing." Treat this as a timeout, not a failure. */ /*XXXX refactor the parts of */ - tor_log(EVDNS_LOG_DEBUG, "Got a SERVERFAILED from nameserver %s; " + evdns_log(EVDNS_LOG_DEBUG, "Got a SERVERFAILED from nameserver %s; " "will allow the request to time out.", debug_ntop((struct sockaddr *)&req->ns->address)); break; @@ -1268,7 +1266,7 @@ nameserver_read(struct nameserver *ns) { } /* XXX Match port too? */ if (!sockaddr_eq(sa, (struct sockaddr*)&ns->address, 0)) { - tor_log(EVDNS_LOG_WARN, + evdns_log(EVDNS_LOG_WARN, "Address mismatch on received DNS packet. Address was %s", debug_ntop(sa)); return; @@ -1294,7 +1292,7 @@ server_port_read(struct evdns_server_port *s) { if (r < 0) { int err = last_error(s->socket); if (error_is_eagain(err)) return; - tor_log(EVDNS_LOG_WARN, "Error %s (%d) while reading request.", + evdns_log(EVDNS_LOG_WARN, "Error %s (%d) while reading request.", tor_socket_strerror(err), err); return; } @@ -1314,7 +1312,7 @@ server_port_flush(struct evdns_server_port *port) int err = last_error(port->socket); if (error_is_eagain(err)) return; - tor_log(EVDNS_LOG_WARN, "Error %s (%d) while writing response to port; dropping", tor_socket_strerror(err), err); + evdns_log(EVDNS_LOG_WARN, "Error %s (%d) while writing response to port; dropping", tor_socket_strerror(err), err); } if (server_request_free(req)) { /* we released the last reference to req->port. */ @@ -1331,7 +1329,7 @@ server_port_flush(struct evdns_server_port *port) event_set(&port->event, port->socket, EV_READ | EV_PERSIST, server_port_ready_callback, port); if (event_add(&port->event, NULL) < 0) { - tor_log(EVDNS_LOG_WARN, "Error from libevent when adding event for DNS server."); + evdns_log(EVDNS_LOG_WARN, "Error from libevent when adding event for DNS server."); /* ???? Do more? */ } } @@ -1349,7 +1347,7 @@ nameserver_write_waiting(struct nameserver *ns, char waiting) { event_set(&ns->event, ns->socket, EV_READ | (waiting ? EV_WRITE : 0) | EV_PERSIST, nameserver_ready_callback, ns); if (event_add(&ns->event, NULL) < 0) { - tor_log(EVDNS_LOG_WARN, "Error from libevent when adding event for %s", + evdns_log(EVDNS_LOG_WARN, "Error from libevent when adding event for %s", debug_ntop((struct sockaddr *)&ns->address)); /* ???? Do more? */ } @@ -1859,7 +1857,7 @@ evdns_server_request_respond(struct evdns_server_request *_req, int err) event_set(&port->event, port->socket, (port->closing?0:EV_READ) | EV_WRITE | EV_PERSIST, server_port_ready_callback, port); if (event_add(&port->event, NULL) < 0) { - tor_log(EVDNS_LOG_WARN, "Error from libevent when adding event for DNS server"); + evdns_log(EVDNS_LOG_WARN, "Error from libevent when adding event for DNS server"); } } @@ -1995,7 +1993,7 @@ evdns_request_timeout_callback(int fd, short events, void *arg) { (void) fd; (void) events; - tor_log(EVDNS_LOG_DEBUG, "Request %lx timed out", (unsigned long) arg); + evdns_log(EVDNS_LOG_DEBUG, "Request %lx timed out", (unsigned long) arg); req->ns->timedout++; if (req->ns->timedout > global_max_nameserver_timeout) { @@ -2074,11 +2072,11 @@ evdns_request_transmit(struct evdns_request *req) { * and make us retransmit the request anyway. */ default: /* transmitted; we need to check for timeout. */ - tor_log(EVDNS_LOG_DEBUG, + evdns_log(EVDNS_LOG_DEBUG, "Setting timeout for request %lx", (unsigned long) req); if (add_timeout_event(req, &global_timeout) < 0) { - tor_log(EVDNS_LOG_WARN, + evdns_log(EVDNS_LOG_WARN, "Error from libevent when adding timer for request %lx", (unsigned long) req); /* ???? Do more? */ @@ -2126,7 +2124,7 @@ nameserver_send_probe(struct nameserver *const ns) { addr = mm_malloc(sizeof(struct sockaddr_storage)); memcpy(addr, &ns->address, sizeof(struct sockaddr_storage)); - tor_log(EVDNS_LOG_DEBUG, "Sending probe to %s", debug_ntop((struct sockaddr *)&ns->address)); + evdns_log(EVDNS_LOG_DEBUG, "Sending probe to %s", debug_ntop((struct sockaddr *)&ns->address)); req = request_new(TYPE_A, "www.google.com", DNS_QUERY_NO_SEARCH, nameserver_probe_callback, addr); if (!req) { @@ -2282,14 +2280,14 @@ _evdns_nameserver_add_impl(const struct sockaddr *address, if (server) { do { if (sockaddr_eq(address, (struct sockaddr *)&server->address, 1)) { - tor_log(EVDNS_LOG_DEBUG, "Duplicate nameserver."); + evdns_log(EVDNS_LOG_DEBUG, "Duplicate nameserver."); return 3; } server = server->next; } while (server != started_at); } if (addrlen > (int)sizeof(ns->address)) { - tor_log(EVDNS_LOG_DEBUG, "Addrlen %d too long.", (int)addrlen); + evdns_log(EVDNS_LOG_DEBUG, "Addrlen %d too long.", (int)addrlen); return 2; } @@ -2315,14 +2313,14 @@ _evdns_nameserver_add_impl(const struct sockaddr *address, !sockaddr_is_loopback((struct sockaddr*)&global_bind_address)) { if (bind(ns->socket, (struct sockaddr *)&global_bind_address, global_bind_addrlen) < 0) { - tor_log(EVDNS_LOG_DEBUG, "Couldn't bind to outgoing address."); + evdns_log(EVDNS_LOG_DEBUG, "Couldn't bind to outgoing address."); err = 2; goto out2; } } if (connect(ns->socket, address, addrlen) != 0) { - tor_log(EVDNS_LOG_DEBUG, "Couldn't open socket to nameserver."); + evdns_log(EVDNS_LOG_DEBUG, "Couldn't open socket to nameserver."); err = 2; goto out2; } @@ -2331,12 +2329,12 @@ _evdns_nameserver_add_impl(const struct sockaddr *address, ns->state = 1; event_set(&ns->event, ns->socket, EV_READ | EV_PERSIST, nameserver_ready_callback, ns); if (event_add(&ns->event, NULL) < 0) { - tor_log(EVDNS_LOG_DEBUG, "Couldn't add event for nameserver."); + evdns_log(EVDNS_LOG_DEBUG, "Couldn't add event for nameserver."); err = 2; goto out2; } - tor_log(EVDNS_LOG_DEBUG, "Added nameserver %s", debug_ntop(address)); + evdns_log(EVDNS_LOG_DEBUG, "Added nameserver %s", debug_ntop(address)); /* insert this nameserver into the list of them */ if (!server_head) { @@ -2360,7 +2358,7 @@ out2: out1: CLEAR(ns); mm_free(ns); - tor_log(EVDNS_LOG_WARN, "Unable to add nameserver %s: error %d", debug_ntop(address), err); + evdns_log(EVDNS_LOG_WARN, "Unable to add nameserver %s: error %d", debug_ntop(address), err); return err; } @@ -2393,18 +2391,18 @@ evdns_nameserver_ip_add(const char *ip_as_string) { * ipv4 */ - tor_log(EVDNS_LOG_DEBUG, "Trying to add nameserver <%s>", ip_as_string); + evdns_log(EVDNS_LOG_DEBUG, "Trying to add nameserver <%s>", ip_as_string); cp = strchr(ip_as_string, ':'); if (*ip_as_string == '[') { size_t len; if (!(cp = strchr(ip_as_string, ']'))) { - tor_log(EVDNS_LOG_DEBUG, "Nameserver missing closing ]"); + evdns_log(EVDNS_LOG_DEBUG, "Nameserver missing closing ]"); return 4; } len = cp-(ip_as_string + 1); if (len > sizeof(buf)-1) { - tor_log(EVDNS_LOG_DEBUG, "[Nameserver] does not fit in buffer."); + evdns_log(EVDNS_LOG_DEBUG, "[Nameserver] does not fit in buffer."); return 4; } memcpy(buf, ip_as_string+1, len); @@ -2422,7 +2420,7 @@ evdns_nameserver_ip_add(const char *ip_as_string) { } else if (cp) { is_ipv6 = 0; if (cp - ip_as_string > (int)sizeof(buf)-1) { - tor_log(EVDNS_LOG_DEBUG, "Nameserver does not fit in buffer."); + evdns_log(EVDNS_LOG_DEBUG, "Nameserver does not fit in buffer."); return 4; } memcpy(buf, ip_as_string, cp-ip_as_string); @@ -2440,7 +2438,7 @@ evdns_nameserver_ip_add(const char *ip_as_string) { } else { port = strtoint(port_part); if (port <= 0 || port > 65535) { - tor_log(EVDNS_LOG_DEBUG, "Nameserver port <%s> out of range", + evdns_log(EVDNS_LOG_DEBUG, "Nameserver port <%s> out of range", port_part); return 4; } @@ -2457,7 +2455,7 @@ evdns_nameserver_ip_add(const char *ip_as_string) { sin6.sin6_family = AF_INET6; sin6.sin6_port = htons(port); if (1 != tor_inet_pton(AF_INET6, addr_part, &sin6.sin6_addr)) { - tor_log(EVDNS_LOG_DEBUG, "inet_pton(%s) failed", addr_part); + evdns_log(EVDNS_LOG_DEBUG, "inet_pton(%s) failed", addr_part); return 4; } return _evdns_nameserver_add_impl((struct sockaddr*)&sin6, @@ -2471,7 +2469,7 @@ evdns_nameserver_ip_add(const char *ip_as_string) { sin.sin_family = AF_INET; sin.sin_port = htons(port); if (!inet_aton(addr_part, &sin.sin_addr)) { - tor_log(EVDNS_LOG_DEBUG, "inet_pton(%s) failed", addr_part); + evdns_log(EVDNS_LOG_DEBUG, "inet_pton(%s) failed", addr_part); return 4; } return _evdns_nameserver_add_impl((struct sockaddr*)&sin, @@ -2594,7 +2592,7 @@ request_submit(struct evdns_request *const req) { /* exported function */ int evdns_resolve_ipv4(const char *name, int flags, evdns_callback_type callback, void *ptr) { - tor_log(EVDNS_LOG_DEBUG, "Resolve requested for %s", name); + evdns_log(EVDNS_LOG_DEBUG, "Resolve requested for %s", name); if (flags & DNS_QUERY_NO_SEARCH) { struct evdns_request *const req = request_new(TYPE_A, name, flags, callback, ptr); @@ -2610,7 +2608,7 @@ int evdns_resolve_ipv4(const char *name, int flags, /* exported function */ int evdns_resolve_ipv6(const char *name, int flags, evdns_callback_type callback, void *ptr) { - tor_log(EVDNS_LOG_DEBUG, "Resolve requested for %s", name); + evdns_log(EVDNS_LOG_DEBUG, "Resolve requested for %s", name); if (flags & DNS_QUERY_NO_SEARCH) { struct evdns_request *const req = request_new(TYPE_AAAA, name, flags, callback, ptr); @@ -2634,7 +2632,7 @@ int evdns_resolve_reverse(const struct in_addr *in, int flags, evdns_callback_ty (int)(u8)((a>>8 )&0xff), (int)(u8)((a>>16)&0xff), (int)(u8)((a>>24)&0xff)); - tor_log(EVDNS_LOG_DEBUG, "Resolve requested for %s (reverse)", buf); + evdns_log(EVDNS_LOG_DEBUG, "Resolve requested for %s (reverse)", buf); req = request_new(TYPE_PTR, buf, flags, callback, ptr); if (!req) return 1; request_submit(req); @@ -2658,7 +2656,7 @@ int evdns_resolve_reverse_ipv6(const struct in6_addr *in, int flags, evdns_callb } assert(cp + strlen("ip6.arpa") < buf+sizeof(buf)); memcpy(cp, "ip6.arpa", strlen("ip6.arpa")+1); - tor_log(EVDNS_LOG_DEBUG, "Resolve requested for %s (reverse)", buf); + evdns_log(EVDNS_LOG_DEBUG, "Resolve requested for %s (reverse)", buf); req = request_new(TYPE_PTR, buf, flags, callback, ptr); if (!req) return 1; request_submit(req); @@ -2874,7 +2872,7 @@ search_try_next(struct evdns_request *const req) { if (string_num_dots(req->search_origname) < req->search_state->ndots) { /* yep, we need to try it raw */ struct evdns_request *const newreq = request_new(req->request_type, req->search_origname, req->search_flags, req->user_callback, req->user_pointer); - tor_log(EVDNS_LOG_DEBUG, "Search: trying raw query %s", req->search_origname); + evdns_log(EVDNS_LOG_DEBUG, "Search: trying raw query %s", req->search_origname); if (newreq) { request_submit(newreq); return 0; @@ -2885,7 +2883,7 @@ search_try_next(struct evdns_request *const req) { new_name = search_make_new(req->search_state, req->search_index, req->search_origname); if (!new_name) return 1; - tor_log(EVDNS_LOG_DEBUG, "Search: now trying %s (%d)", new_name, req->search_index); + evdns_log(EVDNS_LOG_DEBUG, "Search: now trying %s (%d)", new_name, req->search_index); newreq = request_new(req->request_type, new_name, req->search_flags, req->user_callback, req->user_pointer); mm_free(new_name); if (!newreq) return 1; @@ -2955,7 +2953,7 @@ evdns_set_option(const char *option, const char *val, int flags) const int ndots = strtoint(val); if (ndots == -1) return -1; if (!(flags & DNS_OPTION_SEARCH)) return 0; - tor_log(EVDNS_LOG_DEBUG, "Setting ndots to %d", ndots); + evdns_log(EVDNS_LOG_DEBUG, "Setting ndots to %d", ndots); if (!global_search_state) global_search_state = search_state_new(); if (!global_search_state) return -1; global_search_state->ndots = ndots; @@ -2963,20 +2961,20 @@ evdns_set_option(const char *option, const char *val, int flags) const int timeout = strtoint(val); if (timeout == -1) return -1; if (!(flags & DNS_OPTION_MISC)) return 0; - tor_log(EVDNS_LOG_DEBUG, "Setting timeout to %d", timeout); + evdns_log(EVDNS_LOG_DEBUG, "Setting timeout to %d", timeout); global_timeout.tv_sec = timeout; } else if (!strncmp(option, "max-timeouts:", 12)) { const int maxtimeout = strtoint_clipped(val, 1, 255); if (maxtimeout == -1) return -1; if (!(flags & DNS_OPTION_MISC)) return 0; - tor_log(EVDNS_LOG_DEBUG, "Setting maximum allowed timeouts to %d", + evdns_log(EVDNS_LOG_DEBUG, "Setting maximum allowed timeouts to %d", maxtimeout); global_max_nameserver_timeout = maxtimeout; } else if (!strncmp(option, "max-inflight:", 13)) { const int maxinflight = strtoint_clipped(val, 1, 65000); if (maxinflight == -1) return -1; if (!(flags & DNS_OPTION_MISC)) return 0; - tor_log(EVDNS_LOG_DEBUG, "Setting maximum inflight requests to %d", + evdns_log(EVDNS_LOG_DEBUG, "Setting maximum inflight requests to %d", maxinflight); global_max_requests_inflight = maxinflight; } else if (!strncmp(option, "attempts:", 9)) { @@ -2984,12 +2982,12 @@ evdns_set_option(const char *option, const char *val, int flags) if (retries == -1) return -1; if (retries > 255) retries = 255; if (!(flags & DNS_OPTION_MISC)) return 0; - tor_log(EVDNS_LOG_DEBUG, "Setting retries to %d", retries); + evdns_log(EVDNS_LOG_DEBUG, "Setting retries to %d", retries); global_max_retransmits = retries; } else if (!strncmp(option, "randomize-case:", 15)) { int randcase = strtoint(val); if (!(flags & DNS_OPTION_MISC)) return 0; - tor_log(EVDNS_LOG_DEBUG, "Setting randomize_case to %d", randcase); + evdns_log(EVDNS_LOG_DEBUG, "Setting randomize_case to %d", randcase); global_randomize_case = randcase; } return 0; @@ -3047,7 +3045,7 @@ evdns_resolv_conf_parse(int flags, const char *const filename) { char *start; int err = 0; - tor_log(EVDNS_LOG_DEBUG, "Parsing resolv.conf file %s", filename); + evdns_log(EVDNS_LOG_DEBUG, "Parsing resolv.conf file %s", filename); fd = tor_open_cloexec(filename, O_RDONLY, 0); if (fd < 0) { @@ -3146,13 +3144,13 @@ load_nameservers_with_getnetworkparams(void) GetNetworkParams_fn_t fn; if (!(handle = load_windows_system_library(TEXT("iphlpapi.dll")))) { - tor_log(EVDNS_LOG_WARN, "Could not open iphlpapi.dll"); + evdns_log(EVDNS_LOG_WARN, "Could not open iphlpapi.dll"); /* right now status = 0, doesn't that mean "good" - mikec */ status = -1; goto done; } if (!(fn = (GetNetworkParams_fn_t) GetProcAddress(handle, TEXT("GetNetworkParams")))) { - tor_log(EVDNS_LOG_WARN, "Could not get address of function."); + evdns_log(EVDNS_LOG_WARN, "Could not get address of function."); /* same as above */ status = -1; goto done; @@ -3173,7 +3171,7 @@ load_nameservers_with_getnetworkparams(void) fixed = buf; r = fn(fixed, &size); if (r != ERROR_SUCCESS) { - tor_log(EVDNS_LOG_DEBUG, "fn() failed."); + evdns_log(EVDNS_LOG_DEBUG, "fn() failed."); status = -1; goto done; } @@ -3185,12 +3183,12 @@ load_nameservers_with_getnetworkparams(void) while (ns) { r = evdns_nameserver_ip_add_line(ns->IpAddress.String); if (r) { - tor_log(EVDNS_LOG_DEBUG,"Could not add nameserver %s to list, " + evdns_log(EVDNS_LOG_DEBUG,"Could not add nameserver %s to list, " "error: %d; status: %d", (ns->IpAddress.String),(int)GetLastError(), r); status = r; } else { - tor_log(EVDNS_LOG_DEBUG,"Successfully added %s as nameserver",ns->IpAddress.String); + evdns_log(EVDNS_LOG_DEBUG,"Successfully added %s as nameserver",ns->IpAddress.String); added_any++; } @@ -3198,7 +3196,7 @@ load_nameservers_with_getnetworkparams(void) } if (!added_any) { - tor_log(EVDNS_LOG_DEBUG, "No nameservers added."); + evdns_log(EVDNS_LOG_DEBUG, "No nameservers added."); if (status == 0) status = -1; } else { @@ -3254,10 +3252,10 @@ load_nameservers_from_registry(void) #define TRY(k, name) \ if (!found && config_nameserver_from_reg_key(k,TEXT(name)) == 0) { \ - tor_log(EVDNS_LOG_DEBUG,"Found nameservers in %s/%s",#k,name); \ + evdns_log(EVDNS_LOG_DEBUG,"Found nameservers in %s/%s",#k,name); \ found = 1; \ } else if (!found) { \ - tor_log(EVDNS_LOG_DEBUG,"Didn't find nameservers in %s/%s", \ + evdns_log(EVDNS_LOG_DEBUG,"Didn't find nameservers in %s/%s", \ #k,#name); \ } @@ -3266,14 +3264,14 @@ load_nameservers_from_registry(void) if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_NS_NT_KEY, 0, KEY_READ, &nt_key) != ERROR_SUCCESS) { - tor_log(EVDNS_LOG_DEBUG,"Couldn't open nt key, %d",(int)GetLastError()); + evdns_log(EVDNS_LOG_DEBUG,"Couldn't open nt key, %d",(int)GetLastError()); return -1; } r = RegOpenKeyEx(nt_key, TEXT("Interfaces"), 0, KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS, &interfaces_key); if (r != ERROR_SUCCESS) { - tor_log(EVDNS_LOG_DEBUG,"Couldn't open interfaces key, %d",(int)GetLastError()); + evdns_log(EVDNS_LOG_DEBUG,"Couldn't open interfaces key, %d",(int)GetLastError()); return -1; } TRY(nt_key, "NameServer"); @@ -3286,7 +3284,7 @@ load_nameservers_from_registry(void) HKEY win_key = 0; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_NS_9X_KEY, 0, KEY_READ, &win_key) != ERROR_SUCCESS) { - tor_log(EVDNS_LOG_DEBUG, "Couldn't open registry key, %d", (int)GetLastError()); + evdns_log(EVDNS_LOG_DEBUG, "Couldn't open registry key, %d", (int)GetLastError()); return -1; } TRY(win_key, "NameServer"); @@ -3294,7 +3292,7 @@ load_nameservers_from_registry(void) } if (found == 0) { - tor_log(EVDNS_LOG_WARN,"Didn't find any nameservers."); + evdns_log(EVDNS_LOG_WARN,"Didn't find any nameservers."); } return found ? 0 : -1; diff --git a/src/or/buffers.c b/src/or/buffers.c index e5fac9172..73c25579d 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -1505,22 +1505,19 @@ log_unsafe_socks_warning(int socks_protocol, const char *address, static ratelim_t socks_ratelim = RATELIM_INIT(SOCKS_WARN_INTERVAL); const or_options_t *options = get_options(); - char *m = NULL; if (! options->WarnUnsafeSocks) return; - if (safe_socks || (m = rate_limit_log(&socks_ratelim, approx_time()))) { - log_warn(LD_APP, + if (safe_socks) { + log_fn_ratelim(&socks_ratelim, LOG_WARN, LD_APP, "Your application (using socks%d to port %d) is giving " "Tor only an IP address. Applications that do DNS resolves " "themselves may leak information. Consider using Socks4A " "(e.g. via privoxy or socat) instead. For more information, " "please see https://wiki.torproject.org/TheOnionRouter/" - "TorFAQ#SOCKSAndDNS.%s%s", + "TorFAQ#SOCKSAndDNS.%s", socks_protocol, (int)port, - safe_socks ? " Rejecting." : "", - m ? m : ""); - tor_free(m); + safe_socks ? " Rejecting." : ""); } control_event_client_status(LOG_WARN, "DANGEROUS_SOCKS PROTOCOL=SOCKS%d ADDRESS=%s:%d", diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 753eaf8c1..45da6b02a 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1223,7 +1223,7 @@ pathbias_get_min_use(const or_options_t *options) static double pathbias_get_notice_use_rate(const or_options_t *options) { -#define DFLT_PATH_BIAS_NOTICE_USE_PCT 90 +#define DFLT_PATH_BIAS_NOTICE_USE_PCT 80 if (options->PathBiasNoticeUseRate >= 0.0) return options->PathBiasNoticeUseRate; else @@ -1239,7 +1239,7 @@ pathbias_get_notice_use_rate(const or_options_t *options) double pathbias_get_extreme_use_rate(const or_options_t *options) { -#define DFLT_PATH_BIAS_EXTREME_USE_PCT 70 +#define DFLT_PATH_BIAS_EXTREME_USE_PCT 60 if (options->PathBiasExtremeUseRate >= 0.0) return options->PathBiasExtremeUseRate; else @@ -1308,7 +1308,8 @@ pathbias_is_new_circ_attempt(origin_circuit_t *circ) /* cpath is a circular list. We want circs with more than one hop, * and the second hop must be waiting for keys still (it's just * about to get them). */ - return circ->cpath->next != circ->cpath && + return circ->cpath && + circ->cpath->next != circ->cpath && circ->cpath->next->state == CPATH_STATE_AWAITING_KEYS; #else /* If tagging attacks are no longer possible, we probably want to @@ -1316,7 +1317,8 @@ pathbias_is_new_circ_attempt(origin_circuit_t *circ) * timing-based tagging is still more useful than per-hop failure. * In which case, we'd never want to use this. */ - return circ->cpath->state == CPATH_STATE_AWAITING_KEYS; + return circ->cpath && + circ->cpath->state == CPATH_STATE_AWAITING_KEYS; #endif } @@ -2165,11 +2167,11 @@ pathbias_count_circs_in_states(entry_guard_t *guard, path_state_t from, path_state_t to) { - circuit_t *circ = global_circuitlist; + circuit_t *circ; int open_circuits = 0; - /* Count currently open circuits. Give them the benefit of the doubt */ - for ( ; circ; circ = circ->next) { + /* Count currently open circuits. Give them the benefit of the doubt. */ + for (circ = global_circuitlist; circ; circ = circ->next) { origin_circuit_t *ocirc = NULL; if (!CIRCUIT_IS_ORIGIN(circ) || /* didn't originate here */ circ->marked_for_close) /* already counted */ @@ -2184,8 +2186,8 @@ pathbias_count_circs_in_states(entry_guard_t *guard, ocirc->path_state <= to && pathbias_should_count(ocirc) && fast_memeq(guard->identity, - ocirc->cpath->extend_info->identity_digest, - DIGEST_LEN)) { + ocirc->cpath->extend_info->identity_digest, + DIGEST_LEN)) { log_debug(LD_CIRC, "Found opened circuit %d in path_state %s", ocirc->global_identifier, pathbias_state_to_string(ocirc->path_state)); @@ -2253,7 +2255,7 @@ pathbias_measure_use_rate(entry_guard_t *guard) log_warn(LD_CIRC, "Your Guard %s=%s is failing to carry an extremely large " "amount of stream on its circuits. " - "To avoid potential route manipluation attacks, Tor has " + "To avoid potential route manipulation attacks, Tor has " "disabled use of this guard. " "Use counts are %ld/%ld. Success counts are %ld/%ld. " "%ld circuits completed, %ld were unusable, %ld collapsed, " @@ -2274,8 +2276,8 @@ pathbias_measure_use_rate(entry_guard_t *guard) entry_guards_changed(); return; } - } else if (!guard->path_bias_extreme) { - guard->path_bias_extreme = 1; + } else if (!guard->path_bias_use_extreme) { + guard->path_bias_use_extreme = 1; log_warn(LD_CIRC, "Your Guard %s=%s is failing to carry an extremely large " "amount of streams on its circuits. " @@ -2298,8 +2300,8 @@ pathbias_measure_use_rate(entry_guard_t *guard) } } else if (pathbias_get_use_success_count(guard)/guard->use_attempts < pathbias_get_notice_use_rate(options)) { - if (!guard->path_bias_noticed) { - guard->path_bias_noticed = 1; + if (!guard->path_bias_use_noticed) { + guard->path_bias_use_noticed = 1; log_notice(LD_CIRC, "Your Guard %s=%s is failing to carry more streams on its " "circuits than usual. " @@ -2337,7 +2339,10 @@ pathbias_measure_use_rate(entry_guard_t *guard) * pathbias_measure_use_rate(). It may be possible to combine them * eventually, especially if we can ever remove the need for 3 * levels of closure warns (if the overall circuit failure rate - * goes down with ntor). + * goes down with ntor). One way to do so would be to multiply + * the build rate with the use rate to get an idea of the total + * fraction of the total network paths the user is able to use. + * See ticket #8159. */ static void pathbias_measure_close_rate(entry_guard_t *guard) @@ -2356,7 +2361,7 @@ pathbias_measure_close_rate(entry_guard_t *guard) log_warn(LD_CIRC, "Your Guard %s=%s is failing an extremely large " "amount of circuits. " - "To avoid potential route manipluation attacks, Tor has " + "To avoid potential route manipulation attacks, Tor has " "disabled use of this guard. " "Success counts are %ld/%ld. Use counts are %ld/%ld. " "%ld circuits completed, %ld were unusable, %ld collapsed, " @@ -2458,7 +2463,7 @@ pathbias_measure_close_rate(entry_guard_t *guard) * * XXX: The attempt count transfer stuff here might be done * better by keeping separate pending counters that get - * transfered at circuit close. + * transfered at circuit close. See ticket #8160. */ static void pathbias_scale_close_rates(entry_guard_t *guard) @@ -2504,7 +2509,7 @@ pathbias_scale_close_rates(entry_guard_t *guard) * * XXX: The attempt count transfer stuff here might be done * better by keeping separate pending counters that get - * transfered at circuit close. + * transfered at circuit close. See ticket #8160. */ void pathbias_scale_use_rates(entry_guard_t *guard) @@ -2532,9 +2537,10 @@ pathbias_scale_use_rates(entry_guard_t *guard) } /** Increment the number of times we successfully extended a circuit to - * 'guard', first checking if the failure rate is high enough that we should - * eliminate the guard. Return -1 if the guard looks no good; return 0 if the - * guard looks fine. */ + * <b>guard</b>, first checking if the failure rate is high enough that + * we should eliminate the guard. Return -1 if the guard looks no good; + * return 0 if the guard looks fine. + */ static int entry_guard_inc_circ_attempt_count(entry_guard_t *guard) { diff --git a/src/or/circuituse.c b/src/or/circuituse.c index cfd41be79..c0612039b 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -540,17 +540,13 @@ circuit_expire_building(void) continue; } else { static ratelim_t relax_timeout_limit = RATELIM_INIT(3600); - char *m; - if ((m = rate_limit_log(&relax_timeout_limit, approx_time()))) { - log_notice(LD_CIRC, + log_fn_ratelim(&relax_timeout_limit, LOG_NOTICE, LD_CIRC, "No circuits are opened. Relaxed timeout for " "a circuit with channel state %s to %ldms. " "However, it appears the circuit has timed out anyway. " - "%d guards are live. %s", + "%d guards are live.", channel_state_to_string(victim->n_chan->state), - (long)circ_times.close_ms, num_live_entry_guards(0), m); - tor_free(m); - } + (long)circ_times.close_ms, num_live_entry_guards(0)); } } diff --git a/src/or/config.c b/src/or/config.c index 31695baa7..a11c44bdf 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -606,9 +606,12 @@ set_options(or_options_t *new_val, char **msg) var_name, 1); if (line) { - for (; line; line = line->next) { + config_line_t *next; + for (; line; line = next) { + next = line->next; smartlist_add(elements, line->key); smartlist_add(elements, line->value); + tor_free(line); } } else { smartlist_add(elements, (char*)options_format.vars[i].name); @@ -1890,21 +1893,40 @@ list_torrc_options(void) /** Last value actually set by resolve_my_address. */ static uint32_t last_resolved_addr = 0; + +/** Accessor for last_resolved_addr from outside this file. */ +uint32_t get_last_resolved_addr(void) +{ + return last_resolved_addr; +} + /** - * Based on <b>options-\>Address</b>, guess our public IP address and put it - * (in host order) into *<b>addr_out</b>. If <b>hostname_out</b> is provided, - * set *<b>hostname_out</b> to a new string holding the hostname we used to - * get the address. Return 0 if all is well, or -1 if we can't find a suitable + * Use <b>options-\>Address</b> to guess our public IP address. + * + * Return 0 if all is well, or -1 if we can't find a suitable * public IP address. + * + * If we are returning 0: + * - Put our public IP address (in host order) into *<b>addr_out</b>. + * - If <b>method_out</b> is non-NULL, set *<b>method_out</b> to a static + * string describing how we arrived at our answer. + * - If <b>hostname_out</b> is non-NULL, and we resolved a hostname to + * get our address, set *<b>hostname_out</b> to a newly allocated string + * holding that hostname. (If we didn't get our address by resolving a + * hostname, set *<b>hostname_out</b> to NULL.) + * * XXXX ipv6 */ int resolve_my_address(int warn_severity, const or_options_t *options, - uint32_t *addr_out, char **hostname_out) + uint32_t *addr_out, + const char **method_out, char **hostname_out) { struct in_addr in; uint32_t addr; /* host order */ char hostname[256]; + const char *method_used; + const char *hostname_used; int explicit_ip=1; int explicit_hostname=1; int from_interface=0; @@ -1915,6 +1937,10 @@ resolve_my_address(int warn_severity, const or_options_t *options, tor_assert(addr_out); + /* + * Step one: Fill in 'hostname' to be our best guess. + */ + if (address && *address) { strlcpy(hostname, address, sizeof(hostname)); } else { /* then we need to guess our address */ @@ -1925,10 +1951,14 @@ resolve_my_address(int warn_severity, const or_options_t *options, log_fn(warn_severity, LD_NET,"Error obtaining local hostname"); return -1; } - log_debug(LD_CONFIG,"Guessed local host name as '%s'",hostname); + log_debug(LD_CONFIG, "Guessed local host name as '%s'", hostname); } - /* now we know hostname. resolve it and keep only the IP address */ + /* + * Step two: Now that we know 'hostname', parse it or resolve it. If + * it doesn't parse or resolve, look at the interface address. Set 'addr' + * to be our (host-order) 32-bit answer. + */ if (tor_inet_aton(hostname, &in) == 0) { /* then we have to resolve it */ @@ -1985,6 +2015,11 @@ resolve_my_address(int warn_severity, const or_options_t *options, * illformed */ } + /* + * Step three: Check whether 'addr' is an internal IP address, and error + * out if it is and we don't want that. + */ + addr_string = tor_dup_ip(addr); if (is_internal_IP(addr, 0)) { /* make sure we're ok with publishing an internal IP */ @@ -2009,37 +2044,65 @@ resolve_my_address(int warn_severity, const or_options_t *options, } } - log_debug(LD_CONFIG, "Resolved Address to '%s'.", fmt_addr32(addr)); + /* + * Step four: We have a winner! 'addr' is our answer for sure, and + * 'addr_string' is its string form. Fill out the various fields to + * say how we decided it. + */ + + log_debug(LD_CONFIG, "Resolved Address to '%s'.", addr_string); + + if (explicit_ip) { + method_used = "CONFIGURED"; + hostname_used = NULL; + } else if (explicit_hostname) { + method_used = "RESOLVED"; + hostname_used = hostname; + } else if (from_interface) { + method_used = "INTERFACE"; + hostname_used = NULL; + } else { + method_used = "GETHOSTNAME"; + hostname_used = hostname; + } + *addr_out = addr; + if (method_out) + *method_out = method_used; + if (hostname_out) + *hostname_out = hostname_used ? tor_strdup(hostname_used) : NULL; + + /* + * Step five: Check if the answer has changed since last time (or if + * there was no last time), and if so call various functions to keep + * us up-to-date. + */ + if (last_resolved_addr && last_resolved_addr != *addr_out) { /* Leave this as a notice, regardless of the requested severity, * at least until dynamic IP address support becomes bulletproof. */ log_notice(LD_NET, - "Your IP address seems to have changed to %s. Updating.", - addr_string); + "Your IP address seems to have changed to %s " + "(METHOD=%s%s%s). Updating.", + addr_string, method_used, + hostname_used ? " HOSTNAME=" : "", + hostname_used ? hostname_used : ""); ip_address_changed(0); } + if (last_resolved_addr != *addr_out) { - const char *method; - const char *h = hostname; - if (explicit_ip) { - method = "CONFIGURED"; - h = NULL; - } else if (explicit_hostname) { - method = "RESOLVED"; - } else if (from_interface) { - method = "INTERFACE"; - h = NULL; - } else { - method = "GETHOSTNAME"; - } control_event_server_status(LOG_NOTICE, - "EXTERNAL_ADDRESS ADDRESS=%s METHOD=%s %s%s", - addr_string, method, h?"HOSTNAME=":"", h); + "EXTERNAL_ADDRESS ADDRESS=%s METHOD=%s%s%s", + addr_string, method_used, + hostname_used ? " HOSTNAME=" : "", + hostname_used ? hostname_used : ""); } last_resolved_addr = *addr_out; - if (hostname_out) - *hostname_out = tor_strdup(hostname); + + /* + * And finally, clean up and return success. + */ + tor_free(addr_string); return 0; } @@ -2287,7 +2350,7 @@ options_validate(or_options_t *old_options, or_options_t *options, if (authdir_mode(options)) { /* confirm that our address isn't broken, so we can complain now */ uint32_t tmp; - if (resolve_my_address(LOG_WARN, options, &tmp, NULL) < 0) + if (resolve_my_address(LOG_WARN, options, &tmp, NULL, NULL) < 0) REJECT("Failed to resolve/guess local address. See logs for details."); } diff --git a/src/or/config.h b/src/or/config.h index 8e3465580..ef4acac51 100644 --- a/src/or/config.h +++ b/src/or/config.h @@ -26,8 +26,10 @@ const char *get_short_version(void); setopt_err_t options_trial_assign(config_line_t *list, int use_defaults, int clear_first, char **msg); +uint32_t get_last_resolved_addr(void); int resolve_my_address(int warn_severity, const or_options_t *options, - uint32_t *addr, char **hostname_out); + uint32_t *addr_out, + const char **method_out, char **hostname_out); int is_local_addr(const tor_addr_t *addr); void options_init(or_options_t *options); char *options_dump(const or_options_t *options, int minimal); diff --git a/src/or/connection.c b/src/or/connection.c index 0d8242a54..737da7292 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -1058,6 +1058,7 @@ connection_listener_new(const struct sockaddr *listensockaddr, if (bind(s, listensockaddr, (socklen_t)sizeof(struct sockaddr_un)) == -1) { log_warn(LD_NET,"Bind to %s failed: %s.", address, tor_socket_strerror(tor_socket_errno(s))); + tor_close_socket(s); goto err; } #ifdef HAVE_PWD_H @@ -1066,9 +1067,12 @@ connection_listener_new(const struct sockaddr *listensockaddr, if (pw == NULL) { log_warn(LD_NET,"Unable to chown() %s socket: user %s not found.", address, options->User); + tor_close_socket(s); + goto err; } else if (chown(address, pw->pw_uid, pw->pw_gid) < 0) { log_warn(LD_NET,"Unable to chown() %s socket: %s.", address, strerror(errno)); + tor_close_socket(s); goto err; } } @@ -1441,12 +1445,9 @@ connection_connect(connection_t *conn, const char *address, /* We should never even try to connect anyplace if DisableNetwork is set. * Warn if we do, and refuse to make the connection. */ static ratelim_t disablenet_violated = RATELIM_INIT(30*60); - char *m; *socket_error = SOCK_ERRNO(ENETUNREACH); - if ((m = rate_limit_log(&disablenet_violated, approx_time()))) { - log_warn(LD_BUG, "Tried to open a socket with DisableNetwork set.%s", m); - tor_free(m); - } + log_fn_ratelim(&disablenet_violated, LOG_WARN, LD_BUG, + "Tried to open a socket with DisableNetwork set."); tor_fragile_assert(); return -1; } @@ -1707,6 +1708,7 @@ connection_read_https_proxy_response(connection_t *conn) tor_free(headers); return -1; } + tor_free(headers); if (!reason) reason = tor_strdup("[no reason given]"); if (status_code == 200) { diff --git a/src/or/control.c b/src/or/control.c index 9ab0dafb7..03e5d79c8 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -3143,6 +3143,8 @@ handle_control_authchallenge(control_connection_t *conn, uint32_t len, "SERVERNONCE=%s\r\n", server_hash_encoded, server_nonce_encoded); + + tor_free(client_nonce); return 0; } diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index b5740f091..444f17cd4 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -196,8 +196,10 @@ static uint64_t onionskins_usec_roundtrip[MAX_ONION_HANDSHAKE_TYPE+1]; * time. (microseconds) */ #define MAX_BELIEVABLE_ONIONSKIN_DELAY (2*1000*1000) +static tor_weak_rng_t request_sample_rng = TOR_WEAK_RNG_INIT; + /** Return true iff we'd like to measure a handshake of type - * <b>onionskin_type</b>. */ + * <b>onionskin_type</b>. Call only from the main thread. */ static int should_time_request(uint16_t onionskin_type) { @@ -210,7 +212,7 @@ should_time_request(uint16_t onionskin_type) return 1; /** Otherwise, measure with P=1/128. We avoid doing this for every * handshake, since the measurement itself can take a little time. */ - return tor_weak_random() < (TOR_RAND_MAX/128); + return tor_weak_random_one_in_n(&request_sample_rng, 128); } /** Return an estimate of how many microseconds we will need for a single @@ -220,10 +222,10 @@ uint64_t estimated_usec_for_onionskins(uint32_t n_requests, uint16_t onionskin_type) { if (onionskin_type > MAX_ONION_HANDSHAKE_TYPE) /* should be impossible */ - return 1000 * n_requests; + return 1000 * (uint64_t)n_requests; if (PREDICT_UNLIKELY(onionskins_n_processed[onionskin_type] < 100)) { /* Until we have 100 data points, just asssume everything takes 1 msec. */ - return 1000 * n_requests; + return 1000 * (uint64_t)n_requests; } else { /* This can't overflow: we'll never have more than 500000 onionskins * measured in onionskin_usec_internal, and they won't take anything near @@ -560,6 +562,7 @@ static void spawn_enough_cpuworkers(void) { int num_cpuworkers_needed = get_num_cpus(get_options()); + int reseed = 0; if (num_cpuworkers_needed < MIN_CPUWORKERS) num_cpuworkers_needed = MIN_CPUWORKERS; @@ -572,7 +575,11 @@ spawn_enough_cpuworkers(void) return; } num_cpuworkers++; + reseed++; } + + if (reseed) + crypto_seed_weak_rng(&request_sample_rng); } /** Take a pending task from the queue and assign it to 'cpuworker'. */ diff --git a/src/or/dirserv.c b/src/or/dirserv.c index e2cd7cfd2..0819d4bd2 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -66,19 +66,6 @@ static cached_dir_t *the_directory = NULL; /** For authoritative directories: the current (v1) network status. */ static cached_dir_t the_runningrouters; -/** Array of start and end of consensus methods used for supported - microdescriptor formats. */ -static const struct consensus_method_range_t { - int low; - int high; -} microdesc_consensus_methods[] = { - {MIN_METHOD_FOR_MICRODESC, MIN_METHOD_FOR_A_LINES - 1}, - {MIN_METHOD_FOR_A_LINES, MIN_METHOD_FOR_P6_LINES - 1}, - {MIN_METHOD_FOR_P6_LINES, MIN_METHOD_FOR_NTOR_KEY - 1}, - {MIN_METHOD_FOR_NTOR_KEY, MAX_SUPPORTED_CONSENSUS_METHOD}, - {-1, -1} -}; - static void directory_remove_invalid(void); static cached_dir_t *dirserv_regenerate_directory(void); static char *format_versions_list(config_line_t *ln); @@ -1884,6 +1871,22 @@ dirserv_thinks_router_is_hs_dir(const routerinfo_t *router, node->is_running); } +/** Don't consider routers with less bandwidth than this when computing + * thresholds. */ +#define ABSOLUTE_MIN_BW_VALUE_TO_CONSIDER 4096 + +/** Helper for dirserv_compute_performance_thresholds(): Decide whether to + * include a router in our calculations, and return true iff we should. */ +static int +router_counts_toward_thresholds(const node_t *node, time_t now, + const digestmap_t *omit_as_sybil) +{ + return node->ri && router_is_active(node->ri, node, now) && + !digestmap_get(omit_as_sybil, node->ri->cache_info.identity_digest) && + (router_get_advertised_bandwidth(node->ri) >= + ABSOLUTE_MIN_BW_VALUE_TO_CONSIDER); +} + /** Look through the routerlist, the Mean Time Between Failure history, and * the Weighted Fractional Uptime history, and use them to set thresholds for * the Stable, Fast, and Guard flags. Update the fields stable_uptime, @@ -1893,7 +1896,8 @@ dirserv_thinks_router_is_hs_dir(const routerinfo_t *router, * * Also, set the is_exit flag of each router appropriately. */ static void -dirserv_compute_performance_thresholds(routerlist_t *rl) +dirserv_compute_performance_thresholds(routerlist_t *rl, + digestmap_t *omit_as_sybil) { int n_active, n_active_nonexit, n_familiar; uint32_t *uptimes, *bandwidths, *bandwidths_excluding_exits; @@ -1934,8 +1938,8 @@ dirserv_compute_performance_thresholds(routerlist_t *rl) /* Now, fill in the arrays. */ SMARTLIST_FOREACH_BEGIN(nodelist_get_list(), node_t *, node) { - routerinfo_t *ri = node->ri; - if (ri && router_is_active(ri, node, now)) { + if (router_counts_toward_thresholds(node, now, omit_as_sybil)) { + routerinfo_t *ri = node->ri; const char *id = ri->cache_info.identity_digest; uint32_t bw; node->is_exit = (!router_exit_policy_rejects_all(ri) && @@ -1975,9 +1979,12 @@ dirserv_compute_performance_thresholds(routerlist_t *rl) { /* We can vote on a parameter for the minimum and maximum. */ +#define ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG 4096 int32_t min_fast, max_fast; min_fast = networkstatus_get_param(NULL, "FastFlagMinThreshold", - 0, 0, INT32_MAX); + ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG, + ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG, + INT32_MAX); max_fast = networkstatus_get_param(NULL, "FastFlagMaxThreshold", INT32_MAX, min_fast, INT32_MAX); if (fast_bandwidth < (uint32_t)min_fast) @@ -1996,8 +2003,8 @@ dirserv_compute_performance_thresholds(routerlist_t *rl) n_familiar = 0; SMARTLIST_FOREACH_BEGIN(nodelist_get_list(), node_t *, node) { - routerinfo_t *ri = node->ri; - if (ri && router_is_active(ri, node, now)) { + if (router_counts_toward_thresholds(node, now, omit_as_sybil)) { + routerinfo_t *ri = node->ri; const char *id = ri->cache_info.identity_digest; long tk = rep_hist_get_weighted_time_known(id, now); if (tk < guard_tk) @@ -2039,6 +2046,30 @@ dirserv_compute_performance_thresholds(routerlist_t *rl) tor_free(wfus); } +/** Give a statement of our current performance thresholds for inclusion + * in a vote document. */ +char * +dirserv_get_flag_thresholds_line(void) +{ + char *result=NULL; + tor_asprintf(&result, + "stable-uptime=%lu stable-mtbf=%lu " + "fast-speed=%lu " + "guard-wfu=%.03f%% guard-tk=%lu " + "guard-bw-inc-exits=%lu guard-bw-exc-exits=%lu " + "enough-mtbf=%d", + (unsigned long)stable_uptime, + (unsigned long)stable_mtbf, + (unsigned long)fast_bandwidth, + guard_wfu*100, + (unsigned long)guard_tk, + (unsigned long)guard_bandwidth_including_exits, + (unsigned long)guard_bandwidth_excluding_exits, + enough_mtbf_info ? 1 : 0); + + return result; +} + /** Given a platform string as in a routerinfo_t (possibly null), return a * newly allocated version string for a networkstatus document, or NULL if the * platform doesn't give a Tor version. */ @@ -2719,11 +2750,11 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, tor_assert(private_key); tor_assert(cert); - if (resolve_my_address(LOG_WARN, options, &addr, &hostname)<0) { + if (resolve_my_address(LOG_WARN, options, &addr, NULL, &hostname)<0) { log_warn(LD_NET, "Couldn't resolve my hostname"); return NULL; } - if (!strchr(hostname, '.')) { + if (!hostname || !strchr(hostname, '.')) { tor_free(hostname); hostname = tor_dup_ip(addr); } @@ -2751,22 +2782,25 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, dirserv_set_router_is_running(ri, now); }); - dirserv_compute_performance_thresholds(rl); - routers = smartlist_new(); smartlist_add_all(routers, rl->routers); routers_sort_by_identity(routers); omit_as_sybil = get_possible_sybil_list(routers); + DIGESTMAP_FOREACH(omit_as_sybil, sybil_id, void *, ignore) { + (void) ignore; + rep_hist_make_router_pessimal(sybil_id, now); + } DIGESTMAP_FOREACH_END; + + dirserv_compute_performance_thresholds(rl, omit_as_sybil); + routerstatuses = smartlist_new(); microdescriptors = smartlist_new(); SMARTLIST_FOREACH_BEGIN(routers, routerinfo_t *, ri) { - const struct consensus_method_range_t *cmr = NULL; if (ri->cache_info.published_on >= cutoff) { routerstatus_t *rs; vote_routerstatus_t *vrs; - microdesc_t *md; node_t *node = node_get_mutable_by_id(ri->cache_info.identity_digest); if (!node) continue; @@ -2784,23 +2818,8 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, rs->is_flagged_running = 0; vrs->version = version_from_platform(ri->platform); - for (cmr = microdesc_consensus_methods; - cmr->low != -1 && cmr->high != -1; - cmr++) { - md = dirvote_create_microdescriptor(ri, cmr->low); - if (md) { - char buf[128]; - vote_microdesc_hash_t *h; - dirvote_format_microdesc_vote_line(buf, sizeof(buf), md, - cmr->low, cmr->high); - h = tor_malloc_zero(sizeof(vote_microdesc_hash_t)); - h->microdesc_hash_line = tor_strdup(buf); - h->next = vrs->microdesc; - vrs->microdesc = h; - md->last_listed = now; - smartlist_add(microdescriptors, md); - } - } + vrs->microdesc = dirvote_format_all_microdesc_vote_lines(ri, now, + microdescriptors); smartlist_add(routerstatuses, vrs); } @@ -2941,10 +2960,12 @@ generate_v2_networkstatus_opinion(void) private_key = get_server_identity_key(); - if (resolve_my_address(LOG_WARN, options, &addr, &hostname)<0) { + if (resolve_my_address(LOG_WARN, options, &addr, NULL, &hostname)<0) { log_warn(LD_NET, "Couldn't resolve my hostname"); goto done; } + if (!hostname) + hostname = tor_dup_ip(addr); format_iso_time(published, now); @@ -3008,14 +3029,13 @@ generate_v2_networkstatus_opinion(void) dirserv_set_router_is_running(ri, now); }); - dirserv_compute_performance_thresholds(rl); - routers = smartlist_new(); smartlist_add_all(routers, rl->routers); routers_sort_by_identity(routers); - omit_as_sybil = get_possible_sybil_list(routers); + dirserv_compute_performance_thresholds(rl, omit_as_sybil); + SMARTLIST_FOREACH_BEGIN(routers, routerinfo_t *, ri) { if (ri->cache_info.published_on >= cutoff) { routerstatus_t rs; diff --git a/src/or/dirserv.h b/src/or/dirserv.h index 35b7bd016..add09f44a 100644 --- a/src/or/dirserv.h +++ b/src/or/dirserv.h @@ -70,6 +70,7 @@ int list_server_status_v1(smartlist_t *routers, char **router_status_out, int for_controller); int dirserv_dump_directory_to_string(char **dir_out, crypto_pk_t *private_key); +char *dirserv_get_flag_thresholds_line(void); int directory_fetches_from_authorities(const or_options_t *options); int directory_fetches_dir_info_early(const or_options_t *options); diff --git a/src/or/dirvote.c b/src/or/dirvote.c index aee9a6edf..358708b6c 100644 --- a/src/or/dirvote.c +++ b/src/or/dirvote.c @@ -134,6 +134,8 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key, char fu[ISO_TIME_LEN+1]; char vu[ISO_TIME_LEN+1]; char *flags = smartlist_join_strings(v3_ns->known_flags, " ", 0, NULL); + /* XXXX Abstraction violation: should be pulling a field out of v3_ns.*/ + char *flag_thresholds = dirserv_get_flag_thresholds_line(); char *params; authority_cert_t *cert = v3_ns->cert; char *methods = @@ -160,6 +162,7 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key, "voting-delay %d %d\n" "%s" /* versions */ "known-flags %s\n" + "flag-thresholds %s\n" "params %s\n" "dir-source %s %s %s %s %d %d\n" "contact %s\n", @@ -169,6 +172,7 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key, v3_ns->vote_seconds, v3_ns->dist_seconds, version_lines, flags, + flag_thresholds, params, voter->nickname, fingerprint, voter->address, fmt_addr32(addr), voter->dir_port, voter->or_port, @@ -181,6 +185,7 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key, tor_free(params); tor_free(flags); + tor_free(flag_thresholds); tor_free(methods); outp = status + strlen(status); endp = status + len; @@ -2116,7 +2121,7 @@ networkstatus_compute_consensus(smartlist_t *votes, digest, digest_len, signing_key)) { log_warn(LD_BUG, "Couldn't sign consensus networkstatus."); - return NULL; /* This leaks, but it should never happen. */ + goto done; } smartlist_add(chunks, tor_strdup(sigbuf)); @@ -2139,7 +2144,7 @@ networkstatus_compute_consensus(smartlist_t *votes, digest, digest_len, legacy_signing_key)) { log_warn(LD_BUG, "Couldn't sign consensus networkstatus."); - return NULL; /* This leaks, but it should never happen. */ + goto done; } smartlist_add(chunks, tor_strdup(sigbuf)); } @@ -2147,13 +2152,6 @@ networkstatus_compute_consensus(smartlist_t *votes, result = smartlist_join_strings(chunks, "", 0, NULL); - tor_free(client_versions); - tor_free(server_versions); - SMARTLIST_FOREACH(flags, char *, cp, tor_free(cp)); - smartlist_free(flags); - SMARTLIST_FOREACH(chunks, char *, cp, tor_free(cp)); - smartlist_free(chunks); - { networkstatus_t *c; if (!(c = networkstatus_parse_vote_from_string(result, NULL, @@ -2161,7 +2159,7 @@ networkstatus_compute_consensus(smartlist_t *votes, log_err(LD_BUG, "Generated a networkstatus consensus we couldn't " "parse."); tor_free(result); - return NULL; + goto done; } // Verify balancing parameters if (consensus_method >= MIN_METHOD_FOR_BW_WEIGHTS && added_weights) { @@ -2170,6 +2168,15 @@ networkstatus_compute_consensus(smartlist_t *votes, networkstatus_vote_free(c); } + done: + + tor_free(client_versions); + tor_free(server_versions); + SMARTLIST_FOREACH(flags, char *, cp, tor_free(cp)); + smartlist_free(flags); + SMARTLIST_FOREACH(chunks, char *, cp, tor_free(cp)); + smartlist_free(chunks); + return result; } @@ -3644,6 +3651,87 @@ dirvote_format_microdesc_vote_line(char *out_buf, size_t out_buf_len, return ret; } +/** Array of start and end of consensus methods used for supported + microdescriptor formats. */ +static const struct consensus_method_range_t { + int low; + int high; +} microdesc_consensus_methods[] = { + {MIN_METHOD_FOR_MICRODESC, MIN_METHOD_FOR_A_LINES - 1}, + {MIN_METHOD_FOR_A_LINES, MIN_METHOD_FOR_P6_LINES - 1}, + {MIN_METHOD_FOR_P6_LINES, MIN_METHOD_FOR_NTOR_KEY - 1}, + {MIN_METHOD_FOR_NTOR_KEY, MAX_SUPPORTED_CONSENSUS_METHOD}, + {-1, -1} +}; + +/** Helper type used when generating the microdescriptor lines in a directory + * vote. */ +typedef struct microdesc_vote_line_t { + int low; + int high; + microdesc_t *md; + struct microdesc_vote_line_t *next; +} microdesc_vote_line_t; + +/** Generate and return a linked list of all the lines that should appear to + * describe a router's microdescriptor versions in a directory vote. + * Add the generated microdescriptors to <b>microdescriptors_out</b>. */ +vote_microdesc_hash_t * +dirvote_format_all_microdesc_vote_lines(const routerinfo_t *ri, time_t now, + smartlist_t *microdescriptors_out) +{ + const struct consensus_method_range_t *cmr; + microdesc_vote_line_t *entries = NULL, *ep; + vote_microdesc_hash_t *result = NULL; + + /* Generate the microdescriptors. */ + for (cmr = microdesc_consensus_methods; + cmr->low != -1 && cmr->high != -1; + cmr++) { + microdesc_t *md = dirvote_create_microdescriptor(ri, cmr->low); + if (md) { + microdesc_vote_line_t *e = + tor_malloc_zero(sizeof(microdesc_vote_line_t)); + e->md = md; + e->low = cmr->low; + e->high = cmr->high; + e->next = entries; + entries = e; + } + } + + /* Compress adjacent identical ones */ + for (ep = entries; ep; ep = ep->next) { + while (ep->next && + fast_memeq(ep->md->digest, ep->next->md->digest, DIGEST256_LEN) && + ep->low == ep->next->high + 1) { + microdesc_vote_line_t *next = ep->next; + ep->low = next->low; + microdesc_free(next->md); + ep->next = next->next; + tor_free(next); + } + } + + /* Format them into vote_microdesc_hash_t, and add to microdescriptors_out.*/ + while ((ep = entries)) { + char buf[128]; + vote_microdesc_hash_t *h; + dirvote_format_microdesc_vote_line(buf, sizeof(buf), ep->md, + ep->low, ep->high); + h = tor_malloc_zero(sizeof(vote_microdesc_hash_t)); + h->microdesc_hash_line = tor_strdup(buf); + h->next = result; + result = h; + ep->md->last_listed = now; + smartlist_add(microdescriptors_out, ep->md); + entries = ep->next; + tor_free(ep); + } + + return result; +} + /** If <b>vrs</b> has a hash made for the consensus method <b>method</b> with * the digest algorithm <b>alg</b>, decode it and copy it into * <b>digest256_out</b> and return 0. Otherwise return -1. */ diff --git a/src/or/dirvote.h b/src/or/dirvote.h index f13445432..366b7cf03 100644 --- a/src/or/dirvote.h +++ b/src/or/dirvote.h @@ -109,6 +109,11 @@ ssize_t dirvote_format_microdesc_vote_line(char *out, size_t out_len, const microdesc_t *md, int consensus_method_low, int consensus_method_high); +vote_microdesc_hash_t *dirvote_format_all_microdesc_vote_lines( + const routerinfo_t *ri, + time_t now, + smartlist_t *microdescriptors_out); + int vote_routerstatus_find_microdesc_hash(char *digest256_out, const vote_routerstatus_t *vrs, int method, diff --git a/src/or/entrynodes.h b/src/or/entrynodes.h index e774a61a4..52b8dc00e 100644 --- a/src/or/entrynodes.h +++ b/src/or/entrynodes.h @@ -39,6 +39,10 @@ typedef struct entry_guard_t { * bias for this node already? */ unsigned int path_bias_disabled : 1; /**< Have we disabled this node because * of path bias issues? */ + unsigned int path_bias_use_noticed : 1; /**< Did we alert the user about path + * use bias for this node already? */ + unsigned int path_bias_use_extreme : 1; /**< Did we alert the user about path + * use bias for this node already? */ unsigned int is_dir_cache : 1; /**< Is this node a directory cache? */ time_t bad_since; /**< 0 if this guard is currently usable, or the time at * which it was observed to become (according to the diff --git a/src/or/geoip.c b/src/or/geoip.c index 9ba1e31b8..e2e98e8ec 100644 --- a/src/or/geoip.c +++ b/src/or/geoip.c @@ -1350,8 +1350,11 @@ load_bridge_stats(time_t now) fname = get_datadir_fname2("stats", "bridge-stats"); contents = read_file_to_str(fname, RFTS_IGNORE_MISSING, NULL); - if (contents && validate_bridge_stats(contents, now)) + if (contents && validate_bridge_stats(contents, now)) { bridge_stats_extrainfo = contents; + } else { + tor_free(contents); + } tor_free(fname); } diff --git a/src/or/main.c b/src/or/main.c index 79b0f2577..b5d1e2da3 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -1157,7 +1157,6 @@ run_scheduled_events(time_t now) static time_t time_to_check_v3_certificate = 0; static time_t time_to_check_listeners = 0; static time_t time_to_check_descriptor = 0; - static time_t time_to_check_ipaddress = 0; static time_t time_to_shrink_memory = 0; static time_t time_to_try_getting_descriptors = 0; static time_t time_to_reset_descriptor_failures = 0; @@ -1403,11 +1402,10 @@ run_scheduled_events(time_t now) /** 2. Periodically, we consider force-uploading our descriptor * (if we've passed our internal checks). */ -/** How often do we check whether part of our router info has changed in a way - * that would require an upload? */ +/** How often do we check whether part of our router info has changed in a + * way that would require an upload? That includes checking whether our IP + * address has changed. */ #define CHECK_DESCRIPTOR_INTERVAL (60) -/** How often do we (as a router) check whether our IP address has changed? */ -#define CHECK_IPADDRESS_INTERVAL (15*60) /* 2b. Once per minute, regenerate and upload the descriptor if the old * one is inaccurate. */ @@ -1415,10 +1413,7 @@ run_scheduled_events(time_t now) static int dirport_reachability_count = 0; time_to_check_descriptor = now + CHECK_DESCRIPTOR_INTERVAL; check_descriptor_bandwidth_changed(now); - if (time_to_check_ipaddress < now) { - time_to_check_ipaddress = now + CHECK_IPADDRESS_INTERVAL; - check_descriptor_ipaddress_changed(now); - } + check_descriptor_ipaddress_changed(now); mark_my_descriptor_dirty_if_too_old(now); consider_publishable_server(0); /* also, check religiously for reachability, if it's within the first @@ -2391,6 +2386,7 @@ tor_init(int argc, char *argv[]) log_err(LD_BUG, "Unable to initialize OpenSSL. Exiting."); return -1; } + stream_choice_seed_weak_rng(); return 0; } diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 9f77dcafe..ee1bc392e 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -1313,6 +1313,7 @@ compute_frac_paths_available(const networkstatus_t *consensus, smartlist_t *myexits= smartlist_new(); double f_guard, f_mid, f_exit, f_myexit; int np, nu; /* Ignored */ + const int authdir = authdir_mode_v2(options) || authdir_mode_v3(options); count_usable_descriptors(num_present_out, num_usable_out, mid, consensus, options, now, NULL, 0); @@ -1321,8 +1322,13 @@ compute_frac_paths_available(const networkstatus_t *consensus, options->EntryNodes, 0); } else { SMARTLIST_FOREACH(mid, const node_t *, node, { - if (node->is_possible_guard) - smartlist_add(guards, (node_t*)node); + if (authdir) { + if (node->rs && node->rs->is_possible_guard) + smartlist_add(guards, (node_t*)node); + } else { + if (node->is_possible_guard) + smartlist_add(guards, (node_t*)node); + } }); } diff --git a/src/or/onion.c b/src/or/onion.c index b9f5aa6c7..d4a65022f 100644 --- a/src/or/onion.c +++ b/src/or/onion.c @@ -82,6 +82,8 @@ have_room_for_onionskin(uint16_t type) if (type == ONION_HANDSHAKE_TYPE_TAP && tap_usec / 1000 > (uint64_t)options->MaxOnionQueueDelay * 2 / 3) return 0; +#else + (void) type; #endif return 1; diff --git a/src/or/onion_fast.h b/src/or/onion_fast.h index 0c2a47537..8c078378d 100644 --- a/src/or/onion_fast.h +++ b/src/or/onion_fast.h @@ -13,7 +13,7 @@ #define TOR_ONION_FAST_H #define CREATE_FAST_LEN DIGEST_LEN -#define CREATED_FAST_LEN DIGEST_LEN*2 +#define CREATED_FAST_LEN (DIGEST_LEN*2) typedef struct fast_handshake_state_t { uint8_t state[DIGEST_LEN]; diff --git a/src/or/or.h b/src/or/or.h index a0a921a9f..04640d050 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4586,12 +4586,12 @@ typedef struct rend_encoded_v2_service_descriptor_t { * sooner.) * * XXX023 Should this be configurable? */ -#define INTRO_POINT_LIFETIME_MIN_SECONDS 18*60*60 +#define INTRO_POINT_LIFETIME_MIN_SECONDS (18*60*60) /** The maximum number of seconds that an introduction point will last * before expiring due to old age. * * XXX023 Should this be configurable? */ -#define INTRO_POINT_LIFETIME_MAX_SECONDS 24*60*60 +#define INTRO_POINT_LIFETIME_MAX_SECONDS (24*60*60) /** Introduction point information. Used both in rend_service_t (on * the service side) and in rend_service_descriptor_t (on both the diff --git a/src/or/reasons.c b/src/or/reasons.c index 26ad12e8f..637f8cdc7 100644 --- a/src/or/reasons.c +++ b/src/or/reasons.c @@ -105,7 +105,12 @@ stream_end_reason_to_socks5_response(int reason) case END_STREAM_REASON_DESTROY: return SOCKS5_GENERAL_ERROR; case END_STREAM_REASON_DONE: - return SOCKS5_SUCCEEDED; + /* Note that 'DONE' usually indicates a successful close from the other + * side of the stream... but if we receive it before a connected cell -- + * that is, before we have sent a SOCKS reply -- that means that the + * other side of the circuit closed the connection before telling us it + * was complete. */ + return SOCKS5_CONNECTION_REFUSED; case END_STREAM_REASON_TIMEOUT: return SOCKS5_TTL_EXPIRED; case END_STREAM_REASON_NOROUTE: diff --git a/src/or/relay.c b/src/or/relay.c index 3ae5b47ba..22bc40d65 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -70,6 +70,9 @@ uint64_t stats_n_relay_cells_relayed = 0; */ uint64_t stats_n_relay_cells_delivered = 0; +/** Used to tell which stream to read from first on a circuit. */ +static tor_weak_rng_t stream_choice_rng = TOR_WEAK_RNG_INIT; + /** Update digest from the payload of cell. Assign integrity part to * cell. */ @@ -710,7 +713,7 @@ connection_ap_process_end_not_open( struct in_addr in; node_t *exitrouter; int reason = *(cell->payload+RELAY_HEADER_SIZE); - int control_reason = reason | END_STREAM_REASON_FLAG_REMOTE; + int control_reason; edge_connection_t *edge_conn = ENTRY_TO_EDGE_CONN(conn); (void) layer_hint; /* unused */ @@ -734,7 +737,13 @@ connection_ap_process_end_not_open( } } - if (rh->length > 0 && edge_reason_is_retriable(reason) && + if (rh->length == 0) { + reason = END_STREAM_REASON_MISC; + } + + control_reason = reason | END_STREAM_REASON_FLAG_REMOTE; + + if (edge_reason_is_retriable(reason) && /* avoid retry if rend */ !connection_edge_is_rendezvous_stream(edge_conn)) { const char *chosen_exit_digest = @@ -1554,11 +1563,12 @@ connection_edge_package_raw_inbuf(edge_connection_t *conn, int package_partial, circuit_t *circ; const unsigned domain = conn->base_.type == CONN_TYPE_AP ? LD_APP : LD_EXIT; int sending_from_optimistic = 0; + entry_connection_t *entry_conn = + conn->base_.type == CONN_TYPE_AP ? EDGE_TO_ENTRY_CONN(conn) : NULL; const int sending_optimistically = + entry_conn && conn->base_.type == CONN_TYPE_AP && conn->base_.state != AP_CONN_STATE_OPEN; - entry_connection_t *entry_conn = - conn->base_.type == CONN_TYPE_AP ? EDGE_TO_ENTRY_CONN(conn) : NULL; crypt_path_t *cpath_layer = conn->cpath_layer; tor_assert(conn); @@ -1734,6 +1744,12 @@ circuit_resume_edge_reading(circuit_t *circ, crypt_path_t *layer_hint) circ, layer_hint); } +void +stream_choice_seed_weak_rng(void) +{ + crypto_seed_weak_rng(&stream_choice_rng); +} + /** A helper function for circuit_resume_edge_reading() above. * The arguments are the same, except that <b>conn</b> is the head * of a linked list of edge streams that should each be considered. @@ -1749,11 +1765,18 @@ circuit_resume_edge_reading_helper(edge_connection_t *first_conn, int cells_on_queue; int cells_per_conn; edge_connection_t *chosen_stream = NULL; + int max_to_package; + + if (first_conn == NULL) { + /* Don't bother to try to do the rest of this if there are no connections + * to resume. */ + return 0; + } /* How many cells do we have space for? It will be the minimum of * the number needed to exhaust the package window, and the minimum * needed to fill the cell queue. */ - int max_to_package = circ->package_window; + max_to_package = circ->package_window; if (CIRCUIT_IS_ORIGIN(circ)) { cells_on_queue = circ->n_chan_cells.n; } else { @@ -1778,10 +1801,19 @@ circuit_resume_edge_reading_helper(edge_connection_t *first_conn, int num_streams = 0; for (conn = first_conn; conn; conn = conn->next_stream) { num_streams++; - if ((tor_weak_random() % num_streams)==0) + if (tor_weak_random_one_in_n(&stream_choice_rng, num_streams)) { chosen_stream = conn; + } /* Invariant: chosen_stream has been chosen uniformly at random from - * among the first num_streams streams on first_conn. */ + * among the first num_streams streams on first_conn. + * + * (Note that we iterate over every stream on the circuit, so that after + * we've considered the first stream, we've chosen it with P=1; and + * after we consider the second stream, we've switched to it with P=1/2 + * and stayed with the first stream with P=1/2; and after we've + * considered the third stream, we've switched to it with P=1/3 and + * remained with one of the first two streams with P=(2/3), giving each + * one P=(1/2)(2/3) )=(1/3).) */ } } diff --git a/src/or/relay.h b/src/or/relay.h index d8da9ea1b..9e2d8af1e 100644 --- a/src/or/relay.h +++ b/src/or/relay.h @@ -65,6 +65,8 @@ const uint8_t *decode_address_from_payload(tor_addr_t *addr_out, int payload_len); void circuit_clear_cell_queue(circuit_t *circ, channel_t *chan); +void stream_choice_seed_weak_rng(void); + #ifdef RELAY_PRIVATE int relay_crypt(circuit_t *circ, cell_t *cell, cell_direction_t cell_direction, crypt_path_t **layer_hint, char *recognized); diff --git a/src/or/rendservice.c b/src/or/rendservice.c index f85ac2c03..10d232c03 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -88,7 +88,7 @@ typedef struct rend_service_port_config_t { /** How many seconds should we wait for new HS descriptors to reach * our clients before we close an expiring intro point? */ -#define INTRO_POINT_EXPIRATION_GRACE_PERIOD 5*60 +#define INTRO_POINT_EXPIRATION_GRACE_PERIOD (5*60) /** Represents a single hidden service running at this OP. */ typedef struct rend_service_t { diff --git a/src/or/rephist.c b/src/or/rephist.c index 925ca8815..55f321d5f 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -310,9 +310,10 @@ rep_hist_note_router_reachable(const char *id, const tor_addr_t *at_addr, tor_assert(hist); tor_assert((!at_addr && !at_port) || (at_addr && at_port)); - addr_changed = at_addr && + addr_changed = at_addr && !tor_addr_is_null(&hist->last_reached_addr) && tor_addr_compare(at_addr, &hist->last_reached_addr, CMP_EXACT) != 0; - port_changed = at_port && at_port != hist->last_reached_port; + port_changed = at_port && hist->last_reached_port && + at_port != hist->last_reached_port; if (!started_tracking_stability) started_tracking_stability = time(NULL); @@ -422,6 +423,21 @@ rep_hist_note_router_unreachable(const char *id, time_t when) } } +/** Mark a router with ID <b>id</b> as non-Running, and retroactively declare + * that it has never been running: give it no stability and no WFU. */ +void +rep_hist_make_router_pessimal(const char *id, time_t when) +{ + or_history_t *hist = get_or_history(id); + tor_assert(hist); + + rep_hist_note_router_unreachable(id, when); + mark_or_down(hist, when, 1); + + hist->weighted_run_length = 0; + hist->weighted_uptime = 0; +} + /** Helper: Discount all old MTBF data, if it is time to do so. Return * the time at which we should next discount MTBF data. */ time_t @@ -1534,7 +1550,7 @@ rep_hist_get_bandwidth_lines(void) /* [dirreq-](read|write)-history yyyy-mm-dd HH:MM:SS (n s) n,n,n... */ /* The n,n,n part above. Largest representation of a uint64_t is 20 chars * long, plus the comma. */ -#define MAX_HIST_VALUE_LEN 21*NUM_TOTALS +#define MAX_HIST_VALUE_LEN (21*NUM_TOTALS) len = (67+MAX_HIST_VALUE_LEN)*4; buf = tor_malloc_zero(len); cp = buf; diff --git a/src/or/rephist.h b/src/or/rephist.h index 5568330dd..811cd8d45 100644 --- a/src/or/rephist.h +++ b/src/or/rephist.h @@ -24,6 +24,8 @@ void rep_hist_dump_stats(time_t now, int severity); void rep_hist_note_bytes_read(size_t num_bytes, time_t when); void rep_hist_note_bytes_written(size_t num_bytes, time_t when); +void rep_hist_make_router_pessimal(const char *id, time_t when); + void rep_hist_note_dir_bytes_read(size_t num_bytes, time_t when); void rep_hist_note_dir_bytes_written(size_t num_bytes, time_t when); diff --git a/src/or/router.c b/src/or/router.c index db396f0d5..7b1fdc0df 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1117,14 +1117,11 @@ consider_testing_reachability(int test_or, int test_dir) if (test_or || test_dir) { #define SELF_EXCLUDED_WARN_INTERVAL 3600 static ratelim_t warning_limit=RATELIM_INIT(SELF_EXCLUDED_WARN_INTERVAL); - char *msg; - if ((msg = rate_limit_log(&warning_limit, approx_time()))) { - log_warn(LD_CIRC, "Can't peform self-tests for this relay: we have " + log_fn_ratelim(&warning_limit, LOG_WARN, LD_CIRC, + "Can't peform self-tests for this relay: we have " "listed ourself in ExcludeNodes, and StrictNodes is set. " "We cannot learn whether we are usable, and will not " - "be able to advertise ourself.%s", msg); - tor_free(msg); - } + "be able to advertise ourself."); } return; } @@ -1715,7 +1712,9 @@ static int router_guess_address_from_dir_headers(uint32_t *guess); int router_pick_published_address(const or_options_t *options, uint32_t *addr) { - if (resolve_my_address(LOG_INFO, options, addr, NULL) < 0) { + *addr = get_last_resolved_addr(); + if (!*addr && + resolve_my_address(LOG_INFO, options, addr, NULL, NULL) < 0) { log_info(LD_CONFIG, "Could not determine our address locally. " "Checking if directory headers provide any hints."); if (router_guess_address_from_dir_headers(addr) < 0) { @@ -1945,9 +1944,13 @@ router_rebuild_descriptor(int force) anyway, since they don't have a DirPort, and always connect to the bridge authority anonymously. But just in case they somehow think of sending them on an unencrypted connection, don't allow them to try. */ - ri->cache_info.send_unencrypted = ei->cache_info.send_unencrypted = 0; + ri->cache_info.send_unencrypted = 0; + if (ei) + ei->cache_info.send_unencrypted = 0; } else { - ri->cache_info.send_unencrypted = ei->cache_info.send_unencrypted = 1; + ri->cache_info.send_unencrypted = 1; + if (ei) + ei->cache_info.send_unencrypted = 1; } router_get_router_hash(ri->cache_info.signed_descriptor_body, @@ -2092,6 +2095,9 @@ check_descriptor_ipaddress_changed(time_t now) { uint32_t prev, cur; const or_options_t *options = get_options(); + const char *method = NULL; + char *hostname = NULL; + (void) now; if (!desc_routerinfo) @@ -2099,18 +2105,29 @@ check_descriptor_ipaddress_changed(time_t now) /* XXXX ipv6 */ prev = desc_routerinfo->addr; - if (resolve_my_address(LOG_INFO, options, &cur, NULL) < 0) { + if (resolve_my_address(LOG_INFO, options, &cur, &method, &hostname) < 0) { log_info(LD_CONFIG,"options->Address didn't resolve into an IP."); return; } if (prev != cur) { + char *source; tor_addr_t tmp_prev, tmp_cur; + tor_addr_from_ipv4h(&tmp_prev, prev); tor_addr_from_ipv4h(&tmp_cur, cur); - log_addr_has_changed(LOG_NOTICE, &tmp_prev, &tmp_cur, "resolve"); + + tor_asprintf(&source, "METHOD=%s%s%s", method, + hostname ? " HOSTNAME=" : "", + hostname ? hostname : ""); + + log_addr_has_changed(LOG_NOTICE, &tmp_prev, &tmp_cur, source); + tor_free(source); + ip_address_changed(0); } + + tor_free(hostname); } /** The most recently guessed value of our IP address, based on directory @@ -2144,7 +2161,9 @@ router_new_address_suggestion(const char *suggestion, } /* XXXX ipv6 */ - if (resolve_my_address(LOG_INFO, options, &cur, NULL) >= 0) { + cur = get_last_resolved_addr(); + if (cur || + resolve_my_address(LOG_INFO, options, &cur, NULL, NULL) >= 0) { /* We're all set -- we already know our address. Great. */ tor_addr_from_ipv4h(&last_guessed_ip, cur); /* store it in case we need it later */ @@ -2399,6 +2418,7 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router, "ipv6-policy %s\n", p6); if (result<0) { log_warn(LD_BUG,"Descriptor printf of policy ran out of room"); + tor_free(p6); return -1; } written += result; diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 8f1994760..2f08167f1 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -3951,12 +3951,15 @@ trusted_dir_server_new(const char *nickname, const char *address, dir_server_t *result; if (!address) { /* The address is us; we should guess. */ - if (resolve_my_address(LOG_WARN, get_options(), &a, &hostname) < 0) { + if (resolve_my_address(LOG_WARN, get_options(), + &a, NULL, &hostname) < 0) { log_warn(LD_CONFIG, "Couldn't find a suitable address when adding ourself as a " "trusted directory server."); return NULL; } + if (!hostname) + hostname = tor_dup_ip(a); } else { if (tor_lookup_hostname(address, &a)) { log_warn(LD_CONFIG, diff --git a/src/or/routerset.c b/src/or/routerset.c index e45516bb6..1eca5b6f6 100644 --- a/src/or/routerset.c +++ b/src/or/routerset.c @@ -255,7 +255,7 @@ routerset_add_unknown_ccs(routerset_t **setp, int only_if_some_cc_set) } if (add_a1) { smartlist_add(set->country_names, tor_strdup("a1")); - smartlist_add(set->country_names, tor_strdup("{a1}")); + smartlist_add(set->list, tor_strdup("{a1}")); } if (add_unknown || add_a1) { diff --git a/src/test/bench.c b/src/test/bench.c index d57aeb81a..5a8d21d17 100644 --- a/src/test/bench.c +++ b/src/test/bench.c @@ -124,8 +124,10 @@ bench_onion_TAP(void) key = crypto_pk_new(); key2 = crypto_pk_new(); - crypto_pk_generate_key_with_bits(key, 1024); - crypto_pk_generate_key_with_bits(key2, 1024); + if (crypto_pk_generate_key_with_bits(key, 1024) < 0) + goto done; + if (crypto_pk_generate_key_with_bits(key2, 1024) < 0) + goto done; reset_perftime(); start = perftime(); @@ -164,13 +166,16 @@ bench_onion_TAP(void) int s; dh = crypto_dh_dup(dh_out); s = onion_skin_TAP_client_handshake(dh, or, key_out, sizeof(key_out)); + crypto_dh_free(dh); tor_assert(s == 0); } end = perftime(); printf("Client-side, part 2: %f usec.\n", NANOCOUNT(start, end, iters)/1e3); + done: crypto_pk_free(key); + crypto_pk_free(key2); } #ifdef CURVE25519_ENABLED @@ -203,6 +208,7 @@ bench_onion_ntor(void) end = perftime(); printf("Client-side, part 1: %f usec.\n", NANOCOUNT(start, end, iters)/1e3); + state = NULL; onion_skin_ntor_create(nodeid, &keypair1.pubkey, &state, os); start = perftime(); for (i = 0; i < iters; ++i) { diff --git a/src/test/test.c b/src/test/test.c index b838172d5..6c64d3599 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -1678,6 +1678,7 @@ test_geoip(void) * the connecting clients added above. */ geoip_bridge_stats_init(now); s = geoip_format_bridge_stats(now + 86400); + test_assert(s); test_streq(bridge_stats_1, s); tor_free(s); @@ -1789,6 +1790,7 @@ test_geoip(void) done: tor_free(s); + tor_free(v); } /** Run unit tests for stats code. */ diff --git a/src/test/test_crypto.c b/src/test/test_crypto.c index 37843d111..afb338a69 100644 --- a/src/test/test_crypto.c +++ b/src/test/test_crypto.c @@ -941,6 +941,26 @@ test_crypto_curve25519_impl(void *arg) /* adapted from curve25519_donna, which adapted it from test-curve25519 version 20050915, by D. J. Bernstein, Public domain. */ + const int randomize_high_bit = (arg != NULL); + +#ifdef SLOW_CURVE25519_TEST + const int loop_max=10000; + const char e1_expected[] = "4faf81190869fd742a33691b0e0824d5" + "7e0329f4dd2819f5f32d130f1296b500"; + const char e2k_expected[] = "05aec13f92286f3a781ccae98995a3b9" + "e0544770bc7de853b38f9100489e3e79"; + const char e1e2k_expected[] = "cd6e8269104eb5aaee886bd2071fba88" + "bd13861475516bc2cd2b6e005e805064"; +#else + const int loop_max=200; + const char e1_expected[] = "bc7112cde03f97ef7008cad1bdc56be3" + "c6a1037d74cceb3712e9206871dcf654"; + const char e2k_expected[] = "dd8fa254fb60bdb5142fe05b1f5de44d" + "8e3ee1a63c7d14274ea5d4c67f065467"; + const char e1e2k_expected[] = "7ddb98bd89025d2347776b33901b3e7e" + "c0ee98cb2257a4545c0cfb2ca3e1812b"; +#endif + unsigned char e1k[32]; unsigned char e2k[32]; unsigned char e1e2k[32]; @@ -949,15 +969,22 @@ test_crypto_curve25519_impl(void *arg) unsigned char e2[32] = {5}; unsigned char k[32] = {9}; int loop, i; - const int loop_max=10000; - char *mem_op_hex_tmp = NULL; - (void)arg; + char *mem_op_hex_tmp = NULL; for (loop = 0; loop < loop_max; ++loop) { curve25519_impl(e1k,e1,k); curve25519_impl(e2e1k,e2,e1k); curve25519_impl(e2k,e2,k); + if (randomize_high_bit) { + /* We require that the high bit of the public key be ignored. So if + * we're doing this variant test, we randomize the high bit of e2k, and + * make sure that the handshake still works out the same as it would + * otherwise. */ + uint8_t byte; + crypto_rand((char*)&byte, 1); + e2k[31] |= (byte & 0x80); + } curve25519_impl(e1e2k,e1,e2k); test_memeq(e1e2k, e2e1k, 32); if (loop == loop_max-1) { @@ -968,15 +995,9 @@ test_crypto_curve25519_impl(void *arg) for (i = 0;i < 32;++i) k[i] ^= e1e2k[i]; } - test_memeq_hex(e1, - "4faf81190869fd742a33691b0e0824d5" - "7e0329f4dd2819f5f32d130f1296b500"); - test_memeq_hex(e2k, - "05aec13f92286f3a781ccae98995a3b9" - "e0544770bc7de853b38f9100489e3e79"); - test_memeq_hex(e1e2k, - "cd6e8269104eb5aaee886bd2071fba88" - "bd13861475516bc2cd2b6e005e805064"); + test_memeq_hex(e1, e1_expected); + test_memeq_hex(e2k, e2k_expected); + test_memeq_hex(e1e2k, e1e2k_expected); done: tor_free(mem_op_hex_tmp); @@ -1061,6 +1082,7 @@ test_crypto_curve25519_persist(void *arg) tt_int_op(0,==,curve25519_keypair_write_to_file(&keypair, fname, "testing")); tt_int_op(0,==,curve25519_keypair_read_from_file(&keypair2, &tag, fname)); tt_str_op(tag,==,"testing"); + tor_free(tag); test_memeq(keypair.pubkey.public_key, keypair2.pubkey.public_key, @@ -1088,6 +1110,7 @@ test_crypto_curve25519_persist(void *arg) fname = tor_strdup(get_fname("bogus_keypair")); tt_int_op(-1, ==, curve25519_keypair_read_from_file(&keypair2, &tag, fname)); + tor_free(tag); content[69] ^= 0xff; tt_int_op(0, ==, write_bytes_to_file(fname, content, st.st_size, 1)); @@ -1096,6 +1119,7 @@ test_crypto_curve25519_persist(void *arg) done: tor_free(fname); tor_free(content); + tor_free(tag); } #endif @@ -1135,6 +1159,7 @@ struct testcase_t crypto_tests[] = { { "hkdf_sha256", test_crypto_hkdf_sha256, 0, NULL, NULL }, #ifdef CURVE25519_ENABLED { "curve25519_impl", test_crypto_curve25519_impl, 0, NULL, NULL }, + { "curve25519_impl_hibit", test_crypto_curve25519_impl, 0, NULL, (void*)"y"}, { "curve25519_wrappers", test_crypto_curve25519_wrappers, 0, NULL, NULL }, { "curve25519_encode", test_crypto_curve25519_encode, 0, NULL, NULL }, { "curve25519_persist", test_crypto_curve25519_persist, 0, NULL, NULL }, diff --git a/src/test/test_ntor_cl.c b/src/test/test_ntor_cl.c index d16b088a5..f2b7a72ad 100644 --- a/src/test/test_ntor_cl.c +++ b/src/test/test_ntor_cl.c @@ -43,13 +43,11 @@ client1(int argc, char **argv) /* client1 nodeID B -> msg state */ curve25519_public_key_t B; uint8_t node_id[DIGEST_LEN]; - ntor_handshake_state_t *state; + ntor_handshake_state_t *state = NULL; uint8_t msg[NTOR_ONIONSKIN_LEN]; char buf[1024]; - memset(&state, 0, sizeof(state)); - N_ARGS(4); BASE16(2, node_id, DIGEST_LEN); BASE16(3, B.public_key, CURVE25519_PUBKEY_LEN); @@ -63,6 +61,7 @@ client1(int argc, char **argv) printf("%s\n", buf); base16_encode(buf, sizeof(buf), (void*)state, sizeof(*state)); printf("%s\n", buf); + ntor_handshake_state_free(state); return 0; } @@ -77,8 +76,9 @@ server1(int argc, char **argv) int keybytes; uint8_t msg_out[NTOR_REPLY_LEN]; - uint8_t *keys; - char *hexkeys; + uint8_t *keys = NULL; + char *hexkeys = NULL; + int result = 0; char buf[256]; @@ -98,7 +98,8 @@ server1(int argc, char **argv) msg_in, keymap, NULL, node_id, msg_out, keys, (size_t)keybytes)<0) { fprintf(stderr, "handshake failed"); - return 2; + result = 2; + goto done; } base16_encode(buf, sizeof(buf), (const char*)msg_out, sizeof(msg_out)); @@ -106,9 +107,10 @@ server1(int argc, char **argv) base16_encode(hexkeys, keybytes*2+1, (const char*)keys, keybytes); printf("%s\n", hexkeys); + done: tor_free(keys); tor_free(hexkeys); - return 0; + return result; } static int @@ -119,6 +121,7 @@ client2(int argc, char **argv) int keybytes; uint8_t *keys; char *hexkeys; + int result = 0; N_ARGS(5); BASE16(2, (&state), sizeof(state)); @@ -129,16 +132,17 @@ client2(int argc, char **argv) hexkeys = tor_malloc(keybytes*2+1); if (onion_skin_ntor_client_handshake(&state, msg, keys, keybytes)<0) { fprintf(stderr, "handshake failed"); - return 2; + result = 2; + goto done; } base16_encode(hexkeys, keybytes*2+1, (const char*)keys, keybytes); printf("%s\n", hexkeys); + done: tor_free(keys); tor_free(hexkeys); - - return 0; + return result; } int diff --git a/src/test/test_replay.c b/src/test/test_replay.c index be48df177..de841ad59 100644 --- a/src/test/test_replay.c +++ b/src/test/test_replay.c @@ -24,7 +24,6 @@ test_replaycache_alloc(void) r = replaycache_new(600, 300); test_assert(r != NULL); - if (!r) goto done; done: if (r) replaycache_free(r); @@ -40,7 +39,6 @@ test_replaycache_miss(void) r = replaycache_new(600, 300); test_assert(r != NULL); - if (!r) goto done; result = replaycache_add_and_test_internal(1200, r, test_buffer, @@ -61,7 +59,6 @@ test_replaycache_hit(void) r = replaycache_new(600, 300); test_assert(r != NULL); - if (!r) goto done; result = replaycache_add_and_test_internal(1200, r, test_buffer, @@ -87,7 +84,6 @@ test_replaycache_age(void) r = replaycache_new(600, 300); test_assert(r != NULL); - if (!r) goto done; result = replaycache_add_and_test_internal(1200, r, test_buffer, @@ -119,7 +115,6 @@ test_replaycache_elapsed(void) r = replaycache_new(600, 300); test_assert(r != NULL); - if (!r) goto done; result = replaycache_add_and_test_internal(1200, r, test_buffer, @@ -146,7 +141,6 @@ test_replaycache_noexpire(void) r = replaycache_new(0, 0); test_assert(r != NULL); - if (!r) goto done; result = replaycache_add_and_test_internal(1200, r, test_buffer, diff --git a/src/test/test_util.c b/src/test/test_util.c index bed33fac2..c2cb4448e 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -53,7 +53,6 @@ test_util_read_until_eof_impl(const char *fname, size_t file_len, fd = open(fifo_name, O_RDONLY|O_BINARY); tt_int_op(fd, >=, 0); str = read_file_to_str_until_eof(fd, read_limit, &sz); - close(fd); tt_assert(str != NULL); if (read_limit < file_len) @@ -69,6 +68,8 @@ test_util_read_until_eof_impl(const char *fname, size_t file_len, tor_free(fifo_name); tor_free(test_str); tor_free(str); + if (fd >= 0) + close(fd); } static void @@ -2712,7 +2713,7 @@ test_util_join_win_cmdline(void *ptr) }; int i; - char *joined_argv; + char *joined_argv = NULL; (void)ptr; @@ -2724,7 +2725,7 @@ test_util_join_win_cmdline(void *ptr) } done: - ; + tor_free(joined_argv); } #define MAX_SPLIT_LINE_COUNT 4 @@ -3242,6 +3243,34 @@ test_util_set_env_var_in_sl(void *ptr) } static void +test_util_weak_random(void *arg) +{ + int i, j, n[16]; + tor_weak_rng_t rng; + (void) arg; + + tor_init_weak_random(&rng, (unsigned)time(NULL)); + + for (i = 1; i <= 256; ++i) { + for (j=0;j<100;++j) { + int r = tor_weak_random_range(&rng, i); + tt_int_op(0, <=, r); + tt_int_op(r, <, i); + } + } + + memset(n,0,sizeof(n)); + for (j=0;j<8192;++j) { + n[tor_weak_random_range(&rng, 16)]++; + } + + for (i=0;i<16;++i) + tt_int_op(n[i], >, 0); + done: + ; +} + +static void test_util_mathlog(void *arg) { double d; @@ -3312,6 +3341,7 @@ struct testcase_t util_tests[] = { UTIL_TEST(read_file_eof_two_loops, 0), UTIL_TEST(read_file_eof_zero_bytes, 0), UTIL_TEST(mathlog, 0), + UTIL_TEST(weak_random, 0), END_OF_TESTCASES }; diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c index 2e4b97eef..306f6c66a 100644 --- a/src/tools/tor-resolve.c +++ b/src/tools/tor-resolve.c @@ -4,7 +4,6 @@ /* See LICENSE for licensing information */ #include "orconfig.h" - #include "compat.h" #include "../common/util.h" #include "address.h" @@ -187,7 +186,7 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, int reverse, int version, tor_addr_t *result_addr, char **result_hostname) { - int s; + int s = -1; struct sockaddr_in socksaddr; char *req = NULL; ssize_t len = 0; @@ -211,28 +210,28 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, socksaddr.sin_addr.s_addr = htonl(sockshost); if (connect(s, (struct sockaddr*)&socksaddr, sizeof(socksaddr))) { log_sock_error("connecting to SOCKS host", s); - return -1; + goto err; } if (version == 5) { char method_buf[2]; if (write_all(s, "\x05\x01\x00", 3, 1) != 3) { log_err(LD_NET, "Error sending SOCKS5 method list."); - return -1; + goto err; } if (read_all(s, method_buf, 2, 1) != 2) { log_err(LD_NET, "Error reading SOCKS5 methods."); - return -1; + goto err; } if (method_buf[0] != '\x05') { log_err(LD_NET, "Unrecognized socks version: %u", (unsigned)method_buf[0]); - return -1; + goto err; } if (method_buf[1] != '\x00') { log_err(LD_NET, "Unrecognized socks authentication method: %u", (unsigned)method_buf[1]); - return -1; + goto err; } } @@ -240,12 +239,12 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, version))<0) { log_err(LD_BUG,"Error generating SOCKS request"); tor_assert(!req); - return -1; + goto err; } if (write_all(s, req, len, 1) != len) { log_sock_error("sending SOCKS request", s); tor_free(req); - return -1; + goto err; } tor_free(req); @@ -253,22 +252,22 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, char reply_buf[RESPONSE_LEN_4]; if (read_all(s, reply_buf, RESPONSE_LEN_4, 1) != RESPONSE_LEN_4) { log_err(LD_NET, "Error reading SOCKS4 response."); - return -1; + goto err; } if (parse_socks4a_resolve_response(hostname, reply_buf, RESPONSE_LEN_4, result_addr)<0) { - return -1; + goto err; } } else { char reply_buf[16]; if (read_all(s, reply_buf, 4, 1) != 4) { log_err(LD_NET, "Error reading SOCKS5 response."); - return -1; + goto err; } if (reply_buf[0] != 5) { log_err(LD_NET, "Bad SOCKS5 reply version."); - return -1; + goto err; } /* Give a user some useful feedback about SOCKS5 errors */ if (reply_buf[1] != 0) { @@ -282,20 +281,20 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, "to Tor; we suggest an application that uses SOCKS 4a.", hostname); } - return -1; + goto err; } if (reply_buf[3] == 1) { /* IPv4 address */ if (read_all(s, reply_buf, 4, 1) != 4) { log_err(LD_NET, "Error reading address in socks5 response."); - return -1; + goto err; } tor_addr_from_ipv4n(result_addr, get_uint32(reply_buf)); } else if (reply_buf[3] == 4) { /* IPv6 address */ if (read_all(s, reply_buf, 16, 1) != 16) { log_err(LD_NET, "Error reading address in socks5 response."); - return -1; + goto err; } tor_addr_from_ipv6_bytes(result_addr, reply_buf); } else if (reply_buf[3] == 3) { @@ -303,19 +302,23 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport, size_t result_len; if (read_all(s, reply_buf, 1, 1) != 1) { log_err(LD_NET, "Error reading address_length in socks5 response."); - return -1; + goto err; } result_len = *(uint8_t*)(reply_buf); *result_hostname = tor_malloc(result_len+1); if (read_all(s, *result_hostname, result_len, 1) != (int) result_len) { log_err(LD_NET, "Error reading hostname in socks5 response."); - return -1; + goto err; } (*result_hostname)[result_len] = '\0'; } } + tor_close_socket(s); return 0; + err: + tor_close_socket(s); + return -1; } /** Print a usage message and exit. */ diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h index ef08fdb2b..f5d5cf446 100644 --- a/src/win32/orconfig.h +++ b/src/win32/orconfig.h @@ -241,7 +241,7 @@ #define USING_TWOS_COMPLEMENT /* Version number of package */ -#define VERSION "0.2.4.9-alpha-dev" +#define VERSION "0.2.4.10-alpha-dev" @@ -256,3 +256,4 @@ #define CURVE25519_ENABLED #define USE_CURVE25519_DONNA +#define ENUM_VALS_ARE_SIGNED 1 |